From dd4af121cfa131953f59620d907298007a3bbb8b Mon Sep 17 00:00:00 2001 From: Baconator Date: Fri, 8 Mar 2019 22:47:36 +0100 Subject: [PATCH 01/37] Add files via upload --- source_servers/svencoop/egg-sven-co-op.json | 72 +++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 source_servers/svencoop/egg-sven-co-op.json diff --git a/source_servers/svencoop/egg-sven-co-op.json b/source_servers/svencoop/egg-sven-co-op.json new file mode 100644 index 00000000..7bc00475 --- /dev/null +++ b/source_servers/svencoop/egg-sven-co-op.json @@ -0,0 +1,72 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2019-03-08T22:46:21+01:00", + "name": "Sven Co-op", + "author": "pteroducktyl@yildri.nl", + "description": "Sven Co-op is a co-operative game originally based around Valve Software's Half-Life. In this game players must work together against computer controlled enemies and solve puzzles as a team.", + "image": "quay.io\/pterodactyl\/core:source", + "startup": ".\/svends_run -console -port {{SERVER_PORT}} +maxplayers {{SC_PLAYERS}} +map {{SC_MAP}} +ip 0.0.0.0 -strictportbind -norestart", + "config": { + "files": "{\r\n \"svencoop\/server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"hostname\": \"hostname \\\"{{env.SC_NAME}}\\\"\",\r\n \"sv_password\": \"sv_password \\\"{{env.SC_PASSWORD}}\\\"\",\r\n \"\/\/sv_password\": \"sv_password \\\"{{env.SC_PASSWORD}}\\\"\",\r\n \"sv_region\": \"sv_region {{env.SC_REGION}}\"\r\n }\r\n }\r\n}", + "startup": "{\r\n \"done\": \"Connection to Steam servers successful.\",\r\n \"userInteraction\": []\r\n}", + "logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/latest.log\"\r\n}", + "stop": "quit" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash\r\n# Sven co-op Base 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\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 276060 validate +quit\r\n\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so", + "container": "ubuntu:16.04", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "Default Map", + "description": "The default map for the server.", + "env_variable": "SC_MAP", + "default_value": "svencoop1", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string" + }, + { + "name": "Max Players", + "description": "The maximum amount of players that can play on the server at once.", + "env_variable": "SC_PLAYERS", + "default_value": "12", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|numeric|between:2,32" + }, + { + "name": "Server Name", + "description": "The name your server will appear as on the in Sven Co-op in-game server list.", + "env_variable": "SC_NAME", + "default_value": "Sven Co-op server", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:40" + }, + { + "name": "Password", + "description": "Password required to join the server. Leave blank to disable.", + "env_variable": "SC_PASSWORD", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "nullable|string|max:20" + }, + { + "name": "Region", + "description": "The region your server is in. This is used in Steam's server browser, so players can look for servers near by. This does not restrict players from connecting to your server.\r\n\r\n-1: Do not list server in the server browser.\r\n0: USA east coast.\r\n1: USA west coast.\r\n2: South America (continent)\r\n3: Europe.\r\n4: Asia.\r\n5: Australia (continent, aka Oceania)\r\n6: Middle East.\r\n7: Africa.\r\n255: International.", + "env_variable": "SC_REGION", + "default_value": "255", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|numeric|between:-1,255" + } + ] +} \ No newline at end of file From a5d94c394113ce3e8f590bc5f135041df1fc6680 Mon Sep 17 00:00:00 2001 From: Baconator Date: Fri, 8 Mar 2019 22:51:13 +0100 Subject: [PATCH 02/37] Create README.md --- source_servers/svencoop/README.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 source_servers/svencoop/README.md diff --git a/source_servers/svencoop/README.md b/source_servers/svencoop/README.md new file mode 100644 index 00000000..ce233c73 --- /dev/null +++ b/source_servers/svencoop/README.md @@ -0,0 +1,11 @@ +# Sven Co-op +Sven Co-op is a co-operative game originally based around Valve Software's Half-Life. In this game players must work together against computer controlled enemies and solve puzzles as a team. + +### Server Ports +Sven co-op requires a single port to be opened + +game ports (default 27015 ) + +| Port | default | +|---------|---------| +| Game | 27015 | From b683da99d0ae01aa44c661c48667b1c7d089dff0 Mon Sep 17 00:00:00 2001 From: Baconator Date: Fri, 8 Mar 2019 22:54:58 +0100 Subject: [PATCH 03/37] Add Sven Co-op to the main README --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5ed24c56..72973bee 100644 --- a/README.md +++ b/README.md @@ -73,6 +73,7 @@ If you submit a PR without filling out the template I will deny it. This is for * [PixARK](/source_servers/pixark/) * [Rust Staging Branch](/source_servers/rust-staging/) * [Starbound](/source_servers/starbound) +* [Sven Co-op](/source_servers/svencoop) [Squad](/squad/) From 67ff371c6b0d70dc50c42b03c109cfdc55e47ad4 Mon Sep 17 00:00:00 2001 From: "Michael (Parker) Parker" Date: Mon, 6 May 2019 14:53:25 -0400 Subject: [PATCH 04/37] Add JMusicBot This adds the JMusicBot --- README.md | 1 + bots/discord/README.md | 4 ++ bots/discord/jmusicbot/README.md | 6 +++ bots/discord/jmusicbot/egg-j-music-bot.json | 54 +++++++++++++++++++++ 4 files changed, 65 insertions(+) create mode 100644 bots/discord/jmusicbot/README.md create mode 100644 bots/discord/jmusicbot/egg-j-music-bot.json diff --git a/README.md b/README.md index 6a998501..56edaa5b 100644 --- a/README.md +++ b/README.md @@ -31,6 +31,7 @@ If you are reading this it looks like you are looking to add an egg to your serv * [Bastion](/bots/discord/bastion/) * [discord.js](bots/discord/discord.js/) Node JS generic * [fragbot](/bots/discord/fragbot/) Golang +* [jmusicbot](/bots/discord/jmusicbot) Java * [parkertron](/bots/discord/parkertron/) Golang * [pixel-bot](/bots/discord/pixelbot/) Python * [Sinusbot](/bots/discord/sinusbot/) diff --git a/bots/discord/README.md b/bots/discord/README.md index 8c1cf53f..66ab5d3b 100644 --- a/bots/discord/README.md +++ b/bots/discord/README.md @@ -18,6 +18,10 @@ Give awesome perks to your Discord server! [discord.js](https://discord.js.org/) A generic discord.js egg for running discord bots. +#### fragbot +[jagrosh/MusicBot](https://github.com/jagrosh/MusicBot) +A Discord music bot that's easy to set up and run yourself! + #### fragbot [fragforce/fragbot](https://github.com/fragforce/fragbot) The bot that runs as the fragforce `@Fragbot` offering looking-for-group services for now diff --git a/bots/discord/jmusicbot/README.md b/bots/discord/jmusicbot/README.md new file mode 100644 index 00000000..e38a71e1 --- /dev/null +++ b/bots/discord/jmusicbot/README.md @@ -0,0 +1,6 @@ +# JMusicBot +### Their [Github](https://github.com/jagrosh/MusicBot) +A Discord music bot that's easy to set up and run yourself! + +### Server Ports +There are no ports required for JMusicBot \ No newline at end of file diff --git a/bots/discord/jmusicbot/egg-j-music-bot.json b/bots/discord/jmusicbot/egg-j-music-bot.json new file mode 100644 index 00000000..423479c2 --- /dev/null +++ b/bots/discord/jmusicbot/egg-j-music-bot.json @@ -0,0 +1,54 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2019-05-06T14:52:22-04:00", + "name": "JMusicBot", + "author": "parker@parkervcp.com", + "description": "A Discord music bot that's easy to set up and run yourself!", + "image": "quay.io\/parkervcp\/pterodactyl-images:debian_openjdk-8-jre", + "startup": "java -Djavax.accessibility.assistive_technologies=\" \" -jar JMusicBot.jar", + "config": { + "files": "{\r\n \"config.txt\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"token =\": \"token = \\\"{{env.BOT_TOKEN}}\\\"\",\r\n \"prefix =\": \"prefix = \\\"{{env.BOT_PREFIX}}\\\"\",\r\n \"owner =\": \"owner = \\\"{{env.BOT_OWNER}}\\\"\"\r\n }\r\n }\r\n}", + "startup": "{\r\n \"done\": \"\"\r\n}", + "logs": "{}", + "stop": "^C" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/ash\r\napk add --no-cache curl\r\n\r\nget_latest_release() {\r\n curl --silent \"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=\"jagrosh\/MusicBot\"\r\nVERSION=`get_latest_release \"${PACKAGE}\"`\r\necho \"Latest version=${VERSION}\"\r\n\r\ncd \/mnt\/server\r\n\r\ncurl -Lo JMusicBot.jar https:\/\/github.com\/jagrosh\/MusicBot\/releases\/download\/${VERSION}\/JMusicBot-${VERSION}.jar\r\n\r\nif [ -f config.txt ]; then\r\n echo -e \"config found\"\r\nelse\r\n echo -e \"config not found getting default\"\r\n curl -Lo config.txt https:\/\/github.com\/jagrosh\/MusicBot\/releases\/download\/${VERSION}\/config.txt\r\nfi\r\n\r\necho \"Job's Done\"", + "container": "alpine:3.9", + "entrypoint": "ash" + } + }, + "variables": [ + { + "name": "Discord Bot Token", + "description": "The token for the discord bot.\r\n\r\nhttps:\/\/discordapp.com\/developers\/applications\/", + "env_variable": "BOT_TOKEN", + "default_value": "You need to get a token", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:64" + }, + { + "name": "Bot Prefix", + "description": "Thew prefix for the bot.\r\n\r\nDefault is it @mention the bot.", + "env_variable": "BOT_PREFIX", + "default_value": "@mention", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:20" + }, + { + "name": "Bot Owner ID", + "description": "This is the user ID of the bot owner.", + "env_variable": "BOT_OWNER", + "default_value": "changethistoyourdiscordid", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:32" + } + ] +} \ No newline at end of file From 4c01ec67fb04bc416cae4883e7ddec6c7c9fe837 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Mon, 6 May 2019 23:02:08 -0400 Subject: [PATCH 05/37] update bastion egg change install process and start command. --- bots/discord/bastion/egg-bastion.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/bots/discord/bastion/egg-bastion.json b/bots/discord/bastion/egg-bastion.json index 6d440bbb..03207ab9 100644 --- a/bots/discord/bastion/egg-bastion.json +++ b/bots/discord/bastion/egg-bastion.json @@ -3,22 +3,22 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-01-02T13:13:37+00:00", + "exported_at": "2019-05-06T23:01:39-04:00", "name": "Bastion", "author": "parker@parkervcp.com", "description": "Bastion is an all-in-one multipurpose Discord bot that can do a whole bunch of things and its features are expanding daily. Bastion does everything most people will ever need it to do. Check out some feature highlights below to get a peek into the vast feature list of Bastion. And if you think Bastion lacks some feature, please send a suggestion and we will add it to Bastion as soon as possible.", "image": "quay.io\/parkervcp\/pterodactyl-images:bot_bastion", - "startup": "node -r ./utils/globals.js .", + "startup": "node -r .\/utils\/globals.js .", "config": { - "files": "{\r\n \"settings\/credentials.yaml\": {\r\n \"parser\": \"yaml\",\r\n \"find\": {\r\n \"botId\": \"{{server.build.env.BOT_ID}}\",\r\n \"token\": \"{{server.build.env.BOT_TOKEN}}\"\r\n }\r\n }\r\n}", + "files": "{\r\n \"settings\/credentials.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"botId\": \"{{server.build.env.BOT_ID}}\",\r\n \"token\": \"{{server.build.env.BOT_TOKEN}}\"\r\n }\r\n }\r\n}", "startup": "{\r\n \"done\": \"I'm ready to roll!\"\r\n}", "logs": "{}", "stop": "^C" }, "scripts": { "installation": { - "script": "#!\/bin\/ash\r\n# Bastion Bot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\n## Install Requirements\r\napk --no-cache add python g++ make git\r\n\r\n## Move to install folder\r\ncd \/mnt\/server\/\r\n\r\n## Clone repo\r\ngit clone -b stable -q --depth 1 https:\/\/github.com\/TheBastionBot\/Bastion.git .\/\r\n\r\n## Install node_modules\r\nnpm install --only=production\r\n\r\n## Move config files.\r\nmv settings\/credentials.example.yaml settings\/credentials.yaml\r\nmv settings\/configurations.example.yaml settings\/configurations.yaml", - "container": "node:8-alpine", + "script": "#!\/bin\/ash\r\n# Bastion Bot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\n## Install Requirements\r\napk --no-cache add python g++ make git\r\n\r\n## Move to install folder\r\ncd \/mnt\/server\/\r\n\r\n## Clone repo\r\ngit clone -b stable -q --depth 1 https:\/\/github.com\/TheBastionBot\/Bastion.git .\/\r\n\r\n## Install node_modules\r\nyarn install --only=production\r\n\r\n## Move config files.\r\nmv settings\/credentials.example.yaml settings\/credentials.yaml\r\nmv settings\/configurations.example.yaml settings\/configurations.yaml", + "container": "node:10-alpine", "entrypoint": "ash" } }, @@ -42,4 +42,4 @@ "rules": "required|string|max:64" } ] -} +} \ No newline at end of file From cc2a0f4a1c160b6c988390fde1d62a4110526f24 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Mon, 6 May 2019 23:16:34 -0400 Subject: [PATCH 06/37] change bastion config settings change to use the yaml parser instead of json --- bots/discord/bastion/egg-bastion.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bots/discord/bastion/egg-bastion.json b/bots/discord/bastion/egg-bastion.json index 03207ab9..4355f1d8 100644 --- a/bots/discord/bastion/egg-bastion.json +++ b/bots/discord/bastion/egg-bastion.json @@ -3,14 +3,14 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-05-06T23:01:39-04:00", + "exported_at": "2019-05-06T23:13:44-04:00", "name": "Bastion", "author": "parker@parkervcp.com", "description": "Bastion is an all-in-one multipurpose Discord bot that can do a whole bunch of things and its features are expanding daily. Bastion does everything most people will ever need it to do. Check out some feature highlights below to get a peek into the vast feature list of Bastion. And if you think Bastion lacks some feature, please send a suggestion and we will add it to Bastion as soon as possible.", "image": "quay.io\/parkervcp\/pterodactyl-images:bot_bastion", "startup": "node -r .\/utils\/globals.js .", "config": { - "files": "{\r\n \"settings\/credentials.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"botId\": \"{{server.build.env.BOT_ID}}\",\r\n \"token\": \"{{server.build.env.BOT_TOKEN}}\"\r\n }\r\n }\r\n}", + "files": "{\r\n \"settings\/credentials.yaml\": {\r\n \"parser\": \"yaml\",\r\n \"find\": {\r\n \"botId\": \"{{server.build.env.BOT_ID}}\",\r\n \"token\": \"{{server.build.env.BOT_TOKEN}}\"\r\n }\r\n }\r\n}", "startup": "{\r\n \"done\": \"I'm ready to roll!\"\r\n}", "logs": "{}", "stop": "^C" From 108d0b5b7748a485192bc404d5e794b241876738 Mon Sep 17 00:00:00 2001 From: "Michael (Parker) Parker" Date: Wed, 8 May 2019 07:54:05 -0400 Subject: [PATCH 07/37] add nogui flag --- bots/discord/jmusicbot/egg-j-music-bot.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bots/discord/jmusicbot/egg-j-music-bot.json b/bots/discord/jmusicbot/egg-j-music-bot.json index 423479c2..1fb7b94e 100644 --- a/bots/discord/jmusicbot/egg-j-music-bot.json +++ b/bots/discord/jmusicbot/egg-j-music-bot.json @@ -3,12 +3,12 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-05-06T14:52:22-04:00", + "exported_at": "2019-05-08T07:52:52-04:00", "name": "JMusicBot", "author": "parker@parkervcp.com", "description": "A Discord music bot that's easy to set up and run yourself!", "image": "quay.io\/parkervcp\/pterodactyl-images:debian_openjdk-8-jre", - "startup": "java -Djavax.accessibility.assistive_technologies=\" \" -jar JMusicBot.jar", + "startup": "java -Djavax.accessibility.assistive_technologies=\" \" -Dnogui=true -jar JMusicBot.jar", "config": { "files": "{\r\n \"config.txt\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"token =\": \"token = \\\"{{env.BOT_TOKEN}}\\\"\",\r\n \"prefix =\": \"prefix = \\\"{{env.BOT_PREFIX}}\\\"\",\r\n \"owner =\": \"owner = \\\"{{env.BOT_OWNER}}\\\"\"\r\n }\r\n }\r\n}", "startup": "{\r\n \"done\": \"\"\r\n}", From 45b256eb27983fd80384af62cf4c52da8442f087 Mon Sep 17 00:00:00 2001 From: Pascal Date: Wed, 8 May 2019 18:48:08 +0200 Subject: [PATCH 08/37] Fixed link to Paper egg --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 56edaa5b..13f5c325 100644 --- a/README.md +++ b/README.md @@ -70,7 +70,7 @@ If you are reading this it looks like you are looking to add an egg to your serv * [Forge](/minecraft_java/forge/) * [Feed The Beast](/minecraft_java/ftb/) * [Spigot](/minecraft_java/spigot/) -* [PaperSpigot (Legacy)](/minecraft_java/spigot/paper-legacy) +* [Paper](/minecraft_java/paper) * [Technic](/minecraft_java/technic/) [Minecraft Proxies](/minecraft_proxy/) (these are for the java version of minecraft) From 11154b9aba08e3455c247c050cf08f70e3abbce4 Mon Sep 17 00:00:00 2001 From: Pascal Date: Thu, 9 May 2019 12:07:01 +0200 Subject: [PATCH 09/37] Fixed link to Mount & Blade Warband egg --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 13f5c325..573a5593 100644 --- a/README.md +++ b/README.md @@ -76,7 +76,7 @@ If you are reading this it looks like you are looking to add an egg to your serv [Minecraft Proxies](/minecraft_proxy/) (these are for the java version of minecraft) * [Waterfall](/minecraft_proxy/waterfall/) -[Mount & Blade Warband](/mb_warband/) +[Mount & Blade Warband](/mount_and_blade/warband/) [OpenTTD](/openttd/) From 961ef255c0394de526e35ecfe4fb1e45310941d9 Mon Sep 17 00:00:00 2001 From: Pascal Date: Thu, 9 May 2019 12:09:36 +0200 Subject: [PATCH 10/37] Fixed link to Tower Unite egg --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 573a5593..13807133 100644 --- a/README.md +++ b/README.md @@ -90,7 +90,7 @@ If you are reading this it looks like you are looking to add an egg to your serv [Squad](/squad/) [Unreal Engine](/unreal_engine) -* [Tower Unit](/unreal_engine/tower_unit/) +* [Tower Unite](/unreal_engine/tower_unite/) [Terraria](/terraria/) * [tmodloader](/terraria/tmodloader) From 9f34b07d117dcd67f952e72d62c49091633c45e1 Mon Sep 17 00:00:00 2001 From: Pascal Date: Thu, 9 May 2019 12:11:10 +0200 Subject: [PATCH 11/37] Fixed typos --- unreal_engine/tower_unite/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/unreal_engine/tower_unite/README.md b/unreal_engine/tower_unite/README.md index 956a333d..f43f9408 100644 --- a/unreal_engine/tower_unite/README.md +++ b/unreal_engine/tower_unite/README.md @@ -1,11 +1,11 @@ -# Tower Unit +# Tower Unite Their desctiption: Every aspect of Tower Unite allows for online multiplayer interaction. It is a living and evolving online game world, driven by the community. Play games online with your friends, or make new friends from across the globe. ### Server Ports -Tower Unit requires a single port to be oepened +Tower Unite requires a single port to be opened | Port | default | |---------|---------| | Game | 7778 | -| Query | 27016 | \ No newline at end of file +| Query | 27016 | From 424f437212003adcd5bc503ad9e6e166c41d124a Mon Sep 17 00:00:00 2001 From: QuickCentralHosting <46080934+QuickCentralHosting@users.noreply.github.com> Date: Fri, 24 May 2019 02:55:42 -0700 Subject: [PATCH 12/37] Update Server Config Missing ; after Hostname. --- arma/arma3/egg-arma3-config/server.cfg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arma/arma3/egg-arma3-config/server.cfg b/arma/arma3/egg-arma3-config/server.cfg index ee73e428..daf2d213 100644 --- a/arma/arma3/egg-arma3-config/server.cfg +++ b/arma/arma3/egg-arma3-config/server.cfg @@ -14,7 +14,7 @@ // GENERAL SETTINGS // Hostname for server. -hostname = "Arma 3 Server" +hostname = "Arma 3 Server"; // Server password - for private servers. //password = "arma3pass"; @@ -127,4 +127,4 @@ localClient[] = {"127.0.0.1", "172.18.0.1"}; // BattlEye Anti-Cheat License // 0 = decline // 1 = accept -battleyeLicense = 1; \ No newline at end of file +battleyeLicense = 1; From e7c5817524844e7665328551a62c7dcffee26197 Mon Sep 17 00:00:00 2001 From: Joshua Walsh Date: Mon, 27 May 2019 02:50:28 +1000 Subject: [PATCH 13/37] Add egg-vanilla-cord.json --- .../vanillacord/egg-vanilla-cord.json | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 minecraft_java/vanillacord/egg-vanilla-cord.json diff --git a/minecraft_java/vanillacord/egg-vanilla-cord.json b/minecraft_java/vanillacord/egg-vanilla-cord.json new file mode 100644 index 00000000..016d6d80 --- /dev/null +++ b/minecraft_java/vanillacord/egg-vanilla-cord.json @@ -0,0 +1,45 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2019-05-26T12:47:26-04: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.", + "image": "quay.io\/pterodactyl\/core:java", + "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 \"query.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": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}", + "stop": "stop" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash\r\n# Vanilla MC Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt-get update\r\napt-get install -y curl jq\r\n\r\ncd \/mnt\/server\r\n\r\nLATEST_VERSION=`curl https:\/\/launchermeta.mojang.com\/mc\/game\/version_manifest.json | jq -r '.latest.release'`\r\n\r\nif [ -z \"$VANILLA_VERSION\" ] || [ \"$VANILLA_VERSION\" == \"latest\" ]; then\r\n INSTALLING_VERSION=$LATEST_VERSION\r\nelse\r\n INSTALLING_VERSION=$VANILLA_VERSION\r\nfi\r\nMANIFEST_URL=$(curl https:\/\/launchermeta.mojang.com\/mc\/game\/version_manifest.json | jq .versions | jq -r '.[] | select(.id == \"'$INSTALLING_VERSION'\") | .url')\r\n\r\nDOWNLOAD_URL=`curl $MANIFEST_URL | jq .downloads.server | jq -r '. | .url'`\r\n\r\nMAJOR_VERSION=$(echo $INSTALLING_VERSION | grep -Po '^\\K\\d+(?=\\.\\d+\\.\\d+$)')\r\nMINOR_VERSION=$(echo $INSTALLING_VERSION | grep -Po '^\\d+\\.\\K\\d+(?=\\.\\d+$)')\r\nPATCH_VERSION=$(echo $INSTALLING_VERSION | grep -Po '^\\d+\\.\\d+\\.\\K\\d+(?=$)')\r\n\r\nVANILLACORD_URL=https:\/\/src.me1312.net\/jenkins\/job\/VanillaCord\/job\/1.12\/lastSuccessfulBuild\/artifact\/artifacts\/VanillaCord.jar\r\nif [[ MAJOR_VERSION -eq 1 && MINOR_VERSION -lt 12 ]]; then\r\n VANILLACORD_URL=https:\/\/src.me1312.net\/jenkins\/job\/VanillaCord\/job\/1.7.10\/lastSuccessfulBuild\/artifact\/artifacts\/VanillaCord.jar\r\nfi\r\n\r\nif [[ (MAJOR_VERSION -eq 1 && MINOR_VERSION -eq 7 && PATCH_VERSION -lt 10) || (MAJOR_VERSION -eq 1 && MINOR_VERSION -lt 7) ]]; then\r\n echo \"VanillaCord is only supported on Minecraft 1.7.10 or higher! You cannot use it with $INSTALLING_VERSION.\"\r\n exit 1\r\nfi\r\n\r\ncurl -o vanillacord.jar $VANILLACORD_URL\r\njava -jar vanillacord.jar $INSTALLING_VERSION\r\n\r\nrm -f vanillacord.jar\r\nrm -rf in\r\nmv out\/*.jar $SERVER_JARFILE\r\nrm -rf out", + "container": "openjdk:8-jre-slim", + "entrypoint": "bash" + } + }, + "variables": [ + { + "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": 1, + "user_editable": 1, + "rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/" + }, + { + "name": "Server Version", + "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, + "rules": "required|string|between:3,15" + } + ] +} From 0ca9507e1942ff826d31fce7efbb67e86aff4ce0 Mon Sep 17 00:00:00 2001 From: Joshua Walsh Date: Mon, 27 May 2019 02:53:09 +1000 Subject: [PATCH 14/37] Add VanillaCord to main README --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 13807133..048bc676 100644 --- a/README.md +++ b/README.md @@ -72,6 +72,7 @@ If you are reading this it looks like you are looking to add an egg to your serv * [Spigot](/minecraft_java/spigot/) * [Paper](/minecraft_java/paper) * [Technic](/minecraft_java/technic/) +* [VanillaCord](/minecraft_java/vanillacord/) [Minecraft Proxies](/minecraft_proxy/) (these are for the java version of minecraft) * [Waterfall](/minecraft_proxy/waterfall/) From ff7e18365d362b7d63f28b61cf3c41c4acdb6b52 Mon Sep 17 00:00:00 2001 From: Joshua Walsh Date: Mon, 27 May 2019 02:56:11 +1000 Subject: [PATCH 15/37] Create README.MD for VanillaCord --- minecraft_java/vanillacord/README.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 minecraft_java/vanillacord/README.md diff --git a/minecraft_java/vanillacord/README.md b/minecraft_java/vanillacord/README.md new file mode 100644 index 00000000..b76396a6 --- /dev/null +++ b/minecraft_java/vanillacord/README.md @@ -0,0 +1,5 @@ +# VanillaCord + +A patch for vanilla servers to work with BungeeCord's ip_forward setting. + +[Details](https://www.spigotmc.org/resources/vanillacord.952/) From 5ee10e995c639c914d5116f1bc681a087de91bee Mon Sep 17 00:00:00 2001 From: Joshua Walsh Date: Mon, 27 May 2019 11:08:46 +1000 Subject: [PATCH 16/37] Update VanillaCord link to point to ME1312's fork --- minecraft_java/vanillacord/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/minecraft_java/vanillacord/README.md b/minecraft_java/vanillacord/README.md index b76396a6..d1544799 100644 --- a/minecraft_java/vanillacord/README.md +++ b/minecraft_java/vanillacord/README.md @@ -2,4 +2,4 @@ A patch for vanilla servers to work with BungeeCord's ip_forward setting. -[Details](https://www.spigotmc.org/resources/vanillacord.952/) +This uses [ME1312's fork](https://github.com/ME1312/VanillaCord) of VanillaCord which has been updated for modern Minecraft. From 32b614802eb29e437554ab70a341c15d716e7d86 Mon Sep 17 00:00:00 2001 From: Joshua Walsh Date: Mon, 27 May 2019 11:25:03 +1000 Subject: [PATCH 17/37] Add some notes about online-mode --- minecraft_java/vanillacord/README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/minecraft_java/vanillacord/README.md b/minecraft_java/vanillacord/README.md index d1544799..c5d91e0e 100644 --- a/minecraft_java/vanillacord/README.md +++ b/minecraft_java/vanillacord/README.md @@ -3,3 +3,7 @@ A patch for vanilla servers to work with BungeeCord's ip_forward setting. This uses [ME1312's fork](https://github.com/ME1312/VanillaCord) of VanillaCord which has been updated for modern Minecraft. + +## Note: + +If you've set up Spigot, Paper or some other server with BungeeCord's IP forwarding you might know that you have to set online-mode to false. Due to the way that VanillaCord works this is not necessary with this Egg, you can (and should) leave online-mode as true. From 5603dbcc747367e21ad1bef1cb34f2868d145f11 Mon Sep 17 00:00:00 2001 From: Arnaud Lier Date: Sun, 2 Jun 2019 11:30:53 +0200 Subject: [PATCH 18/37] Create egg-attack-of-the-b--team.json --- .../egg-attack-of-the-b--team.json | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 minecraft_java/technic/attack-of-the-bteam/egg-attack-of-the-b--team.json diff --git a/minecraft_java/technic/attack-of-the-bteam/egg-attack-of-the-b--team.json b/minecraft_java/technic/attack-of-the-bteam/egg-attack-of-the-b--team.json new file mode 100644 index 00000000..f38046e3 --- /dev/null +++ b/minecraft_java/technic/attack-of-the-bteam/egg-attack-of-the-b--team.json @@ -0,0 +1,36 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2019-06-02T11:29:46+02:00", + "name": "Attack of the B-Team", + "author": "support@pterodactyl.io", + "description": "This modpack was designed with one thing in mind, crazy mad science! With the help of the B-Team we hand picked the wackiest mods we could find and shoved them all in a modpack for you guys. The result is Attack of the B-Team!", + "image": "quay.io\/pterodactyl\/core:java", + "startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar BTeam.jar", + "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 \"query.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": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}", + "stop": "stop" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/ash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk update\r\napk add curl\r\n\r\ncd \/mnt\/server\r\n\r\ncurl -sS http:\/\/servers.technicpack.net\/Technic\/servers\/bteam\/BTeam_Server_v$MODPACK_VERSION.zip -o BTeam_Server_v$MODPACK_VERSION.zip\r\n\r\nunzip BTeam_Server_v$MODPACK_VERSION.zip\r\n\r\nrm -rf BTeam_Server_v$MODPACK_VERSION.zip", + "container": "alpine:3.9", + "entrypoint": "ash" + } + }, + "variables": [ + { + "name": "Modpack Version", + "description": "Version of the modpack to use", + "env_variable": "MODPACK_VERSION", + "default_value": "1.0.12c", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:20" + } + ] +} From ee8bd5c21a38724c611600e978af233d4fb7f8e9 Mon Sep 17 00:00:00 2001 From: Arnaud Lier Date: Sun, 2 Jun 2019 11:33:19 +0200 Subject: [PATCH 19/37] Create README.MD --- minecraft_java/technic/attack-of-the-bteam/README.MD | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 minecraft_java/technic/attack-of-the-bteam/README.MD diff --git a/minecraft_java/technic/attack-of-the-bteam/README.MD b/minecraft_java/technic/attack-of-the-bteam/README.MD new file mode 100644 index 00000000..f5bc5be3 --- /dev/null +++ b/minecraft_java/technic/attack-of-the-bteam/README.MD @@ -0,0 +1,11 @@ +# Minecraft: Attack of the B Team + +A very good modpack! + +## Server Ports +The minecraft server requires a single port for access (default 25565) but plugins may require extra ports to enabled for the server. + + +| Port | default | +|-------|---------| +| Game | 25565 | From 45639b92467c4f41ad2c0ee31dbf07050b5f5281 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sun, 2 Jun 2019 19:22:12 -0400 Subject: [PATCH 20/37] 7dtd and xml is garbage --- source_servers/7_days_to_die/egg-7-days-to-die.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/source_servers/7_days_to_die/egg-7-days-to-die.json b/source_servers/7_days_to_die/egg-7-days-to-die.json index 5f5f7c0b..49475dd8 100644 --- a/source_servers/7_days_to_die/egg-7-days-to-die.json +++ b/source_servers/7_days_to_die/egg-7-days-to-die.json @@ -3,14 +3,14 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2018-10-23T10:20:04-04:00", + "exported_at": "2019-06-02T19:20:57-04:00", "name": "7 Days To Die", "author": "kristoffer.norman@bahnhof.se", "description": "7 days to die server", "image": "quay.io\/parkervcp\/pterodactyl-images:source", - "startup": "'.\/7DaysToDieServer.x86_64 -configfile=serverconfig.xml -quit -batchmode -nographics -dedicated -ServerPort=${{SERVER_PORT}} -ServerMaxPlayerCount=${{MAX_PLAYERS}} -GameDifficulty=${{GAME_DIFFICULTY}} -ControlPanelEnabled=false -TelnetEnabled=true -TelnetPort=8081 -logfile logs\/latest.log & echo -e \"Checking on telnet connection\" && until nc -z -v -w5 127.0.0.1 8081; do echo \"Waiting for telnet connection...\"; sleep 5; done && telnet -E 127.0.0.1 8081'", + "startup": "'.\/7DaysToDieServer.x86_64 -configfile=serverconfig.xml -quit -batchmode -nographics -dedicated -ServerPort=${{server.build.default.port}} -ServerMaxPlayerCount=${{server.build.env.MAX_PLAYERS}} -GameDifficulty=${{server.build.env.GAME_DIFFICULTY}} -ControlPanelEnabled=false -TelnetEnabled=true -TelnetPort=8081 -logfile logs\/latest.log & echo -e \"Checing on telnet connection\" && until nc -z -v -w5 127.0.0.1 8081; do echo \"Waiting for telnet connection...\"; sleep 5; done && telnet -E 127.0.0.1 8081'", "config": { - "files": "{\r\n \"serverconfig.xml\": {\r\n \"parser\": \"xml\",\r\n \"find\": {\r\n \"ServerPort\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}", + "files": "{}", "startup": "{\r\n \"done\": \"Connected with 7DTD server\",\r\n \"userInteraction\": []\r\n}", "logs": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}", "stop": "shutdown" @@ -51,4 +51,4 @@ "rules": "required|string|max:20" } ] -} +} \ No newline at end of file From c21621c3ccf99635aaea54ce71cfc4fbc67ddc2c Mon Sep 17 00:00:00 2001 From: Joshua Walsh Date: Tue, 4 Jun 2019 21:15:06 +1000 Subject: [PATCH 21/37] Fix #219 This fixes an issue where installation of Forge Generic would fail if the modpack's included settings.cfg file had Windows-style (\r\n) line endings --- minecraft_java/forge/forge-generic/egg-forge-generic.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/minecraft_java/forge/forge-generic/egg-forge-generic.json b/minecraft_java/forge/forge-generic/egg-forge-generic.json index 53da7298..929da0be 100644 --- a/minecraft_java/forge/forge-generic/egg-forge-generic.json +++ b/minecraft_java/forge/forge-generic/egg-forge-generic.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-05-03T11:53:00-04:00", + "exported_at": "2019-06-04T07:13:30-04:00", "name": "Forge Generic", "author": "parker@parkervcp.com", "description": "A generic egg for a forge modpack", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/ash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nfunction install_required {\r\n apk --no-cache --update add curl jq\r\n}\r\n\r\nfunction get_download {\r\n BASE_URL=${MODPACK_URL}\/files\r\n\r\n if [ -z \"${MODPACK_VERSION}\" ] || [ \"${MODPACK_VERSION}\" == \"latest\" ]; then\r\n ID=`curl -sl ${BASE_URL} | grep -i -A9 'title=\"release\"' | grep -m 1 -i -o 'href=\".*\"' | cut -d \"\/\" -f5 | sed s\/\\\"\/\/g`\r\n echo \"ID: ${ID}\"\r\n else\r\n ID=`curl -sl ${BASE_URL} | grep -i -A9 \"${MODPACK_VERSION}\" | grep -m 1 -oE 'href=\"[^\\\"]+\"' | cut -d \"\/\" -f5 | grep -oE [0-9]+`\r\n echo \"ID: ${ID}\"\r\n fi\r\n\r\n SECONDURL=${BASE_URL}\/${ID}\r\n echo \"SECONDURL: ${SECONDURL}\"\r\n\r\n GOOD_ID=`curl -sl ${SECONDURL} | grep -i server | grep -Eo 'href=\"[^\\\"]+\"' | grep -o -E \"[0-9]+\" | tail -1`\r\n if [ -z \"$GOOD_ID\" ]; then\r\n GOOD_ID=$ID\r\n fi\r\n echo \"GOOD_ID: ${GOOD_ID}\"\r\n\r\n DL_URL=${BASE_URL}\/${GOOD_ID}\/download\r\n echo \"Download_URL: ${DL_URL}\"\r\n\r\n cd \/mnt\/server\r\n\r\n echo \"Executing curl -L ${DL_URL} -o server.zip\"\r\n curl -L ${DL_URL} -o server.zip\r\n\r\n unzip -o server.zip\r\n\r\n rm -rf server.zip\r\n}\r\n\r\nfunction forge_install {\r\n echo -e \"\\nInstalling forge server using the installer jar file.\\n\"\r\n java -jar *installer.jar --installServer\r\n}\r\n\r\nfunction forge_cleanup {\r\n echo -e \"\\nDeleting installer jar file and cleaning up.\\n\"\r\n rm -rf *installer.jar\r\n\r\n mv *universal.jar server.jar\r\n}\r\n\r\nfunction json_download_prework {\r\n mkdir -p \/mnt\/server\/mods\r\n cd \/mnt\/server\/mods\r\n}\r\n\r\nfunction json_download_mods {\r\n MANIFEST=\/mnt\/server\/manifest.json\r\n for mod in $(jq -c '.files[]' ${MANIFEST} ); do\r\n projID=$(echo $mod | jq -r \".projectID\")\r\n fileID=$(echo $mod | jq -r \".fileID\")\r\n URL=\"https:\/\/minecraft.curseforge.com\/projects\/${projID}\/files\/${fileID}\/download\"\r\n echo \"mods file url: ${URL}\"\r\n # this is saving everything as \/mnt\/server\/mods\/download\r\n FINAL_URL=$(curl $URL -s -L -o \/dev\/null -w '%{url_effective}')\r\n echo \"Mod direct url: $FINAL_URL\"\r\n curl -JLO ${FINAL_URL}\r\n done\r\n}\r\n\r\nfunction json_download_forge {\r\n cd \/mnt\/server\r\n FORGE=$(jq -r '.minecraft.modLoaders[0].id' \/mnt\/server\/manifest.json | cut -d '-' -f2)\r\n MCVER=$(jq -r '.minecraft.version' \/mnt\/server\/manifest.json)\r\n\tif [ ${MCVER} == \"1.7.10\" ] || [ ${MCVER} == \"1.8.9\" ]; then\r\n\t\tFORGE=\"${FORGE}-${MCVER}\"\r\n\tfi\r\n FORGE_VERSION=\"${MCVER}-${FORGE}\"\r\n \r\n echo -e \"\\nDownloading Forge Version $FORGE_VERSION\\n\"\r\n echo -r \"running curl -sS https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/$FORGE_VERSION\/forge-$FORGE_VERSION-installer.jar -o installer.jar \\n\"\r\n curl -sS https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/$FORGE_VERSION\/forge-$FORGE_VERSION-installer.jar -o installer.jar\r\n echo -r \"running curl -sS https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/$FORGE_VERSION\/forge-$FORGE_VERSION-universal.jar -O \\n\"\r\n curl -sS https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/$FORGE_VERSION\/forge-$FORGE_VERSION-universal.jar -O\r\n java -jar installer.jar --installServer\r\n mv *universal.jar server.jar\r\n rm installer.jar\r\n}\r\n\r\nfunction json_download_overrides {\r\n if [ -d \/mnt\/server\/overrides ]; then\r\n mv \/mnt\/server\/overrides\/mods\/* \/mnt\/server\/mods\/\r\n rmdir \/mnt\/server\/overrides\/mods\r\n mv \/mnt\/server\/overrides\/* \/mnt\/server\r\n rmdir \/mnt\/server\/overrides\r\n fi\r\n}\r\n\r\nfunction cfg_download_forge {\r\n MCVER=`grep 'MCVER' settings.cfg | sed 's\/;\/\/g' | cut -d '=' -f 2-`\r\n FORGE=`grep 'FORGEVER' settings.cfg | sed 's\/;\/\/g' | cut -d '=' -f 2-`\r\n\r\n\tif [ ${MCVER} == \"1.7.10\" ] || [ ${MCVER} == \"1.8.9\" ]; then\r\n\t\tFORGE=\"${FORGE}-${MCVER}\"\r\n\tfi\r\n \r\n FORGE_VERSION=\"${MCVER}-${FORGE}\"\r\n echo -e ${FORGE_VERSION}\r\n \r\n echo -e \"\\nDownloading Forge Version $FORGE_VERSION\\n\"\r\n echo -r \"running curl -sS https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/$FORGE_VERSION\/forge-$FORGE_VERSION-installer.jar -o installer.jar \\n\"\r\n curl -sS https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/$FORGE_VERSION\/forge-$FORGE_VERSION-installer.jar -o installer.jar\r\n echo -r \"running curl -sS https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/$FORGE_VERSION\/forge-$FORGE_VERSION-universal.jar -O \\n\"\r\n curl -sS https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/$FORGE_VERSION\/forge-$FORGE_VERSION-universal.jar -O\r\n java -jar installer.jar --installServer\r\n mv *universal.jar server.jar\r\n rm installer.jar\r\n}\r\n\r\ninstall_required\r\nget_download\r\nif [ -f \/mnt\/server\/manifest.json ]; then\r\n json_download_prework\r\n json_download_mods\r\n json_download_overrides\r\n json_download_forge\r\nelif [ -f \/mnt\/server\/settings.cfg ]; then\r\n cfg_download_forge\r\nelse\r\n forge_install\r\n forge_cleanup\r\nfi", + "script": "#!\/bin\/ash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nfunction install_required {\r\n apk --no-cache --update add curl jq\r\n}\r\n\r\nfunction get_download {\r\n BASE_URL=${MODPACK_URL}\/files\r\n\r\n if [ -z \"${MODPACK_VERSION}\" ] || [ \"${MODPACK_VERSION}\" == \"latest\" ]; then\r\n ID=`curl -sl ${BASE_URL} | grep -i -A9 'title=\"release\"' | grep -m 1 -i -o 'href=\".*\"' | cut -d \"\/\" -f5 | sed s\/\\\"\/\/g`\r\n echo \"ID: ${ID}\"\r\n else\r\n ID=`curl -sl ${BASE_URL} | grep -i -A9 \"${MODPACK_VERSION}\" | grep -m 1 -oE 'href=\"[^\\\"]+\"' | cut -d \"\/\" -f5 | grep -oE [0-9]+`\r\n echo \"ID: ${ID}\"\r\n fi\r\n\r\n SECONDURL=${BASE_URL}\/${ID}\r\n echo \"SECONDURL: ${SECONDURL}\"\r\n\r\n GOOD_ID=`curl -sl ${SECONDURL} | grep -i server | grep -Eo 'href=\"[^\\\"]+\"' | grep -o -E \"[0-9]+\" | tail -1`\r\n if [ -z \"$GOOD_ID\" ]; then\r\n GOOD_ID=$ID\r\n fi\r\n echo \"GOOD_ID: ${GOOD_ID}\"\r\n\r\n DL_URL=${BASE_URL}\/${GOOD_ID}\/download\r\n echo \"Download_URL: ${DL_URL}\"\r\n\r\n cd \/mnt\/server\r\n\r\n echo \"Executing curl -L ${DL_URL} -o server.zip\"\r\n curl -L ${DL_URL} -o server.zip\r\n\r\n unzip -o server.zip\r\n\r\n rm -rf server.zip\r\n}\r\n\r\nfunction forge_install {\r\n echo -e \"\\nInstalling forge server using the installer jar file.\\n\"\r\n java -jar *installer.jar --installServer\r\n}\r\n\r\nfunction forge_cleanup {\r\n echo -e \"\\nDeleting installer jar file and cleaning up.\\n\"\r\n rm -rf *installer.jar\r\n\r\n mv *universal.jar server.jar\r\n}\r\n\r\nfunction json_download_prework {\r\n mkdir -p \/mnt\/server\/mods\r\n cd \/mnt\/server\/mods\r\n}\r\n\r\nfunction json_download_mods {\r\n MANIFEST=\/mnt\/server\/manifest.json\r\n for mod in $(jq -c '.files[]' ${MANIFEST} ); do\r\n projID=$(echo $mod | jq -r \".projectID\")\r\n fileID=$(echo $mod | jq -r \".fileID\")\r\n URL=\"https:\/\/minecraft.curseforge.com\/projects\/${projID}\/files\/${fileID}\/download\"\r\n echo \"mods file url: ${URL}\"\r\n # this is saving everything as \/mnt\/server\/mods\/download\r\n FINAL_URL=$(curl $URL -s -L -o \/dev\/null -w '%{url_effective}')\r\n echo \"Mod direct url: $FINAL_URL\"\r\n curl -JLO ${FINAL_URL}\r\n done\r\n}\r\n\r\nfunction json_download_forge {\r\n cd \/mnt\/server\r\n FORGE=$(jq -r '.minecraft.modLoaders[0].id' \/mnt\/server\/manifest.json | cut -d '-' -f2)\r\n MCVER=$(jq -r '.minecraft.version' \/mnt\/server\/manifest.json)\r\n\tif [ ${MCVER} == \"1.7.10\" ] || [ ${MCVER} == \"1.8.9\" ]; then\r\n\t\tFORGE=\"${FORGE}-${MCVER}\"\r\n\tfi\r\n FORGE_VERSION=\"${MCVER}-${FORGE}\"\r\n \r\n echo -e \"\\nDownloading Forge Version $FORGE_VERSION\\n\"\r\n echo -r \"running curl -sS https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/$FORGE_VERSION\/forge-$FORGE_VERSION-installer.jar -o installer.jar \\n\"\r\n curl -sS https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/$FORGE_VERSION\/forge-$FORGE_VERSION-installer.jar -o installer.jar\r\n echo -r \"running curl -sS https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/$FORGE_VERSION\/forge-$FORGE_VERSION-universal.jar -O \\n\"\r\n curl -sS https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/$FORGE_VERSION\/forge-$FORGE_VERSION-universal.jar -O\r\n java -jar installer.jar --installServer\r\n mv *universal.jar server.jar\r\n rm installer.jar\r\n}\r\n\r\nfunction json_download_overrides {\r\n if [ -d \/mnt\/server\/overrides ]; then\r\n mv \/mnt\/server\/overrides\/mods\/* \/mnt\/server\/mods\/\r\n rmdir \/mnt\/server\/overrides\/mods\r\n mv \/mnt\/server\/overrides\/* \/mnt\/server\r\n rmdir \/mnt\/server\/overrides\r\n fi\r\n}\r\n\r\nfunction cfg_download_forge {\r\n dos2unix settings.cfg # In case the pack was distributed with Windows-style line endings in the cfg file\r\n MCVER=`grep 'MCVER' settings.cfg | sed 's\/;\/\/g' | cut -d '=' -f 2-`\r\n FORGE=`grep 'FORGEVER' settings.cfg | sed 's\/;\/\/g' | cut -d '=' -f 2-`\r\n\r\n\tif [ ${MCVER} == \"1.7.10\" ] || [ ${MCVER} == \"1.8.9\" ]; then\r\n\t\tFORGE=\"${FORGE}-${MCVER}\"\r\n\tfi\r\n \r\n FORGE_VERSION=\"${MCVER}-${FORGE}\"\r\n echo -e ${FORGE_VERSION}\r\n \r\n echo -e \"\\nDownloading Forge Version $FORGE_VERSION\\n\"\r\n echo -r \"running curl -sS https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/$FORGE_VERSION\/forge-$FORGE_VERSION-installer.jar -o installer.jar \\n\"\r\n curl -sS https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/$FORGE_VERSION\/forge-$FORGE_VERSION-installer.jar -o installer.jar\r\n echo -r \"running curl -sS https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/$FORGE_VERSION\/forge-$FORGE_VERSION-universal.jar -O \\n\"\r\n curl -sS https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/$FORGE_VERSION\/forge-$FORGE_VERSION-universal.jar -O\r\n java -jar installer.jar --installServer\r\n mv *universal.jar server.jar\r\n rm installer.jar\r\n}\r\n\r\ninstall_required\r\nget_download\r\nif [ -f \/mnt\/server\/manifest.json ]; then\r\n json_download_prework\r\n json_download_mods\r\n json_download_overrides\r\n json_download_forge\r\nelif [ -f \/mnt\/server\/settings.cfg ]; then\r\n cfg_download_forge\r\nelse\r\n forge_install\r\n forge_cleanup\r\nfi", "container": "openjdk:8-alpine", "entrypoint": "ash" } @@ -42,4 +42,4 @@ "rules": "required|string|max:20" } ] -} \ No newline at end of file +} From 7e2c37769218faa0f35b95d99c9632181fdad8aa Mon Sep 17 00:00:00 2001 From: Joshua Walsh Date: Thu, 6 Jun 2019 14:41:40 +1000 Subject: [PATCH 22/37] Use Alpine instead of Debian for install image Required using `sed` instead of `grep` due to BusyBox `grep` not supporting PCRE. Also required rewriting the conditions for the if statements, as `ash` does not support Bash's Conditional Expressions. --- minecraft_java/vanillacord/egg-vanilla-cord.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/minecraft_java/vanillacord/egg-vanilla-cord.json b/minecraft_java/vanillacord/egg-vanilla-cord.json index 016d6d80..9927e189 100644 --- a/minecraft_java/vanillacord/egg-vanilla-cord.json +++ b/minecraft_java/vanillacord/egg-vanilla-cord.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-05-26T12:47:26-04:00", + "exported_at": "2019-06-06T00:39:33-04: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.", @@ -17,9 +17,9 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# Vanilla MC Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt-get update\r\napt-get install -y curl jq\r\n\r\ncd \/mnt\/server\r\n\r\nLATEST_VERSION=`curl https:\/\/launchermeta.mojang.com\/mc\/game\/version_manifest.json | jq -r '.latest.release'`\r\n\r\nif [ -z \"$VANILLA_VERSION\" ] || [ \"$VANILLA_VERSION\" == \"latest\" ]; then\r\n INSTALLING_VERSION=$LATEST_VERSION\r\nelse\r\n INSTALLING_VERSION=$VANILLA_VERSION\r\nfi\r\nMANIFEST_URL=$(curl https:\/\/launchermeta.mojang.com\/mc\/game\/version_manifest.json | jq .versions | jq -r '.[] | select(.id == \"'$INSTALLING_VERSION'\") | .url')\r\n\r\nDOWNLOAD_URL=`curl $MANIFEST_URL | jq .downloads.server | jq -r '. | .url'`\r\n\r\nMAJOR_VERSION=$(echo $INSTALLING_VERSION | grep -Po '^\\K\\d+(?=\\.\\d+\\.\\d+$)')\r\nMINOR_VERSION=$(echo $INSTALLING_VERSION | grep -Po '^\\d+\\.\\K\\d+(?=\\.\\d+$)')\r\nPATCH_VERSION=$(echo $INSTALLING_VERSION | grep -Po '^\\d+\\.\\d+\\.\\K\\d+(?=$)')\r\n\r\nVANILLACORD_URL=https:\/\/src.me1312.net\/jenkins\/job\/VanillaCord\/job\/1.12\/lastSuccessfulBuild\/artifact\/artifacts\/VanillaCord.jar\r\nif [[ MAJOR_VERSION -eq 1 && MINOR_VERSION -lt 12 ]]; then\r\n VANILLACORD_URL=https:\/\/src.me1312.net\/jenkins\/job\/VanillaCord\/job\/1.7.10\/lastSuccessfulBuild\/artifact\/artifacts\/VanillaCord.jar\r\nfi\r\n\r\nif [[ (MAJOR_VERSION -eq 1 && MINOR_VERSION -eq 7 && PATCH_VERSION -lt 10) || (MAJOR_VERSION -eq 1 && MINOR_VERSION -lt 7) ]]; then\r\n echo \"VanillaCord is only supported on Minecraft 1.7.10 or higher! You cannot use it with $INSTALLING_VERSION.\"\r\n exit 1\r\nfi\r\n\r\ncurl -o vanillacord.jar $VANILLACORD_URL\r\njava -jar vanillacord.jar $INSTALLING_VERSION\r\n\r\nrm -f vanillacord.jar\r\nrm -rf in\r\nmv out\/*.jar $SERVER_JARFILE\r\nrm -rf out", - "container": "openjdk:8-jre-slim", - "entrypoint": "bash" + "script": "#!\/bin\/ash\r\n\r\napk --no-cache --update add curl jq\r\n\r\ncd \/mnt\/server\r\n\r\necho $VANILLA_VERSION\r\n\r\nLATEST_VERSION=`curl https:\/\/launchermeta.mojang.com\/mc\/game\/version_manifest.json | jq -r '.latest.release'`\r\n\r\nif { [ -z \"$VANILLA_VERSION\" ] || [ \"$VANILLA_VERSION\" == \"latest\" ]; } then\r\n INSTALLING_VERSION=$LATEST_VERSION\r\nelse\r\n INSTALLING_VERSION=$VANILLA_VERSION\r\nfi\r\nMANIFEST_URL=$(curl https:\/\/launchermeta.mojang.com\/mc\/game\/version_manifest.json | jq .versions | jq -r '.[] | select(.id == \"'$INSTALLING_VERSION'\") | .url')\r\n\r\nDOWNLOAD_URL=`curl $MANIFEST_URL | jq .downloads.server | jq -r '. | .url'`\r\n\r\nMAJOR_VERSION=$(echo $INSTALLING_VERSION | sed -En 's\/^([0-9]*)\\.[0-9]*\\.[0-9]*$\/\\1\/p')\r\nMINOR_VERSION=$(echo $INSTALLING_VERSION | sed -En 's\/^[0-9]*\\.([0-9]*)\\.[0-9]*$\/\\1\/p')\r\nPATCH_VERSION=$(echo $INSTALLING_VERSION | sed -En 's\/^[0-9]*\\.[0-9]*\\.([0-9]*)$\/\\1\/p')\r\n\r\nVANILLACORD_URL=https:\/\/src.me1312.net\/jenkins\/job\/VanillaCord\/job\/1.12\/lastSuccessfulBuild\/artifact\/artifacts\/VanillaCord.jar\r\nif [ $MAJOR_VERSION -eq 1 ] && [ $MINOR_VERSION -lt 12 ]; then\r\n VANILLACORD_URL=https:\/\/src.me1312.net\/jenkins\/job\/VanillaCord\/job\/1.7.10\/lastSuccessfulBuild\/artifact\/artifacts\/VanillaCord.jar\r\nfi\r\n\r\nif { [ $MAJOR_VERSION -eq 1 ] && [ $MINOR_VERSION -eq 7 ] && [ $PATCH_VERSION -lt 10 ]; } || { [ $MAJOR_VERSION -eq 1 ] && [ $MINOR_VERSION -lt 7 ]; } then\r\n echo \"VanillaCord is only supported on Minecraft 1.7.10 or higher! You cannot use it with $INSTALLING_VERSION.\"\r\n exit 1\r\nfi\r\n\r\ncurl -o vanillacord.jar $VANILLACORD_URL\r\njava -jar vanillacord.jar $INSTALLING_VERSION\r\n\r\nrm -f vanillacord.jar\r\nrm -rf in\r\nmv out\/*.jar $SERVER_JARFILE\r\nrm -rf out", + "container": "openjdk:8-jre-alpine", + "entrypoint": "ash" } }, "variables": [ From cd74e81d05fe678d722e6f9f36369a3f8d79e72c Mon Sep 17 00:00:00 2001 From: Joshua Walsh Date: Thu, 6 Jun 2019 23:34:08 +1000 Subject: [PATCH 23/37] Remove unused environment variables --- minecraft_java/vanillacord/egg-vanilla-cord.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/minecraft_java/vanillacord/egg-vanilla-cord.json b/minecraft_java/vanillacord/egg-vanilla-cord.json index 9927e189..7df2d5c5 100644 --- a/minecraft_java/vanillacord/egg-vanilla-cord.json +++ b/minecraft_java/vanillacord/egg-vanilla-cord.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-06-06T00:39:33-04:00", + "exported_at": "2019-06-06T09:33:27-04: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.", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/ash\r\n\r\napk --no-cache --update add curl jq\r\n\r\ncd \/mnt\/server\r\n\r\necho $VANILLA_VERSION\r\n\r\nLATEST_VERSION=`curl https:\/\/launchermeta.mojang.com\/mc\/game\/version_manifest.json | jq -r '.latest.release'`\r\n\r\nif { [ -z \"$VANILLA_VERSION\" ] || [ \"$VANILLA_VERSION\" == \"latest\" ]; } then\r\n INSTALLING_VERSION=$LATEST_VERSION\r\nelse\r\n INSTALLING_VERSION=$VANILLA_VERSION\r\nfi\r\nMANIFEST_URL=$(curl https:\/\/launchermeta.mojang.com\/mc\/game\/version_manifest.json | jq .versions | jq -r '.[] | select(.id == \"'$INSTALLING_VERSION'\") | .url')\r\n\r\nDOWNLOAD_URL=`curl $MANIFEST_URL | jq .downloads.server | jq -r '. | .url'`\r\n\r\nMAJOR_VERSION=$(echo $INSTALLING_VERSION | sed -En 's\/^([0-9]*)\\.[0-9]*\\.[0-9]*$\/\\1\/p')\r\nMINOR_VERSION=$(echo $INSTALLING_VERSION | sed -En 's\/^[0-9]*\\.([0-9]*)\\.[0-9]*$\/\\1\/p')\r\nPATCH_VERSION=$(echo $INSTALLING_VERSION | sed -En 's\/^[0-9]*\\.[0-9]*\\.([0-9]*)$\/\\1\/p')\r\n\r\nVANILLACORD_URL=https:\/\/src.me1312.net\/jenkins\/job\/VanillaCord\/job\/1.12\/lastSuccessfulBuild\/artifact\/artifacts\/VanillaCord.jar\r\nif [ $MAJOR_VERSION -eq 1 ] && [ $MINOR_VERSION -lt 12 ]; then\r\n VANILLACORD_URL=https:\/\/src.me1312.net\/jenkins\/job\/VanillaCord\/job\/1.7.10\/lastSuccessfulBuild\/artifact\/artifacts\/VanillaCord.jar\r\nfi\r\n\r\nif { [ $MAJOR_VERSION -eq 1 ] && [ $MINOR_VERSION -eq 7 ] && [ $PATCH_VERSION -lt 10 ]; } || { [ $MAJOR_VERSION -eq 1 ] && [ $MINOR_VERSION -lt 7 ]; } then\r\n echo \"VanillaCord is only supported on Minecraft 1.7.10 or higher! You cannot use it with $INSTALLING_VERSION.\"\r\n exit 1\r\nfi\r\n\r\ncurl -o vanillacord.jar $VANILLACORD_URL\r\njava -jar vanillacord.jar $INSTALLING_VERSION\r\n\r\nrm -f vanillacord.jar\r\nrm -rf in\r\nmv out\/*.jar $SERVER_JARFILE\r\nrm -rf out", + "script": "#!\/bin\/ash\r\n\r\napk --no-cache --update add curl jq\r\n\r\ncd \/mnt\/server\r\n\r\necho $VANILLA_VERSION\r\n\r\nLATEST_VERSION=`curl https:\/\/launchermeta.mojang.com\/mc\/game\/version_manifest.json | jq -r '.latest.release'`\r\n\r\nif { [ -z \"$VANILLA_VERSION\" ] || [ \"$VANILLA_VERSION\" == \"latest\" ]; } then\r\n INSTALLING_VERSION=$LATEST_VERSION\r\nelse\r\n INSTALLING_VERSION=$VANILLA_VERSION\r\nfi\r\n\r\nMAJOR_VERSION=$(echo $INSTALLING_VERSION | sed -En 's\/^([0-9]*)\\.[0-9]*\\.[0-9]*$\/\\1\/p')\r\nMINOR_VERSION=$(echo $INSTALLING_VERSION | sed -En 's\/^[0-9]*\\.([0-9]*)\\.[0-9]*$\/\\1\/p')\r\nPATCH_VERSION=$(echo $INSTALLING_VERSION | sed -En 's\/^[0-9]*\\.[0-9]*\\.([0-9]*)$\/\\1\/p')\r\n\r\nVANILLACORD_URL=https:\/\/src.me1312.net\/jenkins\/job\/VanillaCord\/job\/1.12\/lastSuccessfulBuild\/artifact\/artifacts\/VanillaCord.jar\r\nif [ $MAJOR_VERSION -eq 1 ] && [ $MINOR_VERSION -lt 12 ]; then\r\n VANILLACORD_URL=https:\/\/src.me1312.net\/jenkins\/job\/VanillaCord\/job\/1.7.10\/lastSuccessfulBuild\/artifact\/artifacts\/VanillaCord.jar\r\nfi\r\n\r\nif { [ $MAJOR_VERSION -eq 1 ] && [ $MINOR_VERSION -eq 7 ] && [ $PATCH_VERSION -lt 10 ]; } || { [ $MAJOR_VERSION -eq 1 ] && [ $MINOR_VERSION -lt 7 ]; } then\r\n echo \"VanillaCord is only supported on Minecraft 1.7.10 or higher! You cannot use it with $INSTALLING_VERSION.\"\r\n exit 1\r\nfi\r\n\r\ncurl -o vanillacord.jar $VANILLACORD_URL\r\njava -jar vanillacord.jar $INSTALLING_VERSION\r\n\r\nrm -f vanillacord.jar\r\nrm -rf in\r\nmv out\/*.jar $SERVER_JARFILE\r\nrm -rf out", "container": "openjdk:8-jre-alpine", "entrypoint": "ash" } From 8ec037589ad76e55d964f6704f749c9a5ab52ce4 Mon Sep 17 00:00:00 2001 From: Arnaud Lier Date: Mon, 10 Jun 2019 21:37:29 +0200 Subject: [PATCH 24/37] Create README.md --- minecraft_java/technic/README.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 minecraft_java/technic/README.md diff --git a/minecraft_java/technic/README.md b/minecraft_java/technic/README.md new file mode 100644 index 00000000..4f2e1e57 --- /dev/null +++ b/minecraft_java/technic/README.md @@ -0,0 +1,22 @@ +## How to import an egg + +If you are reading this it looks like you are looking to add an egg to your server. + +1. Download any of the json files located in the folders below. + 1. It's easiest to right click the `raw` button and save as. +2. In your panel go to the `Nests` section in the admin part of the panel +3. Click the green `Import Egg` button +4. Browse to the json file you saved earlier +5. Select what nest you want to put the egg in. + 1. If you want a new nest you need to create it before importing the egg. +6. Restart the daemon on your node before creating a server using the new egg(s). + +# You must restart your daemon after importing an egg + +## Technic Eggs + +[Technic](/minecraft_java/technic/) +* [Blightfall](/minecraft_java/technic/blightfall/) +* [Hexxit](/minecraft_java/technic/hexxit/) +* [Tekkit Legends](/minecraft_java/technic/tekkit-legends/) +* [Attack of the B-Team](/minecraft_java/technic/attack-of-the-bteam/) From d8dc9052334c05462d899ab11d6efe2cfab5c447 Mon Sep 17 00:00:00 2001 From: rtm516 Date: Wed, 12 Jun 2019 22:40:53 +0100 Subject: [PATCH 25/37] Added query port to the starbound config --- source_servers/starbound/egg-starbound.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source_servers/starbound/egg-starbound.json b/source_servers/starbound/egg-starbound.json index 39dcccc8..06930e29 100644 --- a/source_servers/starbound/egg-starbound.json +++ b/source_servers/starbound/egg-starbound.json @@ -10,7 +10,7 @@ "image": "quay.io\/pterodactyl\/core:source", "startup": ".\/starbound_server", "config": { - "files": "{\r\n \"storage\/starbound_server.config\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"gameServerPort\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}", + "files": "{\r\n \"storage\/starbound_server.config\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"gameServerPort\": \"{{server.build.default.port}}\",\r\n \"queryServerPort\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}", "startup": "{\r\n \"done\": \"Starting UniverseServer\",\r\n \"userInteraction\": []\r\n}", "logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/latest.log\"\r\n}", "stop": "^C" @@ -60,4 +60,4 @@ "rules": "string" } ] -} \ No newline at end of file +} From 8eb3f761e7becf00e71754742e3ca3713787294b Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Wed, 12 Jun 2019 17:41:25 -0400 Subject: [PATCH 26/37] updated install script. --- bots/discord/discord.js/egg-discord-js-generic.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bots/discord/discord.js/egg-discord-js-generic.json b/bots/discord/discord.js/egg-discord-js-generic.json index 7bd0d3b7..aa277b42 100644 --- a/bots/discord/discord.js/egg-discord-js-generic.json +++ b/bots/discord/discord.js/egg-discord-js-generic.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-04-01T15:16:34-04:00", + "exported_at": "2019-06-12T17:40:57-04:00", "name": "discord.js generic", "author": "parker@parkervcp.com", "description": "a generic discord js bot egg\r\n\r\nThis will clone a git repo for a bot. it defaults to master if no branch is specified.\r\n\r\nInstalls the node_modules on install. If you set user_upload then I assume you know what you are doing.", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#\/bin\/ash\r\n\r\napk add --no-cache git\r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"working on installing a discord.js bot from ${INSTALL_REPO}\"\r\n\r\nif [ \"${USER_UPLOAD}\" == \"true\" ] || [ \"${USER_UPLOAD}\" == \"1\" ]; then\r\n\techo -e \"assuming user knows what they are doing have a good day.\"\r\n\texit 0\r\nelse\r\n\tif [ \"$(ls -A \/mnt\/server)\" ]; then\r\n\t\techo -e \"\/mnt\/server directory is not empty.\"\r\n\t if [ -d .git ]; then\r\n\t\t\techo -e \".git directory exists\" \r\n\t\t\tif [ -f .git\/config ]; then\r\n\t\t\t\techo -e \"loading info from git config\"\r\n\t\t\t\tORIGIN=$(git config --get remote.origin.url)\r\n\t\t\telse\r\n\t\t\t\techo -e \"files found with no git config\"\r\n\t\t\t\techo -e \"closing out without touching things to not break anything\"\r\n\t\t\t\texit 10\r\n\t\t\tfi\r\n\t\tfi\r\n\t\tif [ \"${ORIGIN}\" == \"${INSTALL_REPO}\" ]; then\r\n\t\t\techo \"pulling latest from github\"\r\n\t\t\tgit pull \r\n\t\t\techo -e \"updating local npm modules\"\r\n\t\t\t\/usr\/local\/bin\/npm install --production\r\n\t\tfi\r\n\telse\r\n \techo -e \"\/mnt\/server is empty.\\ncloning files into repo\"\r\n\t\tif [ -z ${INSTALL_BRANCH} ]; then\r\n\t\t\techo -e \"assuming master branch\"\r\n\t\t\tINSTALL_BRANCH=master\r\n\t\tfi\r\n \r\n\t\techo -e \"running 'git clone --single-branch --branch ${INSTALL_BRANCH} ${INSTALL_REPO} .'\"\r\n\t\tgit clone --single-branch --branch ${INSTALL_BRANCH} ${INSTALL_REPO} .\r\n\t\techo -e \"install npm modules locally\"\r\n\t\t\/usr\/local\/bin\/npm install --production\r\n\tfi\r\nfi \r\n\r\necho -e \"install complete\"\r\nexit 0", + "script": "#\/bin\/ash\r\n\r\napk add --no-cache git make gcc g++ python\r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"working on installing a discord.js bot from ${INSTALL_REPO}\"\r\n\r\nif [ \"${USER_UPLOAD}\" == \"true\" ] || [ \"${USER_UPLOAD}\" == \"1\" ]; then\r\n\techo -e \"assuming user knows what they are doing have a good day.\"\r\n\texit 0\r\nelse\r\n\tif [ \"$(ls -A \/mnt\/server)\" ]; then\r\n\t\techo -e \"\/mnt\/server directory is not empty.\"\r\n\t if [ -d .git ]; then\r\n\t\t\techo -e \".git directory exists\" \r\n\t\t\tif [ -f .git\/config ]; then\r\n\t\t\t\techo -e \"loading info from git config\"\r\n\t\t\t\tORIGIN=$(git config --get remote.origin.url)\r\n\t\t\telse\r\n\t\t\t\techo -e \"files found with no git config\"\r\n\t\t\t\techo -e \"closing out without touching things to not break anything\"\r\n\t\t\t\texit 10\r\n\t\t\tfi\r\n\t\tfi\r\n\t\tif [ \"${ORIGIN}\" == \"${INSTALL_REPO}\" ]; then\r\n\t\t\techo \"pulling latest from github\"\r\n\t\t\tgit pull \r\n\t\t\techo -e \"updating local npm modules\"\r\n\t\t\t\/usr\/local\/bin\/npm install --production\r\n\t\tfi\r\n\telse\r\n \techo -e \"\/mnt\/server is empty.\\ncloning files into repo\"\r\n\t\tif [ -z ${INSTALL_BRANCH} ]; then\r\n\t\t\techo -e \"assuming master branch\"\r\n\t\t\tINSTALL_BRANCH=master\r\n\t\tfi\r\n \r\n\t\techo -e \"running 'git clone --single-branch --branch ${INSTALL_BRANCH} ${INSTALL_REPO} .'\"\r\n\t\tgit clone --single-branch --branch ${INSTALL_BRANCH} ${INSTALL_REPO} .\r\n\t\techo -e \"install npm modules locally\"\r\n\t\t\/usr\/local\/bin\/npm install --production\r\n\tfi\r\nfi \r\n\r\necho -e \"install complete\"\r\nexit 0", "container": "node:10-alpine", "entrypoint": "ash" } From b076ca8a9b5bf52edc7467c10a996a71621f257a Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Wed, 12 Jun 2019 17:48:11 -0400 Subject: [PATCH 27/37] fix startup conf fix startup conf for those easily confused. --- bots/discord/discord.js/egg-discord-js-generic.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bots/discord/discord.js/egg-discord-js-generic.json b/bots/discord/discord.js/egg-discord-js-generic.json index aa277b42..8017c49a 100644 --- a/bots/discord/discord.js/egg-discord-js-generic.json +++ b/bots/discord/discord.js/egg-discord-js-generic.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-06-12T17:40:57-04:00", + "exported_at": "2019-06-12T17:47:09-04:00", "name": "discord.js generic", "author": "parker@parkervcp.com", "description": "a generic discord js bot egg\r\n\r\nThis will clone a git repo for a bot. it defaults to master if no branch is specified.\r\n\r\nInstalls the node_modules on install. If you set user_upload then I assume you know what you are doing.", @@ -11,7 +11,7 @@ "startup": "\/usr\/local\/bin\/node \/home\/container\/index.js", "config": { "files": "{}", - "startup": "{}", + "startup": "{\r\n \"done\": \"change this part\"\r\n}", "logs": "{}", "stop": "^c" }, From 2e2d70635e795b0d0137770f15a1a7454ae7e0a0 Mon Sep 17 00:00:00 2001 From: "Michael (Parker) Parker" Date: Thu, 13 Jun 2019 10:46:29 -0400 Subject: [PATCH 28/37] update discordjs start command add an auto update variable added command to run git pull if .git and auto_update are set added npm install to start command. --- bots/discord/discord.js/egg-discord-js-generic.json | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/bots/discord/discord.js/egg-discord-js-generic.json b/bots/discord/discord.js/egg-discord-js-generic.json index 8017c49a..573ca56c 100644 --- a/bots/discord/discord.js/egg-discord-js-generic.json +++ b/bots/discord/discord.js/egg-discord-js-generic.json @@ -3,12 +3,12 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-06-12T17:47:09-04:00", + "exported_at": "2019-06-13T10:40:57-04:00", "name": "discord.js generic", "author": "parker@parkervcp.com", "description": "a generic discord js bot egg\r\n\r\nThis will clone a git repo for a bot. it defaults to master if no branch is specified.\r\n\r\nInstalls the node_modules on install. If you set user_upload then I assume you know what you are doing.", "image": "quay.io\/parkervcp\/pterodactyl-images:bot_discordjs", - "startup": "\/usr\/local\/bin\/node \/home\/container\/index.js", + "startup": "if [[ -d .git ]] && [[ ${AUTO_UPDATE} == \"1\" ]]; then git pull; fi && \/usr\/local\/bin\/npm install --production && \/usr\/local\/bin\/node \/home\/container\/index.js", "config": { "files": "{}", "startup": "{\r\n \"done\": \"change this part\"\r\n}", @@ -49,6 +49,15 @@ "user_viewable": 1, "user_editable": 0, "rules": "required|bool" + }, + { + "name": "Auto Update", + "description": "When using a git repo pull the latest files on startup.", + "env_variable": "AUTO_UPDATE", + "default_value": "false", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|boolean" } ] } \ No newline at end of file From acc43cbdbe8ad98143de95846f0d5ae0d256540b Mon Sep 17 00:00:00 2001 From: QuickCentralHosting <46080934+QuickCentralHosting@users.noreply.github.com> Date: Thu, 13 Jun 2019 23:33:15 -0700 Subject: [PATCH 29/37] Update Server.cfg - Add Mission Selection This adds the ability for players to select the mission their server boots up to and adds the ability to cycle missions. --- arma/arma3/egg-arma3-config/server.cfg | 28 ++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/arma/arma3/egg-arma3-config/server.cfg b/arma/arma3/egg-arma3-config/server.cfg index daf2d213..2615bf70 100644 --- a/arma/arma3/egg-arma3-config/server.cfg +++ b/arma/arma3/egg-arma3-config/server.cfg @@ -34,6 +34,34 @@ logFile = "arma3server.log"; // Minimum Required Client Build //requiredBuild = 95691 +class Missions +{ + class Mission1 + { + template = ; + difficulty = "Regular"; + class Params {}; + }; + class Mission2 + { + template = ; + difficulty = "Regular"; + class Params {}; + }; + class Mission3 + { + template = ; + difficulty = "Regular"; + class Params {}; + }; + class Mission4 + { + template = ; + difficulty = "Regular"; + class Params {}; + }; +}; + // Message of the Day (MOTD) motd[] = { "Welcome to My Arma 3 Server", From c5c37061b8436676512ca52f134d40183e983b08 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sun, 16 Jun 2019 08:15:13 -0400 Subject: [PATCH 30/37] update forge eggs. moved forge-generic to forge-mod-generic brought back forge enhanced as forge generic. --- minecraft_java/forge/forge-generic/README.md | 8 ++-- .../forge-generic/egg-forge-enhanced.json | 45 +++++++++++++++++++ .../forge/forge-mod-generic/README.md | 9 ++++ .../egg-forge-generic.json | 0 4 files changed, 57 insertions(+), 5 deletions(-) create mode 100644 minecraft_java/forge/forge-generic/egg-forge-enhanced.json create mode 100644 minecraft_java/forge/forge-mod-generic/README.md rename minecraft_java/forge/{forge-generic => forge-mod-generic}/egg-forge-generic.json (100%) diff --git a/minecraft_java/forge/forge-generic/README.md b/minecraft_java/forge/forge-generic/README.md index 03468b6f..72585414 100644 --- a/minecraft_java/forge/forge-generic/README.md +++ b/minecraft_java/forge/forge-generic/README.md @@ -1,9 +1,7 @@ # Forge Generic -### This is a generic egg for curseforge modpacks +### This is a generic egg for the forge standalone server -You will need to give it a modpack URL such as `https://minecraft.curseforge.com/projects/` +This will download the latest jar for a specific forge version. -This will grabe the latest release when the version is set to latest. - -It "should" grab versions of the pack based on the modpack version numbers \ No newline at end of file +this has a fix for the broken 1.7.10 and 1.8.9 versions forge has \ No newline at end of file diff --git a/minecraft_java/forge/forge-generic/egg-forge-enhanced.json b/minecraft_java/forge/forge-generic/egg-forge-enhanced.json new file mode 100644 index 00000000..9b30a67d --- /dev/null +++ b/minecraft_java/forge/forge-generic/egg-forge-enhanced.json @@ -0,0 +1,45 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2019-06-16T08:09:35-04: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.", + "image": "quay.io\/pterodactyl\/core:java", + "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 \"query.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": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}", + "stop": "stop" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y curl\r\n\r\n#Fetching version\r\nif [ -z \"$MC_VERSION\" ] || [ \"$MC_VERSION\" == \"latest\" ]; then\r\n echo \"Fetching latest\"\r\n FORGE_VERSION=$(curl -sl https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/index.html | grep -A 2 \"Latest\" | awk NF=NF RS= OFS=\" \" | grep -o -e '[1]\\.[0-9][0-9]\\?\\.\\?[0-9]\\?[0-9] - [0-9][0-9]\\.[0-9][0-9]\\.[0-9]\\?[0-9]\\.[0-9][0-9][0-9][0-9]' | sed 's\/ \/\/g')\r\nelif [[ ! \"$MC_VERSION\" =~ - ]]; then\r\n echo \"Fetching latest from version $MC_VERSION\"\r\n FORGE_VERSION=$(curl -sl https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/index_$MC_VERSION.html | grep -A 2 \"Latest\" | awk NF=NF RS= OFS=\" \" | grep -o -e '[1]\\.[0-9][0-9]\\?\\.\\?[0-9]\\?[0-9] - [0-9][0-9]\\.[0-9][0-9]\\.[0-9]\\?[0-9]\\.[0-9][0-9][0-9][0-9]' | sed 's\/ \/\/g')\r\nfi\r\n\r\nif [ ${MC_VERSION} == \"1.7.10\" ] || [ ${MC_VERSION} == \"1.8.9\" ]; then\r\n\tFORGE_VERSION=\"${FORGE_VERSION}-${MC_VERSION}\"\r\nfi\r\n\r\n#Checking if forge version valid\r\nif [[ ! \"$FORGE_VERSION\" =~ [0-9]?[0-9]?\\.[0-9]?[0-9]?\\.?[0-9]?[0-9]-[0-9]?[0-9]\\.[0-9]?[0-9]\\.[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]?[0-9] ]]; then\r\n echo \"!!! Invalid forge version \\\"$FORGE_VERSION\\\" !!!\"\r\n exit\r\nfi\r\n\r\nif [ ${MCVER} == \"1.7.10\" ] || [ ${MCVER} == \"1.8.9\" ]; then\r\n\tFORGE=\"${FORGE}-${MCVER}\"\r\nfi\r\n\r\n#Go into main direction\r\ncd \/mnt\/server\r\n\r\n#Adding .jar when not eding by SERVER_JARFILE\r\nif [[ ! $SERVER_JARFILE = *\\.jar ]]; then\r\n SERVER_JARFILE=\"$SERVER_JARFILE.jar\"\r\nfi\r\n\r\n#Downloading jars\r\necho -e \"Downloading forge version \\\"$MC_VERSION\\\"\"\r\ncurl -o installer.jar -sS https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/$MC_VERSION\/forge-$MC_VERSION-installer.jar\r\ncurl -o $SERVER_JARFILE -sS https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/$MC_VERSION\/forge-$MC_VERSION-universal.jar\r\n\r\n#Checking if downloaded jars exist\r\nif [ ! -f .\/installer.jar ] || [ ! -f .\/$SERVER_JARFILE ]; then\r\n echo \"!!! Error by downloading forge version \\\"$MC_VERSION\\\" !!!\"\r\n exit\r\nfi\r\n\r\n#Installing server\r\necho -e \"Installing forge server.\\n\"\r\njava -jar installer.jar --installServer\r\n\r\n#Deleting installer.jar\r\necho -e \"Deleting installer.jar file.\\n\"\r\nrm -rf installer.jar", + "container": "openjdk:8", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "Server Jar File", + "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, + "rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/" + }, + { + "name": "Forge version", + "description": "The version of forge that you want to run.\r\nExamples:\r\n- 1.12.2\r\n- 1.12.2-14.23.5.2810", + "env_variable": "MC_VERSION", + "default_value": "latest", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:22" + } + ] +} \ No newline at end of file diff --git a/minecraft_java/forge/forge-mod-generic/README.md b/minecraft_java/forge/forge-mod-generic/README.md new file mode 100644 index 00000000..03468b6f --- /dev/null +++ b/minecraft_java/forge/forge-mod-generic/README.md @@ -0,0 +1,9 @@ +# Forge Generic + +### This is a generic egg for curseforge modpacks + +You will need to give it a modpack URL such as `https://minecraft.curseforge.com/projects/` + +This will grabe the latest release when the version is set to latest. + +It "should" grab versions of the pack based on the modpack version numbers \ No newline at end of file diff --git a/minecraft_java/forge/forge-generic/egg-forge-generic.json b/minecraft_java/forge/forge-mod-generic/egg-forge-generic.json similarity index 100% rename from minecraft_java/forge/forge-generic/egg-forge-generic.json rename to minecraft_java/forge/forge-mod-generic/egg-forge-generic.json From 68726f7074c4c4683ce468bf6812e894d9f84a24 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sun, 16 Jun 2019 11:08:16 -0400 Subject: [PATCH 31/37] fix start command --- bots/discord/discord.js/egg-discord-js-generic.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bots/discord/discord.js/egg-discord-js-generic.json b/bots/discord/discord.js/egg-discord-js-generic.json index 573ca56c..9ea8f656 100644 --- a/bots/discord/discord.js/egg-discord-js-generic.json +++ b/bots/discord/discord.js/egg-discord-js-generic.json @@ -3,12 +3,12 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-06-13T10:40:57-04:00", + "exported_at": "2019-06-16T11:06:52-04:00", "name": "discord.js generic", "author": "parker@parkervcp.com", "description": "a generic discord js bot egg\r\n\r\nThis will clone a git repo for a bot. it defaults to master if no branch is specified.\r\n\r\nInstalls the node_modules on install. If you set user_upload then I assume you know what you are doing.", "image": "quay.io\/parkervcp\/pterodactyl-images:bot_discordjs", - "startup": "if [[ -d .git ]] && [[ ${AUTO_UPDATE} == \"1\" ]]; then git pull; fi && \/usr\/local\/bin\/npm install --production && \/usr\/local\/bin\/node \/home\/container\/index.js", + "startup": "`if [[ -d .git ]] && [[ ${AUTO_UPDATE} == \"1\" ]]; then git pull; fi && \/usr\/local\/bin\/npm install --production && \/usr\/local\/bin\/node \/home\/container\/index.js`", "config": { "files": "{}", "startup": "{\r\n \"done\": \"change this part\"\r\n}", @@ -54,7 +54,7 @@ "name": "Auto Update", "description": "When using a git repo pull the latest files on startup.", "env_variable": "AUTO_UPDATE", - "default_value": "false", + "default_value": "0", "user_viewable": 1, "user_editable": 1, "rules": "required|boolean" From d21f83cee42e5e0f5c529233221c71d9f1069788 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sun, 23 Jun 2019 10:01:47 -0400 Subject: [PATCH 32/37] update for atlbot changes Update to work with the latest atl bot changes --- bots/discord/atlbot/egg-a-t-l-bot.json | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/bots/discord/atlbot/egg-a-t-l-bot.json b/bots/discord/atlbot/egg-a-t-l-bot.json index d3586195..2bea0340 100644 --- a/bots/discord/atlbot/egg-a-t-l-bot.json +++ b/bots/discord/atlbot/egg-a-t-l-bot.json @@ -3,21 +3,21 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2018-12-25T21:12:00-05:00", + "exported_at": "2019-06-23T10:00:12-04:00", "name": "ATLBot", "author": "jfeldt19@gmail.com", "description": "ATLbot in ptero\r\n\r\nhttps:\/\/github.com\/ATLauncher\/discord-bot\/", "image": "quay.io\/parkervcp\/pterodactyl-images:alpine_nodejs-10", "startup": "npm run start", "config": { - "files": "{\r\n \"config\/local.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"client_token\": \"{{server.build.env.CLIENT_TOKEN}}\"\r\n }\r\n }\r\n}", - "startup": "{\r\n \"done\": \"I am ready!\",\r\n \"userInteraction\": [\r\n \"Request to use token, but token was unavailable\"\r\n ]\r\n}", + "files": "{\r\n \"config\/local.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"discord.client_token\": \"{{server.build.env.CLIENT_TOKEN}}\",\r\n \"logging.level\": \"debug\"\r\n }\r\n }\r\n}", + "startup": "{\r\n \"done\": \"Bot started\"\r\n}", "logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/latest.log\"\r\n}", "stop": "^C" }, "scripts": { "installation": { - "script": "apk add --no-cache openssl git\r\n\r\ncd \/mnt\/server\r\n\r\nwget https:\/\/github.com\/ATLauncher\/discord-bot\/archive\/master.zip\r\n\r\nunzip master.zip\r\n\r\nrm master.zip\r\n\r\nmv discord-bot-master\/* .\/\r\n\r\nmv config\/default.json config\/local.json\r\n\r\nrm package-lock.json\r\nnpm install\r\n\r\nrm -r discord-bot-master\/\r\nrm Dockerfile\r\nrm CONTRIBUTING.md\r\nrm README.md\r\nrm \/config\/.gitignore\r\nrm CODE_OF_CONDUCT.md", + "script": "apk add --no-cache openssl git\r\n\r\ncd \/mnt\/server\r\nif [[ -d .git\/ ]]; then\r\n git pull\r\nelse\r\n git clone https:\/\/github.com\/ATLauncher\/discord-bot.git . \r\nfi\r\n\r\necho '{}' > config\/local.json\r\n\r\nnpm install --production\r\n\r\nnpm run build\r\n\r\nrm Dockerfile\r\nrm CONTRIBUTING.md\r\nrm README.md\r\nrm \/config\/.gitignore\r\nrm CODE_OF_CONDUCT.md", "container": "node:10-alpine", "entrypoint": "ash" } @@ -31,6 +31,15 @@ "user_viewable": 1, "user_editable": 1, "rules": "required|string|max:75" + }, + { + "name": "Node Environment", + "description": "The node environment variable.\r\n\r\nNeeds to stay at \"development\" to log to console.", + "env_variable": "NODE_ENV", + "default_value": "development", + "user_viewable": 1, + "user_editable": 0, + "rules": "required|string|max:20" } ] -} +} \ No newline at end of file From afb2cf8d48b6f40277d8c41ebb543728182ccb9c Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Fri, 28 Jun 2019 20:42:13 -0400 Subject: [PATCH 33/37] add hlds server stuff This mostly is for CS 1.6 but supports other hlds servers as well. --- README.md | 1 + source_servers/hlds_server/README.md | 12 ++++ .../egg-custom-h-l-d-s-engine-game.json | 63 +++++++++++++++++++ 3 files changed, 76 insertions(+) create mode 100644 source_servers/hlds_server/README.md create mode 100644 source_servers/hlds_server/egg-custom-h-l-d-s-engine-game.json diff --git a/README.md b/README.md index 048bc676..4efbb6d3 100644 --- a/README.md +++ b/README.md @@ -84,6 +84,7 @@ If you are reading this it looks like you are looking to add an egg to your serv [Source](/source_servers/) These eggs use steamcmd to install * [7 Days to Die](/source_servers/7_days_to_die/) * [ARK Survival Evolved](/source_servers/ark_survival_evolved/) +* [HLDS server](/source_servers/hlds_server) * [PixARK](/source_servers/pixark/) * [Rust Staging Branch](/source_servers/rust-staging/) * [Starbound](/source_servers/starbound) diff --git a/source_servers/hlds_server/README.md b/source_servers/hlds_server/README.md new file mode 100644 index 00000000..8f65ef99 --- /dev/null +++ b/source_servers/hlds_server/README.md @@ -0,0 +1,12 @@ +# HLDS Servers + +This is for older games like CS 1.6 (default game) and other servers that still run on the older HLDS server under id 90 + +### Server Ports +HLDS servers require up to 6 ports + +| Port | default | +|-----------|---------| +| Game/rcon | 27015 | +| HLTV | 27020 | +| VAC | 26900 | \ No newline at end of file diff --git a/source_servers/hlds_server/egg-custom-h-l-d-s-engine-game.json b/source_servers/hlds_server/egg-custom-h-l-d-s-engine-game.json new file mode 100644 index 00000000..040c47a3 --- /dev/null +++ b/source_servers/hlds_server/egg-custom-h-l-d-s-engine-game.json @@ -0,0 +1,63 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2019-06-28T20:41:35-04:00", + "name": "Custom HLDS Engine Game", + "author": "parker@parkervcp.com", + "description": "This option allows modifying the startup arguments and other details to run a custom HLDS based game on the panel.", + "image": "quay.io\/parkervcp\/pterodactyl-images:ubuntu_source", + "startup": ".\/hlds_run -console -game {{HLDS_GAME}} -port {{SERVER_PORT}} -sport {{VAC_PORT}} +map {{SRCDS_MAP}} +ip 0.0.0.0 -strictportbind -norestart", + "config": { + "files": "{}", + "startup": "{\r\n \"done\": \"Connection to Steam servers successful\",\r\n \"userInteraction\": []\r\n}", + "logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/latest.log\"\r\n}", + "stop": "quit" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash\r\n# SRCDS Base 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\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 ${SRCDS_APPID} +app_set_config \u201c90 mod ${HLDS_GAME} +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": "Game ID", + "description": "The ID corresponding to the game to download and run using HLDS.\r\n\r\nThe HLDS server ID is 90. This should not be changed.", + "env_variable": "SRCDS_APPID", + "default_value": "90", + "user_viewable": 1, + "user_editable": 0, + "rules": "required|numeric|digits_between:1,6" + }, + { + "name": "Game Name", + "description": "The name corresponding to the game to download and run using HLDS.\r\n\r\nall the HLDS server names are here - https:\/\/developer.valvesoftware.com\/wiki\/Dedicated_Server_Name_Enumeration", + "env_variable": "HLDS_GAME", + "default_value": "cstrike", + "user_viewable": 1, + "user_editable": 0, + "rules": "required|alpha_dash|between:1,100" + }, + { + "name": "Map", + "description": "The default map for the server.", + "env_variable": "SRCDS_MAP", + "default_value": "de_dust2", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|alpha_dash" + }, + { + "name": "VAC port", + "description": "Specifies the VAC port the server should use. Default is 26900.", + "env_variable": "VAC_PORT", + "default_value": "26900", + "user_viewable": 1, + "user_editable": 0, + "rules": "required|numeric|digits_between:1,5" + } + ] +} \ No newline at end of file From 11819c9520dbf6e9f909f07acfc970e9a1a38db9 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Fri, 28 Jun 2019 21:02:51 -0400 Subject: [PATCH 34/37] add vac port for sven co-op I am adding this because people can't read. --- source_servers/svencoop/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/source_servers/svencoop/README.md b/source_servers/svencoop/README.md index ce233c73..af43edf9 100644 --- a/source_servers/svencoop/README.md +++ b/source_servers/svencoop/README.md @@ -9,3 +9,4 @@ game ports (default 27015 ) | Port | default | |---------|---------| | Game | 27015 | +| VAC | 26900 | From 923fa940e671bb45eeb3ecf0b5a56f3820191c61 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Tue, 9 Jul 2019 23:34:37 -0400 Subject: [PATCH 35/37] update image used to run bedrock Will resolve #238 --- minecraft_bedrock/bedrock/egg-vanilla-bedrock.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/minecraft_bedrock/bedrock/egg-vanilla-bedrock.json b/minecraft_bedrock/bedrock/egg-vanilla-bedrock.json index 40274efd..ab665064 100644 --- a/minecraft_bedrock/bedrock/egg-vanilla-bedrock.json +++ b/minecraft_bedrock/bedrock/egg-vanilla-bedrock.json @@ -3,11 +3,11 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-03-14T22:10:44-04:00", + "exported_at": "2019-07-09T23:32:57-04:00", "name": "Vanilla Bedrock", "author": "parker@parkervcp.com", "description": "Bedrock Edition (also known as the Bedrock Version, Bedrock Codebase, Bedrock Engine or just Bedrock) refers to the multi-platform family of editions of Minecraft developed by Mojang AB, Microsoft Studios, 4J Studios, and SkyBox Labs. Prior to this term, as the engine originated with Pocket Edition, this entire product family was referred to as \"Pocket Edition\", \"MCPE\", or \"Pocket\/Windows 10 Edition\".", - "image": "quay.io\/parkervcp\/pterodactyl-images:ubuntu", + "image": "quay.io\/parkervcp\/pterodactyl-images:base_ubuntu", "startup": ".\/bedrock_server", "config": { "files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}", From 38abae58ef8ab4974fd07d8fc0dda86dcb38f551 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Tue, 9 Jul 2019 23:54:41 -0400 Subject: [PATCH 36/37] add stock pterodactyl eggs to the eggs repo Adding the stock pterodactyl eggs in the same folder format. --- stock-eggs/minecraft/README.md | 6 ++ stock-eggs/minecraft/egg-bungeecord.json | 45 ++++++++++ stock-eggs/minecraft/egg-forge-minecraft.json | 45 ++++++++++ stock-eggs/minecraft/egg-paper.json | 63 +++++++++++++ .../minecraft/egg-sponge--sponge-vanilla.json | 45 ++++++++++ .../minecraft/egg-vanilla-minecraft.json | 45 ++++++++++ stock-eggs/{source => rust}/README.md | 0 stock-eggs/{source => }/rust/egg-rust.json | 0 stock-eggs/source-engine/README.md | 70 +++++++++++++++ .../egg-ark--survival-evolved.json | 0 ...egg-counter--strike--global-offensive.json | 54 +++++++++++ .../egg-custom-source-engine-game.json | 54 +++++++++++ stock-eggs/source-engine/egg-garrys-mod.json | 90 +++++++++++++++++++ stock-eggs/source-engine/egg-insurgency.json | 54 +++++++++++ .../source-engine/egg-team-fortress2.json | 54 +++++++++++ stock-eggs/source/ark/README.md | 17 ---- stock-eggs/source/rust/README.md | 14 --- stock-eggs/terraria/README.md | 14 +++ .../egg-terraria-server--t-shock.json | 45 ++++++++++ stock-eggs/voice-servers/README.md | 29 ++++++ .../voice-servers/egg-mumble-server.json | 45 ++++++++++ .../voice-servers/egg-teamspeak3-server.json | 36 ++++++++ terraria/README.md | 14 +++ 23 files changed, 808 insertions(+), 31 deletions(-) create mode 100644 stock-eggs/minecraft/README.md create mode 100644 stock-eggs/minecraft/egg-bungeecord.json create mode 100644 stock-eggs/minecraft/egg-forge-minecraft.json create mode 100644 stock-eggs/minecraft/egg-paper.json create mode 100644 stock-eggs/minecraft/egg-sponge--sponge-vanilla.json create mode 100644 stock-eggs/minecraft/egg-vanilla-minecraft.json rename stock-eggs/{source => rust}/README.md (100%) rename stock-eggs/{source => }/rust/egg-rust.json (100%) create mode 100644 stock-eggs/source-engine/README.md rename stock-eggs/{source/ark => source-engine}/egg-ark--survival-evolved.json (100%) create mode 100644 stock-eggs/source-engine/egg-counter--strike--global-offensive.json create mode 100644 stock-eggs/source-engine/egg-custom-source-engine-game.json create mode 100644 stock-eggs/source-engine/egg-garrys-mod.json create mode 100644 stock-eggs/source-engine/egg-insurgency.json create mode 100644 stock-eggs/source-engine/egg-team-fortress2.json delete mode 100644 stock-eggs/source/ark/README.md delete mode 100644 stock-eggs/source/rust/README.md create mode 100644 stock-eggs/terraria/README.md create mode 100644 stock-eggs/terraria/egg-terraria-server--t-shock.json create mode 100644 stock-eggs/voice-servers/README.md create mode 100644 stock-eggs/voice-servers/egg-mumble-server.json create mode 100644 stock-eggs/voice-servers/egg-teamspeak3-server.json create mode 100644 terraria/README.md diff --git a/stock-eggs/minecraft/README.md b/stock-eggs/minecraft/README.md new file mode 100644 index 00000000..c63519ed --- /dev/null +++ b/stock-eggs/minecraft/README.md @@ -0,0 +1,6 @@ +# Minecraft + +All the ddefault minecraft things + +## Server Ports +The minecraft server requires a single port for access (default 25565) but plugins may require extra ports to enabled for the server. \ No newline at end of file diff --git a/stock-eggs/minecraft/egg-bungeecord.json b/stock-eggs/minecraft/egg-bungeecord.json new file mode 100644 index 00000000..d527024f --- /dev/null +++ b/stock-eggs/minecraft/egg-bungeecord.json @@ -0,0 +1,45 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2017-11-03T22:15:10-05:00", + "name": "Bungeecord", + "author": "support@pterodactyl.io", + "description": "For a long time, Minecraft server owners have had a dream that encompasses a free, easy, and reliable way to connect multiple Minecraft servers together. BungeeCord is the answer to said dream. Whether you are a small server wishing to string multiple game-modes together, or the owner of the ShotBow Network, BungeeCord is the ideal solution for you. With the help of BungeeCord, you will be able to unlock your community's full potential.", + "image": "quay.io\/pterodactyl\/core:java", + "startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}", + "config": { + "files": "{\r\n \"config.yml\": {\r\n \"parser\": \"yaml\",\r\n \"find\": {\r\n \"listeners[0].query_enabled\": true,\r\n \"listeners[0].query_port\": \"{{server.build.default.port}}\",\r\n \"listeners[0].host\": \"0.0.0.0:{{server.build.default.port}}\",\r\n \"servers.*.address\": {\r\n \"127.0.0.1\": \"{{config.docker.interface}}\",\r\n \"localhost\": \"{{config.docker.interface}}\"\r\n }\r\n }\r\n }\r\n}", + "startup": "{\r\n \"done\": \"Listening on \",\r\n \"userInteraction\": [\r\n \"Listening on \/0.0.0.0:25577\"\r\n ]\r\n}", + "logs": "{\r\n \"custom\": false,\r\n \"location\": \"proxy.log.0\"\r\n}", + "stop": "end" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/ash\n# Bungeecord Installation Script\n#\n# Server Files: \/mnt\/server\napk update\napk add curl\n\ncd \/mnt\/server\n\nif [ -z \"${BUNGEE_VERSION}\" ] || [ \"${BUNGEE_VERSION}\" == \"latest\" ]; then\n BUNGEE_VERSION=\"lastStableBuild\"\nfi\n\ncurl -o ${SERVER_JARFILE} https:\/\/ci.md-5.net\/job\/BungeeCord\/${BUNGEE_VERSION}\/artifact\/bootstrap\/target\/BungeeCord.jar", + "container": "alpine:3.9", + "entrypoint": "ash" + } + }, + "variables": [ + { + "name": "Bungeecord Version", + "description": "The version of Bungeecord to download and use.", + "env_variable": "BUNGEE_VERSION", + "default_value": "latest", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|alpha_num|between:1,6" + }, + { + "name": "Bungeecord Jar File", + "description": "The name of the Jarfile to use when running Bungeecord.", + "env_variable": "SERVER_JARFILE", + "default_value": "bungeecord.jar", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/" + } + ] +} diff --git a/stock-eggs/minecraft/egg-forge-minecraft.json b/stock-eggs/minecraft/egg-forge-minecraft.json new file mode 100644 index 00000000..2e8b43bf --- /dev/null +++ b/stock-eggs/minecraft/egg-forge-minecraft.json @@ -0,0 +1,45 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2019-02-07T07:47:35-05:00", + "name": "Forge Minecraft", + "author": "support@pterodactyl.io", + "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.", + "image": "quay.io\/pterodactyl\/core:java", + "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 \"query.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": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}", + "stop": "stop" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/ash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk update\r\napk add curl\r\n\r\nif [ -z \"$MC_VERSION\" ] || [ \"$MC_VERSION\" == \"latest\" ]; then\r\n FORGE_VERSION=$(echo $(curl -sSl http:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/ | grep -A2 Latest | grep small) | grep -o -e '[1].[0-9]*.[0-9]* - [0-9]*.[0-9]*.[0-9]*.[0-9]*' | sed 's\/ \/\/g')\r\nelse\r\n FORGE_VERSION=$(echo $(curl -sl http:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/index_$MC_VERSION.html | grep -A2 Latest | grep small) | grep -o -e '[1].[0-9]*.[0-9]* - [0-9]*.[0-9]*.[0-9]*.[0-9]*' | sed 's\/ \/\/g')\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"\\nDownloading Forge Version $FORGE_VERSION\\n\"\r\ncurl -sS http:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/$FORGE_VERSION\/forge-$FORGE_VERSION-installer.jar -o installer.jar\r\ncurl -sS http:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/$FORGE_VERSION\/forge-$FORGE_VERSION-universal.jar -o $SERVER_JARFILE\r\n\r\necho -e \"\\nInstalling forge server usint the installer jar file.\\n\"\r\njava -jar installer.jar --installServer\r\n\r\necho -e \"\\nDeleting installer jar file and cleaning up.\\n\"\r\nrm -rf installer.jar", + "container": "openjdk:8-alpine", + "entrypoint": "ash" + } + }, + "variables": [ + { + "name": "Server Jar File", + "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, + "rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/" + }, + { + "name": "Minecraft version", + "description": "The version of minecraft that you want to run. Example (1.10.2).", + "env_variable": "MC_VERSION", + "default_value": "latest", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:20" + } + ] +} \ No newline at end of file diff --git a/stock-eggs/minecraft/egg-paper.json b/stock-eggs/minecraft/egg-paper.json new file mode 100644 index 00000000..86208f68 --- /dev/null +++ b/stock-eggs/minecraft/egg-paper.json @@ -0,0 +1,63 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2019-02-27T22:23:55-05:00", + "name": "Paper", + "author": "parker@pterodactyl.io", + "description": "High performance Spigot fork that aims to fix gameplay and mechanics inconsistencies.", + "image": "quay.io\/pterodactyl\/core:java", + "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 \"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\/ash\r\n# Paper Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk add --no-cache --update curl jq\r\n\r\nif [ -n \"${DL_PATH}\" ]; then\r\n echo -e \"using supplied download url\"\r\n DOWNLOAD_URL=`eval echo $(echo ${DL_PATH} | sed -e 's\/{{\/${\/g' -e 's\/}}\/}\/g')`\r\nelse\r\n VER_EXISTS=`curl -s https:\/\/papermc.io\/api\/v1\/paper | jq -r --arg VERSION $MINECRAFT_VERSION '.versions[] | IN($VERSION)' | grep true`\r\n LATEST_PAPER_VERSION=`curl -s https:\/\/papermc.io\/api\/v1\/paper | jq -r '.versions' | jq -r '.[0]'`\r\n \r\n if [ \"${VER_EXISTS}\" == \"true\" ]; then\r\n echo -e \"Version is valid. Using version ${MINECRAFT_VERSION}\"\r\n else\r\n echo -e \"Using the latest paper version\"\r\n MINECRAFT_VERSION=${LATEST_PAPER_VERSION}\r\n fi\r\n \r\n BUILD_EXISTS=`curl -s https:\/\/papermc.io\/api\/v1\/paper\/${MINECRAFT_VERSION} | jq -r --arg BUILD ${BUILD_NUMBER} '.builds.all[] | IN($BUILD)' | grep true`\r\n LATEST_PAPER_BUILD=`curl -s https:\/\/papermc.io\/api\/v1\/paper\/${MINECRAFT_VERSION} | jq -r '.builds.latest'`\r\n \r\n if [ \"${BUILD_EXISTS}\" == \"true\" ] || [ ${BUILD_NUMBER} == \"latest\" ]; then\r\n echo -e \"Build is valid. Using version ${BUILD_NUMBER}\"\r\n else\r\n echo -e \"Using the latest paper build\"\r\n BUILD_NUMBER=${LATEST_PAPER_BUILD}\r\n fi\r\n \r\n echo \"Version being downloaded\"\r\n echo -e \"MC Version: ${MINECRAFT_VERSION}\"\r\n echo -e \"Build: ${BUILD_NUMBER}\"\r\n DOWNLOAD_URL=https:\/\/papermc.io\/api\/v1\/paper\/${MINECRAFT_VERSION}\/${BUILD_NUMBER}\/download \r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"running curl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\"\r\n\r\ncurl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\r\n\r\necho -e \"Downloading MC server.properties\"\r\ncurl -o server.properties https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft_java\/server.properties", + "container": "alpine:3.9", + "entrypoint": "ash" + } + }, + "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": 1, + "user_editable": 0, + "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": 1, + "user_editable": 1, + "rules": "required|string|max:20" + }, + { + "name": "Download Path", + "description": "A URL to use to download a server.jar rather than the ones in the install script. This is not user viewable.", + "env_variable": "DL_PATH", + "default_value": "", + "user_viewable": 0, + "user_editable": 0, + "rules": "nullable|string" + }, + { + "name": "Build Number", + "description": "The build number for the paper 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": 1, + "user_editable": 0, + "rules": "required|string|max:20" + } + ] +} \ No newline at end of file diff --git a/stock-eggs/minecraft/egg-sponge--sponge-vanilla.json b/stock-eggs/minecraft/egg-sponge--sponge-vanilla.json new file mode 100644 index 00000000..2bbfba23 --- /dev/null +++ b/stock-eggs/minecraft/egg-sponge--sponge-vanilla.json @@ -0,0 +1,45 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2017-11-03T22:20:03-05:00", + "name": "Sponge (SpongeVanilla)", + "author": "support@pterodactyl.io", + "description": "SpongeVanilla is the SpongeAPI implementation for Vanilla Minecraft.", + "image": "quay.io\/pterodactyl\/core:java-glibc", + "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 \"query.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": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}", + "stop": "stop" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/ash\n# Sponge Installation Script\n#\n# Server Files: \/mnt\/server\n\napk update\napk add curl\n\ncd \/mnt\/server\n\ncurl -sSL \"https:\/\/repo.spongepowered.org\/maven\/org\/spongepowered\/spongevanilla\/${SPONGE_VERSION}\/spongevanilla-${SPONGE_VERSION}.jar\" -o ${SERVER_JARFILE}", + "container": "alpine:3.9", + "entrypoint": "ash" + } + }, + "variables": [ + { + "name": "Sponge Version", + "description": "The version of SpongeVanilla to download and use.", + "env_variable": "SPONGE_VERSION", + "default_value": "1.11.2-6.1.0-BETA-21", + "user_viewable": 1, + "user_editable": 0, + "rules": "required|regex:\/^([a-zA-Z0-9.\\-_]+)$\/" + }, + { + "name": "Server Jar File", + "description": "The name of the Jarfile to use when running SpongeVanilla.", + "env_variable": "SERVER_JARFILE", + "default_value": "server.jar", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/" + } + ] +} diff --git a/stock-eggs/minecraft/egg-vanilla-minecraft.json b/stock-eggs/minecraft/egg-vanilla-minecraft.json new file mode 100644 index 00000000..5937fc17 --- /dev/null +++ b/stock-eggs/minecraft/egg-vanilla-minecraft.json @@ -0,0 +1,45 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2018-06-19T17:09:18-04:00", + "name": "Vanilla Minecraft", + "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.", + "image": "quay.io\/pterodactyl\/core:java", + "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 \"query.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": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}", + "stop": "stop" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/ash\r\n# Vanilla MC Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk update\r\napk add curl jq\r\n\r\ncd \/mnt\/server\r\n\r\nLATEST_VERSION=`curl https:\/\/launchermeta.mojang.com\/mc\/game\/version_manifest.json | jq -r '.latest.release'`\r\n\r\nif [ -z \"$VANILLA_VERSION\" ] || [ \"$VANILLA_VERSION\" == \"latest\" ]; then\r\n MANIFEST_URL=$(curl https:\/\/launchermeta.mojang.com\/mc\/game\/version_manifest.json | jq .versions | jq -r '.[] | select(.id == \"'$LATEST_VERSION'\") | .url')\r\nelse\r\n MANIFEST_URL=$(curl https:\/\/launchermeta.mojang.com\/mc\/game\/version_manifest.json | jq .versions | jq -r '.[] | select(.id == \"'$VANILLA_VERSION'\") | .url')\r\nfi\r\n\r\nDOWNLOAD_URL=`curl $MANIFEST_URL | jq .downloads.server | jq -r '. | .url'`\r\n\r\ncurl -o ${SERVER_JARFILE} $DOWNLOAD_URL", + "container": "alpine:3.9", + "entrypoint": "ash" + } + }, + "variables": [ + { + "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": 1, + "user_editable": 1, + "rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/" + }, + { + "name": "Server Version", + "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, + "rules": "required|string|between:3,15" + } + ] +} diff --git a/stock-eggs/source/README.md b/stock-eggs/rust/README.md similarity index 100% rename from stock-eggs/source/README.md rename to stock-eggs/rust/README.md diff --git a/stock-eggs/source/rust/egg-rust.json b/stock-eggs/rust/egg-rust.json similarity index 100% rename from stock-eggs/source/rust/egg-rust.json rename to stock-eggs/rust/egg-rust.json diff --git a/stock-eggs/source-engine/README.md b/stock-eggs/source-engine/README.md new file mode 100644 index 00000000..a4deb544 --- /dev/null +++ b/stock-eggs/source-engine/README.md @@ -0,0 +1,70 @@ +# Source-Engine + +The Source Dedicated Server or SRCDS is a tool that runs the server component of a Source game without the client component. In other words, it simulates the game without drawing it. + +This also covers games that are installed using the steamcmd utility. + +### Server Ports +Many of these servers will require the steam query ports to be open for the server. +The default steam query port is 27015 + +## ARK Survival Evolved + +### Port Requirements +The ARK server requires 4 ports minimum. + +| Port | default | +|---------|---------| +| Game | 7777 | +| Game +1 | 7778 | +| Query | 27015 | +| RCON | 27020 | + +Please note the server may not show up on steam game server lists due to this requirement if all ports are not set/added. + +## Counter Strike: Global Offensive + +Counter-Strike: Global Offensive (CS: GO) expands upon the team-based action gameplay that it pioneered when it was launched 19 years ago. CS: GO features new maps, characters, weapons, and game modes, and delivers updated versions of the classic CS content (de_dust2, etc.). + +### Port Requirements +| Port | default | +|----------|---------| +| Game | 27015 | + +## Custom Source Engine Game + +This is a generic one size fit's all egg that supports srcds game servers. + +This is not for games like Counter Strike 1.6 which is an HLDS title. See [HLDS server](/source_servers/hlds_server) + +### Port Requirements +| Port | default | +|----------|---------| +| Game | 27015 | + +## Garry's Mod + +Garry's Mod is a physics sandbox. There aren't any predefined aims or goals. We give you the tools and leave you to play. + +### Port Requirements +| Port | default | +|----------|---------| +| Game | 27015 | + +## Insurgency + +Take to the streets for intense close quarters combat, where a team's survival depends upon securing crucial strongholds and destroying enemy supply in this multiplayer and cooperative Source Engine based experience. + +### Port Requirements +| Port | default | +|----------|---------| +| Game | 27015 | + +## Team Fortress 2 + +Nine distinct classes provide a broad range of tactical abilities and personalities. Constantly updated with new game modes, maps, equipment and, most importantly, hats! + +### Port Requirements +| Port | default | +|----------|---------| +| Game | 27015 | \ No newline at end of file diff --git a/stock-eggs/source/ark/egg-ark--survival-evolved.json b/stock-eggs/source-engine/egg-ark--survival-evolved.json similarity index 100% rename from stock-eggs/source/ark/egg-ark--survival-evolved.json rename to stock-eggs/source-engine/egg-ark--survival-evolved.json diff --git a/stock-eggs/source-engine/egg-counter--strike--global-offensive.json b/stock-eggs/source-engine/egg-counter--strike--global-offensive.json new file mode 100644 index 00000000..ad921025 --- /dev/null +++ b/stock-eggs/source-engine/egg-counter--strike--global-offensive.json @@ -0,0 +1,54 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2018-06-19T07:46:06-04:00", + "name": "Counter-Strike: Global Offensive", + "author": "support@pterodactyl.io", + "description": "Counter-Strike: Global Offensive is a multiplayer first-person shooter video game developed by Hidden Path Entertainment and Valve Corporation.", + "image": "quay.io\/pterodactyl\/core:source", + "startup": ".\/srcds_run -game csgo -console -port {{SERVER_PORT}} +ip 0.0.0.0 +map {{SRCDS_MAP}} -strictportbind -norestart +sv_setsteamaccount {{STEAM_ACC}}", + "config": { + "files": "{}", + "startup": "{\r\n \"done\": \"Connection to Steam servers successful\",\r\n \"userInteraction\": []\r\n}", + "logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/latest.log\"\r\n}", + "stop": "quit" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash\n# CSGO Installation Script\n#\n# Server Files: \/mnt\/server\napt -y update\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\n\ncd \/tmp\ncurl -sSL -o steamcmd.tar.gz http:\/\/media.steampowered.com\/installer\/steamcmd_linux.tar.gz\n\nmkdir -p \/mnt\/server\/steamcmd\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\ncd \/mnt\/server\/steamcmd\n\n# SteamCMD fails otherwise for some reason, even running as root.\n# This is changed at the end of the install process anyways.\nchown -R root:root \/mnt\n\nexport HOME=\/mnt\/server\n.\/steamcmd.sh +login anonymous +force_install_dir \/mnt\/server +app_update 740 +quit\n\nmkdir -p \/mnt\/server\/.steam\/sdk32\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so", + "container": "ubuntu:16.04", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "Map", + "description": "The default map for the server.", + "env_variable": "SRCDS_MAP", + "default_value": "de_dust2", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|alpha_dash" + }, + { + "name": "Steam Account Token", + "description": "The Steam Account Token required for the server to be displayed publicly.", + "env_variable": "STEAM_ACC", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|alpha_num|size:32" + }, + { + "name": "Source AppID", + "description": "Required for game to update on server restart. Do not modify this.", + "env_variable": "SRCDS_APPID", + "default_value": "740", + "user_viewable": 0, + "user_editable": 0, + "rules": "required|string|max:20" + } + ] +} diff --git a/stock-eggs/source-engine/egg-custom-source-engine-game.json b/stock-eggs/source-engine/egg-custom-source-engine-game.json new file mode 100644 index 00000000..7a7b40bd --- /dev/null +++ b/stock-eggs/source-engine/egg-custom-source-engine-game.json @@ -0,0 +1,54 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2018-01-21T16:59:45-06:00", + "name": "Custom Source Engine Game", + "author": "support@pterodactyl.io", + "description": "This option allows modifying the startup arguments and other details to run a custom SRCDS based game on the panel.", + "image": "quay.io\/pterodactyl\/core:source", + "startup": ".\/srcds_run -game {{SRCDS_GAME}} -console -port {{SERVER_PORT}} +map {{SRCDS_MAP}} +ip 0.0.0.0 -strictportbind -norestart", + "config": { + "files": "{}", + "startup": "{\r\n \"done\": \"gameserver Steam ID\",\r\n \"userInteraction\": []\r\n}", + "logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/latest.log\"\r\n}", + "stop": "quit" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash\n# SRCDS Base Installation Script\n#\n# Server Files: \/mnt\/server\napt -y update\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\n\ncd \/tmp\ncurl -sSL -o steamcmd.tar.gz http:\/\/media.steampowered.com\/installer\/steamcmd_linux.tar.gz\n\nmkdir -p \/mnt\/server\/steamcmd\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\ncd \/mnt\/server\/steamcmd\n\n# SteamCMD fails otherwise for some reason, even running as root.\n# This is changed at the end of the install process anyways.\nchown -R root:root \/mnt\n\nexport HOME=\/mnt\/server\n.\/steamcmd.sh +login anonymous +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} +quit\n\nmkdir -p \/mnt\/server\/.steam\/sdk32\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so", + "container": "ubuntu:16.04", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "Game ID", + "description": "The ID corresponding to the game to download and run using SRCDS.", + "env_variable": "SRCDS_APPID", + "default_value": "", + "user_viewable": 1, + "user_editable": 0, + "rules": "required|numeric|digits_between:1,6" + }, + { + "name": "Game Name", + "description": "The name corresponding to the game to download and run using SRCDS.", + "env_variable": "SRCDS_GAME", + "default_value": "", + "user_viewable": 1, + "user_editable": 0, + "rules": "required|alpha_dash|between:1,100" + }, + { + "name": "Map", + "description": "The default map for the server.", + "env_variable": "SRCDS_MAP", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|alpha_dash" + } + ] +} diff --git a/stock-eggs/source-engine/egg-garrys-mod.json b/stock-eggs/source-engine/egg-garrys-mod.json new file mode 100644 index 00000000..c0e4f31b --- /dev/null +++ b/stock-eggs/source-engine/egg-garrys-mod.json @@ -0,0 +1,90 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2019-02-16T14:20:52-05:00", + "name": "Garrys Mod", + "author": "support@pterodactyl.io", + "description": "Garrys Mod, is a sandbox physics game created by Garry Newman, and developed by his company, Facepunch Studios.", + "image": "quay.io\/pterodactyl\/core:source", + "startup": ".\/srcds_run -game garrysmod -console -port {{SERVER_PORT}} +ip 0.0.0.0 +map {{SRCDS_MAP}} +gamemode {{GAMEMODE}} -strictportbind -norestart +sv_setsteamaccount {{STEAM_ACC}} +host_workshop_collection {{WORKSHOP_ID}} +maxplayers {{MAX_PLAYERS}} -tickrate {{TICKRATE}}", + "config": { + "files": "{}", + "startup": "{\r\n \"done\": \"gameserver Steam ID\",\r\n \"userInteraction\": []\r\n}", + "logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/latest.log\"\r\n}", + "stop": "quit" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash\r\n# Garry's Mod 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\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 4020 +quit\r\n\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/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", + "container": "ubuntu:16.04", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "Map", + "description": "The default map for the server.", + "env_variable": "SRCDS_MAP", + "default_value": "gm_flatgrass", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|alpha_dash" + }, + { + "name": "Steam Account Token", + "description": "The Steam Account Token required for the server to be displayed publicly.", + "env_variable": "STEAM_ACC", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "nullable|string|alpha_num|size:32" + }, + { + "name": "Source AppID", + "description": "Required for game to update on server restart. Do not modify this.", + "env_variable": "SRCDS_APPID", + "default_value": "4020", + "user_viewable": 0, + "user_editable": 0, + "rules": "required|string|max:20" + }, + { + "name": "Workshop ID", + "description": "The ID of your workshop collection (the numbers at the end of the URL)", + "env_variable": "WORKSHOP_ID", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "nullable|integer" + }, + { + "name": "Gamemode", + "description": "The gamemode of your server.", + "env_variable": "GAMEMODE", + "default_value": "sandbox", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string" + }, + { + "name": "Max Players", + "description": "The maximum amount of players allowed on your game server.", + "env_variable": "MAX_PLAYERS", + "default_value": "32", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|integer|max:128" + }, + { + "name": "Tickrate", + "description": "The tickrate defines how fast the server will update each entities location.", + "env_variable": "TICKRATE", + "default_value": "22", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|integer|max:100" + } + ] +} diff --git a/stock-eggs/source-engine/egg-insurgency.json b/stock-eggs/source-engine/egg-insurgency.json new file mode 100644 index 00000000..4e3df4a8 --- /dev/null +++ b/stock-eggs/source-engine/egg-insurgency.json @@ -0,0 +1,54 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2018-01-21T16:59:48-06:00", + "name": "Insurgency", + "author": "support@pterodactyl.io", + "description": "Take to the streets for intense close quarters combat, where a team's survival depends upon securing crucial strongholds and destroying enemy supply in this multiplayer and cooperative Source Engine based experience.", + "image": "quay.io\/pterodactyl\/core:source", + "startup": ".\/srcds_run -game {{SRCDS_GAME}} -console -port {{SERVER_PORT}} +map {{SRCDS_MAP}} +ip 0.0.0.0 -strictportbind -norestart", + "config": { + "files": "{}", + "startup": "{\"done\": \"gameserver Steam ID\", \"userInteraction\": []}", + "logs": "{\"custom\": true, \"location\": \"logs\/latest.log\"}", + "stop": "quit" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash\n# SRCDS Base Installation Script\n#\n# Server Files: \/mnt\/server\napt -y update\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\n\ncd \/tmp\ncurl -sSL -o steamcmd.tar.gz http:\/\/media.steampowered.com\/installer\/steamcmd_linux.tar.gz\n\nmkdir -p \/mnt\/server\/steamcmd\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\ncd \/mnt\/server\/steamcmd\n\n# SteamCMD fails otherwise for some reason, even running as root.\n# This is changed at the end of the install process anyways.\nchown -R root:root \/mnt\n\nexport HOME=\/mnt\/server\n.\/steamcmd.sh +login anonymous +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} +quit\n\nmkdir -p \/mnt\/server\/.steam\/sdk32\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so", + "container": "ubuntu:16.04", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "Game ID", + "description": "The ID corresponding to the game to download and run using SRCDS.", + "env_variable": "SRCDS_APPID", + "default_value": "17705", + "user_viewable": 1, + "user_editable": 0, + "rules": "required|regex:\/^(17705)$\/" + }, + { + "name": "Game Name", + "description": "The name corresponding to the game to download and run using SRCDS.", + "env_variable": "SRCDS_GAME", + "default_value": "insurgency", + "user_viewable": 1, + "user_editable": 0, + "rules": "required|regex:\/^(insurgency)$\/" + }, + { + "name": "Default Map", + "description": "The default map to use when starting the server.", + "env_variable": "SRCDS_MAP", + "default_value": "sinjar", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|regex:\/^(\\w{1,20})$\/" + } + ] +} \ No newline at end of file diff --git a/stock-eggs/source-engine/egg-team-fortress2.json b/stock-eggs/source-engine/egg-team-fortress2.json new file mode 100644 index 00000000..ae443370 --- /dev/null +++ b/stock-eggs/source-engine/egg-team-fortress2.json @@ -0,0 +1,54 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2018-01-21T16:59:45-06:00", + "name": "Team Fortress 2", + "author": "support@pterodactyl.io", + "description": "Team Fortress 2 is a team-based first-person shooter multiplayer video game developed and published by Valve Corporation. It is the sequel to the 1996 mod Team Fortress for Quake and its 1999 remake.", + "image": "quay.io\/pterodactyl\/core:source", + "startup": ".\/srcds_run -game {{SRCDS_GAME}} -console -port {{SERVER_PORT}} +map {{SRCDS_MAP}} +ip 0.0.0.0 -strictportbind -norestart", + "config": { + "files": "{}", + "startup": "{\r\n \"done\": \"gameserver Steam ID\",\r\n \"userInteraction\": []\r\n}", + "logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/latest.log\"\r\n}", + "stop": "quit" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash\n# SRCDS Base Installation Script\n#\n# Server Files: \/mnt\/server\napt -y update\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\n\ncd \/tmp\ncurl -sSL -o steamcmd.tar.gz http:\/\/media.steampowered.com\/installer\/steamcmd_linux.tar.gz\n\nmkdir -p \/mnt\/server\/steamcmd\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\ncd \/mnt\/server\/steamcmd\n\n# SteamCMD fails otherwise for some reason, even running as root.\n# This is changed at the end of the install process anyways.\nchown -R root:root \/mnt\n\nexport HOME=\/mnt\/server\n.\/steamcmd.sh +login anonymous +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} +quit\n\nmkdir -p \/mnt\/server\/.steam\/sdk32\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so", + "container": "ubuntu:16.04", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "Game ID", + "description": "The ID corresponding to the game to download and run using SRCDS.", + "env_variable": "SRCDS_APPID", + "default_value": "232250", + "user_viewable": 1, + "user_editable": 0, + "rules": "required|regex:\/^(232250)$\/" + }, + { + "name": "Game Name", + "description": "The name corresponding to the game to download and run using SRCDS.", + "env_variable": "SRCDS_GAME", + "default_value": "tf", + "user_viewable": 1, + "user_editable": 0, + "rules": "required|regex:\/^(tf)$\/" + }, + { + "name": "Default Map", + "description": "The default map to use when starting the server.", + "env_variable": "SRCDS_MAP", + "default_value": "cp_dustbowl", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|regex:\/^(\\w{1,20})$\/" + } + ] +} \ No newline at end of file diff --git a/stock-eggs/source/ark/README.md b/stock-eggs/source/ark/README.md deleted file mode 100644 index 0ccd9589..00000000 --- a/stock-eggs/source/ark/README.md +++ /dev/null @@ -1,17 +0,0 @@ -# ARK Survival Evolved - -#### Port Requirements -The ARK server requires 4 ports minimum. - -| Port | default | -|---------|---------| -| Game | 7777 | -| Game +1 | 7778 | -| Query | 27015 | -| RCON | 27020 | - -Please note the server may not show up on steam game server lists due to this requirement if all ports are not set/added. - -### Server Ports -Many of these servers will require the steam query ports to be open for the server. -The default steam query port is 27015 \ No newline at end of file diff --git a/stock-eggs/source/rust/README.md b/stock-eggs/source/rust/README.md deleted file mode 100644 index 002634ee..00000000 --- a/stock-eggs/source/rust/README.md +++ /dev/null @@ -1,14 +0,0 @@ -# [Rust](https://rust.facepunch.com/) - -The only aim in Rust is to survive. To do this you will need to overcome struggles such as hunger, thirst and cold. Build a fire. Build a shelter. Kill animals for meat. Protect yourself from other players, and kill them for meat. Create alliances with other players and form a town. Do whatever it takes to survive. - -#### Port Requirements -The Rust server requires 3 ports minimum. - -| Port | default | -|---------|---------| -| Game | 28015 | -| Game +1 | 28016 | -| RCON | 28017 | - -Please note the server may not show up on steam game server lists due to this requirement if all ports are not set/added. \ No newline at end of file diff --git a/stock-eggs/terraria/README.md b/stock-eggs/terraria/README.md new file mode 100644 index 00000000..ab8485b0 --- /dev/null +++ b/stock-eggs/terraria/README.md @@ -0,0 +1,14 @@ +# Terraria + +## Minimum RAM warning +You may want to assign a minimum of 768 mb of RAM to a server as it will use around 650 mb to generate the world on the first start. + + +## Required Server Ports +Terraria only requires a single port to run. The default is 7777 + +| Port | default | +|---------|---------| +| Game | 7777 | + +#### Plugins may require ports to be added to the server. \ No newline at end of file diff --git a/stock-eggs/terraria/egg-terraria-server--t-shock.json b/stock-eggs/terraria/egg-terraria-server--t-shock.json new file mode 100644 index 00000000..9381890d --- /dev/null +++ b/stock-eggs/terraria/egg-terraria-server--t-shock.json @@ -0,0 +1,45 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2018-01-21T17:01:31-06:00", + "name": "Terraria Server (TShock)", + "author": "support@pterodactyl.io", + "description": "TShock is a server modification for Terraria, written in C#, and based upon the Terraria Server API. It uses JSON for configuration management, and offers several features not present in the Terraria Server normally.", + "image": "quay.io\/pterodactyl\/core:mono", + "startup": null, + "config": { + "files": "{\"tshock\/config.json\":{\"parser\": \"json\", \"find\":{\"ServerPort\": \"{{server.build.default.port}}\", \"MaxSlots\": \"{{server.build.env.MAX_SLOTS}}\"}}}", + "startup": "{\"done\": \"Type 'help' for a list of commands\", \"userInteraction\": []}", + "logs": "{\"custom\": false, \"location\": \"ServerLog.txt\"}", + "stop": "exit" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/ash\n# TShock Installation Script\n#\n# Server Files: \/mnt\/server\napk update\napk add curl unzip\n\ncd \/tmp\n\ncurl -sSLO https:\/\/github.com\/NyxStudios\/TShock\/releases\/download\/v${T_VERSION}\/tshock_${T_VERSION}.zip\n\nunzip -o tshock_${T_VERSION}.zip -d \/mnt\/server", + "container": "alpine:3.9", + "entrypoint": "ash" + } + }, + "variables": [ + { + "name": "TShock Version", + "description": "Which version of TShock to install and use.", + "env_variable": "T_VERSION", + "default_value": "4.3.22", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|regex:\/^([0-9_\\.-]{5,10})$\/" + }, + { + "name": "Maximum Slots", + "description": "Total number of slots to allow on the server.", + "env_variable": "MAX_SLOTS", + "default_value": "20", + "user_viewable": 1, + "user_editable": 0, + "rules": "required|numeric|digits_between:1,3" + } + ] +} diff --git a/stock-eggs/voice-servers/README.md b/stock-eggs/voice-servers/README.md new file mode 100644 index 00000000..40aed5be --- /dev/null +++ b/stock-eggs/voice-servers/README.md @@ -0,0 +1,29 @@ +# Voice Servers + +## Mumble + +Mumble is an open source, low-latency, high quality voice chat software primarily intended for use while gaming. + +## Required Server Ports +Mumble only requires a single port to run. The default is 64738 + +| Port | default | +|---------|---------| +| Game | 64738 | + +## Teamspeak 3 + +Use crystal clear sound to communicate with your team mates cross-platform with military-grade security, lag-free performance & unparalleled reliability and uptime. + +## Required Server Ports +Teamspeak 3 only requires a single port to run. The default is 9987 + +Other ports for ServerQuery and File Transfers are required for specific things. + +| Port | default | +|---------|---------| +| Server | 9987 | +| Query | 10011 | +| Files | 30033 | + +By default pteordactyl sets the query port to the same as the server port. \ No newline at end of file diff --git a/stock-eggs/voice-servers/egg-mumble-server.json b/stock-eggs/voice-servers/egg-mumble-server.json new file mode 100644 index 00000000..e6256259 --- /dev/null +++ b/stock-eggs/voice-servers/egg-mumble-server.json @@ -0,0 +1,45 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2018-01-21T17:01:44-06:00", + "name": "Mumble Server", + "author": "support@pterodactyl.io", + "description": "Mumble is an open source, low-latency, high quality voice chat software primarily intended for use while gaming.", + "image": "quay.io\/pterodactyl\/core:glibc", + "startup": ".\/murmur.x86 -fg", + "config": { + "files": "{\"murmur.ini\":{\"parser\": \"ini\", \"find\":{\"logfile\": \"murmur.log\", \"port\": \"{{server.build.default.port}}\", \"host\": \"0.0.0.0\", \"users\": \"{{server.build.env.MAX_USERS}}\"}}}", + "startup": "{\"done\": \"Server listening on\", \"userInteraction\": [ \"Generating new server certificate\"]}", + "logs": "{\"custom\": true, \"location\": \"logs\/murmur.log\"}", + "stop": "^C" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/ash\n# Mumble Installation Script\n#\n# Server Files: \/mnt\/server\napk update\napk add tar curl\n\ncd \/tmp\n\ncurl -sSLO https:\/\/github.com\/mumble-voip\/mumble\/releases\/download\/${MUMBLE_VERSION}\/murmur-static_x86-${MUMBLE_VERSION}.tar.bz2\n\ntar -xjvf murmur-static_x86-${MUMBLE_VERSION}.tar.bz2\ncp -r murmur-static_x86-${MUMBLE_VERSION}\/* \/mnt\/server", + "container": "alpine:3.9", + "entrypoint": "ash" + } + }, + "variables": [ + { + "name": "Maximum Users", + "description": "Maximum concurrent users on the mumble server.", + "env_variable": "MAX_USERS", + "default_value": "100", + "user_viewable": 1, + "user_editable": 0, + "rules": "required|numeric|digits_between:1,5" + }, + { + "name": "Server Version", + "description": "Version of Mumble Server to download and use.", + "env_variable": "MUMBLE_VERSION", + "default_value": "1.2.19", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|regex:\/^([0-9_\\.-]{5,8})$\/" + } + ] +} diff --git a/stock-eggs/voice-servers/egg-teamspeak3-server.json b/stock-eggs/voice-servers/egg-teamspeak3-server.json new file mode 100644 index 00000000..2058ec22 --- /dev/null +++ b/stock-eggs/voice-servers/egg-teamspeak3-server.json @@ -0,0 +1,36 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2019-05-01T16:35:15+00:00", + "name": "Teamspeak3 Server", + "author": "support@pterodactyl.io", + "description": "VoIP software designed with security in mind, featuring crystal clear voice quality, endless customization options, and scalabilty up to thousands of simultaneous users.", + "image": "quay.io\/pterodactyl\/core:glibc", + "startup": ".\/ts3server_minimal_runscript.sh default_voice_port={{SERVER_PORT}} query_port={{SERVER_PORT}} license_accepted=1", + "config": { + "files": "{}", + "startup": "{\"done\": \"listening on 0.0.0.0:\", \"userInteraction\": []}", + "logs": "{\"custom\": true, \"location\": \"logs\/ts3.log\"}", + "stop": "^C" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/ash\n# TS3 Installation Script\n#\n# Server Files: \/mnt\/server\napk update\napk add tar curl\n\ncd \/mnt\/server\n\ncurl http:\/\/dl.4players.de\/ts\/releases\/${TS_VERSION}\/teamspeak3-server_linux_amd64-${TS_VERSION}.tar.bz2 | tar xj --strip-components=1", + "container": "alpine:3.9", + "entrypoint": "ash" + } + }, + "variables": [ + { + "name": "Server Version", + "description": "The version of Teamspeak 3 to use when running the server.", + "env_variable": "TS_VERSION", + "default_value": "3.7.1", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|regex:\/^([0-9_\\.-]{5,10})$\/" + } + ] +} \ No newline at end of file diff --git a/terraria/README.md b/terraria/README.md new file mode 100644 index 00000000..a91dae80 --- /dev/null +++ b/terraria/README.md @@ -0,0 +1,14 @@ +# Terraria + +## Minimum RAM warning +You may want to assign a minimum of 768 mb of RAM to a server as it will use around 650 mb to generate the world on the first start. + + +## Required Server Ports +tModloader, like Terraria, only requires a single port to run. The default is 7777 + +| Port | default | +|---------|---------| +| Game | 7777 | + +#### Plugins may require ports to be added to the server. From 89b50e07baf1517bb7ef4f9cec3d2d21caa94790 Mon Sep 17 00:00:00 2001 From: "Michael (Parker) Parker" Date: Thu, 11 Jul 2019 16:12:19 -0400 Subject: [PATCH 37/37] correct bedrock download address. to resolve #241 --- minecraft_bedrock/bedrock/egg-vanilla-bedrock.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/minecraft_bedrock/bedrock/egg-vanilla-bedrock.json b/minecraft_bedrock/bedrock/egg-vanilla-bedrock.json index ab665064..919bfe71 100644 --- a/minecraft_bedrock/bedrock/egg-vanilla-bedrock.json +++ b/minecraft_bedrock/bedrock/egg-vanilla-bedrock.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-07-09T23:32:57-04:00", + "exported_at": "2019-07-11T16:09:28-04:00", "name": "Vanilla Bedrock", "author": "parker@parkervcp.com", "description": "Bedrock Edition (also known as the Bedrock Version, Bedrock Codebase, Bedrock Engine or just Bedrock) refers to the multi-platform family of editions of Minecraft developed by Mojang AB, Microsoft Studios, 4J Studios, and SkyBox Labs. Prior to this term, as the engine originated with Pocket Edition, this entire product family was referred to as \"Pocket Edition\", \"MCPE\", or \"Pocket\/Windows 10 Edition\".", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/ash\r\n\r\napk add --no-cache zip unzip wget curl\r\n\r\ncd \/mnt\/server\r\n\r\nif [ -z \"${BEDROCK_VERSION}\" ] || [ \"${BEDROCK_VERSION}\" == \"latest\" ]; then\r\n echo -e \"\\n Downloading latest Bedrock server\"\r\n DOWNLOAD_URL=$(curl https:\/\/www.minecraft.net\/en-us\/download\/server\/bedrock\/ | grep azureedge | grep linux | grep -Eo \"(http|https):\/\/[a-zA-Z0-9.\/?=_-]*\")\r\n BEDROCK_ZIP=$(echo ${DOWNLOAD_URL} | cut -d\"\/\" -f5)\r\nelse \r\n echo -e \"\\n Downloading ${BEDROCK_VERSION} Bedrock server\"\r\n DOWNLOAD_URL=https:\/\/www.minecraft.azureedge.net\/bin-linux\/bedrock-server-$BEDROCK_VERSION.zip\r\n BEDROCK_ZIP=$(echo ${DOWNLOAD_URL} | cut -d\"\/\" -f5)\r\nfi\r\n\r\necho -e \"Downloading files from https:\/\/minecraft.azureedge.net\/bin-linux\/bedrock-server-$BEDROCK_VERSION.zip\"\r\n\r\nwget ${DOWNLOAD_URL}\r\n\r\necho -e \"Unpacking server files\"\r\nunzip -o $BEDROCK_ZIP\r\n\r\necho -e \"Cleaning up after installing\"\r\nrm $BEDROCK_ZIP\r\n\r\necho -e \"Done\"", + "script": "#!\/bin\/ash\r\n\r\napk add --no-cache zip unzip wget curl\r\n\r\ncd \/mnt\/server\r\n\r\nif [ -z \"${BEDROCK_VERSION}\" ] || [ \"${BEDROCK_VERSION}\" == \"latest\" ]; then\r\n echo -e \"\\n Downloading latest Bedrock server\"\r\n DOWNLOAD_URL=$(curl https:\/\/www.minecraft.net\/en-us\/download\/server\/bedrock\/ | grep azureedge | grep linux | grep -Eo \"(http|https):\/\/[a-zA-Z0-9.\/?=_-]*\")\r\n BEDROCK_ZIP=$(echo ${DOWNLOAD_URL} | cut -d\"\/\" -f5)\r\nelse \r\n echo -e \"\\n Downloading ${BEDROCK_VERSION} Bedrock server\"\r\n DOWNLOAD_URL=https:\/\/minecraft.azureedge.net\/bin-linux\/bedrock-server-$BEDROCK_VERSION.zip\r\n BEDROCK_ZIP=$(echo ${DOWNLOAD_URL} | cut -d\"\/\" -f5)\r\nfi\r\n\r\necho -e \"Downloading files from https:\/\/minecraft.azureedge.net\/bin-linux\/bedrock-server-$BEDROCK_VERSION.zip\"\r\n\r\nwget ${DOWNLOAD_URL}\r\n\r\necho -e \"Unpacking server files\"\r\nunzip -o $BEDROCK_ZIP\r\n\r\necho -e \"Cleaning up after installing\"\r\nrm $BEDROCK_ZIP\r\n\r\necho -e \"Done\"", "container": "alpine:3.9", "entrypoint": "ash" }