Merge pull request #858 from parkervcp/update/feather

update feather agg
This commit is contained in:
Michael (Parker) Parker 2020-12-13 10:16:32 -05:00 committed by GitHub
commit 86f5d36639
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 32 additions and 16 deletions

View File

@ -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"
}
]

View File

@ -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 = ""
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"