Merge branch 'master' into add/pavlov

This commit is contained in:
Thomas Selwyn 2021-01-02 18:07:47 -05:00
commit 87a8331d01
51 changed files with 1086 additions and 284 deletions

View File

@ -69,7 +69,11 @@ If you are reading this it looks like you are looking to add an egg to your serv
* [TS3-Manager](/voice_servers/ts3_manager)
## Game Eggs
[Among Us Impostor Server](/among_us/impostor_server)
[Among Us - Impostor Server](/among_us/impostor_server)
[Among Us - CrewLink Server](/among_us/crewlink_server)
[Cryofall](/cryofall)
[ET Legacy](/enemy_territory/etlegacy)
@ -93,6 +97,7 @@ If you are reading this it looks like you are looking to add an egg to your serv
[Minecraft](/minecraft)
* [Bedrock](/minecraft/bedrock)
* [Bedrock](/minecraft/bedrock/bedrock)
* [gomint](/minecraft/bedrock/gomint)
* [Nukkit](/minecraft/bedrock/nukkit)
* [PocketMine MP](/minecraft/bedrock/pocketmine_mp)
@ -104,12 +109,13 @@ If you are reading this it looks like you are looking to add an egg to your serv
* [Forge](/minecraft/java/forge)
* [Magma](/minecraft/java/magma)
* [Paper](/minecraft/java/paper)
* [Spigot](/minecraft/java/spigot)
* [SpongeForge](/minecraft/java/spongeforge)
* [SpongeVanilla](/minecraft/java/spongevanilla)
* [Technic](/minecraft/java/technic)
* [Tuinity](/minecraft/java/tuinity)
* [VanillaCord](/minecraft/java/vanillacord)
* [Purpur](/minecraft/java/purpur)
* [Spigot](/minecraft/java/spigot/)
* [SpongeForge](/minecraft/java/spongeforge/)
* [SpongeVanilla](/minecraft/java/spongevanilla/)
* [Technic](/minecraft/java/technic/)
* [Tuinity](/minecraft/java/tuinity/)
* [VanillaCord](/minecraft/java/vanillacord/)
* [Mohist](/minecraft/java/mohist)
* [Proxies](/minecraft/proxy) Minecraft Server Proxies
@ -141,6 +147,8 @@ If you are reading this it looks like you are looking to add an egg to your serv
* [Arma 3 HC](/steamcmd_servers/arma/arma3_headless_client)
* [Arma 3 HC](/steamcmd_servers/arma/arma3_x64)
* [Avorion](/steamcmd_servers/avorion)
* [Assetto Corsa](/steamcmd_servers/assetto_corsa)
* [Barotrauma](/steamcmd_servers/barotrauma)
* [Citadel: Forged with Fire](/steamcmd_servers/citadel)
* [Conan Exiles](/steamcmd_servers/conan_exiles)
* [Don't Starve](/steamcmd_servers/dont_starve)
@ -152,8 +160,9 @@ If you are reading this it looks like you are looking to add an egg to your serv
* [Killing Floor 2](/steamcmd_servers/killingfloor2)
* [Mordhau](/steamcmd_servers/mordhau)
* [Onset](/steamcmd_servers/onset)
* [PixARK](/steamcmd_servers/pixark)
* [Project Zomboid](/steamcmd_servers/project_zomboid)
* [PixARK](/steamcmd_servers/pixark/)
* [Project Zomboid](/steamcmd_servers/project_zomboid/)
* [Quake Live](/steamcmd_servers/quake_live/)
* [Rising World](/steamcmd_servers/rising_world)
* [Rust Staging Branch](/steamcmd_servers/rust_staging)
* [SCP: Secret Laboratory](/steamcmd_servers/scpsl)
@ -187,4 +196,6 @@ If you are reading this it looks like you are looking to add an egg to your serv
[Xonotic](/xonotic/xonotic)
[Cryofall](/cryofall)
## [Storage](/storage/)
### S3 Storage
* [minio](/storage/minio)

View File

@ -0,0 +1,7 @@
# Among Us - CrewLink server
### From their [Github](https://github.com/ottomated/CrewLink)
This project implements proximity voice chat in Among Us. Everyone in an Among Us lobby with this program running will be able to communicate over voice in-game, with no third-party programs required. Spatial audio ensures that you can only hear people close to you.
### Server Port
Default port is 9736 but you can change to any port or domain/ip in the egg

View File

@ -0,0 +1,82 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-12-16T20:11:55+01:00",
"name": "Crewlink server",
"author": "panel@oxtroit.com",
"description": "An egg designed to allow support for Proximity Chat in Among Us using CrewLink Server",
"features": null,
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_nodejs-12",
"startup": "yarn start",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"<info> CrewLink Server started\"\r\n}",
"logs": "{}",
"stop": "^c"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y git\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nINSTALL_REPO=\"https:\/\/github.com\/ottomated\/crewlink-server.git\"\r\necho -e Install repo set to ${INSTALL_REPO}\r\necho -e \"\/mnt\/server is empty.\\ncloning files from repo\"\r\necho -e \"running 'git clone --single-branch --branch ${BRANCH} ${INSTALL_REPO} .'\"\r\ngit clone --single-branch --branch ${BRANCH} ${INSTALL_REPO} .\r\n\r\nif [ -f \/mnt\/server\/package.json ]; then\r\n \/usr\/local\/bin\/yarn install\r\nfi\r\n\r\necho -e \"install complete\"\r\nexit 0",
"container": "node:12-buster-slim",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Github branch",
"description": "Set this to 'devel' if you wanna run a develop server.",
"env_variable": "BRANCH",
"default_value": "master",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20"
},
{
"name": "Domain",
"description": "Domain of your server or ip of your server",
"env_variable": "ADDRESS",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:50"
},
{
"name": "Server name",
"description": "Specifiy the name of your Crewlink server",
"env_variable": "NAME",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:75"
},
{
"name": "Use HTTPS",
"description": "Enables https. You must place privkey.pem and fullchain.pem in your CWD.",
"env_variable": "HTTPS",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:20"
},
{
"name": "Path to SSL",
"description": "Alternate path to SSL certificates.",
"env_variable": "SSLPATH",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:250"
},
{
"name": "Port",
"description": "Choose the port your server should run on",
"env_variable": "PORT",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20"
}
]
}

View File

@ -3,10 +3,11 @@
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-04-26T14:11:30+02:00",
"exported_at": "2020-12-16T19:18:24+02:00",
"name": "PhantomBot",
"author": "mail@wuffy.eu",
"description": "PhantomBot is an actively developed open source interactive Twitch bot with a vibrant community that provides entertainment and moderation for your channel, allowing you to focus on what matters the most to you - your game and your viewers.",
"features": null,
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_openjdk-11",
"startup": "java --add-opens java.base\/java.lang=ALL-UNNAMED -Djava.security.policy=config\/security -Dinteractive -Xms1m -Dfile.encoding=UTF-8 -jar PhantomBot.jar",
"config": {
@ -17,8 +18,8 @@
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# PhantomBot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt -y --no-install-recommends install curl ca-certificates unzip\r\n\r\ncd \/tmp\r\n\r\n# Fetching last github release\r\nif [ -z \"${RELEASE_VERSION}\" ] || [ \"${RELEASE_VERSION}\" == \"master\" ]; then\r\n echo -e \"Using latest Github Master version\"\r\n DOWNLOAD_URL=https:\/\/raw.githubusercontent.com\/PhantomBot\/nightly-build\/master\/PhantomBot-nightly-lin.zip\r\nelse\r\n if [ -z \"${RELEASE_VERSION}\" ] || [ \"${RELEASE_VERSION}\" == \"latest\" ]; then\r\n echo -e \"Using latest release version\"\r\n RELEASE_VERSION=$(curl -s \"https:\/\/github.com\/PhantomBot\/PhantomBot\/releases\/latest\" | grep -o '[0-9].[0-9].[0-9]')\r\n fi\r\n DOWNLOAD_URL=https:\/\/github.com\/PhantomBot\/PhantomBot\/releases\/download\/v${RELEASE_VERSION}\/PhantomBot-${RELEASE_VERSION}.zip\r\nfi\r\n\r\n# Downloading\r\ncurl -LJO ${DOWNLOAD_URL}\r\nunzip -o PhantomBot-*.zip\r\n\r\n# Moveing unziped files into the server folder\r\ncp -f -r .\/PhantomBot-*\/* \/mnt\/server\/\r\n\r\n# Creating default config\r\nif [ ! -f \/mnt\/server\/config\/botlogin.txt ]; then\r\n echo -e \"Creating config\/botlogin.txt\"\r\n cat << EOF > \/mnt\/server\/config\/botlogin.txt\r\n #PhantomBot Configuration File\r\n #\r\n # Here is a list wiht all config values:\r\n # https:\/\/community.phantom.bot\/t\/settings-for-botlogin-txt\/78\r\n #\r\n apioauth=\r\n baseport=\r\n channel=\r\n oauth=\r\n owner=\r\n panelpassword=\r\n paneluser=\r\n user=\r\n youtubekey=\r\n discord_token=\r\nEOF\r\nfi",
"container": "ubuntu:16.04",
"script": "#!\/bin\/bash\r\n# PhantomBot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt -y --no-install-recommends install curl ca-certificates unzip\r\n\r\ncd \/tmp\r\n\r\n# Fetching latest github release\r\nif [ -z \"${RELEASE_VERSION}\" ] || [ \"${RELEASE_VERSION}\" == \"master\" ]; then\r\n echo -e \"Using latest Github Master version\"\r\n DOWNLOAD_URL=https:\/\/raw.githubusercontent.com\/PhantomBot\/nightly-build\/master\/PhantomBot-nightly-lin.zip\r\nelse\r\n if [ -z \"${RELEASE_VERSION}\" ] || [ \"${RELEASE_VERSION}\" == \"latest\" ]; then\r\n echo -e \"Using latest release version\"\r\n RELEASE_VERSION=$(curl -s \"https:\/\/github.com\/PhantomBot\/PhantomBot\/releases\/latest\" | grep -o '[0-9].[0-9].[0-9]')\r\n fi\r\n DOWNLOAD_URL=https:\/\/github.com\/PhantomBot\/PhantomBot\/releases\/download\/v${RELEASE_VERSION}\/PhantomBot-${RELEASE_VERSION}.zip\r\nfi\r\n\r\n# Download files\r\ncd \/mnt\/server\r\ncurl -LJO ${DOWNLOAD_URL}\r\nunzip -o PhantomBot-*.zip\r\n\r\n# Move unzipped files into the server folder\r\ncp -f -r .\/PhantomBot-*\/* \/mnt\/server\/\r\n\r\n# Creating default config\r\nif [ ! -f \/mnt\/server\/config\/botlogin.txt ]; then\r\n echo -e \"Creating config\/botlogin.txt\"\r\n cat << EOF > \/mnt\/server\/config\/botlogin.txt\r\n #PhantomBot Configuration File\r\n #\r\n # Here is a list wiht all config values:\r\n # https:\/\/community.phantom.bot\/t\/settings-for-botlogin-txt\/78\r\n #\r\n apioauth=\r\n baseport=\r\n channel=\r\n oauth=\r\n owner=\r\n panelpassword=\r\n paneluser=\r\n user=\r\n youtubekey=\r\n discord_token=\r\nEOF\r\nfi",
"container": "debian:buster-slim",
"entrypoint": "bash"
}
},
@ -28,17 +29,17 @@
"description": "latest = Latest Stable\r\nmaster = latest Github",
"env_variable": "RELEASE_VERSION",
"default_value": "latest",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:9"
},
{
"name": "Twitch Channel Name",
"description": "Please enter the bot's Twitch username",
"description": "Enter the Twitch channel name where the bot will connect to",
"env_variable": "CHANNEL_NAME",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:26"
},
{
@ -46,8 +47,8 @@
"description": "",
"env_variable": "CHANNEL_OWNER",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:26"
},
{
@ -55,8 +56,8 @@
"description": "Please note, this OAuth token needs to be generated while you're logged in into the bot's Twitch account.\r\nIf you're not logged in as the bot, please go to https:\/\/twitch.tv\/ and login as the bot.\r\nGet the bot's OAuth token here: https:\/\/twitchapps.com\/tmi\/",
"env_variable": "BOT_OAUTH_TOKEN",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:64"
},
{
@ -64,8 +65,8 @@
"description": "Please note, this OAuth token needs to be generated while you're logged in into your caster account.\r\nIf you're not logged in as the caster, please go to https:\/\/twitch.tv\/ and login as the caster.\r\nGet the your OAuth token here: https:\/\/phantombot.tv\/oauth\/",
"env_variable": "USER_OAUTH_TOKEN",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:64"
},
{
@ -73,8 +74,8 @@
"description": "Please enter the bot's Twitch username",
"env_variable": "BOT_TWITCH_USERNAME",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:26"
},
{
@ -82,8 +83,8 @@
"description": "Please enter a custom username for the web panel",
"env_variable": "WEBPANEL_USERNAME",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:64"
},
{
@ -91,8 +92,8 @@
"description": "Please enter a custom password for the web panel",
"env_variable": "WEBPANEL_PASSWORD",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:2000"
},
{
@ -100,8 +101,8 @@
"description": "https:\/\/community.phantom.bot\/t\/acquire-youtube-api-key\/222",
"env_variable": "YOUTUBE_API_KEY",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "max:64"
},
{
@ -109,8 +110,8 @@
"description": "https:\/\/community.phantom.bot\/t\/discord-integration-setup\/64",
"env_variable": "DISCORD_BOT_TOKEN",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "max:64"
}
]

