diff --git a/minecraft/java/feather/egg-feather.json b/minecraft/java/feather/egg-feather.json index 63672323..add0b5d6 100644 --- a/minecraft/java/feather/egg-feather.json +++ b/minecraft/java/feather/egg-feather.json @@ -3,10 +3,11 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-03-08T20:35:40-04:00", + "exported_at": "2020-12-12T16:29:02+00:00", "name": "Feather", "author": "parker@parkervcp.com", "description": "An experimental Minecraft server implementation written in Rust.", + "features": null, "image": "quay.io\/parkervcp\/pterodactyl-images:base_debian", "startup": ".\/feather-server", "config": { @@ -17,7 +18,7 @@ }, "scripts": { "installation": { - "script": "#!\/usr\/bin\/env bash\r\napt update\r\napt install -y curl\r\n\r\nget_latest_release() {\r\n curl -sSL \"https:\/\/api.github.com\/repos\/$1\/releases\/latest\" |\r\n grep '\"tag_name\":' |\r\n sed -E 's\/.*\"([^\"]+)\".*\/\\1\/'\r\n}\r\n\r\nPACKAGE=\"feather-rs\/feather\"\r\nVERSION=`get_latest_release \"${PACKAGE}\"`\r\necho \"Latest version=${VERSION}\"\r\n\r\ncd \/mnt\/server\r\n\r\ncurl -sSLo feather.tar.gz https:\/\/github.com\/caelunshun\/feather\/releases\/download\/${VERSION}\/feather-${VERSION}-linux.tar.gz\r\n\r\ntar --strip-components=1 -xzvf feather.tar.gz\r\n\r\nrm feather.tar.gz", + "script": "#! \/bin\/bash\r\n\r\nGITHUB_PACKAGE=feather-rs\/feather\r\nMATCH=linux\r\n\r\napt update\r\napt install -y curl jq file unzip\r\n\r\nif [ ! -d \/mnt\/server\/ ]; then\r\n mkdir -p \/mnt\/server\/\r\nfi\r\n\r\ncd \/mnt\/server\/\r\n\r\nif [ -z \"${GITHUB_USER}\" ] && [ -z \"${GITHUB_OAUTH_TOKEN}\" ] ; then\r\n echo -e \"using anon api call\"\r\nelse\r\n echo -e \"user and oauth token set\"\r\n alias curl='curl -u ${GITHUB_USER}:${GITHUB_OAUTH_TOKEN} '\r\nfi\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\")\r\n\r\nif [ \"$(echo ${LATEST_JSON} | jq -r '.message')\" != \"Not Found\" ] && [[ -z \"${VERSION}\" || \"${VERSION}\" == \"latest\" ]]; then\r\n echo -e \"grabbing latest version\"\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})\r\nelif [ \"$(echo ${LATEST_JSON} | jq -r '.message')\" == \"Not Found\" ]; then\r\n ## emergency fallback if latest isn't found\r\n ## grabs the latest release even it it's a pre-release\r\n echo -e \"grabbing latest pre-release\"\r\n DOWNLOAD_URL=$(echo ${RELEASES} | jq -r '.[0].assets[].browser_download_url' | grep -i ${MATCH})\r\nelse\r\n echo -e \"grabbing version $VERSION\"\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_URL=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH})\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url)\r\n fi\r\nfi\r\n\r\nif [ ! -z \"${DOWNLOAD_URL}\" ]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_URL}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n VALIDATED_URL=${DOWNLOAD_URL}\r\n else \r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\ncurl -sSL -o ${VALIDATED_URL##*\/} ${VALIDATED_URL}\r\n\r\nFILETYPE=$(file -F ',' ${VALIDATED_URL##*\/} | cut -d',' -f2 | cut -d' ' -f2)\r\nif [ \"$FILETYPE\" == \"gzip\" ]; then\r\n tar xzvf ${VALIDATED_URL##*\/}\r\nelif [ \"$FILETYPE\" == \"Zip\" ]; then\r\n unzip ${VALIDATED_URL##*\/}\r\nelif [ \"$FILETYPE\" == \"XZ\" ]; then\r\n tar xvf ${VALIDATED_URL##*\/}\r\nelse\r\n echo -e \"unknown filetype. Exiting\"\r\n # exit 2 \r\nfi\r\n\r\nrm ${VALIDATED_URL##*\/}\r\n\r\nchmod +x feather-server", "container": "debian:stable-slim", "entrypoint": "bash" } @@ -28,8 +29,8 @@ "description": "Do you want the installer to generate a world you you?", "env_variable": "GEN_WORLD", "default_value": "0", - "user_viewable": 1, - "user_editable": 1, + "user_viewable": true, + "user_editable": true, "rules": "required|boolean" } ] diff --git a/minecraft/java/feather/feather.toml b/minecraft/java/feather/feather.toml index ee4ebe9d..0307ee65 100644 --- a/minecraft/java/feather/feather.toml +++ b/minecraft/java/feather/feather.toml @@ -1,28 +1,21 @@ # Configuration for the Feather server. -# Most of the options here are unimplented and have no effect. -# Those that are unimplemted have been labeled so. +# Many of the options here are unimplemented and have no effect. +# Those that are unimplemented have been labeled so. [io] # Packets with a size more than or equal to this value will be sent compressed. # Compressing packets reduces bandwidth usage but increases CPU activity. compression_threshold = 256 -# The number of worker threads used for asynchronous IO. -# Set to the number of cores on your CPU for optimal performance. -io_worker_threads = 8 - -[proxy] -# IP forwarding using either "bungee" (BungeeCord/Waterfall/Travertine) or "velocity" (Velocity) -proxy_mode = "none" # Unimplemented [server] online_mode = true motd = "A Feather server" max_players = 16 -default_gamemode = "survival" +default_gamemode = "creative" difficulty = "none" # Unimplemented view_distance = 6 -address = "127.0.0.1" +address = "0.0.0.0" port = 25565 [gameplay] @@ -44,4 +37,26 @@ level = "debug" # upon joining. Set this to an empty string to disable. url = "" # Optional SHA1 hash of the resource pack file. -hash = "" \ No newline at end of file +hash = "" + +[world] +# The name of the directory containing the world. +name = "world" +# The generator to use if the world does not exist. +# Implemented values are: default, flat +generator = "default" +# The seed to use if the world does not exist. +# Leaving this value empty will generate a random seed. +# If this value is not a valid integer (i64), the string +# will be converted using a hash function. +seed = "" +# Interval at which to save modified chunks. +save_interval = "1min" + +[proxy] +# Select the IP forwarding mode that is used by proxies like BungeeCord or Velocity. +# Valid values are +# - "None" - for usage without a proxy +# - "BungeeCord" - for BungeeCord/Waterfall/Travertine +# - "Velocity" - for Velocity style proxies (unimplemented) +proxy_mode = "None" \ No newline at end of file