View File

@ -8,7 +8,7 @@
"author": "unknown@unknown.com",
"description": "Mindustry is a hybrid tower-defense sandbox factory game. Create elaborate supply chains of conveyor belts to feed ammo into your turrets, produce materials to use for building, and defend your structures from waves of enemies.",
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_openjdk-11",
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar server-release.jar port {{SERVER_PORT}},name {{SERVER_NAME}},host {{MAPNAME}}",
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar server-release.jar config port {{SERVER_PORT}},config name {{SERVER_NAME}},host {{MAPNAME}}",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"Server loaded. \"\r\n}",

View File

@ -4,6 +4,10 @@
[Minecraft Bedrock Server](https://minecraft.net/en-us/download/server/bedrock/)
The official Minecraft Bedrock (Formerly Minecraft Pocket Edition) server.
#### gomint
[Gomint Bedrock Server](https://github.com/gomint/gomint)
Easy-to-use, highly configurable Minecraft Bedrock Edition server software with the ability to sustain in a low-resource environment.
#### Nukkit
[Nukkit GitHub](https://github.com/Nukkit/Nukkit)
Nukkit is a Nuclear-Powered Server Software For Minecraft: Pocket Edition

View File

@ -0,0 +1,11 @@
# gomint
Easy-to-use, highly configurable Minecraft Bedrock Edition server software with the ability to sustain in a low-resource environment.
### Server Ports
Bedrock server require a single port (default 19132)
| Port | default |
|---------|----------|
| Game | 19132 |

View File

@ -0,0 +1,27 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-12-12T16:14:47+00:00",
"name": "GoMint",
"author": "parker@parkervcp.com",
"description": "A performant and stable Minecraft server software for the Bedrock Edition that comes with a modern API and support for Java 11 LTS.",
"features": null,
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_openjdk-11",
"startup": "java --add-opens java.base\/java.nio=io.netty.common --add-exports java.base\/jdk.internal.misc=io.netty.common -p modules -m gomint.server\/io.gomint.server.Bootstrap",
"config": {
"files": "{\r\n \"server.yml\": {\r\n \"parser\": \"yml\",\r\n \"find\": {\r\n \"listener.port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\":\"Done in \"\r\n}",
"logs": "{}",
"stop": "stop"
},
"scripts": {
"installation": {
"script": "#! \/bin\/bash\r\n\r\nGITHUB_PACKAGE=gomint\/gomint\r\nVERSION=latest\r\nMATCH=modules\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 -m 1 -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 -m 1 -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 -m 1 -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##*\/} -d modules\/\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\nif [ ! -f server.yml ]; then\r\n curl -sSL -o server.yml https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/bedrock\/gomint\/server.yml\r\nfi",
"container": "debian:buster-slim",
"entrypoint": "bash"
}
},
"variables": []
}

View File

@ -0,0 +1,4 @@
# The host and port to bind the server to
listener:
port: 19132
ip: 0.0.0.0

View File

@ -3,11 +3,12 @@
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-07-14T22:15:06-04:00",
"exported_at": "2020-12-24T13:08:36+01:00",
"name": "PocketmineMP",
"author": "info@swisscrafting.ch",
"description": "Pocketmine Egg\r\nby onekintaro from swisscrafting.ch\r\nwith the nice help from #eggs Channel on Pterodactyl-Discord :)",
"image": "quay.io\/parkervcp\/pterodactyl-images:base_ubuntu",
"features": null,
"image": "quay.io\/parkervcp\/pterodactyl-images:base_debian",
"startup": ".\/bin\/php7\/bin\/php .\/PocketMine-MP.phar --no-wizard --disable-ansi",
"config": {
"files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-ip\": \"0.0.0.0\",\r\n \"enable-query\": \"true\",\r\n \"server-port\": \"{{server.build.default.port}}\",\r\n \"query.port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
@ -17,7 +18,7 @@
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n\r\napt update\r\napt install -y curl\r\n\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir \/mnt\/server\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"\\n downloading pocketmine MP build ${PMMP_VERSION}\"\r\nif [ -z \"$PMMP_VERSION\" ] || [ \"$PMMP_VERSION\" == \"latest\" ]; then\r\n curl -sSL -o PocketMine-MP.phar https:\/\/jenkins.pmmp.io\/job\/PocketMine-MP\/Stable\/artifact\/PocketMine-MP.phar\r\nelse \r\n curl -sSL -o PocketMine-MP.phar https:\/\/jenkins.pmmp.io\/job\/PocketMine-MP\/${PMMP_VERSION}\/artifact\/PocketMine-MP.phar\r\nfi\r\n\r\necho -e \"\\n downloading latest php7.3 build from pocketmine\"\r\ncurl -sSL -o php.binary.tar.gz https:\/\/jenkins.pmmp.io\/job\/PHP-7.3-Linux-x86_64\/lastSuccessfulBuild\/artifact\/PHP_Linux-x86_64.tar.gz\r\n\r\necho -e \"\\n getting default server.properties\"\r\ncurl -sSL https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/bedrock\/pocketmine_mp\/server.properties > server.properties\r\n\r\necho -e \"\\n unpacking php7 binaries\"\r\ntar -xzvf php.binary.tar.gz\r\n\r\necho -e \"\\n removing pvp7 packages\"\r\nrm -rf \/mnt\/server\/php.binary.tar.gz\r\n\r\necho -e \"\\n creating files and folders\"\r\ntouch banned-ips.txt banned-players.txt ops.txt white-list.txt server.log\r\nmkdir -p players worlds plugins resource_packs",
"script": "#!\/bin\/bash\r\n\r\napt update\r\napt install -y curl\r\n\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir \/mnt\/server\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"\\n downloading pocketmine MP build ${PMMP_VERSION}\"\r\nif [ -z \"$PMMP_VERSION\" ] || [ \"$PMMP_VERSION\" == \"latest\" ]; then\r\n curl -sSL -o PocketMine-MP.phar https:\/\/jenkins.pmmp.io\/job\/PocketMine-MP\/Stable\/artifact\/PocketMine-MP.phar\r\nelse \r\n curl -sSL -o PocketMine-MP.phar https:\/\/jenkins.pmmp.io\/job\/PocketMine-MP\/${PMMP_VERSION}\/artifact\/PocketMine-MP.phar\r\nfi\r\n\r\necho -e \"\\n downloading latest php7.4 build from pocketmine\"\r\ncurl -sSL -o php.binary.tar.gz https:\/\/jenkins.pmmp.io\/job\/PHP-7.4-Linux-x86_64\/lastSuccessfulBuild\/artifact\/PHP_Linux-x86_64.tar.gz\r\n\r\necho -e \"\\n getting default server.properties\"\r\ncurl -sSL https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/bedrock\/pocketmine_mp\/server.properties > server.properties\r\n\r\necho -e \"\\n unpacking php7 binaries\"\r\ntar -xzvf php.binary.tar.gz\r\n\r\necho -e \"\\n removing pvp7 packages\"\r\nrm -rf \/mnt\/server\/php.binary.tar.gz\r\n\r\necho -e \"\\n creating files and folders\"\r\ntouch banned-ips.txt banned-players.txt ops.txt white-list.txt server.log\r\nmkdir -p players worlds plugins resource_packs",
"container": "debian:buster-slim",
"entrypoint": "bash"
}
@ -28,9 +29,9 @@
"description": "The build to pull and install. (Ex. 1604)\r\n\r\nThis is the build number on https:\/\/jenkins.pmmp.io",
"env_variable": "PMMP_VERSION",
"default_value": "latest",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20"
}
]
}
}

View File

@ -24,13 +24,7 @@ This is a direct fork of the default forge service
A generic service to pull forge mod packs from the curseforge site.
## FTB Packs
[FTB](https://www.feed-the-beast.com/modpacks)
A generic service to pull forge mod packs from the FTB site.
Supply values to 2 variables to use
- MODPACK_URL: from the url to the pack https://www.feed-the-beast.com/projects/{MODPACK_URL}
- MODPACK_VERSION: version of the modpack to install
[FTB Modpacks through modpacks.ch](https://api.modpacks.ch)
[FTB Modpacks](https://api.modpacks.ch)
A generic service to pull FTB modpacks from api.modpacks.ch.
There are 2 ways to install a server through this service.
The first method only requires you to know the modpacks name and version.
@ -51,10 +45,7 @@ The second method requires you to know the id for both the modpack and version i
**NOTE**
**Not all FTB packs come with a server.properties file, due to this the server.properties file
may not get updated with the correct ip address and port at first launch.
Please restart the server after first launch to fix this.**
[FTB Revelation](https://www.feed-the-beast.com/projects/ftb-revelation)
Revelation is a general all-purpose modpack with optimal FPS, server performance and stability.
Please restart the server after first launch to fix this.**
## Magma
[Magma](https://magmafoundation.org/)
@ -97,4 +88,4 @@ Fork of Paper aimed at improving server performance at high playercounts.
## Mohist
Fork of Spigot focused on performance optimizations.
[Mohist Github](https://github.com/Mohist-Community)
[Mohist Github](https://github.com/Mohist-Community)

View File

@ -3,21 +3,22 @@
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2019-12-14T12:24:30-05:00",
"exported_at": "2020-12-08T17:25:20-08:00",
"name": "Cuberite",
"author": "parker@parkervcp.com",
"description": "A lightweight, fast and extensible game server for Minecraft",
"features": null,
"image": "quay.io\/parkervcp\/pterodactyl-images:base_debian",
"startup": ".\/Cuberite",
"config": {
"files": "{\r\n \"settings.ini\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"Server.Ports\": \"{{server.build.default.port}}\",\r\n \"Server.Description\": \"{{server.build.env.SERV_DESC}}\"\r\n }\r\n },\r\n \"webadmin.ini\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"User:admin.Password\": \"{{server.build.env.ADMIN_PASS}}\",\r\n \"WebAdmin.Ports\":\"{{server.build.env.WEB_PORT}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Startup complete \"\r\n}",
"files": "{\r\n \"settings.ini\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"Server.Ports\": \"{{server.build.default.port}}\",\r\n \"Server.Description\": \"{{server.build.env.SERV_DESC}}\"\r\n }\r\n },\r\n \"webadmin.ini\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"User:admin.Password\": \"{{server.build.env.ADMIN_PASS}}\",\r\n \"WebAdmin.Ports\": \"{{server.build.env.WEB_PORT}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Startup complete\"\r\n}",
"logs": "{}",
"stop": "stop"
},
"scripts": {
"installation": {
"script": "#!\/bin\/ash\r\n# Cuberite\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y wget\r\n\r\ncd \/mnt\/server\r\n\r\nwget https:\/\/download.cuberite.org\/linux-x86_64\/Cuberite.tar.gz\r\n\r\ntar --strip-components=1 -xf Cuberite.tar.gz",
"script": "#!\/bin\/ash\r\n# Cuberite\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y wget\r\n\r\ncd \/mnt\/server\r\n\r\nwget https:\/\/download.cuberite.org\/linux-x86_64\/Cuberite.tar.gz\r\n\r\ntar -xzf Cuberite.tar.gz",
"container": "debian:buster-slim",
"entrypoint": "bash"
}
@ -28,8 +29,8 @@
"description": "Server Description",
"env_variable": "SERV_DESC",
"default_value": "Cuberite on Pterodactyl!",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string"
},
{
@ -37,8 +38,8 @@
"description": "The password for the webadmin panel 'admin' user",
"env_variable": "ADMIN_PASS",
"default_value": "ChangeMe",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string"
},
{
@ -46,9 +47,9 @@
"description": "Port for the cuberite webadmin panel.",
"env_variable": "WEB_PORT",
"default_value": "8080",
"user_viewable": 1,
"user_editable": 0,
"user_viewable": true,
"user_editable": false,
"rules": "required|integer|between:1,65535"
}
]
}
}

View File

@ -3,14 +3,12 @@
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-11-10T04:10:30-05:00",
"exported_at": "2020-12-06T19:54:35-08:00",
"name": "Fabric",
"author": "accounts@bofanodes.io",
"description": "Fabric is a modular modding toolchain targeting Minecraft 1.14 and above, including snapshots.",
"features": [
"eula"
],
"image": "quay.io\/pterodactyl\/core:java",
"features": ["eula"],
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_openjdk-11",
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}",
"config": {
"files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-ip\": \"0.0.0.0\",\r\n \"enable-query\": \"true\",\r\n \"server-port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
@ -20,7 +18,8 @@
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# Fabric MC Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y curl jq unzip dos2unix wget\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\nif [ -z \"$FABRIC_VERSION\" ] || [ \"$FABRIC_VERSION\" == \"latest\" ]; then\r\nFABRIC_VERSION=$(curl https:\/\/maven.fabricmc.net\/net\/fabricmc\/fabric-installer\/ | grep -Po '(?<=href=\")[^\"]*' | sort -h | tail -1 | sed 's,\/,,g')\r\nwget https:\/\/maven.fabricmc.net\/net\/fabricmc\/fabric-installer\/$FABRIC_VERSION\/fabric-installer-$FABRIC_VERSION.jar\r\nelse\r\nwget https:\/\/maven.fabricmc.net\/net\/fabricmc\/fabric-installer\/$FABRIC_VERSION\/fabric-installer-$FABRIC_VERSION.jar\r\nfi\r\njava -jar fabric-installer-$FABRIC_VERSION.jar server -downloadMinecraft\r\necho -e \"Install Complete\"", "container": "openjdk:8-jdk-slim",
"script": "#!\/bin\/bash\r\n# Fabric MC Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y curl jq unzip dos2unix wget\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\nif [ -z \"$FABRIC_VERSION\" ] || [ \"$FABRIC_VERSION\" == \"latest\" ]; then\r\nFABRIC_VERSION=$(curl https:\/\/maven.fabricmc.net\/net\/fabricmc\/fabric-installer\/ | grep -Po '(?<=href=\")[^\"]*' | sort -h | tail -1 | sed 's,\/,,g')\r\nwget https:\/\/maven.fabricmc.net\/net\/fabricmc\/fabric-installer\/$FABRIC_VERSION\/fabric-installer-$FABRIC_VERSION.jar\r\nelse\r\nwget https:\/\/maven.fabricmc.net\/net\/fabricmc\/fabric-installer\/$FABRIC_VERSION\/fabric-installer-$FABRIC_VERSION.jar\r\nfi\r\njava -jar fabric-installer-$FABRIC_VERSION.jar server -downloadMinecraft\r\necho -e \"Install Complete\"",
"container": "openjdk:11-jdk-slim",
"entrypoint": "bash"
}
},
@ -44,4 +43,4 @@
"rules": "required|string|between:3,15"
}
]
}
}

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"

View File

@ -2,9 +2,9 @@
### This is a generic egg for curseforge modpacks
You will need to give it a modpack ID. The ID for sevtech-ages is `268208` for example.
You will need to give it a modpack ID. The ID for BOFA mods is `375152` for example.
This can be found on the modpack page in the `About Project` section in the upper right corner.
This will grabe the latest release when the version is set to latest.
This will grab the latest release when the version is set to latest.
It "should" grab versions of the pack based on the modpack version numbers
It "should" grab versions of the pack based on the modpack version numbers

View File

@ -3,10 +3,11 @@
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-08-12T08:19:04-04:00",
"exported_at": "2020-12-07T11:33:04-05:00",
"name": "Curseforge Generic",
"author": "parker@parkervcp.com",
"description": "A generic egg for a forge modpack",
"features": null,
"image": "quay.io\/pterodactyl\/core:java",
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar server.jar",
"config": {
@ -25,11 +26,11 @@
"variables": [
{
"name": "modpack project ID",
"description": "The modpack project ID from the curseforge site on the pack page.\r\n\r\n(Ex. https:\/\/minecraft.curseforge.com\/projects\/sevtech-ages ID is 268208)",
"description": "The modpack project ID from the curseforge site on the pack page.\r\n\r\n(Ex. https:\/\/www.curseforge.com\/minecraft\/modpacks\/bofa-mods ID is 375152)",
"env_variable": "MODPACK_ID",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "required|string"
},
{
@ -37,9 +38,9 @@
"description": "Version of the modpack to use.",
"env_variable": "MODPACK_VERSION",
"default_value": "latest",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20"
}
]
}
}

View File

@ -3,10 +3,11 @@
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-06-01T21:19:06-04:00",
"exported_at": "2020-12-06T19:03:10-08:00",
"name": "Forge Enhanced",
"author": "parker@parkervcp.com",
"description": "Minecraft Forge Server. Minecraft Forge is a modding API (Application Programming Interface), which makes it easier to create mods, and also make sure mods are compatible with each other.",
"features": ["eula"],
"image": "quay.io\/pterodactyl\/core:java",
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -Dterminal.jline=false -Dterminal.ansi=true -jar {{SERVER_JARFILE}}",
"config": {
@ -28,17 +29,17 @@
"description": "The name of the Jarfile to use when running Forge Mod.",
"env_variable": "SERVER_JARFILE",
"default_value": "server.jar",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/"
},
{
"name": "Forge version",
"name": "Minecraft Version",
"description": "The version of minecraft you want to install for.\r\n\r\nLeaving latest will install the latest recommended version.",
"env_variable": "MC_VERSION",
"default_value": "latest",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:9"
},
{
@ -46,8 +47,8 @@
"description": "The type of server jar to download from forge.\r\n\r\nValid types are \"recommended\" and \"latest\".",
"env_variable": "BUILD_TYPE",
"default_value": "recommended",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20"
},
{
@ -55,9 +56,9 @@
"description": "Gets an exact version.\r\n\r\nEx. 1.15.2-31.2.4\r\n\r\nOverrides MC_VERSION and BUILD_TYPE. If it fails to download the server files it will fail to install.",
"env_variable": "FORGE_VERSION",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:20"
}
]
}
}

View File

@ -0,0 +1,31 @@
## FTB Modpacks
A generic service to pull FTB modpacks from api.modpacks.ch.
There are 2 ways to install a server through this service.
The first method only requires you to know the modpacks name and version.
The second method requires you to know the id for both the modpack and version in the api.
**Method 1 (Recommended)**
- FTB_SEARCH_TERM: the modpack name to query for, must be at least 4 characters long.
EX: for FTB: Interactions you would do "interactions".
- FTB_VERSION_STRING: the string version that you want to install.
EX: for FTB: Interactions 2.0.2, you would put "2.0.2".
**Method 2**
- FTB_MODPACK_ID: the id that directs to the modpack in the api.
EX: for FTB: Interactions the id would be "5". https://api.modpacks.ch/public/modpack/5
- FTB_MODPACK_VERSION_ID: the version id in the api.
EX: for FTB: Interactions 2.0.2 the id is "86". https://api.modpacks.ch/public/modpack/5/86
**NOTE**
**Not all FTB packs come with a server.properties file, due to this the server.properties file
may not get updated with the correct ip address and port at first launch.
Please restart the server after first launch to fix this.**
## Server Ports
The minecraft server requires a single port for access (default 25565) but some plugins may require extra ports to enabled for the server.
| Port | default |
|-------|---------|
| Game | 25565 |

View File

@ -12,4 +12,9 @@ The minecraft server requires a single port for access (default 25565) but plugi
## Server Specific
Limited to version 1.12.2 (1.16.4 cannot run headless as of 12/6/2020)
### Supported versions:
- 1.16.4 series build 132+
- 1.12.x series
- 1.7.x series build 13+
Requires changing Minecraft_Version variable on each new Minecraft version release.

View File

@ -3,7 +3,7 @@
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-12-06T02:04:44-08:00",
"exported_at": "2020-12-13T18:26:08-08:00",
"name": "Mohist",
"author": "alex.chang-lam@protonmail.com",
"description": "Spigot fork with performance optimizations.",
@ -18,34 +18,43 @@
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# Mohistmc Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\napt update\r\napt install -y curl\r\n\r\ncd \/mnt\/server\r\n\r\ncurl -sSL \"https:\/\/mohistmc.com\/api\/${MINECRAFT_VERSION}\/${BUILD_NUMBER}\/download\" -o ${SERVER_JARFILE}",
"script": "#!\/bin\/bash\r\n# Mohist Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y curl\r\n\r\n#Go into main direction\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir \/mnt\/server\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\nif [ ! -z ${BUILD_VERSION} ]; then\r\n DOWNLOAD_LINK=https:\/\/mohistmc.com\/api\/${MC_VERSION}\/${BUILD_VERSION}\/download\r\nelse\r\n DOWNLOAD_LINK=https:\/\/mohistmc.com\/api\/${MC_VERSION}\/${BUILD_TYPE}\/download\r\nfi\r\n\r\n#Downloading jars\r\necho -e \"Download link is ${DOWNLOAD_LINK}\"\r\necho -e \"Downloading build version ${BUILD_VERSION}\"\r\nif [ ! -z \"${DOWNLOAD_LINK}\" ]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_LINK}-server.jar; then\r\n echo -e \"Download link is valid.\"\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 -s -o server.jar -sS ${DOWNLOAD_LINK}\r\n\r\n#Checking if downloaded jars exist\r\nif [ ! -f .\/server.jar ]; then\r\n echo \"!!! Error downloading build version ${BUILD_VERSION} !!!\"\r\n exit\r\nfi",
"container": "debian:buster-slim",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Server Jar File",
"description": "The name of the jarfile to run the server with.",
"env_variable": "SERVER_JARFILE",
"default_value": "server.jar",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|max:20"
},
{
"name": "Minecraft Version",
"description": "The version of minecraft to download. \r\n\r\nInvalid versions will default to 1.12.2.",
"env_variable": "MINECRAFT_VERSION",
"default_value": "1.12.2",
"description": "The version of Minecraft to download.",
"env_variable": "MC_VERSION",
"default_value": "1.16.4",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20"
},
{
"name": "Build Number",
"description": "Optional: \r\nThe build number for the Mohist release. Overrides Build Type.",
"env_variable": "BUILD_VERSION",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:20"
},
{
"name": "Server Jar File",
"description": "The name of the server jarfile to run the server with.",
"env_variable": "SERVER_JARFILE",
"default_value": "server.jar",
"user_viewable": true,
"user_editable": false,
"rules": "required|string|max:20"
},
{
"name": "Build Number",
"description": "The build number for the Mohist release.\r\n\r\nLeave at latest to always get the latest version. Invalid versions will default to latest.",
"env_variable": "BUILD_NUMBER",
"name": "Build Type",
"description": "The type of server jar to download from Mohist.\r\n\r\nValid types are \"recommended\" and \"latest\".",
"env_variable": "BUILD_TYPE",
"default_value": "latest",
"user_viewable": true,
"user_editable": true,

View File

@ -3,11 +3,11 @@
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-12-04T12:08:20-05:00",
"exported_at": "2020-12-06T18:34:01-08:00",
"name": "Paper",
"author": "parker@pterodactyl.io",
"description": "High performance Spigot fork that aims to fix gameplay and mechanics inconsistencies.",
"features": null,
"features": ["eula"],
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_openjdk-11",
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -Dterminal.jline=false -Dterminal.ansi=true -jar {{SERVER_JARFILE}}",
"config": {

View File

@ -0,0 +1,5 @@
# Purpur
Purpur is a fork of Paper and Tuinity which provides new configuration options.
See https://github.com/pl3xgaming/purpur for additional information.

View File

@ -0,0 +1,57 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-12-13T23:35:58-05:00",
"name": "Purpur",
"author": "purpur@birdflop.com",
"description": "Fork of Paper and Tuinity providing new configuration options.",
"features": [
"eula"
],
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_openjdk-11",
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -Dterminal.jline=false -Dterminal.ansi=true -jar {{SERVER_JARFILE}}",
"config": {
"files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-ip\": \"0.0.0.0\",\r\n \"server-port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \")! For help, type \",\r\n \"userInteraction\": [\r\n \"Go to eula.txt for more info.\"\r\n ]\r\n}",
"logs": "{}",
"stop": "stop"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# Purpur Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\napt update\r\napt install -y curl jq\r\n\r\nVER_EXISTS=`curl -s https:\/\/purpur.pl3x.net\/api\/v1\/purpur | jq -r --arg VERSION $MINECRAFT_VERSION '.versions[] | contains($VERSION)' | grep true`\r\nLATEST_PURPUR_VERSION=`curl -s https:\/\/purpur.pl3x.net\/api\/v1\/purpur | jq -r '.versions' | jq -r '.[0]'`\r\n\r\nif [ \"${VER_EXISTS}\" == \"true\" ]; then\r\n echo -e \"Version is valid. Using version ${MINECRAFT_VERSION}\"\r\nelse\r\n echo -e \"Using the latest Purpur version\"\r\n MINECRAFT_VERSION=${LATEST_PURPUR_VERSION}\r\nfi\r\n\r\nBUILD_EXISTS=`curl -s https:\/\/purpur.pl3x.net\/api\/v1\/purpur\/${MINECRAFT_VERSION} | jq -r --arg BUILD ${BUILD_NUMBER} '.builds.all[] | contains($BUILD)' | grep true`\r\nLATEST_PURPUR_BUILD=`curl -s https:\/\/purpur.pl3x.net\/api\/v1\/purpur\/${MINECRAFT_VERSION} | jq -r '.builds.latest'`\r\n\r\nif [ \"${BUILD_EXISTS}\" == \"true\" ] || [ ${BUILD_NUMBER} == \"latest\" ]; then\r\n echo -e \"Build is valid. Using version ${BUILD_NUMBER}\"\r\nelse\r\n echo -e \"Using the latest Purpur build\"\r\n BUILD_NUMBER=${LATEST_PURPUR_BUILD}\r\nfi\r\n\r\necho \"Version being downloaded\"\r\necho -e \"MC Version: ${MINECRAFT_VERSION}\"\r\necho -e \"Build: ${BUILD_NUMBER}\"\r\nDOWNLOAD_URL=https:\/\/purpur.pl3x.net\/api\/v1\/purpur\/${MINECRAFT_VERSION}\/${BUILD_NUMBER}\/download \r\n\r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"running curl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\"\r\n\r\nif [ -f ${SERVER_JARFILE} ]; then\r\n mv ${SERVER_JARFILE} ${SERVER_JARFILE}.old\r\nfi\r\n\r\ncurl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\r\n\r\nif [ ! -f server.properties ]; then\r\n echo -e \"Downloading MC server.properties\"\r\n curl -sSL -o server.properties https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/java\/server.properties\r\nfi",
"container": "debian:buster-slim",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Minecraft Version",
"description": "The version of Minecraft to download. \r\n\r\nLeave at latest to always get the latest version. Invalid versions will default to latest.",
"env_variable": "MINECRAFT_VERSION",
"default_value": "latest",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20"
},
{
"name": "Server Jar File",
"description": "The name of the .jar file to run the server with.",
"env_variable": "SERVER_JARFILE",
"default_value": "server.jar",
"user_viewable": true,
"user_editable": true,
"rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/|max:80"
},
{
"name": "Build Number",
"description": "The build number for the Purpur release.\r\n\r\nLeave at latest to always get the latest version. Invalid versions will default to latest.",
"env_variable": "BUILD_NUMBER",
"default_value": "latest",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20"
}
]
}

View File

@ -3,10 +3,11 @@
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2019-03-29T13:00:51-04:00",
"exported_at": "2020-12-06T19:20:29-08:00",
"name": "Spigot",
"author": "support@pterodactyl.io",
"description": "Spigot is the most widely-used modded Minecraft server software in the world. It powers many of the top Minecraft server networks around to ensure they can cope with their huge player base and ensure the satisfaction of their players. Spigot works by reducing and eliminating many causes of lag, as well as adding in handy features and settings that help make your job of server administration easier.",
"features": ["eula"],
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_openjdk-8-jre",
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}",
"config": {
@ -28,8 +29,8 @@
"description": "The name of the server jarfile to run the server with.",
"env_variable": "SERVER_JARFILE",
"default_value": "server.jar",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/"
},
{
@ -37,8 +38,8 @@
"description": "A URL to use to download Spigot rather than building it on the server. This is not user viewable. Use <code>{{DL_VERSION}}<\/code> in the URL to automatically insert the assigned version into the URL. If you do not enter a URL Spigot will build directly in the container (this will fail on low memory containers).",
"env_variable": "DL_PATH",
"default_value": "",
"user_viewable": 0,
"user_editable": 0,
"user_viewable": false,
"user_editable": false,
"rules": "nullable|string"
},
{
@ -46,8 +47,8 @@
"description": "The version of Spigot to download (using the --rev tag). Use \"latest\" for latest.",
"env_variable": "DL_VERSION",
"default_value": "latest",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "required|string|between:3,7"
}
]

View File

@ -3,10 +3,11 @@
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2019-12-11T01:44:03+03:00",
"exported_at": "2020-12-06T18:50:01-08:00",
"name": "SpongeForge",
"author": "parker@parkervcp.com",
"description": "A community-driven open source Minecraft: Java Edition modding platform.",
"features": ["eula"],
"image": "quay.io\/pterodactyl\/core:java",
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}",
"config": {
@ -28,8 +29,8 @@
"description": "Example 1.12.2-2825-7.1.6\r\n\r\nIf the version fails it defaults to recommended",
"env_variable": "SF_VERSION",
"default_value": "recommended",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "required|string"
},
{
@ -37,8 +38,8 @@
"description": "The name of the Jarfile to use when running Forge Mod.",
"env_variable": "SERVER_JARFILE",
"default_value": "server.jar",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/"
}
]

View File

@ -3,10 +3,11 @@
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2019-09-13T21:18:48-04:00",
"exported_at": "2020-12-06T18:49:56-08:00",
"name": "SpongeVanilla",
"author": "parker@parkervcp.com",
"description": "SpongeVanilla is the implementation of the Sponge API on top of Vanilla Minecraft.",
"features": ["eula"],
"image": "quay.io\/pterodactyl\/core:java",
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}",
"config": {
@ -28,8 +29,8 @@
"description": "Example 1.12.2-7.1.6\r\n\r\nIf the version fails it defaults to recommended",
"env_variable": "SV_VERSION",
"default_value": "recommended",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "required|string"
},
{
@ -37,8 +38,8 @@
"description": "The name of the Jarfile to use when running Mod.",
"env_variable": "SERVER_JARFILE",
"default_value": "server.jar",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/"
}
]

View File

@ -3,10 +3,11 @@
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-03-27T00:25:53-04:00",
"exported_at": "2020-12-06T18:58:35-08:00",
"name": "Tuinity",
"author": "unknown@unknown.com",
"description": "Fork of Paper aimed at improving server performance at high playercounts.",
"features": ["eula"],
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_openjdk-11",
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -Dterminal.jline=false -Dterminal.ansi=true -jar {{SERVER_JARFILE}}",
"config": {
@ -28,9 +29,9 @@
"description": "The name of the server jarfile to run the server with.",
"env_variable": "SERVER_JARFILE",
"default_value": "server.jar",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20"
}
]
}
}

View File

@ -3,10 +3,11 @@
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2019-06-06T09:33:27-04:00",
"exported_at": "2020-12-06T18:58:33-08:00",
"name": "VanillaCord",
"author": "support@pterodactyl.io",
"description": "Minecraft is a game about placing blocks and going on adventures. Explore randomly generated worlds and build amazing things from the simplest of homes to the grandest of castles. Play in Creative Mode with unlimited resources or mine deep in Survival Mode, crafting weapons and armor to fend off dangerous mobs. Do all this alone or with friends.\r\n\r\nVanillaCord adds support for BungeeCord's ip_forward setting.",
"features": ["eula"],
"image": "quay.io\/pterodactyl\/core:java",
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}",
"config": {
@ -28,8 +29,8 @@
"description": "The name of the server jarfile to run the server with.",
"env_variable": "SERVER_JARFILE",
"default_value": "server.jar",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/"
},
{
@ -37,9 +38,9 @@
"description": "The version of Minecraft Vanilla to install. Use \"latest\" to install the latest version.",
"env_variable": "VANILLA_VERSION",
"default_value": "latest",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "required|string|between:3,15"
}
]
}
}

View File

@ -3,21 +3,22 @@
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2019-07-14T20:36:29-04:00",
"exported_at": "2020-11-22T01:50:29-05:00",
"name": "Velocity",
"author": "parker@parkervcp.com",
"description": "Velocity is a Minecraft server proxy with unparalleled server support, scalability, and flexibility.",
"image": "quay.io\/pterodactyl\/core:java",
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}",
"features": null,
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_openjdk-15-hotspot",
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -XX:+UseG1GC -XX:G1HeapRegionSize=4M -XX:+UnlockExperimentalVMOptions -XX:+ParallelRefProcEnabled -XX:+AlwaysPreTouch -XX:MaxInlineLevel=15 -jar {{SERVER_JARFILE}}",
"config": {
"files": "{\r\n \"velocity.toml\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"bind = \": \"bind = \\\"0.0.0.0:{{server.build.default.port}}\\\"\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Done (\"\r\n}",
"logs": "{}",
"stop": "shutdown"
"stop": "end"
},
"scripts": {
"installation": {
"script": "#!\/bin\/ash\r\n# Velocity Proxy Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\napk add --no-cache curl\r\n\r\nmkdir -p \/mnt\/server\/\r\n\r\ncd \/mnt\/server\/\r\n\r\nif [ -z ${VELOCITY_VERSION} ] || [ ${VELOCITY_VERSION} == \"latest\" ]; then\r\n\tVELOCITY_VERSION=\/lastStableBuild\r\nfi\r\n\r\necho -e \"Getting download link\"\r\nDOWNLOAD_ENDPOINT=$(curl https:\/\/ci.velocitypowered.com\/job\/velocity\/${VELOCITY_VERSION}\/ | grep -Eo 'href=\"[^\\\"]+\"' | grep -vE \"view|fingerprint\" | grep \".jar\" | sed -n 's\/.*href=\"\\([^\"]*\\).*\/\\1\/p')\r\nDOWNLOAD_LINK=https:\/\/ci.velocitypowered.com\/job\/velocity\/lastStableBuild\/${DOWNLOAD_ENDPOINT}\r\n\r\necho -e \"Downloading ${DOWNLOAD_LINK}\"\r\ncurl ${DOWNLOAD_LINK} -o ${SERVER_JARFILE}\r\n\r\nif [ -f velocity.toml ]; then\r\n echo -e \"velocity config file exists\"\r\nelse\r\n echo -e \"downloading velocity config file.\"\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/proxy\/proxy\/velocity\/velocity.toml -o velocity.toml\r\nfi\r\n\r\necho -e \"install complete\"",
"script": "#!\/bin\/ash\r\n# Velocity Proxy Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\napk add --no-cache curl\r\n\r\nmkdir -p \/mnt\/server\/\r\n\r\ncd \/mnt\/server\/\r\n\r\nif [ -z ${VELOCITY_VERSION} ] || [ ${VELOCITY_VERSION} == \"latest\" ]; then\r\n\tVELOCITY_VERSION=\"latest\"\r\nfi\r\n\r\necho -e \"Getting download link\"\r\nDOWNLOAD_LINK=https:\/\/versions.velocitypowered.com\/download\/${VELOCITY_VERSION}\r\n\r\necho -e \"Downloading ${DOWNLOAD_LINK}\"\r\ncurl ${DOWNLOAD_LINK} -o ${SERVER_JARFILE}\r\n\r\nif [ -f velocity.toml ]; then\r\n echo -e \"velocity config file exists\"\r\nelse\r\n echo -e \"downloading velocity config file.\"\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/proxy\/java\/velocity\/velocity.toml -o velocity.toml\r\nfi\r\n\r\necho -e \"install complete\"",
"container": "alpine:3.10",
"entrypoint": "ash"
}
@ -25,21 +26,21 @@
"variables": [
{
"name": "Velocity Version",
"description": "The Velocity Proxy version to download.\r\n\r\nset to 'latest ' the download the last stable build.",
"description": "The Velocity Proxy version to download.\r\n\r\nSet to 'latest ' the download the last stable build.\r\nSet to '1.1.x-SNAPSHOT' to get the latest dev build.",
"env_variable": "VELOCITY_VERSION",
"default_value": "latest",
"user_viewable": 1,
"user_editable": 0,
"user_viewable": true,
"user_editable": false,
"rules": "required|string|max:20"
},
{
"name": "Server Jar File",
"description": "Server Jar File name",
"description": "Server Jarfile, by default this is set to 'velocity.jar'.\r\nSet it to otherwise if you wish to have a different jarfile name.",
"env_variable": "SERVER_JARFILE",
"default_value": "velocity.jar",
"user_viewable": 1,
"user_editable": 0,
"user_viewable": true,
"user_editable": false,
"rules": "required|string|max:20"
}
]
}
}

View File

@ -1,106 +1,135 @@
# Config version. Do not change this
config-version = "1.0"
# What port should the proxy be bound to? By default, we'll bind to all addresses on port 25577.
bind = "0.0.0.0:25577"
# What should be the MOTD? This gets displayed when the player adds your server to
# their server list. Legacy color codes and JSON are accepted.
motd = "&3A Velocity Server"
# What should we display for the maximum number of players? (Velocity does not support a cap
# on the number of players online.)
show-max-players = 500
# Should we authenticate players with Mojang? By default, this is on.
online-mode = true
# If client's ISP/AS sent from this proxy is different from the one from Mojang's
# authentication server, the player is kicked. This disallows some VPN and proxy
# connections but is a weak form of protection.
prevent-client-proxy-connections = false
# Should we forward IP addresses and other data to backend servers?
# Available options:
# - "none": No forwarding will be done. All players will appear to be connecting from the
# proxy and will have offline-mode UUIDs.
# - "legacy": Forward player IPs and UUIDs in a BungeeCord-compatible format. Use this if
# you run servers using Minecraft 1.12 or lower.
# - "modern": Forward player IPs and UUIDs as part of the login process using Velocity's
# native forwarding. Only applicable for Minecraft 1.13 or higher.
player-info-forwarding-mode = "NONE"
# If you are using modern IP forwarding, configure an unique secret here.
forwarding-secret = "FrP42MxySW6Y"
# - "none": No forwarding will be done. All players will appear to be connecting
# from the proxy and will have offline-mode UUIDs.
# - "legacy": Forward player IPs and UUIDs in a BungeeCord-compatible format. Use this
# if you run servers using Minecraft 1.12 or lower.
# - "bungeeguard": Forward player IPs and UUIDs in a format supported by the BungeeGuard
# plugin. Use this if you run servers using Minecraft 1.12 or lower, and are
# unable to implement network level firewalling (on a shared host).
# - "modern": Forward player IPs and UUIDs as part of the login process using
# Velocity's native forwarding. Only applicable for Minecraft 1.13 or higher.
player-info-forwarding-mode = "legacy"
# If you are using modern or BungeeGuard IP forwarding, configure an unique secret here.
forwarding-secret = ""
# Announce whether or not your server supports Forge. If you run a modded server, we
# suggest turning this on.
#
# If your network runs one modpack consistently, consider using ping-passthrough = "mods"
# instead for a nicer display in the server list.
announce-forge = false
# If enabled (default is false) and the proxy is in online mode, Velocity will kick
# any existing player who is online if a duplicate connection attempt is made.
kick-existing-players = false
# Should Velocity pass server list ping requests to a backend server?
# Available options:
# - "disabled": No pass-through will be done. The velocity.toml and server-icon.png
# will determine the initial server list ping response.
# - "mods": Passes only the mod list from your backend server into the response.
# The first server in your try list (or forced host) with a mod list will be
# used. If no backend servers can be contacted, Velocity won't display any
# mod information.
# - "description": Uses the description and mod list from the backend server. The first
# server in the try (or forced host) list that responds is used for the
# description and mod list.
# - "all": Uses the backend server's response as the proxy response. The Velocity
# configuration is used if no servers could be contacted.
ping-passthrough = "DISABLED"
[servers]
# Configure your servers here. Each key represents the server's name, and the value
# represents the IP address of the server to connect to.
lobby = "127.0.0.1:30066"
minigames = "127.0.0.1:30068"
factions = "127.0.0.1:30067"
# In what order we should try servers when a player logs in or is kicked from aserver.
try = [
"lobby"
]
# Configure your servers here. Each key represents the server's name, and the value
# represents the IP address of the server to connect to.
lobby = "127.0.0.1:30066"
minigames = "127.0.0.1:30068"
# In what order we should try servers when a player logs in or is kicked from aserver.
try = ["lobby"]
factions = "127.0.0.1:30067"
[forced-hosts]
# Configure your forced hosts here.
"minigames.example.com" = [
"minigames"
]
"lobby.example.com" = [
"lobby"
]
"factions.example.com" = [
"factions"
]
"minigames.example.com" = ["minigames"]
# Configure your forced hosts here.
"lobby.example.com" = ["lobby"]
"factions.example.com" = ["factions"]
[advanced]
# How large a Minecraft packet has to be before we compress it. Setting this to zero will
# compress all packets, and setting it to -1 will disable compression entirely.
compression-threshold = 256
# How much compression should be done (from 0-9). The default is -1, which uses the
# default level of 6.
compression-level = -1
# How fast (in milliseconds) are clients allowed to connect after the last connection? By
# default, this is three seconds. Disable this by setting this to 0.
login-ratelimit = 3000
# Specify a custom timeout for connection timeouts here. The default is five seconds.
connection-timeout = 5000
# Specify a read timeout for connections here. The default is 30 seconds.
read-timeout = 30000
# Enables compatibility with HAProxy.
proxy-protocol = false
# Specify a custom timeout for connection timeouts here. The default is five seconds.
connection-timeout = 5000
# Enables BungeeCord plugin messaging channel support on Velocity.
bungee-plugin-message-channel = true
# Specify a read timeout for connections here. The default is 30 seconds.
read-timeout = 30000
# Enables compatibility with HAProxy.
proxy-protocol = false
# Enables TCP fast open support on the proxy. Requires the proxy to run on Linux.
tcp-fast-open = true
# Shows ping requests to the proxy from clients.
show-ping-requests = false
# By default, Velocity will attempt to gracefully handle situations where the user unexpectedly
# loses connection to the server without an explicit disconnect message by attempting to fall the
# user back, except in the case of read timeouts. BungeeCord will disconnect the user instead. You
# can disable this setting to use the BungeeCord behavior.
failover-on-unexpected-server-disconnect = true
# How much compression should be done (from 0-9). The default is -1, which uses the
# default level of 6.
compression-level = -1
# Declares the proxy commands to 1.13+ clients.
announce-proxy-commands = true
# Enables the logging of commands
log-command-executions = false
# How large a Minecraft packet has to be before we compress it. Setting this to zero will
# compress all packets, and setting it to -1 will disable compression entirely.
compression-threshold = 256
# How fast (in milliseconds) are clients allowed to connect after the last connection? By
# default, this is three seconds. Disable this by setting this to 0.
login-ratelimit = 3000
[query]
# Whether to enable responding to GameSpy 4 query responses or not.
enabled = false
# If query is enabled, on what port should the query protocol listen on?
port = 25577
# This is the map name that is reported to the query services.
map = "Velocity"
# Whether plugins should be shown in query response by default or not
show-plugins = false
# If query is enabled, on what port should the query protocol listen on?
port = 25577
# Whether plugins should be shown in query response by default or not
show-plugins = false
# This is the map name that is reported to the query services.
map = "Velocity"
# Whether to enable responding to GameSpy 4 query responses or not.
enabled = false
[metrics]
# Whether metrics will be reported to bStats (https://bstats.org).
# bStats collects some basic information, like how many people use Velocity and their
# player count. We recommend keeping bStats enabled, but if you're not comfortable with
# this, you can turn this setting off. There is no performance penalty associated with
# having metrics enabled, and data sent to bStats can't identify your server.
enabled = true
# A unique, anonymous ID to identify this proxy with.
id = "b12f2e77-133c-4a5f-b288-d8833be3dc4d"
log-failure = false
# A unique, anonymous ID to identify this proxy with.
id = ""
log-failure = false
# Whether metrics will be reported to bStats (https://bstats.org).
# bStats collects some basic information, like how many people use Velocity and their
# player count. We recommend keeping bStats enabled, but if you're not comfortable with
# this, you can turn this setting off. There is no performance penalty associated with
# having metrics enabled, and data sent to bStats can't identify your server.
enabled = false
# Legacy color codes and JSON are accepted in all messages.
[messages]
generic-connection-error = "&cAn internal error occurred in your connection."
already-connected = "&cYou are already connected to this proxy!"
online-mode-only = "&cThis server only accepts connections from online-mode clients.\n\n&7Did you change your username? Sign out of Minecraft, sign back in, and try again."
# Prefix when the player is disconnected from a server.
# First argument '%s': the server name
disconnect-prefix = "&cCan't connect to %s: "
no-available-servers = "&cThere are no available servers."
# Prefix when the player gets kicked from a server.
# First argument '%s': the server name
kick-prefix = "&cKicked from %s: "
moved-to-new-server-prefix = "&cThe server you were on kicked you: "

View File

@ -1,4 +1,4 @@
# steamcmd servers
# steamcmd servers
This is a collection of servers that use steamcmd to install.
@ -16,6 +16,12 @@ This is a collection of servers that use steamcmd to install.
## Avorion
[avorion](avorion/)
## Assetto Corsa
[assetto_corsa](assetto_corsa/)
## Barotrauma
[barotrauma](barotrauma/)
## Citadel: Forged with Fire
[citadel](citadel/)
@ -49,6 +55,9 @@ This is a collection of servers that use steamcmd to install.
## Project Zomboid
[project_zomboid](project_zomboid/)
## Quake Live
[Quake Live](quake_live/)
## Rising World
[rising_world](rising_world/)
@ -79,6 +88,9 @@ This is a collection of servers that use steamcmd to install.
## Team Fortress 2 Classic
[Team Fortress 2 Classic](team_fortress_2_classic)
## The Forest
[The Forest](the_forest)
## Tower Unite
[Tower Unite](tower_unite)

View File

@ -0,0 +1,12 @@
# Assetto Corsa
Assetto Corsa is a sim racing video game developed by the Italian video game developer Kunos Simulazioni. It is designed with an emphasis on a realistic racing experience with support for extensive customization and moddability.
## Server Ports
Asseto Corsa requires two ports, game port is UDP and WEB HTTP port is TCP.
| Port | default |
|-------------|---------|
| Game | 9600 |
| HTTP | 8081 |

View File

@ -0,0 +1,91 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-12-14T03:20:46+02:00",
"name": "Assetto Corsa",
"author": "admin@softwarenoob.com",
"description": "Assetto Corsa (Italian for \"Race Setup\") is a sim racing video game developed by the Italian video game developer Kunos Simulazioni. It is designed with an emphasis on a realistic racing experience with support for extensive customization and moddability",
"features": null,
"image": "quay.io\/parkervcp\/pterodactyl-images:ubuntu_source",
"startup": ".\/acServer",
"config": {
"files": "{\r\n \"cfg\/server_cfg.ini\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"NAME\": \"NAME={{server.build.env.HOSTNAME}}\",\r\n \"PASSWORD\": \"PASSWORD={{server.build.env.PASSWORD}}\",\r\n \"ADMIN_PASSWORD\": \"ADMIN_PASSWORD={{server.build.env.ADM_PASSWORD}}\",\r\n \"UDP_PORT\": \"UDP_PORT={{server.build.default.port}}\",\r\n \"TCP_PORT\": \"TCP_PORT={{server.build.default.port}}\",\r\n \"HTTP_PORT\": \"HTTP_PORT={{server.build.env.HTTP_PORT}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Server started\"\r\n}",
"logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/latest.log\"\r\n}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"Downloading the game as Steam user ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +@sSteamCmdForcePlatformType windows +force_install_dir \/mnt\/server +app_update 302550 ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\nif [ \"${STEAM_USER}\" == \"anonymous\" ]; then\r\n echo -e \"ERROR - STEAM USER NOT SET\\n\"\r\n echo -e \"Steam account must have the dedicated server in his library in order to install and host the game\\n\"\r\n echo -e \"You must configure Steam account in the server startup variables, after that reinstall the server\\n\"\r\nfi",
"container": "debian:buster-slim",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Steam Username",
"description": "A steam username of an account that owns the game is required",
"env_variable": "STEAM_USER",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string"
},
{
"name": "Steam Password",
"description": "Steam User Password",
"env_variable": "STEAM_PASS",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string"
},
{
"name": "Steam Auth Code",
"description": "Steam Auth Code required if the Steam Account is using Steam Auth",
"env_variable": "STEAM_AUTH",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string"
},
{
"name": "Server Name",
"description": "Name of the server",
"env_variable": "HOSTNAME",
"default_value": "Pterodactyl Server",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:45"
},
{
"name": "Server Password",
"description": "If enabled players must enter the password to join the server",
"env_variable": "PASSWORD",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:40"
},
{
"name": "Admin Password",
"description": "Used to login as server administrator, type \/help in-game for more",
"env_variable": "ADMIN_PASSWORD",
"default_value": "4yRWj5vqr6zD",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:40"
},
{
"name": "HTTP Port",
"description": "HTTP Port",
"env_variable": "HTTP_PORT",
"default_value": "8081",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|max:20"
}
]
}

View File

@ -0,0 +1,26 @@
# Barotrauma
### From their [Steam Description](https://store.steampowered.com/app/602960/Barotrauma/)
Barotrauma is a 2D co-op survival horror submarine simulator, inspired by games like FTL: Faster Than Light, Rimworld, Dwarf Fortress and Space Station 13. Its a Sci-Fi game that combines ragdoll physics and alien sea monsters with teamwork and existential fear.
### Server Ports
Ports required to run the server in a table format.
| Port | default |
|------------|---------|
| Game Port | 27015 |
| Query Port | 27016 |
**WARNING
You must edit the port and server settings in serversettings.xml file or your server will not work!**
### No console
Barotrauma server does not currently have server console, it will just spam random messages. You have to add yourself as admin and type commands in-game. Admin file is located at Data/clientpermissions.xml, example config is below.
```<?xml version="1.0" encoding="utf-8"?>
<ClientPermissions>
<Client
name="YOUR INGAME NAME HERE"
steamid="YOUR STEAM64ID here"
preset="Admin" />
</ClientPermissions>

View File

@ -0,0 +1,27 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-12-14T04:12:32+02:00",
"name": "Barotrauma",
"author": "admin@softwarenoob.com",
"description": "Barotrauma is a 2D co-op survival horror submarine simulator, inspired by games like FTL: Faster Than Light, Rimworld, Dwarf Fortress and Space Station 13. It\u2019s a Sci-Fi game that combines ragdoll physics and alien sea monsters with teamwork and existential fear.",
"features": null,
"image": "quay.io\/parkervcp\/pterodactyl-images:ubuntu_source",
"startup": ".\/DedicatedServer -batchmode",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"Server started\"\r\n}",
"logs": "{\r\n \"custom\": false,\r\n \"location\": \"latest.log\"\r\n}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'debian:buster-slim'\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\nSRCDS_APPID=1026340\r\n\r\n## just in case someone removed the defaults.\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\n\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so",
"container": "debian:buster-slim",
"entrypoint": "bash"
}
},
"variables": []
}

View File

@ -2,7 +2,7 @@
game_mode = survival
max_players = 10
pvp = false
pause_when_empty = false
pause_when_empty = true
[NETWORK]
cluster_name = Pterodactyl Test Server
@ -20,4 +20,4 @@ shard_enabled = true
bind_ip = 127.0.0.1
master_ip = 127.0.0.1
master_port = 11001
cluster_key = dst
cluster_key = dst

View File

@ -3,11 +3,12 @@
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2019-10-24T00:00:15-04:00",
"exported_at": "2021-01-01T18:31:11+02:00",
"name": "PixARK",
"author": "hello@venatus.digital",
"description": "A simple Docker container with Wine to run PixARK using Pterodactyl Panel",
"image": "quay.io\/parkervcp\/pterodactyl-images:wine-source",
"features": null,
"image": "quay.io\/parkervcp\/pterodactyl-images:ubuntu_wine-source",
"startup": "wine64 .\/ShooterGame\/Binaries\/Win64\/PixARKServer.exe CubeWorld_Light?listen?MaxPlayers={{MAX_PLAYERS}}?Port={{SERVER_PORT}}?QueryPort={{QPORT}}?RCONPort={{RCPORT}}?ServerPassword={{ARK_PASSWORD}}?ServerAdminPassword={{ARK_ADMIN_PASSWORD}}?CULTUREFORCOOKING=en -NoBattlEye -CubePort={{CUBEPORT}} -cubeworld=world -nosteamclient -NoHangDetection -game -server -log",
"config": {
"files": "{}",
@ -17,7 +18,7 @@
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# PixARK: Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\ncd \/tmp\r\ncurl -sSL -o steamcmd.tar.gz http:\/\/media.steampowered.com\/installer\/steamcmd_linux.tar.gz\r\n\r\nmkdir -p \/mnt\/server\/steamcmd\r\n\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\n\r\nexport HOME=\/mnt\/server\r\n\/mnt\/server\/steamcmd\/steamcmd.sh +@sSteamCmdForcePlatformType windows +login anonymous +force_install_dir \/mnt\/server +app_update {{SRCDS_APPID}} +quit",
"script": "#!\/bin\/bash\r\n# PixARK: Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt -y update\r\napt -y --no-install-recommends --no-install-suggests install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +@sSteamCmdForcePlatformType windows +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} +quit",
"container": "ubuntu:latest",
"entrypoint": "bash"
}
@ -28,8 +29,8 @@
"description": "If specified, players must provide this password to join the server.",
"env_variable": "ARK_PASSWORD",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "nullable|alpha_dash|between:1,100"
},
{
@ -37,8 +38,8 @@
"description": "If specified, players must provide this password (via the in-game console) to gain access to administrator commands on the server.",
"env_variable": "ARK_ADMIN_PASSWORD",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "nullable|alpha_dash|between:1,100"
},
{
@ -46,8 +47,8 @@
"description": "Specifies the maximum number of players that can play on the server simultaneously.",
"env_variable": "MAX_PLAYERS",
"default_value": "10",
"user_viewable": 1,
"user_editable": 0,
"user_viewable": true,
"user_editable": false,
"rules": "required|numeric|digits_between:1,4"
},
{
@ -55,8 +56,8 @@
"description": "The port assigned for use as query port",
"env_variable": "QPORT",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric|digits_between:1,5"
},
{
@ -64,8 +65,8 @@
"description": "The port assigned for use as RCON port",
"env_variable": "RCPORT",
"default_value": "",
"user_viewable": 1,
"user_editable": 0,
"user_viewable": true,
"user_editable": false,
"rules": "required|numeric|digits_between:1,5"
},
{
@ -73,8 +74,8 @@
"description": "The port to be used for terrain",
"env_variable": "CUBEPORT",
"default_value": "",
"user_viewable": 1,
"user_editable": 0,
"user_viewable": true,
"user_editable": false,
"rules": "required|numeric|digits_between:1,5"
},
{
@ -82,9 +83,9 @@
"description": "PixARK Source App ID",
"env_variable": "SRCDS_APPID",
"default_value": "824360",
"user_viewable": 0,
"user_editable": 0,
"user_viewable": false,
"user_editable": false,
"rules": "required|numeric"
}
]
}
}

View File

@ -0,0 +1,16 @@
# Quake Live
A first-person shooter video game by id Software. It is an updated version of Quake III Arena that was originally designed
as a free-to-play game launched via a web browser plug-in. On September 17, 2014, the game was re-launched as a standalone
title on Steam.
Quake Live was previously a free-to-play game, with subscription options offering additional arenas, game types and game
server options. As of October 27, 2015, the game is no longer free and must be purchased, and the subscription options
were dropped.
### Server Ports
Ports required to run the server in a table format.
| Port | default |
|---------|-----------|
| Game | 27960 UDP |
| Stats | 27960 TCP |

View File

@ -0,0 +1,73 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-11-20T13:09:52+01:00",
"name": "Quake Live",
"author": "patz.michael@gmail.com",
"description": "Quake Live is a first-person shooter video game by id Software. It is an updated version of Quake III Arena that was originally designed as a free-to-play game launched via a web browser plug-in. On September 17, 2014, the game was re-launched as a standalone title on Steam.",
"features": null,
"image": "quay.io\/parkervcp\/pterodactyl-images:ubuntu_source",
"startup": ".\/qzeroded.x64 +set net_port \"{{SERVER_PORT}}\" +set sv_hostname \"{{SERVER_NAME}}\" +set sv_serverType \"{{SERVER_TYPE}}\" +set g_password \"{{PASSWORD}}\" +sv_fps \"{{FPS}}\"",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"zmq stats and rcon passwords updated\",\r\n \"userInteraction\": []\r\n}",
"logs": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}",
"stop": "quit"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# Quake Live Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates libstdc++6 libz1\r\n\r\ncd \/tmp\r\ncurl -sSL -o steamcmd.tar.gz http:\/\/media.steampowered.com\/installer\/steamcmd_linux.tar.gz\r\n\r\nmkdir -p \/mnt\/server\/steamcmd \/mnt\/server\/logs\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\n\r\nexport HOME=\/mnt\/server\r\n.\/steamcmd.sh +login anonymous +force_install_dir \/mnt\/server +app_update 349090 +quit\r\n\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so",
"container": "ubuntu:18.04",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "ld lib path",
"description": "",
"env_variable": "LD_LIBRARY_PATH",
"default_value": ".\/linux64",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|max:20"
},
{
"name": "Server Name",
"description": "The Name that will show up in the Serverbrowser",
"env_variable": "SERVER_NAME",
"default_value": "A Quake Live Server",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:70"
},
{
"name": "Server Type",
"description": "0 = Offline, 1 = LAN, 2 = Internet",
"env_variable": "SERVER_TYPE",
"default_value": "2",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric|max:2"
},
{
"name": "Server Password",
"description": "Set a server-wide password, and stop all users from connecting without it",
"env_variable": "PASSWORD",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:20"
},
{
"name": "FPS",
"description": "Change how many frames the server runs per second. WARNING: Has not been tested extensively, and will have a direct impact on CPU and network usage!",
"env_variable": "FPS",
"default_value": "40",
"user_viewable": true,
"user_editable": false,
"rules": "required|numeric"
}
]
}

View File

@ -23,7 +23,7 @@ Ports required to run the server.
| Port | default |
|---------|---------|
| Game and Quary | 28015 UDP |
| Game and Query | 28015 UDP |
| RCON | 28016 TCP |
### Information about server updates can be found [here](https://steamdb.info/app/258550/depots/?branch=staging)

View File

@ -0,0 +1,20 @@
## The Forest
As the lone survivor of a passenger jet crash, you find yourself in a mysterious forest battling to stay alive against a society of cannibalistic mutants.
Build, explore, survive in this terrifying first-person survival horror simulator.
**NOTE**
This server requires a Steam Token
You can generate the token on steam at https://steamcommunity.com/dev/managegameservers
## Server Ports
The forest server requires three ports for access Server port (Default), Steam port (8766), Query Port (27016) but some plugins may require extra ports to enabled for the server.
| Port | default |
|---------|---------|
| Server | any |
| Steam | 8766 |
| Query | 27016 |

View File

@ -0,0 +1,109 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-12-14T01:03:24+02:00",
"name": "The Forest",
"author": "admin@softwarenoob.com",
"description": "As the lone survivor of a passenger jet crash, you find yourself in a mysterious forest battling to stay alive against a society of cannibalistic mutants. Build, explore, survive in this terrifying first-person survival horror simulator.",
"features": null,
"image": "quay.io\/parkervcp\/pterodactyl-images:ubuntu_wine-xvfb",
"startup": ".\/start.sh -serverip {{SERVER_IP}}:{{QUERY_PORT} -serversteamport {{STEAM_PORT}} -servergameport {{SERVER_PORT}} -serverqueryport {{QUERY_PORT}} -servername \"{{SERVER_NAME}}\" -serverplayers {{MAX_PLAYERS}} -difficulty {{SERVER_DIFFICULTY}}",
"config": {
"files": "{\r\n \"\/TheForestDedicatedServer_Data\/forest\/config\/config.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"serverIP\": \"serverIP {{server.build.default.ip}}:{{server.build.env.QUERY_PORT}}\",\r\n \"serverSteamPort\": \"serverSteamPort {{server.build.env.STEAM_PORT}}\",\r\n \"serverGamePort\": \"serverGamePort {{server.build.default.port}}\",\r\n \"serverName\": \"serverName {{server.build.env.SERVER_NAME}}\",\r\n \"serverPlayers\": \"serverPlayers {{server.build.env.MAX_PLAYERS}}\",\r\n \"serverPassword\": \"serverPassword {{server.build.env.SERVER_PASS}}\",\r\n \"serverPasswordAdmin\": \"serverPasswordAdmin {{server.build.env.ADMIN_PASS}}\",\r\n \"serverSteamAccount\": \"serverSteamAccount {{server.build.env.STEAM_ACC}}\",\r\n \"difficulty\": \"difficulty {{server.build.env.SERVER_DIFFICULTY}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Game autosave started\"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# Installation Script\r\n#\r\n# Install dependencies\r\napt update\r\napt -y --no-install-recommends install curl unzip libstdc++6 lib32gcc1 ca-certificates\r\n\r\n\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## Install game using steamcmd\r\n.\/steamcmd.sh +login anonymous +@sSteamCmdForcePlatformType windows +force_install_dir \/mnt\/server +app_update ${APPID} ${EXTRA_FLAGS} validate +quit\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## Configure wine and server startup config\r\nmkdir -p \/home\/container\/.wine64\r\necho \"#!\/bin\/sh\r\nexport WINEARCH=win64\r\nexport WINEPREFIX=\/home\/container\/.wine64\r\nxvfb-run --auto-servernum --server-args='-screen 0 640x480x24:32' wine64 \/home\/container\/TheForestDedicatedServer.exe -batchmode -nographics -nosteamclient -savefolderpath \/home\/container\/TheForestDedicatedServer_Data -configfilepath \/home\/container\/TheForestDedicatedServer_Data\/forest\/config\/config.cfg |grep -v 'RenderTexture.Create failed: format unsupported - 2.'\" > \/mnt\/server\/start.sh\r\nchmod +x \/mnt\/server\/start.sh",
"container": "ubuntu:18.04",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "APP ID",
"description": "The ID corresponding to the game to download.",
"env_variable": "APPID",
"default_value": "556450",
"user_viewable": false,
"user_editable": false,
"rules": "required|numeric|digits_between:1,6"
},
{
"name": "Server Name",
"description": "Name of the server, appears in Steam browser.",
"env_variable": "SERVER_NAME",
"default_value": "Pterodactyl Forest Server",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:64"
},
{
"name": "Steam Port",
"description": "Steam port",
"env_variable": "STEAM_PORT",
"default_value": "8766",
"user_viewable": true,
"user_editable": false,
"rules": "required|string|max:20"
},
{
"name": "Query Port",
"description": "Query port, this port is also used for connecting to the server",
"env_variable": "QUERY_PORT",
"default_value": "27016",
"user_viewable": true,
"user_editable": false,
"rules": "required|string|max:20"
},
{
"name": "Max Players",
"description": "Server player cap",
"env_variable": "MAX_PLAYERS",
"default_value": "10",
"user_viewable": true,
"user_editable": false,
"rules": "required|string|max:20"
},
{
"name": "Difficulty",
"description": "Server difficulty setting, Peaceful, Normal or Hard.",
"env_variable": "SERVER_DIFFICULTY",
"default_value": "Normal",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:Peaceful,Normal,Hard"
},
{
"name": "Steam Account Token",
"description": "The Steam Account Token is required for the server to save player progress. Use APP ID 242760 for the token generation. \r\n\r\nYou can generate the token on steam at https:\/\/steamcommunity.com\/dev\/managegameservers",
"env_variable": "STEAM_ACC",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string"
},
{
"name": "Server Password",
"description": "Password protects the server if set, any player must enter the password to join",
"env_variable": "SERVER_PASS",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:20"
},
{
"name": "Admin Password",
"description": "A password that will be used to gain admin access to the server in-game",
"env_variable": "ADMIN_PASS",
"default_value": "cHanGetHePaSwWord",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20"
}
]
}

View File

@ -17,7 +17,7 @@
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'debian:buster-slim'\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n# Creating needed default files for the game\r\ncd \/mnt\/server\/garrysmod\/lua\/autorun\/server\r\necho '\r\n-- Docs: https:\/\/wiki.garrysmod.com\/page\/resource\/AddWorkshop\r\n-- Place the ID of the workshop addon you want to be downloaded to people who join your server, not the collection ID\r\n-- Use https:\/\/beta.configcreator.com\/create\/gmod\/resources.lua to easily create a list based on your collection ID\r\n\r\nresource.AddWorkshop( \"\" )\r\n' > workshop.lua\r\n\r\ncd \/mnt\/server\/garrysmod\/cfg\r\necho '\r\n\/\/ Please do not set RCon in here, use the startup parameters.\r\n\r\nhostname\t\t\"New Gmod Server\"\r\nsv_password\t\t\"\"\r\nsv_loadingurl \"\"\r\n\r\n\/\/ Steam Server List Settings\r\nsv_region \"255\"\r\nsv_lan \"0\"\r\nsv_max_queries_sec_global \"30000\"\r\nsv_max_queries_window \"45\"\r\nsv_max_queries_sec \"5\"\r\n\r\n\/\/ Server Limits\r\nsbox_maxprops\t\t100\r\nsbox_maxragdolls\t5\r\nsbox_maxnpcs\t\t10\r\nsbox_maxballoons\t10\r\nsbox_maxeffects\t\t10\r\nsbox_maxdynamite\t10\r\nsbox_maxlamps\t\t10\r\nsbox_maxthrusters\t10\r\nsbox_maxwheels\t\t10\r\nsbox_maxhoverballs\t10\r\nsbox_maxvehicles\t20\r\nsbox_maxbuttons\t\t10\r\nsbox_maxsents\t\t20\r\nsbox_maxemitters\t5\r\nsbox_godmode\t\t0\r\nsbox_noclip\t\t 0\r\n\r\n\/\/ Network Settings - Please keep these set to default.\r\n\r\nsv_minrate\t\t75000\r\nsv_maxrate\t\t0\r\ngmod_physiterations\t2\r\nnet_splitpacket_maxrate\t45000\r\ndecalfrequency\t\t12 \r\n\r\n\/\/ Execute Ban Files - Please do not edit\r\nexec banned_ip.cfg \r\nexec banned_user.cfg \r\n\r\n\/\/ Add custom lines under here\r\n' > server.cfg",
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'debian:buster-slim'\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n# Creating needed default files for the game\r\ncd \/mnt\/server\/garrysmod\/lua\/autorun\/server\r\necho '\r\n-- Docs: https:\/\/wiki.facepunch.com\/gmod\/resource.AddWorkshop\r\n-- Place the ID of the workshop addon you want to be downloaded to people who join your server, not the collection ID\r\n-- Use https:\/\/beta.configcreator.com\/create\/gmod\/resources.lua to easily create a list based on your collection ID\r\n\r\nresource.AddWorkshop( \"\" )\r\n' > workshop.lua\r\n\r\ncd \/mnt\/server\/garrysmod\/cfg\r\necho '\r\n\/\/ Please do not set RCon in here, use the startup parameters.\r\n\r\nhostname\t\t\"New Gmod Server\"\r\nsv_password\t\t\"\"\r\nsv_loadingurl \"\"\r\n\r\n\/\/ Steam Server List Settings\r\nsv_region \"255\"\r\nsv_lan \"0\"\r\nsv_max_queries_sec_global \"30000\"\r\nsv_max_queries_window \"45\"\r\nsv_max_queries_sec \"5\"\r\n\r\n\/\/ Server Limits\r\nsbox_maxprops\t\t100\r\nsbox_maxragdolls\t5\r\nsbox_maxnpcs\t\t10\r\nsbox_maxballoons\t10\r\nsbox_maxeffects\t\t10\r\nsbox_maxdynamite\t10\r\nsbox_maxlamps\t\t10\r\nsbox_maxthrusters\t10\r\nsbox_maxwheels\t\t10\r\nsbox_maxhoverballs\t10\r\nsbox_maxvehicles\t20\r\nsbox_maxbuttons\t\t10\r\nsbox_maxsents\t\t20\r\nsbox_maxemitters\t5\r\nsbox_godmode\t\t0\r\nsbox_noclip\t\t 0\r\n\r\n\/\/ Network Settings - Please keep these set to default.\r\n\r\nsv_minrate\t\t75000\r\nsv_maxrate\t\t0\r\ngmod_physiterations\t2\r\nnet_splitpacket_maxrate\t45000\r\ndecalfrequency\t\t12 \r\n\r\n\/\/ Execute Ban Files - Please do not edit\r\nexec banned_ip.cfg \r\nexec banned_user.cfg \r\n\r\n\/\/ Add custom lines under here\r\n' > server.cfg",
"container": "debian:buster-slim",
"entrypoint": "bash"
}
@ -87,4 +87,4 @@
"rules": "required|integer|max:100"
}
]
}
}

22
storage/minio/README.md Normal file
View File

@ -0,0 +1,22 @@
# minio s3
## Features
Auto generate keys on server creation bypassing default minio keys
Automatic Key rotation using "rotate" startup feature
## Auto Rotate
It's possible to rotate your keys by changing the startup option to "rotate"
Once this is changed restart your server and it will automatically move your current keys to old and create your new keys
Be sure to change your startup back to "normal" once you have started your server using "rotate". This will ensure that you don't accidentally rotate your keys twice
## Known Issues
Double encryption may occur if you manually manipulate files in the keys directory
#### Key rotation is handled automatically, DO NOT manually delete files in keys directory

View File

@ -0,0 +1,37 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-12-14T05:29:26+02:00",
"name": "Minio S3",
"author": "accounts@bofanodes.io",
"description": "MinIO is a cloud storage server compatible with Amazon S3, released under Apache License v2. As an object store, MinIO can store unstructured data such as photos, videos, log files, backups and container images. The maximum size of an object is 5TB.",
"features": null,
"image": "quay.io\/parkervcp\/pterodactyl-images:ubuntu",
"startup": ".\/minio.sh",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"guide\"\r\n}",
"logs": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#\r\n#\r\napt update\r\napt install -y wget\r\ncd \/mnt\/server\r\nwget https:\/\/dl.min.io\/server\/minio\/release\/linux-amd64\/minio\r\nchmod +x minio\r\nmkdir data\r\nmkdir keys\r\n\r\nwget https:\/\/github.com\/\/parkervcp\/eggs\/raw\/master\/storage\/minio\/minio.sh\r\nchmod +x minio.sh\r\nexport MINIO_ACCESS_KEY=$(cat \/dev\/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)\r\necho $MINIO_ACCESS_KEY > keys\/key.txt\r\nexport MINIO_SECRET_KEY=$(cat \/dev\/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)\r\necho $MINIO_SECRET_KEY > keys\/secret.txt\r\necho done",
"container": "debian:buster-slim",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Startup Type",
"description": "normal or rotate",
"env_variable": "STARTUP_TYPE",
"default_value": "normal",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:normal,rotate"
}
]
}

56
storage/minio/minio.sh Normal file
View File

@ -0,0 +1,56 @@
#!/bin/bash
##################################
echo Starting up....
echo "Startup Type: $STARTUP_TYPE"
if [ -f "keys/key.txt" ]; then
echo "Key file detected..."
export MINIO_ACCESS_KEY=`cat keys/key.txt`
else
echo minioadmin > keys/key.txt
echo "No key file detected...Preparing First Time Boot"
fi
if [ -f "keys/secret.txt" ]; then
echo "Secret file detected..."
export MINIO_SECRET_KEY=`cat keys/secret.txt`
else
echo minioadmin > keys/secret.txt
echo "No secret file detected...Preparing First Time Boot"
fi
if [ -f "keys/oldsecret.txt" ]; then
echo "Old secret file detected..."
export MINIO_SECRET_KEY_OLD=`cat keys/oldsecret.txt`
fi
if [ -f "keys/oldkey.txt" ]; then
echo "Old key file detected..."
export MINIO_ACCESS_KEY_OLD=`cat keys/oldkey.txt`
fi
if [ -f "keys/justrotated.txt" ]; then
echo "Previous key rotation detected...."
echo "Clearing the Lanes...."
unset MINIO_ACCESS_KEY_OLD
unset MINIO_SECRET_KEY_OLD
STARTUP_TYPE=normal
rm keys/justrotated.txt
rm keys/oldsecret.txt
rm keys/oldkey.txt
fi
##########################################
if [ -z "$STARTUP_TYPE" ] || [ "$STARTUP_TYPE" == "rotate" ]; then
touch keys/justrotated.txt
export MINIO_ACCESS_KEY_OLD=$MINIO_ACCESS_KEY
echo $MINIO_ACCESS_KEY_OLD > keys/oldkey.txt
export MINIO_SECRET_KEY_OLD=$MINIO_SECRET_KEY
echo $MINIO_SECRET_KEY_OLD > keys/oldsecret.txt
export MINIO_ACCESS_KEY=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)
echo $MINIO_ACCESS_KEY > keys/key.txt
export MINIO_SECRET_KEY=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)
echo $MINIO_SECRET_KEY > keys/secret.txt
echo Your New Access Key is: $MINIO_ACCESS_KEY
echo Your New Secret Key is: $MINIO_SECRET_KEY
echo Your Old Access Key is: $MINIO_ACCESS_KEY_OLD
echo Your Old Access Key is: $MINIO_SECRET_KEY_OLD
echo Booting...
./minio server data --address 0.0.0.0:$SERVER_PORT
else
./minio server data --address 0.0.0.0:$SERVER_PORT
fi

View File

@ -3,10 +3,11 @@
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-03-28T13:50:13-04:00",
"exported_at": "2020-12-13T16:59:05+01:00",
"name": "TeaSpeak",
"author": "parker@parkervcp.com",
"description": "TeaSpeak is a free to use client and server software for VoIP communication.\r\n\r\nIts the ideal deal software for everyone who is annoyed about limits and restrictions.",
"features": null,
"image": "quay.io\/parkervcp\/pterodactyl-images:base_debian",
"startup": ".\/TeaSpeakServer --property:binding.query.port={{QUERY_PORT}} --property:binding.file.port={{FILE_PORT}} --property:voice.default_port={{SERVER_PORT}}",
"config": {
@ -17,7 +18,7 @@
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n \r\n## install required packages\r\napt update\r\napt upgrade -y\r\napt install curl -y\r\n\r\n## make and change to directory\r\nmkdir \/mnt\/server\r\ncd \/mnt\/server\/\r\n\r\n## get download link\r\nif [ \"${VERSION}\" == \"\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_URL=$(echo \"https:\/\/repo.teaspeak.de\/server\/linux\/amd64\/TeaSpeak-$(curl -sSLk https:\/\/repo.teaspeak.de\/server\/linux\/amd64\/latest).tar.gz\")\r\nelse\r\n DOWNLOAD_URL=$(echo \"https:\/\/repo.teaspeak.de\/server\/linux\/amd64\/TeaSpeak-${VERSION}.tar.gz\")\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 DOWNLOAD_LINK=${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\n## download files\r\necho -e \"running: curl -sSL -o teaspeak.tar.gz ${DOWNLOAD_LINK}\"\r\ncurl -sSL -o teaspeak.tar.gz ${DOWNLOAD_LINK}\r\n\r\n## unpack files\r\necho -e \"unpacking files\"\r\ntar xzvf teaspeak.tar.gz\r\n\r\necho -e \"install complete\"",
"script": "#!\/bin\/bash\r\n \r\n## install required packages\r\napt update\r\napt upgrade -y\r\napt install curl -y\r\n\r\n## make and change to directory\r\nmkdir \/mnt\/server\r\ncd \/mnt\/server\/\r\n\r\n## get download link\r\nif [ \"${VERSION}\" == \"\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_URL=$(echo \"https:\/\/repo.teaspeak.de\/server\/linux\/amd64\/TeaSpeak-$(curl -sSLk https:\/\/repo.teaspeak.de\/server\/linux\/amd64\/latest).tar.gz\")\r\nelif [ \"${VERSION}\" == \"\" ] || [ \"${VERSION}\" == \"nightly\" ]; then\r\n DOWNLOAD_URL=$(echo \"https:\/\/repo.teaspeak.de\/server\/linux\/amd64_nightly\/TeaSpeak-$(curl -sSLk https:\/\/repo.teaspeak.de\/server\/linux\/amd64_nightly\/latest).tar.gz\")\r\nelse\r\n DOWNLOAD_URL=$(echo \"https:\/\/repo.teaspeak.de\/server\/linux\/amd64\/TeaSpeak-${VERSION}.tar.gz\")\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 DOWNLOAD_LINK=${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\n## download files\r\necho -e \"running: curl -sSL -o teaspeak.tar.gz ${DOWNLOAD_LINK}\"\r\ncurl -sSL -o teaspeak.tar.gz ${DOWNLOAD_LINK}\r\n\r\n## unpack files\r\necho -e \"unpacking files\"\r\ntar xzvf teaspeak.tar.gz\r\n\r\necho -e \"install complete\"",
"container": "debian:buster-slim",
"entrypoint": "bash"
}
@ -28,8 +29,8 @@
"description": "The query port for TeaSpeak",
"env_variable": "QUERY_PORT",
"default_value": "10101",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric|max:65535"
},
{
@ -37,8 +38,8 @@
"description": "The TeaSpeak File Transfer Port",
"env_variable": "FILE_PORT",
"default_value": "30303",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric|max:65535"
},
{
@ -46,8 +47,8 @@
"description": "The TeaSpeak Server MOTD",
"env_variable": "SERVER_MOTD",
"default_value": "TeaSpeak\\n\\rHosted on pterodactyl!",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:128"
},
{
@ -55,8 +56,8 @@
"description": "Don't touch this if you want the server to start",
"env_variable": "LD_LIBRARY_PATH",
"default_value": ".\/libs\/",
"user_viewable": 0,
"user_editable": 0,
"user_viewable": false,
"user_editable": false,
"rules": "required|string"
},
{
@ -64,17 +65,17 @@
"description": "Don't touch this if you want the server to start",
"env_variable": "LD_PRELOAD",
"default_value": ".\/libs\/libjemalloc.so.2",
"user_viewable": 0,
"user_editable": 0,
"user_viewable": false,
"user_editable": false,
"rules": "required|string"
},
{
"name": "Teaspeak Version",
"description": "What version of teaspeak to install",
"description": "What version of teaspeak to install: latest = latest stable ; nightly = latest nightly",
"env_variable": "VERSION",
"default_value": "latest",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20"
}
]