From dd4af121cfa131953f59620d907298007a3bbb8b Mon Sep 17 00:00:00 2001 From: Baconator Date: Fri, 8 Mar 2019 22:47:36 +0100 Subject: [PATCH 001/413] 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 002/413] 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 003/413] 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 74425c8960e612c1202a5e8f30842a433f086d63 Mon Sep 17 00:00:00 2001 From: chasx003 Date: Sun, 5 May 2019 12:57:30 -0500 Subject: [PATCH 004/413] add mordhau --- README.md | 1 + source_servers/mordhau/README.md | 65 ++++++++++++++++++ source_servers/mordhau/egg-mordhau.json | 90 +++++++++++++++++++++++++ 3 files changed, 156 insertions(+) create mode 100644 source_servers/mordhau/README.md create mode 100644 source_servers/mordhau/egg-mordhau.json diff --git a/README.md b/README.md index 6a998501..1551873d 100644 --- a/README.md +++ b/README.md @@ -85,6 +85,7 @@ If you are reading this it looks like you are looking to add an egg to your serv * [PixARK](/source_servers/pixark/) * [Rust Staging Branch](/source_servers/rust-staging/) * [Starbound](/source_servers/starbound) +* [Mordhau](/source_servers/mordhau) [Squad](/squad/) diff --git a/source_servers/mordhau/README.md b/source_servers/mordhau/README.md new file mode 100644 index 00000000..94b99ea4 --- /dev/null +++ b/source_servers/mordhau/README.md @@ -0,0 +1,65 @@ +mog#Mordhau +Steam Description +MORDHAU is a medieval first & third person multiplayer slasher. Enter a hectic battlefield of up to 64 players as a mercenary in a fictional, but realistic world, where you will get to experience the brutal and satisfying melee combat that will have you always coming back for more. + + +### Server Ports +Mordhau requires 2 ports + +game port (default 7777) +query port (default 27015) +web admin (default 8080) + +| Port | default | +|---------|---------------| +| Game | 7777 | +| Query | 27015 | + + + +### Map Rotation / Change Config +Lots of good information in this [thread](https://mordhau.com/forum/topic/10348/dedicated-server-hosting-guide-linux/?page=1) +You'll need to run the server once before the Mordhau/Saved/Config/LinuxServer folder is available + + +### Default Map Variable +By default the game always starts the same game map and mode. Change this variable to start the server wth your choice of map and mode. For example , Grad/HRD_Grad OR TaigaMap/FL_Taiga + +Map Types +HRD = Hoard +SKM = Skirmish +FL = Frontline +FFA = Deathmatch +BR = BattleRoyal +TDM = Team Death Match + + + +Valid types per map + +Grad/ +HRD_Grad +BR_Grad +FFA_Grad +FL_Grad +SKM_Grad + +Contraband/ +FFA_Contraband +SKM_Contraband +TDM_Contraband + +DuelCamp/ +FFA_Camp +FL_Camp +HRD_Camp +SKM_Camp +TDM_Camp_64 +TDM_Camp + +MaxMap/ +FFA_MountainPeak +FL_MountainPeak +HRD_MountainPeak +SKM_MountainPeak +TDM_MountainPeak diff --git a/source_servers/mordhau/egg-mordhau.json b/source_servers/mordhau/egg-mordhau.json new file mode 100644 index 00000000..d9286c4c --- /dev/null +++ b/source_servers/mordhau/egg-mordhau.json @@ -0,0 +1,90 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2019-05-04T21:54:08-05:00", + "name": "Mordhau", + "author": "chasx003", + "description": "Mordhau is a multiplayer medieval hack 'n slash video game, developed by Slovenian independent studio Triternion, with a prominent aspect of skill-based competitive play and customization.", + "image": "chasx003\/mordhau", + "startup": ".\/MordhauServer.sh \/Game\/Mordhau\/Maps\/{{DEFAULT_MAP}}?MaxSlots={{MAX_PLAYERS}}? -USEALLAVAILABLECORES -Port={{SERVER_PORT}} -queryport={{QUERY_PORT}}", + "config": { + "files": "{\r\n \"Mordhau\/Saved\/Config\/LinuxServer\/Game.ini\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"AdminPassword=\": \"AdminPassword={{server.build.env.ADMIN_PASSWORD}}\",\r\n \"ServerName=\": \"ServerName={{server.build.env.SERVER_NAME}}\",\r\n \"ServerPassword=\": \"ServerPassword={{server.build.env.GAME_PASSWORD}}\"\r\n }\r\n }\r\n}", + "startup": "{\r\n \"done\": \"Session GameSession successfully created\",\r\n \"userInteraction\": []\r\n}", + "logs": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}", + "stop": "^C" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash\r\n# Mordhau 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\ncd \/tmp\r\ncurl -sSL -o steamcmd.tar.gz http:\/\/media.steampowered.com\/installer\/steamcmd_linux.tar.gz\r\nmkdir -p \/mnt\/server\/steamcmd \/mnt\/server\/logs\r\n\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n.\/steamcmd.sh +login anonymous +force_install_dir \/mnt\/server +app_update 629800 +quit\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": "Max Players", + "description": "Max Players", + "env_variable": "MAX_PLAYERS", + "default_value": "48", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:20" + }, + { + "name": "Source APP ID", + "description": "", + "env_variable": "SRCDS_APPID", + "default_value": "629800", + "user_viewable": 1, + "user_editable": 0, + "rules": "required|string|max:20" + }, + { + "name": "Query Port", + "description": "", + "env_variable": "QUERY_PORT", + "default_value": "27015", + "user_viewable": 1, + "user_editable": 1, + "rules": "nullable|string|max:20" + }, + { + "name": "Admin Password", + "description": "Password for managing server from in game", + "env_variable": "ADMIN_PASSWORD", + "default_value": "password123", + "user_viewable": 1, + "user_editable": 1, + "rules": "nullable|string|max:20" + }, + { + "name": "Server Name", + "description": "Name to show up in server Browser", + "env_variable": "SERVER_NAME", + "default_value": "Server", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:40" + }, + { + "name": "Server Password", + "description": "Password to get on the server", + "env_variable": "GAME_PASSWORD", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "nullable|string|max:20" + }, + { + "name": "DEFAULT_MAP", + "description": "First map to load. Format Expected is \"MAPNAME\/TYPE_NAME\". Examples in Readme", + "env_variable": "DEFAULT_MAP", + "default_value": "Grad\/FL_Grad", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:40" + } + ] +} \ No newline at end of file From 67ff371c6b0d70dc50c42b03c109cfdc55e47ad4 Mon Sep 17 00:00:00 2001 From: "Michael (Parker) Parker" Date: Mon, 6 May 2019 14:53:25 -0400 Subject: [PATCH 005/413] 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 006/413] 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 007/413] 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 008/413] 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 009/413] 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 010/413] 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 011/413] 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 012/413] 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 0cf58c83c909c153aaa2b90984c4a76c8f9c5d2e Mon Sep 17 00:00:00 2001 From: chasx003 <4624854+chasx003@users.noreply.github.com> Date: Thu, 9 May 2019 19:50:08 -0500 Subject: [PATCH 013/413] correct author --- source_servers/mordhau/egg-mordhau.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source_servers/mordhau/egg-mordhau.json b/source_servers/mordhau/egg-mordhau.json index d9286c4c..810d1616 100644 --- a/source_servers/mordhau/egg-mordhau.json +++ b/source_servers/mordhau/egg-mordhau.json @@ -5,7 +5,7 @@ }, "exported_at": "2019-05-04T21:54:08-05:00", "name": "Mordhau", - "author": "chasx003", + "author": "trey@chazx.cc", "description": "Mordhau is a multiplayer medieval hack 'n slash video game, developed by Slovenian independent studio Triternion, with a prominent aspect of skill-based competitive play and customization.", "image": "chasx003\/mordhau", "startup": ".\/MordhauServer.sh \/Game\/Mordhau\/Maps\/{{DEFAULT_MAP}}?MaxSlots={{MAX_PLAYERS}}? -USEALLAVAILABLECORES -Port={{SERVER_PORT}} -queryport={{QUERY_PORT}}", @@ -87,4 +87,4 @@ "rules": "required|string|max:40" } ] -} \ No newline at end of file +} From 45237ee44b2ed0a3ec00bdc464b2d651d3d7acb6 Mon Sep 17 00:00:00 2001 From: chasx003 <4624854+chasx003@users.noreply.github.com> Date: Thu, 9 May 2019 22:24:26 -0500 Subject: [PATCH 014/413] Update README.md --- source_servers/mordhau/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/source_servers/mordhau/README.md b/source_servers/mordhau/README.md index 94b99ea4..1d4d2b7f 100644 --- a/source_servers/mordhau/README.md +++ b/source_servers/mordhau/README.md @@ -14,6 +14,7 @@ web admin (default 8080) |---------|---------------| | Game | 7777 | | Query | 27015 | +| Beacon | 15000 | From 92bd43d4598d9a55b79bc9d7b7d366b1b4548f00 Mon Sep 17 00:00:00 2001 From: chasx003 <4624854+chasx003@users.noreply.github.com> Date: Thu, 9 May 2019 22:25:22 -0500 Subject: [PATCH 015/413] update egg with new beacon port requirement --- source_servers/mordhau/egg-mordhau.json | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/source_servers/mordhau/egg-mordhau.json b/source_servers/mordhau/egg-mordhau.json index 810d1616..efd7d9b6 100644 --- a/source_servers/mordhau/egg-mordhau.json +++ b/source_servers/mordhau/egg-mordhau.json @@ -3,12 +3,12 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-05-04T21:54:08-05:00", + "exported_at": "2019-05-09T22:22:13-05:00", "name": "Mordhau", "author": "trey@chazx.cc", "description": "Mordhau is a multiplayer medieval hack 'n slash video game, developed by Slovenian independent studio Triternion, with a prominent aspect of skill-based competitive play and customization.", "image": "chasx003\/mordhau", - "startup": ".\/MordhauServer.sh \/Game\/Mordhau\/Maps\/{{DEFAULT_MAP}}?MaxSlots={{MAX_PLAYERS}}? -USEALLAVAILABLECORES -Port={{SERVER_PORT}} -queryport={{QUERY_PORT}}", + "startup": ".\/MordhauServer.sh \/Game\/Mordhau\/Maps\/{{DEFAULT_MAP}}?MaxSlots={{MAX_PLAYERS}}? -USEALLAVAILABLECORES -Port={{SERVER_PORT}} -queryport={{QUERY_PORT}} -beaconport={{BEACON_PORT}}", "config": { "files": "{\r\n \"Mordhau\/Saved\/Config\/LinuxServer\/Game.ini\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"AdminPassword=\": \"AdminPassword={{server.build.env.ADMIN_PASSWORD}}\",\r\n \"ServerName=\": \"ServerName={{server.build.env.SERVER_NAME}}\",\r\n \"ServerPassword=\": \"ServerPassword={{server.build.env.GAME_PASSWORD}}\"\r\n }\r\n }\r\n}", "startup": "{\r\n \"done\": \"Session GameSession successfully created\",\r\n \"userInteraction\": []\r\n}", @@ -85,6 +85,15 @@ "user_viewable": 1, "user_editable": 1, "rules": "required|string|max:40" + }, + { + "name": "Beacon Port", + "description": "Beacon Port required", + "env_variable": "BEACON_PORT", + "default_value": "15000", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:20" } ] } From 05d297582bb8974e98b580fdcbc4eb379aa699e1 Mon Sep 17 00:00:00 2001 From: chasx003 <4624854+chasx003@users.noreply.github.com> Date: Sat, 18 May 2019 11:44:23 -0500 Subject: [PATCH 016/413] update ports in README --- source_servers/mordhau/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source_servers/mordhau/README.md b/source_servers/mordhau/README.md index 1d4d2b7f..e7aa78b7 100644 --- a/source_servers/mordhau/README.md +++ b/source_servers/mordhau/README.md @@ -4,11 +4,11 @@ MORDHAU is a medieval first & third person multiplayer slasher. Enter a hectic b ### Server Ports -Mordhau requires 2 ports +Mordhau requires 3 ports game port (default 7777) query port (default 27015) -web admin (default 8080) +Beacon (default 15000) | Port | default | |---------|---------------| 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 017/413] 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 018/413] 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 019/413] 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 020/413] 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 021/413] 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 022/413] 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 023/413] 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 024/413] 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 025/413] 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 026/413] 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 027/413] 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 028/413] 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 029/413] 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 d08d6cbeed9ded51119c15898c333ba99dec0fb7 Mon Sep 17 00:00:00 2001 From: "Michael (Parker) Parker" Date: Tue, 11 Jun 2019 11:08:32 -0400 Subject: [PATCH 030/413] add mariadb start --- database/README.md | 9 +++ database/mariadb/my.cnf | 147 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 156 insertions(+) create mode 100644 database/README.md create mode 100644 database/mariadb/my.cnf diff --git a/database/README.md b/database/README.md new file mode 100644 index 00000000..66e60c2b --- /dev/null +++ b/database/README.md @@ -0,0 +1,9 @@ +# databases + +## sql DBs + +### [mariadb](/database/mariadb/) + https://mariadb.org/ + +### [postgres](/database/postgres/) + https://www.postgresql.org/ \ No newline at end of file diff --git a/database/mariadb/my.cnf b/database/mariadb/my.cnf new file mode 100644 index 00000000..e2571fdf --- /dev/null +++ b/database/mariadb/my.cnf @@ -0,0 +1,147 @@ +# +# The MySQL database server configuration file. +# +# You can copy this to one of: +# - "/etc/mysql/my.cnf" to set global options, +# - "~/.my.cnf" to set user-specific options. +# +# One can use all long options that the program supports. +# Run program with --help to get a list of available options and with +# --print-defaults to see which it would actually understand and use. +# +# For explanations see +# http://dev.mysql.com/doc/mysql/en/server-system-variables.html + +# This will be passed to all mysql clients +# It has been reported that passwords should be enclosed with ticks/quotes +# escpecially if they contain "#" chars... +# Remember to edit /etc/mysql/debian.cnf when changing the socket location. +[client] +port = 3306 +socket = /var/run/mysqld/mysqld.sock + +# Here is entries for some specific programs +# The following values assume you have at least 32M ram + +# This was formally known as [safe_mysqld]. Both versions are currently parsed. +[mysqld_safe] +socket = /var/run/mysqld/mysqld.sock +nice = 0 + +[mysqld] +# +# * Basic Settings +# +user = mysql +pid-file = /var/run/mysqld/mysqld.pid +socket = /var/run/mysqld/mysqld.sock +port = 3306 +basedir = /usr +datadir = /var/lib/mysql +tmpdir = /tmp +lc-messages-dir = /usr/share/mysql +skip-external-locking +skip-character-set-client-handshake +default-storage-engine = InnoDB +character-set-server = utf8 +transaction-isolation = READ-COMMITTED + +# +# Instead of skip-networking the default is now to listen only on +# localhost which is more compatible and is not less secure. +bind-address = 127.0.0.1 +# +# * Fine Tuning +# +key_buffer = 16M +max_allowed_packet = 16M +thread_stack = 192K +thread_cache_size = 16 +# This replaces the startup script and checks MyISAM tables if needed +# the first time they are touched +myisam-recover = BACKUP +max_connections = 300 +table_open_cache = 64 +thread_concurrency = 10 +table_open_cache = 32 +thread_concurrency = 4 + +# +# * Query Cache Configuration +# +query_cache_type = 1 +query_cache_limit = 1M +query_cache_size = 8M +# +# * Logging and Replication +# +# Both location gets rotated by the cronjob. +# Be aware that this log type is a performance killer. +# As of 5.1 you can enable the log at runtime! +general_log_file = /var/log/mysql/mysql.log +#general_log = 1 +# +# Error log - should be very few entries. +# +log_error = /var/log/mysql/error.log +# +# Here you can see queries with especially long duration +slow_query_log = 1 +slow_query_log_file = /var/log/mysql/mysql-slow.log +long_query_time = 1 +#log-queries-not-using-indexes + +# +# The following can be used as easy to replay backup logs or for replication. +# note: if you are setting up a replication slave, see README.Debian about +# other settings you may need to change. +#server-id = 1 +#log_bin = /var/log/mysql/mysql-bin.log +expire_logs_days = 14 +max_binlog_size = 1G +#binlog_do_db = include_database_name +#binlog_ignore_db = include_database_name +# +# * InnoDB +# +# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/. +# Read the manual for more InnoDB related options. There are many! +# +# * Security Features +# +# Read the manual, too, if you want chroot! +# chroot = /var/lib/mysql/ +# +# For generating SSL certificates I recommend the OpenSSL GUI "tinyca". +# +# ssl-ca=/etc/mysql/cacert.pem +# ssl-cert=/etc/mysql/server-cert.pem +# ssl-key=/etc/mysql/server-key.pem +innodb_data_file_path = ibdata1:128M:autoextend +innodb_file_per_table = 1 +skip-innodb_doublewrite +innodb_additional_mem_pool_size = 12M +innodb_buffer_pool_size = 256M +innodb_log_buffer_size = 8M +innodb_log_file_size = 8M +innodb_flush_log_at_trx_commit = 0 +innodb_flush_method = O_DIRECT +innodb_support_xa = OFF + + +[mysqldump] +quick +quote-names +max_allowed_packet = 16M + +[mysql] +#no-auto-rehash # faster start of mysql but no tab completition + +[isamchk] +key_buffer = 16M + +# +# * IMPORTANT: Additional settings that can override those from this file! +# The files must end with '.cnf', otherwise they'll be ignored. +# +!includedir /etc/mysql/conf.d/ From d8dc9052334c05462d899ab11d6efe2cfab5c447 Mon Sep 17 00:00:00 2001 From: rtm516 Date: Wed, 12 Jun 2019 22:40:53 +0100 Subject: [PATCH 031/413] 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 032/413] 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 033/413] 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 68f8eed12b756f98692397de845f7c6952c422e9 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Wed, 12 Jun 2019 21:03:48 -0400 Subject: [PATCH 034/413] add mariadb confs --- database/mariadb/install.my.cnf | 189 ++++++++++++++++++++++++++++++++ database/mariadb/my.cnf | 154 ++++++++++++++++---------- 2 files changed, 287 insertions(+), 56 deletions(-) create mode 100644 database/mariadb/install.my.cnf diff --git a/database/mariadb/install.my.cnf b/database/mariadb/install.my.cnf new file mode 100644 index 00000000..f1af70ac --- /dev/null +++ b/database/mariadb/install.my.cnf @@ -0,0 +1,189 @@ +# MariaDB database server configuration file. +# +# You can copy this file to one of: +# - "/etc/mysql/my.cnf" to set global options, +# - "~/.my.cnf" to set user-specific options. +# +# One can use all long options that the program supports. +# Run program with --help to get a list of available options and with +# --print-defaults to see which it would actually understand and use. +# +# For explanations see +# http://dev.mysql.com/doc/mysql/en/server-system-variables.html + +# This will be passed to all mysql clients +# It has been reported that passwords should be enclosed with ticks/quotes +# escpecially if they contain "#" chars... +# Remember to edit /etc/mysql/debian.cnf when changing the socket location. +[client] +port = 3306 +socket = /mnt/server/run/mysqld/mysqld.sock + +# Here is entries for some specific programs +# The following values assume you have at least 32M ram + +# This was formally known as [safe_mysqld]. Both versions are currently parsed. +[mysqld_safe] +socket = /mnt/server/run/mysqld/mysqld.sock +nice = 0 + +[mysqld] +# +# * Basic Settings +# +#user = mysql +pid-file = /mnt/server/run/mysqld/mysqld.pid +socket = /mnt/server/run/mysqld/mysqld.sock +port = 3306 +basedir = /usr +datadir = /mnt/server/mysql +tmpdir = /tmp +lc_messages_dir = /usr/share/mysql +lc_messages = en_US +skip-external-locking +# +# Instead of skip-networking the default is now to listen only on +# localhost which is more compatible and is not less secure. +# +# * Fine Tuning +# +max_connections = 100 +connect_timeout = 5 +wait_timeout = 600 +max_allowed_packet = 16M +thread_cache_size = 128 +sort_buffer_size = 4M +bulk_insert_buffer_size = 16M +tmp_table_size = 32M +max_heap_table_size = 32M +# +# * MyISAM +# +# This replaces the startup script and checks MyISAM tables if needed +# the first time they are touched. On error, make copy and try a repair. +myisam_recover_options = BACKUP +key_buffer_size = 128M +#open-files-limit = 2000 +table_open_cache = 400 +myisam_sort_buffer_size = 512M +concurrent_insert = 2 +read_buffer_size = 2M +read_rnd_buffer_size = 1M +# +# * Query Cache Configuration +# +# Cache only tiny result sets, so we can fit more in the query cache. +query_cache_limit = 128K +query_cache_size = 64M +# for more write intensive setups, set to DEMAND or OFF +#query_cache_type = DEMAND +# +# * Logging and Replication +# +# Both location gets rotated by the cronjob. +# Be aware that this log type is a performance killer. +# As of 5.1 you can enable the log at runtime! +general_log_file = /mnt/server/log/mysql/mysql.log +#general_log = 1 +# +# Error logging goes to syslog due to /etc/mysql/conf.d/mysqld_safe_syslog.cnf. +# +# we do want to know about network errors and such +#log_warnings = 2 +# +# Enable the slow query log to see queries with especially long duration +#slow_query_log[={0|1}] +slow_query_log_file = /mnt/server/log/mysql/mariadb-slow.log +long_query_time = 10 +#log_slow_rate_limit = 1000 +#log_slow_verbosity = query_plan + +#log-queries-not-using-indexes +#log_slow_admin_statements +# +# The following can be used as easy to replay backup logs or for replication. +# note: if you are setting up a replication slave, see README.Debian about +# other settings you may need to change. +#server-id = 1 +#report_host = master1 +#auto_increment_increment = 2 +#auto_increment_offset = 1 +#log_bin = /var/log/mysql/mariadb-bin +#log_bin_index = /var/log/mysql/mariadb-bin.index +# not fab for performance, but safer +#sync_binlog = 1 +expire_logs_days = 10 +max_binlog_size = 100M +# slaves +#relay_log = /var/log/mysql/relay-bin +#relay_log_index = /var/log/mysql/relay-bin.index +#relay_log_info_file = /var/log/mysql/relay-bin.info +#log_slave_updates +#read_only +# +# If applications support it, this stricter sql_mode prevents some +# mistakes like inserting invalid dates etc. +#sql_mode = NO_ENGINE_SUBSTITUTION,TRADITIONAL +# +# * InnoDB +# +# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/. +# Read the manual for more InnoDB related options. There are many! +default_storage_engine = InnoDB +# you can't just change log file size, requires special procedure +#innodb_log_file_size = 50M +innodb_buffer_pool_size = 256M +innodb_log_buffer_size = 8M +innodb_file_per_table = 1 +innodb_open_files = 400 +innodb_io_capacity = 400 +innodb_flush_method = O_DIRECT +# +# * Security Features +# +# Read the manual, too, if you want chroot! +# chroot = /var/lib/mysql/ +# +# For generating SSL certificates I recommend the OpenSSL GUI "tinyca". +# +# ssl-ca=/etc/mysql/cacert.pem +# ssl-cert=/etc/mysql/server-cert.pem +# ssl-key=/etc/mysql/server-key.pem + +# +# * Galera-related settings +# +[galera] +# Mandatory settings +#wsrep_on=ON +#wsrep_provider= +#wsrep_cluster_address= +#binlog_format=row +#default_storage_engine=InnoDB +#innodb_autoinc_lock_mode=2 +# +# Allow server to accept connections on all interfaces. +# +bind-address=0.0.0.0 +# +# Optional setting +#wsrep_slave_threads=1 +#innodb_flush_log_at_trx_commit=0 + +[mysqldump] +quick +quote-names +max_allowed_packet = 16M + +[mysql] +#no-auto-rehash # faster start of mysql but no tab completion + +[isamchk] +key_buffer = 16M + +# +# * IMPORTANT: Additional settings that can override those from this file! +# The files must end with '.cnf', otherwise they'll be ignored. +# +!include /etc/mysql/mariadb.cnf +!includedir /etc/mysql/conf.d/ \ No newline at end of file diff --git a/database/mariadb/my.cnf b/database/mariadb/my.cnf index e2571fdf..643d9474 100644 --- a/database/mariadb/my.cnf +++ b/database/mariadb/my.cnf @@ -1,10 +1,9 @@ +# MariaDB database server configuration file. # -# The MySQL database server configuration file. -# -# You can copy this to one of: +# You can copy this file to one of: # - "/etc/mysql/my.cnf" to set global options, # - "~/.my.cnf" to set user-specific options. -# +# # One can use all long options that the program supports. # Run program with --help to get a list of available options and with # --print-defaults to see which it would actually understand and use. @@ -18,94 +17,127 @@ # Remember to edit /etc/mysql/debian.cnf when changing the socket location. [client] port = 3306 -socket = /var/run/mysqld/mysqld.sock +socket = /home/container/run/mysqld/mysqld.sock # Here is entries for some specific programs # The following values assume you have at least 32M ram # This was formally known as [safe_mysqld]. Both versions are currently parsed. [mysqld_safe] -socket = /var/run/mysqld/mysqld.sock +socket = /home/container/run/mysqld/mysqld.sock nice = 0 [mysqld] # # * Basic Settings # -user = mysql -pid-file = /var/run/mysqld/mysqld.pid -socket = /var/run/mysqld/mysqld.sock +#user = mysql +pid-file = /home/container/run/mysqld/mysqld.pid +socket = /home/container/run/mysqld/mysqld.sock port = 3306 basedir = /usr -datadir = /var/lib/mysql +datadir = /home/container/mysql tmpdir = /tmp -lc-messages-dir = /usr/share/mysql +lc_messages_dir = /usr/share/mysql +lc_messages = en_US skip-external-locking -skip-character-set-client-handshake -default-storage-engine = InnoDB -character-set-server = utf8 -transaction-isolation = READ-COMMITTED - # # Instead of skip-networking the default is now to listen only on # localhost which is more compatible and is not less secure. -bind-address = 127.0.0.1 # # * Fine Tuning # -key_buffer = 16M +max_connections = 100 +connect_timeout = 5 +wait_timeout = 600 max_allowed_packet = 16M -thread_stack = 192K -thread_cache_size = 16 +thread_cache_size = 128 +sort_buffer_size = 4M +bulk_insert_buffer_size = 16M +tmp_table_size = 32M +max_heap_table_size = 32M +# +# * MyISAM +# # This replaces the startup script and checks MyISAM tables if needed -# the first time they are touched -myisam-recover = BACKUP -max_connections = 300 -table_open_cache = 64 -thread_concurrency = 10 -table_open_cache = 32 -thread_concurrency = 4 - +# the first time they are touched. On error, make copy and try a repair. +myisam_recover_options = BACKUP +key_buffer_size = 128M +#open-files-limit = 2000 +table_open_cache = 400 +myisam_sort_buffer_size = 512M +concurrent_insert = 2 +read_buffer_size = 2M +read_rnd_buffer_size = 1M # # * Query Cache Configuration # -query_cache_type = 1 -query_cache_limit = 1M -query_cache_size = 8M +# Cache only tiny result sets, so we can fit more in the query cache. +query_cache_limit = 128K +query_cache_size = 64M +# for more write intensive setups, set to DEMAND or OFF +#query_cache_type = DEMAND # # * Logging and Replication # # Both location gets rotated by the cronjob. # Be aware that this log type is a performance killer. # As of 5.1 you can enable the log at runtime! -general_log_file = /var/log/mysql/mysql.log +general_log_file = /home/container/log/mysql/mysql.log #general_log = 1 # -# Error log - should be very few entries. +# Error logging goes to syslog due to /etc/mysql/conf.d/mysqld_safe_syslog.cnf. # -log_error = /var/log/mysql/error.log +# we do want to know about network errors and such +#log_warnings = 2 # -# Here you can see queries with especially long duration -slow_query_log = 1 -slow_query_log_file = /var/log/mysql/mysql-slow.log -long_query_time = 1 -#log-queries-not-using-indexes +# Enable the slow query log to see queries with especially long duration +#slow_query_log[={0|1}] +slow_query_log_file = /home/container/log/mysql/mariadb-slow.log +long_query_time = 10 +#log_slow_rate_limit = 1000 +#log_slow_verbosity = query_plan +#log-queries-not-using-indexes +#log_slow_admin_statements # # The following can be used as easy to replay backup logs or for replication. # note: if you are setting up a replication slave, see README.Debian about # other settings you may need to change. #server-id = 1 -#log_bin = /var/log/mysql/mysql-bin.log -expire_logs_days = 14 -max_binlog_size = 1G -#binlog_do_db = include_database_name -#binlog_ignore_db = include_database_name +#report_host = master1 +#auto_increment_increment = 2 +#auto_increment_offset = 1 +#log_bin = /var/log/mysql/mariadb-bin +#log_bin_index = /var/log/mysql/mariadb-bin.index +# not fab for performance, but safer +#sync_binlog = 1 +expire_logs_days = 10 +max_binlog_size = 100M +# slaves +#relay_log = /var/log/mysql/relay-bin +#relay_log_index = /var/log/mysql/relay-bin.index +#relay_log_info_file = /var/log/mysql/relay-bin.info +#log_slave_updates +#read_only +# +# If applications support it, this stricter sql_mode prevents some +# mistakes like inserting invalid dates etc. +#sql_mode = NO_ENGINE_SUBSTITUTION,TRADITIONAL # # * InnoDB # # InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/. # Read the manual for more InnoDB related options. There are many! +default_storage_engine = InnoDB +# you can't just change log file size, requires special procedure +#innodb_log_file_size = 50M +innodb_buffer_pool_size = 256M +innodb_log_buffer_size = 8M +innodb_file_per_table = 1 +innodb_open_files = 400 +innodb_io_capacity = 400 +innodb_flush_method = O_DIRECT # # * Security Features # @@ -117,17 +149,26 @@ max_binlog_size = 1G # ssl-ca=/etc/mysql/cacert.pem # ssl-cert=/etc/mysql/server-cert.pem # ssl-key=/etc/mysql/server-key.pem -innodb_data_file_path = ibdata1:128M:autoextend -innodb_file_per_table = 1 -skip-innodb_doublewrite -innodb_additional_mem_pool_size = 12M -innodb_buffer_pool_size = 256M -innodb_log_buffer_size = 8M -innodb_log_file_size = 8M -innodb_flush_log_at_trx_commit = 0 -innodb_flush_method = O_DIRECT -innodb_support_xa = OFF +# +# * Galera-related settings +# +[galera] +# Mandatory settings +#wsrep_on=ON +#wsrep_provider= +#wsrep_cluster_address= +#binlog_format=row +#default_storage_engine=InnoDB +#innodb_autoinc_lock_mode=2 +# +# Allow server to accept connections on all interfaces. +# +bind-address=0.0.0.0 +# +# Optional setting +#wsrep_slave_threads=1 +#innodb_flush_log_at_trx_commit=0 [mysqldump] quick @@ -135,7 +176,7 @@ quote-names max_allowed_packet = 16M [mysql] -#no-auto-rehash # faster start of mysql but no tab completition +#no-auto-rehash # faster start of mysql but no tab completion [isamchk] key_buffer = 16M @@ -144,4 +185,5 @@ key_buffer = 16M # * IMPORTANT: Additional settings that can override those from this file! # The files must end with '.cnf', otherwise they'll be ignored. # -!includedir /etc/mysql/conf.d/ +!include /etc/mysql/mariadb.cnf +!includedir /etc/mysql/conf.d/ \ No newline at end of file From 2e2d70635e795b0d0137770f15a1a7454ae7e0a0 Mon Sep 17 00:00:00 2001 From: "Michael (Parker) Parker" Date: Thu, 13 Jun 2019 10:46:29 -0400 Subject: [PATCH 035/413] 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 036/413] 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 828fc19bb47b29266971f77cae8f3cc70d023eed Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sun, 16 Jun 2019 08:10:10 -0400 Subject: [PATCH 037/413] add bind address --- database/mariadb/my.cnf | 1 + 1 file changed, 1 insertion(+) diff --git a/database/mariadb/my.cnf b/database/mariadb/my.cnf index 643d9474..3049c1bb 100644 --- a/database/mariadb/my.cnf +++ b/database/mariadb/my.cnf @@ -44,6 +44,7 @@ skip-external-locking # # Instead of skip-networking the default is now to listen only on # localhost which is more compatible and is not less secure. +bind-address=0.0.0.0 # # * Fine Tuning # From c5c37061b8436676512ca52f134d40183e983b08 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sun, 16 Jun 2019 08:15:13 -0400 Subject: [PATCH 038/413] 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 039/413] 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 040/413] 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 041/413] 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 042/413] 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 86ded9ddb375738677904ca83bb0560f0b05ef04 Mon Sep 17 00:00:00 2001 From: Kurounin Date: Tue, 9 Jul 2019 07:33:35 +0300 Subject: [PATCH 043/413] Remove invalid utf8 character Remove the character \u201c90 from installation script which caused an error --- .../hlds_server/egg-custom-h-l-d-s-engine-game.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 index 040c47a3..3cfe1a7a 100644 --- 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 @@ -17,7 +17,7 @@ }, "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", + "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 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" } @@ -60,4 +60,4 @@ "rules": "required|numeric|digits_between:1,5" } ] -} \ No newline at end of file +} From 923fa940e671bb45eeb3ecf0b5a56f3820191c61 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Tue, 9 Jul 2019 23:34:37 -0400 Subject: [PATCH 044/413] 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 045/413] 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 046/413] 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" } From 195513ff14d18b5dcbd8d833fd43c98db632baa6 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Fri, 12 Jul 2019 16:30:46 -0400 Subject: [PATCH 047/413] update the force enhanced install script This is a fix for the install script for forge. --- minecraft_java/forge/forge-generic/egg-forge-enhanced.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/minecraft_java/forge/forge-generic/egg-forge-enhanced.json b/minecraft_java/forge/forge-generic/egg-forge-enhanced.json index 9b30a67d..3c47856e 100644 --- a/minecraft_java/forge/forge-generic/egg-forge-enhanced.json +++ b/minecraft_java/forge/forge-generic/egg-forge-enhanced.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-06-16T08:09:35-04:00", + "exported_at": "2019-07-12T16:29:11-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.", @@ -17,7 +17,7 @@ }, "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", + "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 [ -z ${MC_VERSION} ]; then\r\n echo -e \"\"\r\nelse\r\n if [ ${MC_VERSION} == \"1.7.10\" ] || [ ${MC_VERSION} == \"1.8.9\" ]; then\r\n echo -e \"correcting forge version to ${FORGE_VERSION}-${MC_VERSION}\"\r\n\t FORGE_VERSION=\"${FORGE_VERSION}-${MC_VERSION}\"\r\n fi\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\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 ${FORGE_VERSION}\"\r\ncurl -o installer.jar -sS https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/${FORGE_VERSION}\/forge-${FORGE_VERSION}-installer.jar\r\ncurl -o $SERVER_JARFILE -sS https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/${FORGE_VERSION}\/forge-${FORGE_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 ${FORGE_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" } From 61b73bb70137668c283c71cd86ef9c41d2b28cff Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Fri, 12 Jul 2019 16:34:03 -0400 Subject: [PATCH 048/413] update for the fivem installer I have added a required variable for the fivem version This is needed to pull the correct version of fivem from the artifact repo. --- gta/fivem/egg-five-m.json | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/gta/fivem/egg-five-m.json b/gta/fivem/egg-five-m.json index 1ecddd69..4d526bf8 100644 --- a/gta/fivem/egg-five-m.json +++ b/gta/fivem/egg-five-m.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-02-20T16:46:04-05:00", + "exported_at": "2019-07-12T16:32:34-04:00", "name": "FiveM", "author": "parker@parkervcp.com", "description": "A new FiveM egg for the latest builds due to recent changes in FiveM", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/ash \r\n\r\napk add openssl tar xz curl wget git --no-cache\r\n\r\ncd \/mnt\/server\r\n\r\nmkdir resources\r\n\r\necho \"updating citizenfx resource files\"\r\ngit clone https:\/\/github.com\/citizenfx\/cfx-server-data.git \/tmp\r\ncp -Rf \/tmp\/resources\/* resources\/ \r\n\r\ncd \/mnt\/server\r\n\r\necho \"Downloading the latest fivem server files\"\r\nlatest_fivem_url=`curl https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/ | grep -Eo 'href=\".*\/\"' | grep -Eo '\".*\"' | grep -Eo 'href=\".*\/\"' | grep -Eo '\".*\"' | sed 's\/\\\"\/\/g'`\r\n\r\necho -e \"pulling files from https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/${latest_fivem_url}fx.tar.xz\"\r\nwget https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/${latest_fivem_url}fx.tar.xz\r\n\r\necho \"Extracting fivem files\"\r\n\r\ntar xf fx.tar.xz\r\n\r\nrm -rf fx.tar.xz run.sh\r\n\r\nif [ -e server.cfg ]; then\r\n echo \"server config file exists\"\r\nelse\r\n echo \"Downloading default fivem config\"\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/gta\/fivem\/server.cfg >> server.cfg\r\nfi\r\n\r\nmkdir logs\/\r\n\r\necho \"install complete\"", + "script": "#!\/bin\/ash \r\n\r\napk add openssl tar xz curl wget git --no-cache\r\n\r\ncd \/mnt\/server\r\n\r\nmkdir resources\r\n\r\necho \"updating citizenfx resource files\"\r\ngit clone https:\/\/github.com\/citizenfx\/cfx-server-data.git \/tmp\r\ncp -Rf \/tmp\/resources\/* resources\/ \r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"pulling files from https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/${latest_fivem_url}fx.tar.xz\"\r\nwget https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/${FIVEM_VERSION}fx.tar.xz\r\n\r\necho \"Extracting fivem files\"\r\n\r\ntar xf fx.tar.xz\r\n\r\nrm -rf fx.tar.xz run.sh\r\n\r\nif [ -e server.cfg ]; then\r\n echo \"server config file exists\"\r\nelse\r\n echo \"Downloading default fivem config\"\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/gta\/fivem\/server.cfg >> server.cfg\r\nfi\r\n\r\nmkdir logs\/\r\n\r\necho \"install complete\"", "container": "alpine:3.9", "entrypoint": "ash" } @@ -36,10 +36,10 @@ "name": "Max Players", "description": "Set the fivem max play count", "env_variable": "MAX_PLAYERS", - "default_value": "32", + "default_value": "30", "user_viewable": 1, "user_editable": 0, - "rules": "required|integer|between:1,32" + "rules": "required|integer|between:1,31" }, { "name": "Server Hostname", @@ -49,6 +49,15 @@ "user_viewable": 1, "user_editable": 1, "rules": "required|string" + }, + { + "name": "fivem version", + "description": "The fivem version that is to be installed.\r\n\r\nan example is `1383-e5ea040353ce1b8bc86e37982bf5d888938e3096`\r\n\r\nYou can the latest version from here - https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/", + "env_variable": "FIVEM_VERSION", + "default_value": "", + "user_viewable": 1, + "user_editable": 0, + "rules": "required|string|max:50" } ] } \ No newline at end of file From dbe4ffe9b7b59dbbeb80d34c25105a62de590fdb Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sat, 13 Jul 2019 15:14:16 -0400 Subject: [PATCH 049/413] update the fivem installscript to resolve $246 old script pulled the version with the trailing slash. need to add it back in. --- gta/fivem/egg-five-m.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gta/fivem/egg-five-m.json b/gta/fivem/egg-five-m.json index 4d526bf8..88584452 100644 --- a/gta/fivem/egg-five-m.json +++ b/gta/fivem/egg-five-m.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-07-12T16:32:34-04:00", + "exported_at": "2019-07-13T15:13:03-04:00", "name": "FiveM", "author": "parker@parkervcp.com", "description": "A new FiveM egg for the latest builds due to recent changes in FiveM", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/ash \r\n\r\napk add openssl tar xz curl wget git --no-cache\r\n\r\ncd \/mnt\/server\r\n\r\nmkdir resources\r\n\r\necho \"updating citizenfx resource files\"\r\ngit clone https:\/\/github.com\/citizenfx\/cfx-server-data.git \/tmp\r\ncp -Rf \/tmp\/resources\/* resources\/ \r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"pulling files from https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/${latest_fivem_url}fx.tar.xz\"\r\nwget https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/${FIVEM_VERSION}fx.tar.xz\r\n\r\necho \"Extracting fivem files\"\r\n\r\ntar xf fx.tar.xz\r\n\r\nrm -rf fx.tar.xz run.sh\r\n\r\nif [ -e server.cfg ]; then\r\n echo \"server config file exists\"\r\nelse\r\n echo \"Downloading default fivem config\"\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/gta\/fivem\/server.cfg >> server.cfg\r\nfi\r\n\r\nmkdir logs\/\r\n\r\necho \"install complete\"", + "script": "#!\/bin\/ash \r\n\r\napk add openssl tar xz curl wget git --no-cache\r\n\r\ncd \/mnt\/server\r\n\r\nmkdir resources\r\n\r\necho \"updating citizenfx resource files\"\r\ngit clone https:\/\/github.com\/citizenfx\/cfx-server-data.git \/tmp\r\ncp -Rf \/tmp\/resources\/* resources\/ \r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"pulling files from https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/${FIVEM_VERSION}\/fx.tar.xz\"\r\nwget https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/${FIVEM_VERSION}\/fx.tar.xz\r\n\r\necho \"Extracting fivem files\"\r\n\r\ntar xf fx.tar.xz\r\n\r\nrm -rf fx.tar.xz run.sh\r\n\r\nif [ -e server.cfg ]; then\r\n echo \"server config file exists\"\r\nelse\r\n echo \"Downloading default fivem config\"\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/gta\/fivem\/server.cfg >> server.cfg\r\nfi\r\n\r\nmkdir logs\/\r\n\r\necho \"install complete\"", "container": "alpine:3.9", "entrypoint": "ash" } From cada795dbfcbff267c8b5baa8b54b0fc5860061f Mon Sep 17 00:00:00 2001 From: Isaac A <6174343+tenten8401@users.noreply.github.com> Date: Sun, 14 Jul 2019 10:41:31 -0400 Subject: [PATCH 050/413] Add "Modern" RocketMod Egg, Fixes #172 Uses dedicated Unturned server in 64-bit mode in egg and install script --- unturned/rocketmod/egg-rocket-mod-modern.json | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 unturned/rocketmod/egg-rocket-mod-modern.json diff --git a/unturned/rocketmod/egg-rocket-mod-modern.json b/unturned/rocketmod/egg-rocket-mod-modern.json new file mode 100644 index 00000000..2583951b --- /dev/null +++ b/unturned/rocketmod/egg-rocket-mod-modern.json @@ -0,0 +1,26 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2019-07-14T14:37:31+00:00", + "name": "RocketMod Modern", + "author": "isaac@isaacs.site", + "description": "The RocketMod server mod for Unturned.", + "image": "registry.gitlab.com\/tenten8401\/pterodactyl-unturned:modern", + "startup": "mono RocketLauncher.exe unturned", + "config": { + "files": "{\r\n \"Servers\/unturned\/Server\/Commands.dat\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"Port\": \"Port {{server.build.default.port}}\"\r\n }\r\n }\r\n}", + "startup": "{\r\n \"done\": \"Loading level: 100%\",\r\n \"userInteraction\": []\r\n}", + "logs": "{\r\n \"custom\": true,\r\n \"location\": \"latest.log\"\r\n}", + "stop": "shutdown" + }, + "scripts": { + "installation": { + "script": "apt update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates telnet ssh xvfb\r\n\r\ncd \/tmp\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\n\r\nmkdir -p \/mnt\/server\/steam\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steam\r\ncd \/mnt\/server\/steam\r\n\r\nchown -R root:root \/mnt\r\n.\/steamcmd.sh +@sSteamCmdForcePlatformBitness 64 +login anonymous +app_update 1110390 +force_install_dir \/mnt\/server +quit\r\n\r\nmkdir -p \/mnt\/server\/Servers\/unturned\/Server\r\necho \"Port 27015\" > \/mnt\/server\/Servers\/unturned\/Server\/Commands.dat\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": [] +} \ No newline at end of file From 058aab692fd1a472fe093e502159c8a4fc2058c7 Mon Sep 17 00:00:00 2001 From: Isaac A <6174343+tenten8401@users.noreply.github.com> Date: Sun, 14 Jul 2019 10:43:28 -0400 Subject: [PATCH 051/413] Rename Current RocketMod to Old --- .../rocketmod/{egg-rocketmod.json => egg-rocketmod-old.json} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename unturned/rocketmod/{egg-rocketmod.json => egg-rocketmod-old.json} (98%) diff --git a/unturned/rocketmod/egg-rocketmod.json b/unturned/rocketmod/egg-rocketmod-old.json similarity index 98% rename from unturned/rocketmod/egg-rocketmod.json rename to unturned/rocketmod/egg-rocketmod-old.json index acaf657f..5c5c3243 100644 --- a/unturned/rocketmod/egg-rocketmod.json +++ b/unturned/rocketmod/egg-rocketmod-old.json @@ -4,7 +4,7 @@ "version": "PTDL_v1" }, "exported_at": "2018-04-27T21:30:05+00:00", - "name": "RocketMod", + "name": "RocketMod Old", "author": "isaac@isaacs.site", "description": "The RocketMod server mod for Unturned.", "image": "registry.gitlab.com\/tenten8401\/pterodactyl-unturned", @@ -51,4 +51,4 @@ "rules": "nullable|string" } ] -} \ No newline at end of file +} From 142fad2979bd4794c1d51c5c46e68e0387f288e8 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sun, 14 Jul 2019 20:05:50 -0400 Subject: [PATCH 052/413] add velocity.toml --- minecraft_proxy/velocity/velocity.toml | 106 +++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 minecraft_proxy/velocity/velocity.toml diff --git a/minecraft_proxy/velocity/velocity.toml b/minecraft_proxy/velocity/velocity.toml new file mode 100644 index 00000000..1221a696 --- /dev/null +++ b/minecraft_proxy/velocity/velocity.toml @@ -0,0 +1,106 @@ +# Config version. Do not change this +config-version = "1.0" + +# What port should the proxy be bound to? By default, we'll bind to all addresses on port 25577. +bind = "0.0.0.0:25577" + +# What should be the MOTD? This gets displayed when the player adds your server to +# their server list. Legacy color codes and JSON are accepted. +motd = "&3A Velocity Server" + +# What should we display for the maximum number of players? (Velocity does not support a cap +# on the number of players online.) +show-max-players = 500 + +# Should we authenticate players with Mojang? By default, this is on. +online-mode = true + +# Should we forward IP addresses and other data to backend servers? +# Available options: +# - "none": No forwarding will be done. All players will appear to be connecting from the +# proxy and will have offline-mode UUIDs. +# - "legacy": Forward player IPs and UUIDs in a BungeeCord-compatible format. Use this if +# you run servers using Minecraft 1.12 or lower. +# - "modern": Forward player IPs and UUIDs as part of the login process using Velocity's +# native forwarding. Only applicable for Minecraft 1.13 or higher. +player-info-forwarding-mode = "NONE" + +# If you are using modern IP forwarding, configure an unique secret here. +forwarding-secret = "FrP42MxySW6Y" + +# Announce whether or not your server supports Forge. If you run a modded server, we +# suggest turning this on. +announce-forge = false + +[servers] +# Configure your servers here. Each key represents the server's name, and the value +# represents the IP address of the server to connect to. +lobby = "127.0.0.1:30066" +minigames = "127.0.0.1:30068" +factions = "127.0.0.1:30067" + +# In what order we should try servers when a player logs in or is kicked from aserver. +try = [ + "lobby" +] + +[forced-hosts] +# Configure your forced hosts here. +"minigames.example.com" = [ + "minigames" +] +"lobby.example.com" = [ + "lobby" +] +"factions.example.com" = [ + "factions" +] + +[advanced] +# How large a Minecraft packet has to be before we compress it. Setting this to zero will +# compress all packets, and setting it to -1 will disable compression entirely. +compression-threshold = 256 + +# How much compression should be done (from 0-9). The default is -1, which uses the +# default level of 6. +compression-level = -1 + +# How fast (in milliseconds) are clients allowed to connect after the last connection? By +# default, this is three seconds. Disable this by setting this to 0. +login-ratelimit = 3000 + +# Specify a custom timeout for connection timeouts here. The default is five seconds. +connection-timeout = 5000 + +# Specify a read timeout for connections here. The default is 30 seconds. +read-timeout = 30000 + +# Enables compatibility with HAProxy. +proxy-protocol = false + +[query] +# Whether to enable responding to GameSpy 4 query responses or not. +enabled = false + +# If query is enabled, on what port should the query protocol listen on? +port = 25577 + +# This is the map name that is reported to the query services. +map = "Velocity" + +# Whether plugins should be shown in query response by default or not +show-plugins = false + +[metrics] +# Whether metrics will be reported to bStats (https://bstats.org). +# bStats collects some basic information, like how many people use Velocity and their +# player count. We recommend keeping bStats enabled, but if you're not comfortable with +# this, you can turn this setting off. There is no performance penalty associated with +# having metrics enabled, and data sent to bStats can't identify your server. +enabled = true + +# A unique, anonymous ID to identify this proxy with. +id = "b12f2e77-133c-4a5f-b288-d8833be3dc4d" + +log-failure = false + From 5dbe1f08825a1c0d987c8898cdda0a368b19a99a Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sun, 14 Jul 2019 20:40:46 -0400 Subject: [PATCH 053/413] Add the velocity mc proxy --- minecraft_proxy/velocity/egg-velocity.json | 45 ++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 minecraft_proxy/velocity/egg-velocity.json diff --git a/minecraft_proxy/velocity/egg-velocity.json b/minecraft_proxy/velocity/egg-velocity.json new file mode 100644 index 00000000..7bfb6a83 --- /dev/null +++ b/minecraft_proxy/velocity/egg-velocity.json @@ -0,0 +1,45 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2019-07-14T20:36:29-04:00", + "name": "Velocity", + "author": "parker@parkervcp.com", + "description": "Velocity is a Minecraft server proxy with unparalleled server support, scalability, and flexibility.", + "image": "quay.io\/pterodactyl\/core:java", + "startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}", + "config": { + "files": "{\r\n \"velocity.toml\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"bind = \": \"bind = \\\"0.0.0.0:{{server.build.default.port}}\\\"\"\r\n }\r\n }\r\n}", + "startup": "{\r\n \"done\": \"Done (\"\r\n}", + "logs": "{}", + "stop": "shutdown" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/ash\r\n# Velocity Proxy Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\napk add --no-cache curl\r\n\r\nmkdir -p \/mnt\/server\/\r\n\r\ncd \/mnt\/server\/\r\n\r\nif [ -z ${VELOCITY_VERSION} ] || [ ${VELOCITY_VERSION} == \"latest\" ]; then\r\n\tVELOCITY_VERSION=\/lastStableBuild\r\nfi\r\n\r\necho -e \"Getting download link\"\r\nDOWNLOAD_ENDPOINT=$(curl https:\/\/ci.velocitypowered.com\/job\/velocity\/${VELOCITY_VERSION}\/ | grep -Eo 'href=\"[^\\\"]+\"' | grep -vE \"view|fingerprint\" | grep \".jar\" | sed -n 's\/.*href=\"\\([^\"]*\\).*\/\\1\/p')\r\nDOWNLOAD_LINK=https:\/\/ci.velocitypowered.com\/job\/velocity\/lastStableBuild\/${DOWNLOAD_ENDPOINT}\r\n\r\necho -e \"Downloading ${DOWNLOAD_LINK}\"\r\ncurl ${DOWNLOAD_LINK} -o ${SERVER_JARFILE}\r\n\r\nif [ -f velocity.toml ]; then\r\n echo -e \"velocity config file exists\"\r\nelse\r\n echo -e \"downloading velocity config file.\"\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft_proxy\/velocity\/velocity.toml -o velocity.toml\r\nfi\r\n\r\necho -e \"install complete\"", + "container": "alpine:3.10", + "entrypoint": "ash" + } + }, + "variables": [ + { + "name": "Velocity Version", + "description": "The Velocity Proxy version to download.\r\n\r\nset to 'latest ' the download the last stable build.", + "env_variable": "VELOCITY_VERSION", + "default_value": "latest", + "user_viewable": 1, + "user_editable": 0, + "rules": "required|string|max:20" + }, + { + "name": "Server Jar File", + "description": "Server Jar File name", + "env_variable": "SERVER_JARFILE", + "default_value": "velocity.jar", + "user_viewable": 1, + "user_editable": 0, + "rules": "required|string|max:20" + } + ] +} \ No newline at end of file From 3f8dc64647d9521828d0fa9c9a5193e769df3042 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sun, 14 Jul 2019 20:56:42 -0400 Subject: [PATCH 054/413] update/add readme's Update the core readme to add velocity. Add a readme for velocity to the folder. --- README.md | 1 + minecraft_proxy/velocity/README.md | 10 ++++++++++ 2 files changed, 11 insertions(+) create mode 100644 minecraft_proxy/velocity/README.md diff --git a/README.md b/README.md index 4193e16d..6cab2958 100644 --- a/README.md +++ b/README.md @@ -76,6 +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/) +* [Velocity](/minecraft_proxy/velocity/) [Mount & Blade Warband](/mount_and_blade/warband/) diff --git a/minecraft_proxy/velocity/README.md b/minecraft_proxy/velocity/README.md new file mode 100644 index 00000000..c1c794dc --- /dev/null +++ b/minecraft_proxy/velocity/README.md @@ -0,0 +1,10 @@ +# Velocity Minecraft Proxy +Velocity is a Minecraft server proxy with unparalleled server support, scalability, and flexibility. + +## 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 | \ No newline at end of file From e55be4bb137fac3adc0da3e3bcd2ada8afceba81 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Mon, 15 Jul 2019 23:06:03 -0400 Subject: [PATCH 055/413] add TyphoonLimbo This will resolve #226 Add the typhoon limbo server --- README.md | 1 + minecraft_proxy/typhoonlimbo/README.md | 10 +++++++ .../typhoonlimbo/egg-typhoon-limbo.json | 26 +++++++++++++++++++ 3 files changed, 37 insertions(+) create mode 100644 minecraft_proxy/typhoonlimbo/README.md create mode 100644 minecraft_proxy/typhoonlimbo/egg-typhoon-limbo.json diff --git a/README.md b/README.md index 4193e16d..81104b4e 100644 --- a/README.md +++ b/README.md @@ -76,6 +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/) +* [TyphoonLimbo](/minecraft_proxy/typhoonlimbo/) [Mount & Blade Warband](/mount_and_blade/warband/) diff --git a/minecraft_proxy/typhoonlimbo/README.md b/minecraft_proxy/typhoonlimbo/README.md new file mode 100644 index 00000000..697210e2 --- /dev/null +++ b/minecraft_proxy/typhoonlimbo/README.md @@ -0,0 +1,10 @@ +# TyphoonLimbo server +Lightweight minecraft limbo server + +## 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 | \ No newline at end of file diff --git a/minecraft_proxy/typhoonlimbo/egg-typhoon-limbo.json b/minecraft_proxy/typhoonlimbo/egg-typhoon-limbo.json new file mode 100644 index 00000000..b24d5d72 --- /dev/null +++ b/minecraft_proxy/typhoonlimbo/egg-typhoon-limbo.json @@ -0,0 +1,26 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2019-07-15T23:01:54-04:00", + "name": "TyphoonLimbo", + "author": "parker@parkervcp.com", + "description": "Lightweight minecraft limbo server", + "image": "quay.io\/parkervcp\/pterodactyl-images:base_alpine", + "startup": "`sleep 2 && .\/TyphoonLimbo`", + "config": { + "files": "{\r\n \"config.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"listen_address\": \":{{server.build.default.port}}\"\r\n }\r\n }\r\n}", + "startup": "{\r\n \"done\": \"launched on port\"\r\n}", + "logs": "{}", + "stop": "^C" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/ash\r\n# TyphoonLimbo Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nexport GOPATH=$HOME\/go\r\nexport PATH=$GOROOT\/bin:$GOPATH\/bin:$PATH\r\n\r\napk add --no-cache --update git curl\r\n\r\ncd \/tmp\/\r\n\r\necho \"pulling the TyphoonLimbo pterodactyl branch\"\r\n\r\ngit clone https:\/\/github.com\/TyphoonMC\/TyphoonLimbo.git\r\ncd TyphoonLimbo\r\n\r\ngo get github.com\/TyphoonMC\/TyphoonCore\r\n\r\necho -e \"building TyphoonLimbo\"\r\ngo build\r\n\r\nmv TyphoonLimbo \/mnt\/server\/\r\n\r\nif [ -f \/mnt\/server\/config.json ]; then\r\n\techo -e \"config exists nothing to do\"\r\nelse\r\n\techo -e \"copying default config over\"\r\n\tcp config.json \/mnt\/server\/\r\nfi\r\n\r\necho -e \"install complete\"", + "container": "golang:1.12-alpine", + "entrypoint": "ash" + } + }, + "variables": [] +} \ No newline at end of file From a9a5b94efb5e450d584ab1a33efcaef9c885370d Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sun, 21 Jul 2019 20:36:21 -0400 Subject: [PATCH 056/413] update samp to use the new docker iamge This is to resolve #253 --- gta/samp/egg-s-a--m-p.json | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 gta/samp/egg-s-a--m-p.json diff --git a/gta/samp/egg-s-a--m-p.json b/gta/samp/egg-s-a--m-p.json new file mode 100644 index 00000000..090a4511 --- /dev/null +++ b/gta/samp/egg-s-a--m-p.json @@ -0,0 +1,26 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2019-07-21T20:35:32-04:00", + "name": "SA-MP", + "author": "bl4ckspr4y@protonmail.com", + "description": "SA-MP is a free Massively Multiplayer Online game mod for the PC version of Rockstar Games Grand Theft Auto: San Andreas (tm).", + "image": "quay.io\/parkervcp\/pterodactyl-images:game_samp", + "startup": ".\/samp03svr", + "config": { + "files": "{\r\n \"server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"port\": \"port {{server.build.default.port}}\"\r\n }\r\n }\r\n}", + "startup": "{\r\n \"done\": \"Started server on port: \",\r\n \"userInteraction\": []\r\n}", + "logs": "{\r\n \"custom\": true,\r\n \"location\": \"samp.log\"\r\n}", + "stop": "^C" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash\r\napt -y update\r\napt -y --no-install-recommends install curl unzip lib32gcc1 ca-certificates\r\n\r\ncd \/tmp\r\ncurl -sSL -o samp.tar.gz http:\/\/files.sa-mp.com\/samp037svr_R2-1.tar.gz\r\n\r\nmkdir -p \/mnt\/server\r\ntar -xzvf samp.tar.gz -C \/mnt\/server\/\r\ncp -r \/mnt\/server\/samp03\/* \/mnt\/server\r\nrm -rf \/mnt\/server\/samp03\/\r\ncd \/mnt\/server\r\nsed -i '3d' \/mnt\/server\/server.cfg\r\necho \"rcon_password changemeplease\" >> \/mnt\/server\/server.cfg\r\n\r\nchown -R root:root \/mnt\r\n\r\nexport HOME=\/mnt\/server", + "container": "ubuntu:16.04", + "entrypoint": "bash" + } + }, + "variables": [] +} \ No newline at end of file From 52c5c6d4b2757279f94280dac3f97e13dc5fdf72 Mon Sep 17 00:00:00 2001 From: Kurounin Date: Mon, 22 Jul 2019 22:38:47 +0300 Subject: [PATCH 057/413] app_set_config 90 --- source_servers/hlds_server/egg-custom-h-l-d-s-engine-game.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 index 3cfe1a7a..173dc848 100644 --- 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 @@ -17,7 +17,7 @@ }, "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 mod ${HLDS_GAME} +quit\r\n\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so", + "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 90 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" } From 38a01b229711405ee157819388ff4866bf6e96ef Mon Sep 17 00:00:00 2001 From: Kurounin Date: Tue, 23 Jul 2019 09:49:26 +0300 Subject: [PATCH 058/413] Add MAX_PLAYERS variable --- .../hlds_server/egg-custom-h-l-d-s-engine-game.json | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) 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 index 173dc848..692c7aa6 100644 --- 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 @@ -8,7 +8,7 @@ "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", + "startup": ".\/hlds_run -console -game {{HLDS_GAME}} -port {{SERVER_PORT}} -sport {{VAC_PORT}} +map {{SRCDS_MAP}} +maxplayers {{MAX_PLAYERS}} +ip 0.0.0.0 -strictportbind -norestart", "config": { "files": "{}", "startup": "{\r\n \"done\": \"Connection to Steam servers successful\",\r\n \"userInteraction\": []\r\n}", @@ -58,6 +58,15 @@ "user_viewable": 1, "user_editable": 0, "rules": "required|numeric|digits_between:1,5" + }, + { + "name": "Max Players", + "description": "Maximum amount of players that can connect to the server.", + "env_variable": "MAX_PLAYERS", + "default_value": "18", + "user_viewable": 1, + "user_editable": 0, + "rules": "required|numeric|digits_between:1,2" } ] } From b7f4a0ec8fbc4459517abf8159dc2ec9d17e37bd Mon Sep 17 00:00:00 2001 From: Kurounin Date: Tue, 23 Jul 2019 15:58:09 +0300 Subject: [PATCH 059/413] Revert commit to add MAX_PLAYERS --- .../hlds_server/egg-custom-h-l-d-s-engine-game.json | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) 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 index 692c7aa6..173dc848 100644 --- 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 @@ -8,7 +8,7 @@ "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}} +maxplayers {{MAX_PLAYERS}} +ip 0.0.0.0 -strictportbind -norestart", + "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}", @@ -58,15 +58,6 @@ "user_viewable": 1, "user_editable": 0, "rules": "required|numeric|digits_between:1,5" - }, - { - "name": "Max Players", - "description": "Maximum amount of players that can connect to the server.", - "env_variable": "MAX_PLAYERS", - "default_value": "18", - "user_viewable": 1, - "user_editable": 0, - "rules": "required|numeric|digits_between:1,2" } ] } From 2e4821114715c133667b3768fb61c77f06cc9b2b Mon Sep 17 00:00:00 2001 From: Michael <28601081+clrxbl@users.noreply.github.com> Date: Wed, 24 Jul 2019 10:07:12 +0200 Subject: [PATCH 060/413] Workaround for bugged console output --- minecraft_java/paper/egg-paper.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/minecraft_java/paper/egg-paper.json b/minecraft_java/paper/egg-paper.json index 05a8bfce..d8b95c96 100644 --- a/minecraft_java/paper/egg-paper.json +++ b/minecraft_java/paper/egg-paper.json @@ -8,7 +8,7 @@ "author": "parker@pterodactyl.io", "description": "High performance Spigot fork that aims to fix gameplay and mechanics inconsistencies.", "image": "quay.io\/parkervcp\/pterodactyl-images:debian_openjdk-8-jre", - "startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}", + "startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -Dterminal.jline=false -Dterminal.ansi=true -jar {{SERVER_JARFILE}}", "config": { "files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-ip\": \"0.0.0.0\",\r\n \"server-port\": \"{{server.build.default.port}}\",\r\n \"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}", @@ -60,4 +60,4 @@ "rules": "required|string|max:20" } ] -} \ No newline at end of file +} From 7f5684f21de1146a83eaf8bf1829dd98a2785834 Mon Sep 17 00:00:00 2001 From: "Michael (Parker) Parker" Date: Wed, 24 Jul 2019 10:02:58 -0400 Subject: [PATCH 061/413] update waterfall install script to resolve #260 --- minecraft_proxy/waterfall/egg-waterfall.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/minecraft_proxy/waterfall/egg-waterfall.json b/minecraft_proxy/waterfall/egg-waterfall.json index 68aa6ac4..b092cb4a 100644 --- a/minecraft_proxy/waterfall/egg-waterfall.json +++ b/minecraft_proxy/waterfall/egg-waterfall.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-03-02T21:19:50-05:00", + "exported_at": "2019-07-24T10:01:37-04:00", "name": "Waterfall", "author": "hostmaster@waterfallgaming.net", "description": "Waterfall is a fork of the well-known BungeeCord server teleportation suite.", @@ -17,8 +17,8 @@ }, "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\/waterfall | jq -r --arg VERSION $MINECRAFT_VERSION '.versions[] | IN($VERSION)' | grep true`\r\n LATEST_WATERFALL_VERSION=`curl -s https:\/\/papermc.io\/api\/v1\/waterfall | 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 waterfall version\"\r\n MINECRAFT_VERSION=${LATEST_WATERFALL_VERSION}\r\n fi\r\n \r\n BUILD_EXISTS=`curl -s https:\/\/papermc.io\/api\/v1\/waterfall\/${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\/waterfall\/${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\/waterfall\/${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\ncurl -o config.yml https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft_proxy\/waterfall\/config.yml", - "container": "alpine:3.9", + "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\/waterfall | jq -r --arg VERSION $MINECRAFT_VERSION '.versions[] | IN($VERSION)' | grep true`\r\n LATEST_WATERFALL_VERSION=`curl -s https:\/\/papermc.io\/api\/v1\/waterfall | 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 waterfall version\"\r\n MINECRAFT_VERSION=${LATEST_WATERFALL_VERSION}\r\n fi\r\n \r\n BUILD_EXISTS=`curl -s https:\/\/papermc.io\/api\/v1\/waterfall\/${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\/waterfall\/${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\/waterfall\/${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\nif [ ! -f config.yml ]; then\r\n echo -e \"Downloading waterfall config.yml\"\r\n curl -o config.yml https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft_proxy\/waterfall\/config.yml\r\nelse\r\n echo -e \"Waterfall config.yml exists. Will not pull a new file\"\r\nfi", + "container": "alpine:3.10", "entrypoint": "ash" } }, From b94afcd78145190c420e6d3d6b10b488c60aa3cd Mon Sep 17 00:00:00 2001 From: "Michael (Parker) Parker" Date: Thu, 25 Jul 2019 10:50:51 -0400 Subject: [PATCH 062/413] update sinusbot install script. --- bots/discord/sinusbot/egg-sinusbot.json | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/bots/discord/sinusbot/egg-sinusbot.json b/bots/discord/sinusbot/egg-sinusbot.json index c1805f68..fa050d60 100644 --- a/bots/discord/sinusbot/egg-sinusbot.json +++ b/bots/discord/sinusbot/egg-sinusbot.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-02-28T12:38:22-05:00", + "exported_at": "2019-07-25T10:48:45-04:00", "name": "Sinusbot", "author": "support@pterodactyl.io", "description": "Musicbot for Discord and Teamspeak.", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# Sinusbot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt -y update\r\napt -y --no-install-recommends install ca-certificates bzip2 wget tar curl\r\napt -q clean all\r\n\r\n#Create needed directories\r\nmkdir -p \/mnt\/server\/TeamSpeak3-Client-linux_amd64\/plugins\r\nmkdir \/mnt\/server\/youtube-dl\r\n\r\ncd \/mnt\/server\r\n\r\n#Download Sinusbot\r\nwget -qO - https:\/\/www.sinusbot.com\/dl\/sinusbot.current.tar.bz2 | tar xj\r\n\r\n#Install Sinusbot\r\nchmod +x sinusbot\r\ncp config.ini.dist config.ini\r\nsed -i \"s|^TS3Path.*|TS3Path = \\\"\/home\/container\/TeamSpeak3-Client-linux_amd64\/ts3client_linux_amd64\\\"|g\" config.ini\r\necho 'YoutubeDLPath = \"\/home\/container\/youtube-dl\/youtube-dl\"' >> config.ini\r\n#cp scripts scripts_org\r\n\r\n#Install Sinusbot plugin\r\ncp plugin\/libsoundbot_plugin.so TeamSpeak3-Client-linux_amd64\/plugins\r\n\r\n#Download TeamSpeak Client\r\nwget http:\/\/dl.4players.de\/ts\/releases\/${TS_VERSION}\/TeamSpeak3-Client-linux_amd64-${TS_VERSION}.run\r\n\r\n# Install TeamSpeak Client\r\nchmod 0755 TeamSpeak3-Client-linux_amd64*.run\r\n.\/TeamSpeak3-Client-linux_amd64*.run --tar xfv -C TeamSpeak3-Client-linux_amd64\r\nrm TeamSpeak3-Client-linux_amd64*.run\r\n# Remove glx-integration lib\r\nrm TeamSpeak3-Client-linux_amd64\/xcbglintegrations\/libqxcb-glx-integration.so\r\n\r\n#Download youtube-dl\r\ncd \/mnt\/server\/youtube-dl\r\nwget -q https:\/\/yt-dl.org\/downloads\/latest\/youtube-dl\r\nchmod a+rx youtube-dl", + "script": "#!\/bin\/bash\r\n# Sinusbot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt -y update\r\napt -y --no-install-recommends install ca-certificates bzip2 wget tar curl jq\r\napt -q clean all\r\n\r\n#Create needed directories\r\nmkdir -p \/mnt\/server\/TeamSpeak3-Client-linux_amd64\/plugins\r\nmkdir \/mnt\/server\/youtube-dl\r\n\r\ncd \/mnt\/server\r\n\r\n#Download Sinusbot\r\nwget -qO - https:\/\/www.sinusbot.com\/dl\/sinusbot.current.tar.bz2 | tar xj\r\n\r\n#Download Latest TeamSpeak Client\r\nTS_VERSION=$(curl https:\/\/teamspeak.com\/versions\/client.json | jq -r '.linux.x86_64.version')\r\nTS_DL_LINK=$(curl https:\/\/teamspeak.com\/versions\/client.json | jq -r '.linux.x86_64.mirrors.\"teamspeak.com\"')\r\n\r\necho -e \"downloading teamspeak version ${TS_VERSION}\"\r\necho -e \"running 'wget ${TS_DL_LINK}'\"\r\n\r\nwget ${TS_DL_LINK}\r\n\r\n# Install TeamSpeak Client\r\nchmod 0755 TeamSpeak3-Client-linux_amd64*.run\r\n.\/TeamSpeak3-Client-linux_amd64*.run --tar xfv -C TeamSpeak3-Client-linux_amd64\r\n\r\n## Cleaning up \r\n\r\nrm TeamSpeak3-Client-linux_amd64*.run\r\n# Remove glx-integration lib\r\nrm TeamSpeak3-Client-linux_amd64\/xcbglintegrations\/libqxcb-glx-integration.so\r\n\r\n#Install Sinusbot\r\nchmod +x sinusbot\r\ncp config.ini.dist config.ini\r\nsed -i \"s|^TS3Path.*|TS3Path = \\\"\/home\/container\/TeamSpeak3-Client-linux_amd64\/ts3client_linux_amd64\\\"|g\" config.ini\r\necho 'YoutubeDLPath = \"\/home\/container\/youtube-dl\/youtube-dl\"' >> config.ini\r\n\r\n#Install Sinusbot plugin\r\ncp plugin\/libsoundbot_plugin.so TeamSpeak3-Client-linux_amd64\/plugins\r\n\r\n#Download youtube-dl\r\ncd \/mnt\/server\/youtube-dl\r\nwget -q https:\/\/yt-dl.org\/downloads\/latest\/youtube-dl\r\nchmod a+rx youtube-dl", "container": "ubuntu:18.04", "entrypoint": "bash" } @@ -31,15 +31,6 @@ "user_viewable": 1, "user_editable": 1, "rules": "required|string|max:20" - }, - { - "name": "Teamspeak version", - "description": "What version of teamspeak client to download", - "env_variable": "TS_VERSION", - "default_value": "3.2.2", - "user_viewable": 0, - "user_editable": 0, - "rules": "required|string|max:20" } ] } \ No newline at end of file From 42e98494a248d2a73b8ba68252bd3b904d9ea4e4 Mon Sep 17 00:00:00 2001 From: "Michael (Parker) Parker" Date: Thu, 25 Jul 2019 14:11:43 -0400 Subject: [PATCH 063/413] add auto update disable to 7dtd This is to resolve #255 add variable to disable auto_update move to using `quay.io/parkervcp/pterodactyl-images:ubuntu_source` as the image --- .../7_days_to_die/egg-7-days-to-die.json | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 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 49475dd8..4e9fcb36 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": "2019-06-02T19:20:57-04:00", + "exported_at": "2019-07-25T14:08:07-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", + "image": "quay.io\/parkervcp\/pterodactyl-images:ubuntu_source", "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": "{}", + "files": "{\r\n \"serverconfig.xml\": {\r\n \"parser\": \"xml\",\r\n \"find\": {\r\n \"ServerSettings.property name=\\\"ServerPort\\\"\": \"value=\\\"{{server.build.env.SERVER_PORT}}\\\"\"\r\n }\r\n }\r\n}", "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" @@ -49,6 +49,15 @@ "user_viewable": 0, "user_editable": 0, "rules": "required|string|max:20" + }, + { + "name": "Auto Update", + "description": "This is to auto update the server on start.\r\n\r\nOptions are 0 or 1\r\nDefault is 1", + "env_variable": "AUTO_UPDATE", + "default_value": "1", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|boolean" } ] } \ No newline at end of file From 655b505ce2b7cce6bbf2acc08be4236afb4ce09f Mon Sep 17 00:00:00 2001 From: Shane Hughes Date: Sat, 27 Jul 2019 19:35:18 -0400 Subject: [PATCH 064/413] fix for download/fix server buried in subdirectory --- .../forge/forge-mod-generic/egg-forge-generic.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/minecraft_java/forge/forge-mod-generic/egg-forge-generic.json b/minecraft_java/forge/forge-mod-generic/egg-forge-generic.json index 929da0be..e09c2dd2 100644 --- a/minecraft_java/forge/forge-mod-generic/egg-forge-generic.json +++ b/minecraft_java/forge/forge-mod-generic/egg-forge-generic.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-06-04T07:13:30-04:00", + "exported_at": "2019-07-23T19:59:03-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 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", + "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 ID=`curl -sl ${BASE_URL} | grep -i -A9 \"${MODPACK_VERSION}\" | grep -m 1 -oE 'href=\"[^\\\"]+\"' | cut -d \"\/\" -f6 | grep -oE [0-9]+`\r\n echo \"ID: ${ID}\"\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 -i $MODPACK_VERSION | 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=${MODPACK_URL}\/download\/${GOOD_ID}\/file\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 if [ -f \/mnt\/server\/*installer.jar ]; then\r\n java -jar *installer.jar --installServer\r\n else\r\n echo \"No forge installer found moving on.\"\r\n fi\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 if [ ! -f \/mnt\/server\/*universal.jar ]; then\r\n mv -v \/mnt\/server\/*\/* \/mnt\/server\/\r\n mv *universal.jar server.jar\r\n else\r\n mv *universal.jar server.jar\r\n fi\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" } @@ -36,10 +36,10 @@ "name": "Modpack Version", "description": "Version of the modpack to use.", "env_variable": "MODPACK_VERSION", - "default_value": "latest", + "default_value": "", "user_viewable": 1, "user_editable": 1, "rules": "required|string|max:20" } ] -} +} \ No newline at end of file From f300eb7b6a02f154629403371dcb630d21d351ef Mon Sep 17 00:00:00 2001 From: Shane Hughes Date: Sat, 27 Jul 2019 19:36:12 -0400 Subject: [PATCH 065/413] adding optional java parameters --- .../forge/forge-mod-generic/egg-forge-generic.json | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/minecraft_java/forge/forge-mod-generic/egg-forge-generic.json b/minecraft_java/forge/forge-mod-generic/egg-forge-generic.json index e09c2dd2..1dc8402a 100644 --- a/minecraft_java/forge/forge-mod-generic/egg-forge-generic.json +++ b/minecraft_java/forge/forge-mod-generic/egg-forge-generic.json @@ -8,7 +8,7 @@ "author": "parker@parkervcp.com", "description": "A generic egg for a forge modpack", "image": "quay.io\/pterodactyl\/core:java", - "startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar server.jar", + "startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M {{JAVA_PARAMETERS}} -jar server.jar", "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}", @@ -40,6 +40,15 @@ "user_viewable": 1, "user_editable": 1, "rules": "required|string|max:20" + }, + { + "name": "Java Parameters", + "description": "java parameters that are loaded in specific modpack", + "env_variable": "JAVA_PARAMETERS", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "string|max:280|nullable" } ] } \ No newline at end of file From 3041bac2de369c07c0544efbea427ec18c5a21bf Mon Sep 17 00:00:00 2001 From: shanehughes1990 Date: Tue, 30 Jul 2019 17:36:54 -0400 Subject: [PATCH 066/413] removing JAVA_PARAMETERS variable --- .../forge/forge-mod-generic/egg-forge-generic.json | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/minecraft_java/forge/forge-mod-generic/egg-forge-generic.json b/minecraft_java/forge/forge-mod-generic/egg-forge-generic.json index 1dc8402a..e09c2dd2 100644 --- a/minecraft_java/forge/forge-mod-generic/egg-forge-generic.json +++ b/minecraft_java/forge/forge-mod-generic/egg-forge-generic.json @@ -8,7 +8,7 @@ "author": "parker@parkervcp.com", "description": "A generic egg for a forge modpack", "image": "quay.io\/pterodactyl\/core:java", - "startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M {{JAVA_PARAMETERS}} -jar server.jar", + "startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar server.jar", "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}", @@ -40,15 +40,6 @@ "user_viewable": 1, "user_editable": 1, "rules": "required|string|max:20" - }, - { - "name": "Java Parameters", - "description": "java parameters that are loaded in specific modpack", - "env_variable": "JAVA_PARAMETERS", - "default_value": "", - "user_viewable": 1, - "user_editable": 1, - "rules": "string|max:280|nullable" } ] } \ No newline at end of file From 760e52a6ae0c6885c4275796ac3695b48bcafc44 Mon Sep 17 00:00:00 2001 From: Michael PArker Date: Thu, 1 Aug 2019 04:57:28 -0400 Subject: [PATCH 067/413] update paper egg Switch to using the core pterodactyl java. Also removed the server query port in the config section. --- minecraft_java/paper/egg-paper.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/minecraft_java/paper/egg-paper.json b/minecraft_java/paper/egg-paper.json index d8b95c96..60fde38e 100644 --- a/minecraft_java/paper/egg-paper.json +++ b/minecraft_java/paper/egg-paper.json @@ -3,14 +3,14 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-03-28T15:18:36-04:00", + "exported_at": "2019-08-01T04:49:37-04:00", "name": "Paper", "author": "parker@pterodactyl.io", "description": "High performance Spigot fork that aims to fix gameplay and mechanics inconsistencies.", - "image": "quay.io\/parkervcp\/pterodactyl-images:debian_openjdk-8-jre", + "image": "quay.io\/pterodactyl\/core:java", "startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -Dterminal.jline=false -Dterminal.ansi=true -jar {{SERVER_JARFILE}}", "config": { - "files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-ip\": \"0.0.0.0\",\r\n \"server-port\": \"{{server.build.default.port}}\",\r\n \"query.port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}", + "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" @@ -60,4 +60,4 @@ "rules": "required|string|max:20" } ] -} +} \ No newline at end of file From 79a47bfe88d86c8cd9883e8e49fd3468465518c0 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Mon, 12 Aug 2019 22:08:35 -0400 Subject: [PATCH 068/413] update to fix the xml parsing should resolve #279 --- source_servers/7_days_to_die/egg-7-days-to-die.json | 4 ++-- 1 file changed, 2 insertions(+), 2 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 4e9fcb36..dc2f7642 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": "2019-07-25T14:08:07-04:00", + "exported_at": "2019-08-12T22:06:45-04:00", "name": "7 Days To Die", "author": "kristoffer.norman@bahnhof.se", "description": "7 days to die server", "image": "quay.io\/parkervcp\/pterodactyl-images:ubuntu_source", "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 \"ServerSettings.property name=\\\"ServerPort\\\"\": \"value=\\\"{{server.build.env.SERVER_PORT}}\\\"\"\r\n }\r\n }\r\n}", + "files": "{\r\n \"serverconfig.xml\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"ServerPort\": \" Date: Mon, 12 Aug 2019 22:32:02 -0400 Subject: [PATCH 069/413] update issue templates. --- .github/ISSUE_TEMPLATE/bugs.md | 6 +++++- .github/ISSUE_TEMPLATE/request.md | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bugs.md b/.github/ISSUE_TEMPLATE/bugs.md index 8d0d4648..759830d8 100644 --- a/.github/ISSUE_TEMPLATE/bugs.md +++ b/.github/ISSUE_TEMPLATE/bugs.md @@ -4,7 +4,11 @@ about: Report an issue for an egg --- -Please fill out the information bellow and remove from the line up +# If you are seeing any of the following go to Discord and port your error in a support channel. + * `A fatal error was encountered while starting this server.` + * `No server egg configuration could be located; aborting startup.` + +Please fill out the information bellow and remove from the line up If you just submit a bug with no info I will close out your bug. --------------- diff --git a/.github/ISSUE_TEMPLATE/request.md b/.github/ISSUE_TEMPLATE/request.md index eb47a9bb..0de43824 100644 --- a/.github/ISSUE_TEMPLATE/request.md +++ b/.github/ISSUE_TEMPLATE/request.md @@ -14,6 +14,6 @@ Does this expand an already existing service: Y/N Link to game: (Ex. minecraft.net/factorio.com/etc) -Links for server downloads: +Links for server downloads: This needs to be an official link and not one that is hosted on somf forum page or a personal github page. Links for install steps/docs: \ No newline at end of file From 9e842f3e83a19e43e94a139c6dd46f385fba1f7b Mon Sep 17 00:00:00 2001 From: "Michael (Parker) Parker" Date: Wed, 14 Aug 2019 11:10:40 -0400 Subject: [PATCH 070/413] remove old samp egg --- gta/samp/egg-sa-mp.json | 26 -------------------------- 1 file changed, 26 deletions(-) delete mode 100644 gta/samp/egg-sa-mp.json diff --git a/gta/samp/egg-sa-mp.json b/gta/samp/egg-sa-mp.json deleted file mode 100644 index a3ff2f6b..00000000 --- a/gta/samp/egg-sa-mp.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", - "meta": { - "version": "PTDL_v1" - }, - "exported_at": "2018-02-25T21:32:57+02:00", - "name": "SA-MP", - "author": "bl4ckspr4y@protonmail.com", - "description": "SA-MP is a free Massively Multiplayer Online game mod for the PC version of Rockstar Games Grand Theft Auto: San Andreas (tm).", - "image": "quay.io\/parkervcp\/pterodactyl-images:samp", - "startup": ".\/samp03svr", - "config": { - "files": "{\r\n \"server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"port\": \"port {{server.build.default.port}}\"\r\n }\r\n }\r\n}", - "startup": "{\r\n \"done\": \"Started server on port: \",\r\n \"userInteraction\": []\r\n}", - "logs": "{\r\n \"custom\": true,\r\n \"location\": \"samp.log\"\r\n}", - "stop": "^C" - }, - "scripts": { - "installation": { - "script": "#!\/bin\/bash\r\napt -y update\r\napt -y --no-install-recommends install curl unzip lib32gcc1 ca-certificates\r\n\r\ncd \/tmp\r\ncurl -sSL -o samp.tar.gz http:\/\/files.sa-mp.com\/samp037svr_R2-1.tar.gz\r\n\r\nmkdir -p \/mnt\/server\r\ntar -xzvf samp.tar.gz -C \/mnt\/server\/\r\ncp -r \/mnt\/server\/samp03\/* \/mnt\/server\r\nrm -rf \/mnt\/server\/samp03\/\r\ncd \/mnt\/server\r\nsed -i '3d' \/mnt\/server\/server.cfg\r\necho \"rcon_password changemeplease\" >> \/mnt\/server\/server.cfg\r\n\r\nchown -R root:root \/mnt\r\n\r\nexport HOME=\/mnt\/server", - "container": "ubuntu:16.04", - "entrypoint": "bash" - } - }, - "variables": [] -} From 0c9541a4a958cf06c0c6893258f2a9cee1d6c68a Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sun, 18 Aug 2019 09:32:38 -0400 Subject: [PATCH 071/413] update pocketmine mp Use the new php7.3 tar from the pmmp build server --- minecraft_bedrock/pocketmine_mp/egg-pocketmine-m-p.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/minecraft_bedrock/pocketmine_mp/egg-pocketmine-m-p.json b/minecraft_bedrock/pocketmine_mp/egg-pocketmine-m-p.json index 613abb26..9989c575 100644 --- a/minecraft_bedrock/pocketmine_mp/egg-pocketmine-m-p.json +++ b/minecraft_bedrock/pocketmine_mp/egg-pocketmine-m-p.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2018-10-27T22:53:48-04:00", + "exported_at": "2019-08-18T09:29:46-04:00", "name": "PocketmineMP", "author": "info@swisscrafting.ch", "description": "Pocketmine Egg\r\nby onekintaro from swisscrafting.ch\r\nwith the nice help from #eggs Channel on Pterodactyl-Discord :)", @@ -17,8 +17,8 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/ash\r\n\r\napk add --no-cache curl\r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"\\n downloading pocketmine MP build ${PMMP_VERSION}\"\r\nif [ -z \"$PMMP_VERSION\" ] || [ \"$PMMP_VERSION\" == \"latest\" ]; then\r\n curl -sSL -o PocketMine-MP.phar https:\/\/jenkins.pmmp.io\/job\/PocketMine-MP\/Stable\/artifact\/PocketMine-MP.phar\r\nelse \r\n curl -sSL -o PocketMine-MP.phar https:\/\/jenkins.pmmp.io\/job\/PocketMine-MP\/${PMMP_VERSION}\/artifact\/PocketMine-MP.phar\r\nfi\r\n\r\necho -e \"\\n downloading latest php7 build from pocketmine\"\r\ncurl -sSL -o php.binary.tar.gz https:\/\/jenkins.pmmp.io\/job\/PHP-7.2-Linux-x86_64\/lastSuccessfulBuild\/artifact\/PHP_Linux-x86_64.tar.gz\r\n\r\necho -e \"\\n getting default server.properties\"\r\ncurl -sSL https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft_bedrock\/pocketmine_mp\/server.properties > server.properties\r\necho -e \"\\n unpacking php7 binaries\"\r\ntar -xzvf php.binary.tar.gz\r\necho -e \"\\n removing pvp7 packages\"\r\nrm -rf \/mnt\/server\/php.binary.tar.gz\r\n\r\necho -e \"\\n creating files and folders\"\r\ntouch banned-ips.tx banned-players.txt ops.txt white-list.txt server.log\r\nmkdir -p players worlds plugins resource_packs", - "container": "alpine:3.9", + "script": "#!\/bin\/ash\r\n\r\napk add --no-cache curl\r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"\\n downloading pocketmine MP build ${PMMP_VERSION}\"\r\nif [ -z \"$PMMP_VERSION\" ] || [ \"$PMMP_VERSION\" == \"latest\" ]; then\r\n curl -sSL -o PocketMine-MP.phar https:\/\/jenkins.pmmp.io\/job\/PocketMine-MP\/Stable\/artifact\/PocketMine-MP.phar\r\nelse \r\n curl -sSL -o PocketMine-MP.phar https:\/\/jenkins.pmmp.io\/job\/PocketMine-MP\/${PMMP_VERSION}\/artifact\/PocketMine-MP.phar\r\nfi\r\n\r\necho -e \"\\n downloading latest php7.3 build from pocketmine\"\r\ncurl -sSL -o php.binary.tar.gz https:\/\/jenkins.pmmp.io\/job\/PHP-7.3-Linux-x86_64\/lastSuccessfulBuild\/artifact\/PHP_Linux-x86_64.tar.gz\r\n\r\necho -e \"\\n getting default server.properties\"\r\ncurl -sSL https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/Minecraft%20PE\/PocketmineMP\/server.properties > server.properties\r\necho -e \"\\n unpacking php7 binaries\"\r\ntar -xzvf php.binary.tar.gz\r\necho -e \"\\n removing pvp7 packages\"\r\nrm -rf \/mnt\/server\/php.binary.tar.gz\r\n\r\necho -e \"\\n creating files and folders\"\r\ntouch banned-ips.tx banned-players.txt ops.txt white-list.txt server.log\r\nmkdir -p players worlds plugins resource_packs", + "container": "alpine:3.10", "entrypoint": "ash" } }, @@ -33,4 +33,4 @@ "rules": "required|string|max:20" } ] -} +} \ No newline at end of file From c330d3d21ca2b23563d718302964ee8dd9f85627 Mon Sep 17 00:00:00 2001 From: DomiiBunn <51760394+DomiiBunn@users.noreply.github.com> Date: Sun, 18 Aug 2019 21:06:15 +0200 Subject: [PATCH 072/413] Quick Fix for "Server Password" var. Removed the server password variable as the parser was not able to parse an empty string for the password. --- factorio/factorio/egg-factorio.json | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/factorio/factorio/egg-factorio.json b/factorio/factorio/egg-factorio.json index e5017803..34201ede 100644 --- a/factorio/factorio/egg-factorio.json +++ b/factorio/factorio/egg-factorio.json @@ -3,14 +3,14 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-02-26T21:01:31-05:00", + "exported_at": "2019-08-18T21:02:25+02:00", "name": "Factorio", "author": "parker@parkervcp.com", "description": "The vanilla Factorio server.\r\n\r\nhttps:\/\/www.factorio.com\/", "image": "quay.io\/parkervcp\/pterodactyl-images:glibc", "startup": ".\/bin\/x64\/factorio --port {{SERVER_PORT}} --server-settings data\/server-settings.json --start-server {{SAVE_NAME}}.zip", "config": { - "files": "{\r\n \"data\/server-settings.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"name\": \"{{server.build.env.SERVER_NAME}}\",\r\n \"description\": \"{{server.build.env.SERVER_DESC}}\",\r\n \"max_players\": \"{{server.build.env.MAX_SLOTS}}\",\r\n \"game_password\": \"{{server.build.env.SERVER_PASS}}\",\r\n \"username\": \"{{server.build.env.SERVER_USERNAME}}\",\r\n \"token\": \"{{server.build.env.SERVER_TOKEN}}\",\r\n \"autosave_interval\": \"{{server.build.env.SAVE_INTERVAL}}\",\r\n \"autosave_slots\": \"{{server.build.env.SAVE_SLOTS}}\",\r\n \"afk_autokick_interval\": \"{{server.build.env.AFK_KICK}}\"\r\n }\r\n }\r\n}", + "files": "{\r\n \"data\/server-settings.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"name\": \"{{server.build.env.SERVER_NAME}}\",\r\n \"description\": \"{{server.build.env.SERVER_DESC}}\",\r\n \"max_players\": \"{{server.build.env.MAX_SLOTS}}\",\r\n \"username\": \"{{server.build.env.SERVER_USERNAME}}\",\r\n \"token\": \"{{server.build.env.SERVER_TOKEN}}\",\r\n \"autosave_interval\": \"{{server.build.env.SAVE_INTERVAL}}\",\r\n \"autosave_slots\": \"{{server.build.env.SAVE_SLOTS}}\",\r\n \"afk_autokick_interval\": \"{{server.build.env.AFK_KICK}}\"\r\n }\r\n }\r\n}", "startup": "{\r\n \"done\": \"Hosting game at\",\r\n \"userInteraction\": []\r\n}", "logs": "{\r\n \"custom\": false,\r\n \"location\": \"factorio-current.log\"\r\n}", "stop": "\/quit" @@ -112,15 +112,6 @@ "user_viewable": 1, "user_editable": 1, "rules": "required|numeric|digits_between:1,3" - }, - { - "name": "Server Password", - "description": "Password to join the server, \"\" is none", - "env_variable": "SERVER_PASS", - "default_value": "\"\"", - "user_viewable": 1, - "user_editable": 1, - "rules": "nullable|string|max:30" } ] } From f637460aeac14082d7e750e51b669c6f8578c156 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sun, 25 Aug 2019 00:23:17 -0400 Subject: [PATCH 073/413] update to use the forge version json This uses the forge version json to get the latest version information from forge directly. --- .../forge-generic/egg-forge-enhanced.json | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/minecraft_java/forge/forge-generic/egg-forge-enhanced.json b/minecraft_java/forge/forge-generic/egg-forge-enhanced.json index 3c47856e..06ce8b5c 100644 --- a/minecraft_java/forge/forge-generic/egg-forge-enhanced.json +++ b/minecraft_java/forge/forge-generic/egg-forge-enhanced.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-07-12T16:29:11-04:00", + "exported_at": "2019-08-25T00:22:02-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.", @@ -17,8 +17,8 @@ }, "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 [ -z ${MC_VERSION} ]; then\r\n echo -e \"\"\r\nelse\r\n if [ ${MC_VERSION} == \"1.7.10\" ] || [ ${MC_VERSION} == \"1.8.9\" ]; then\r\n echo -e \"correcting forge version to ${FORGE_VERSION}-${MC_VERSION}\"\r\n\t FORGE_VERSION=\"${FORGE_VERSION}-${MC_VERSION}\"\r\n fi\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\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 ${FORGE_VERSION}\"\r\ncurl -o installer.jar -sS https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/${FORGE_VERSION}\/forge-${FORGE_VERSION}-installer.jar\r\ncurl -o $SERVER_JARFILE -sS https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/${FORGE_VERSION}\/forge-${FORGE_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 ${FORGE_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", + "script": "#!\/bin\/bash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y curl jq\r\n\r\necho -e \"minecraft version: ${MC_VERSION}\"\r\necho -e \"build type: ${BUILD_TYPE}\"\r\n\r\nif [ \"$MC_VERSION\" == \"latest\" ]; then\r\n echo -e \"getting latest recommended version of forge.\"\r\n LATEST_RECOMMENDED=$(curl -s https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/promotions_slim.json | jq -r '.promos.recommended')\r\n MC_VERSION=$(curl -s https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/promotions_slim.json | jq --arg LATEST \"$LATEST_RECOMMENDED\" '.promos | to_entries[] | select(.value==$LATEST)' | jq -rs '.[0].key' | sed 's\/-recommended\/\/g')\r\n\tBUILD_TYPE=recommended\r\n\t\r\n\techo -e \"minecraft version: ${MC_VERSION}\"\r\n\techo -e \"build type: ${BUILD_TYPE}\"\r\nfi\r\n\r\n## some variables for getting versions and things\r\nFILE_SITE=$(curl -s https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/promotions_slim.json | jq -r '.homepage')\r\nVERSION_KEY=$(curl -s https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/promotions_slim.json | jq -r --arg MC_VERSION \"$MC_VERSION\" --arg BUILD_TYPE \"$BUILD_TYPE\" '.promos | to_entries[] | .key | select(contains($MC_VERSION)) | select(contains($BUILD_TYPE))')\r\n\r\n## locating the forge version\r\nif [ \"${VERSION_KEY}\" == \"\" ] && [ \"${BUILD_TYPE}\" == \"recommended\" ]; then\r\n echo -e \"dropping back to latest from recommended due to there not being a recommended version of forge for the mc version requested.\"\r\n VERSION_KEY=$(curl -s https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/promotions_slim.json | jq -r --arg MC_VERSION \"$MC_VERSION\" '.promos | to_entries[] | .key | select(contains($MC_VERSION)) | select(contains(\"latest\"))')\r\nfi\r\n\r\n## Error if the mc version set wasn't valid.\r\nif [ \"${VERSION_KEY}\" == \"\" ]; then\r\n\techo -e \"The install failed because there is no valid version of forge for the version on minecraft selected.\"\r\n\texit 1\r\nfi\r\n\r\nFORGE_VERSION=$(curl -s https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/promotions_slim.json | jq -r --arg VERSION_KEY \"$VERSION_KEY\" '.promos | .[$VERSION_KEY]')\r\n\r\nif [ \"$MC_VERSION\" == \"1.7.10\" ] || [ \"$MC_VERSION\" == \"1.8.9\" ]; then\r\n DOWNLOAD_LINK=${FILE_SITE}${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}\/forge-${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}\r\nelse\r\n DOWNLOAD_LINK=${FILE_SITE}${MC_VERSION}-${FORGE_VERSION}\/forge-${MC_VERSION}-${FORGE_VERSION}\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 ${FORGE_VERSION}\"\r\ncurl -s -o installer.jar -sS ${DOWNLOAD_LINK}-installer.jar\r\ncurl -s -o $SERVER_JARFILE -sS ${DOWNLOAD_LINK}-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 ${FORGE_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-jdk-slim", "entrypoint": "bash" } }, @@ -34,12 +34,21 @@ }, { "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", + "description": "The version of minecraft you want to install for.\r\n\r\nLeaving latest will install the latest recommended version.", "env_variable": "MC_VERSION", "default_value": "latest", "user_viewable": 1, "user_editable": 1, - "rules": "required|string|max:22" + "rules": "required|string|max:9" + }, + { + "name": "Build Type", + "description": "The type of server jar to download from forge.\r\n\r\nValid types are \"recommended\" and \"latest\".", + "env_variable": "BUILD_TYPE", + "default_value": "recommended", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:20" } ] } \ No newline at end of file From 45a3b568207d12386ca502a3dbfbbb43bc78b5ae Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Fri, 30 Aug 2019 20:28:46 -0400 Subject: [PATCH 074/413] update 7dtd egg fix the bad parser. --- source_servers/7_days_to_die/egg-7-days-to-die.json | 4 ++-- 1 file changed, 2 insertions(+), 2 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 dc2f7642..9cbe9056 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": "2019-08-12T22:06:45-04:00", + "exported_at": "2019-08-30T20:28:24-04:00", "name": "7 Days To Die", "author": "kristoffer.norman@bahnhof.se", "description": "7 days to die server", "image": "quay.io\/parkervcp\/pterodactyl-images:ubuntu_source", "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\": \"file\",\r\n \"find\": {\r\n \"ServerPort\": \" \"\r\n }\r\n }\r\n}", "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" From 9a6fac26e4a514c9b332216cbc184127ff20d315 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Fri, 30 Aug 2019 20:43:24 -0400 Subject: [PATCH 075/413] update start command No longer need to edit the config as we set the port on startup --- source_servers/7_days_to_die/egg-7-days-to-die.json | 6 +++--- 1 file changed, 3 insertions(+), 3 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 9cbe9056..3a1d4165 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": "2019-08-30T20:28:24-04:00", + "exported_at": "2019-08-30T20:42:59-04:00", "name": "7 Days To Die", "author": "kristoffer.norman@bahnhof.se", "description": "7 days to die server", "image": "quay.io\/parkervcp\/pterodactyl-images:ubuntu_source", - "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'", + "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 \"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\": \"file\",\r\n \"find\": {\r\n \"ServerPort\": \" \"\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" From 0efd53bda9de7a0df73de658004ac796710621ae Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Wed, 4 Sep 2019 17:11:14 -0400 Subject: [PATCH 076/413] update ragemp images move to the debian:stable-slim image to run the install. move to the base_debian image to run the server. this should resolve #290 --- gta/ragemp/egg-rage--m-p.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gta/ragemp/egg-rage--m-p.json b/gta/ragemp/egg-rage--m-p.json index 4e9b11bc..0d340205 100644 --- a/gta/ragemp/egg-rage--m-p.json +++ b/gta/ragemp/egg-rage--m-p.json @@ -3,11 +3,11 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2018-11-18T22:56:21-05:00", + "exported_at": "2019-09-04T17:08:39-04:00", "name": "Rage.MP", "author": "noreply.waypointhosting@gmail.com", "description": "https:\/\/rage.mp\/\r\n\r\nThis server requires 2 ports to be added for the server. the main port and the next (port+1) as ports for the server.", - "image": "quay.io\/pterodactyl\/core:glibc", + "image": "quay.io\/parkervcp\/pterodactyl-images:base_debian", "startup": ".\/server", "config": { "files": "{\r\n \"conf.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"bind\": \"0.0.0.0\",\r\n \"port\": \"{{server.build.default.port}}\",\r\n \"name\": \"{{server.build.env.SERVER_NAME}}\",\r\n \"maxplayers\": \"{{server.build.env.MAX_PLAYERS}}\",\r\n \"announce\": \"{{server.build.env.ANNOUNCE}}\"\r\n }\r\n }\r\n}", @@ -17,8 +17,8 @@ }, "scripts": { "installation": { - "script": "apt update\r\napt -y install curl tar libstdc++6\r\n\r\ncd \/mnt\/server\r\n\r\necho \"Downloading rage.mp\"\r\ncurl -sSL -o ragemp-srv.tar.gz https:\/\/cdn.rage.mp\/lin\/ragemp-srv.tar.gz\r\n\r\ntar -xzvf ragemp-srv.tar.gz --strip 1 -C \/mnt\/server\r\n\r\nrm ragemp-srv.tar.gz\r\n\r\nchmod +x .\/server\r\n\r\nif [ -e conf.json ]; then\r\n echo \"server config file exists\"\r\nelse\r\n echo \"Downloading default rage.mp config\"\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/gta\/ragemp\/conf.json >> conf.json\r\nfi\r\n\r\necho \"install complete\"\r\n\r\nexit 0", - "container": "ubuntu:16.04", + "script": "apt update\r\napt -y install curl tar\r\n\r\ncd \/mnt\/server\r\n\r\necho \"Downloading rage.mp\"\r\ncurl -sSL -o ragemp-srv.tar.gz https:\/\/cdn.rage.mp\/lin\/ragemp-srv.tar.gz\r\n\r\ntar -xzvf ragemp-srv.tar.gz --strip 1 -C \/mnt\/server\r\n\r\nrm ragemp-srv.tar.gz\r\n\r\nchmod +x .\/server\r\n\r\nif [ -e conf.json ]; then\r\n echo \"server config file exists\"\r\nelse\r\n echo \"Downloading default rage.mp config\"\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/GTA\/RageMP\/conf.json >> conf.json\r\nfi\r\n\r\necho \"install complete\"\r\n\r\nexit 0", + "container": "debian:stable-slim", "entrypoint": "bash" } }, @@ -45,10 +45,10 @@ "name": "Announce", "description": "Announce to the master server so people can see you in their server browser.", "env_variable": "ANNOUNCE", - "default_value": "true", + "default_value": "0", "user_viewable": 1, "user_editable": 1, "rules": "required|boolean" } ] -} +} \ No newline at end of file From d22bf8051c989a60cea489cc4ba23f1f69d3fda7 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Wed, 4 Sep 2019 17:32:04 -0400 Subject: [PATCH 077/413] add note for boolean fields --- gta/ragemp/egg-rage--m-p.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gta/ragemp/egg-rage--m-p.json b/gta/ragemp/egg-rage--m-p.json index 0d340205..4c9ea78a 100644 --- a/gta/ragemp/egg-rage--m-p.json +++ b/gta/ragemp/egg-rage--m-p.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-09-04T17:08:39-04:00", + "exported_at": "2019-09-04T17:31:10-04:00", "name": "Rage.MP", "author": "noreply.waypointhosting@gmail.com", "description": "https:\/\/rage.mp\/\r\n\r\nThis server requires 2 ports to be added for the server. the main port and the next (port+1) as ports for the server.", @@ -43,7 +43,7 @@ }, { "name": "Announce", - "description": "Announce to the master server so people can see you in their server browser.", + "description": "Announce to the master server so people can see you in their server browser.\r\n\r\nThis needs to be a 0 (false) or 1 (true) due to weird boolean parsing.", "env_variable": "ANNOUNCE", "default_value": "0", "user_viewable": 1, From 1cbd69613b3740841a429a0109bfed091282bf54 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sat, 7 Sep 2019 20:10:33 -0400 Subject: [PATCH 078/413] update mordhau egg to use new image --- source_servers/mordhau/egg-mordhau.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/source_servers/mordhau/egg-mordhau.json b/source_servers/mordhau/egg-mordhau.json index efd7d9b6..f923995e 100644 --- a/source_servers/mordhau/egg-mordhau.json +++ b/source_servers/mordhau/egg-mordhau.json @@ -3,11 +3,11 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-05-09T22:22:13-05:00", + "exported_at": "2019-09-07T20:08:55-04:00", "name": "Mordhau", "author": "trey@chazx.cc", "description": "Mordhau is a multiplayer medieval hack 'n slash video game, developed by Slovenian independent studio Triternion, with a prominent aspect of skill-based competitive play and customization.", - "image": "chasx003\/mordhau", + "image": "quay.io\/parkervcp\/pterodactyl-images:game_mordhau", "startup": ".\/MordhauServer.sh \/Game\/Mordhau\/Maps\/{{DEFAULT_MAP}}?MaxSlots={{MAX_PLAYERS}}? -USEALLAVAILABLECORES -Port={{SERVER_PORT}} -queryport={{QUERY_PORT}} -beaconport={{BEACON_PORT}}", "config": { "files": "{\r\n \"Mordhau\/Saved\/Config\/LinuxServer\/Game.ini\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"AdminPassword=\": \"AdminPassword={{server.build.env.ADMIN_PASSWORD}}\",\r\n \"ServerName=\": \"ServerName={{server.build.env.SERVER_NAME}}\",\r\n \"ServerPassword=\": \"ServerPassword={{server.build.env.GAME_PASSWORD}}\"\r\n }\r\n }\r\n}", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# Mordhau 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\ncd \/tmp\r\ncurl -sSL -o steamcmd.tar.gz http:\/\/media.steampowered.com\/installer\/steamcmd_linux.tar.gz\r\nmkdir -p \/mnt\/server\/steamcmd \/mnt\/server\/logs\r\n\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n.\/steamcmd.sh +login anonymous +force_install_dir \/mnt\/server +app_update 629800 +quit\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so", + "script": "#!\/bin\/bash\r\n# Mordhau Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt -y update\r\n\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\ncd \/tmp\r\n\r\ncurl -sSL -o steamcmd.tar.gz http:\/\/media.steampowered.com\/installer\/steamcmd_linux.tar.gz\r\n\r\nmkdir -p \/mnt\/server\/steamcmd \/mnt\/server\/logs\r\n\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\n\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\r\n.\/steamcmd.sh +login anonymous +force_install_dir \/mnt\/server +app_update 629800 +quit\r\n\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\n\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so", "container": "ubuntu:18.04", "entrypoint": "bash" } @@ -96,4 +96,4 @@ "rules": "required|string|max:20" } ] -} +} \ No newline at end of file From 1960182c4fc838e9763d05001844609163426a50 Mon Sep 17 00:00:00 2001 From: "Michael (Parker) Parker" Date: Wed, 11 Sep 2019 10:37:25 -0400 Subject: [PATCH 079/413] update install script and readme update install script to use DOWNLOAD_URL update the readme to have a notice due to fivem changes --- gta/fivem/README.md | 8 ++++++++ gta/fivem/egg-five-m.json | 19 ++++++++++++++----- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/gta/fivem/README.md b/gta/fivem/README.md index a90c6d7e..69dd4670 100644 --- a/gta/fivem/README.md +++ b/gta/fivem/README.md @@ -1,5 +1,13 @@ # FiveM +# Notice + +This is to inform all users that the4 fivem team has enabled cloudflare ddos protection and the install script is now broken due to this. + +You will need to have a self hosted version of the server files to curl in the install script. + +I have added a `DOWNLOAD_URL` variable that needs to point to a `fx.tar.xz` file as I am too lazy to update the entire script. + ### From the [FiveM](https://fivem.net/) Site FiveM is a modification for Grand Theft Auto V enabling you to play multiplayer on customized dedicated servers. diff --git a/gta/fivem/egg-five-m.json b/gta/fivem/egg-five-m.json index 88584452..021533fe 100644 --- a/gta/fivem/egg-five-m.json +++ b/gta/fivem/egg-five-m.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-07-13T15:13:03-04:00", + "exported_at": "2019-09-11T10:35:51-04:00", "name": "FiveM", "author": "parker@parkervcp.com", "description": "A new FiveM egg for the latest builds due to recent changes in FiveM", @@ -17,8 +17,8 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/ash \r\n\r\napk add openssl tar xz curl wget git --no-cache\r\n\r\ncd \/mnt\/server\r\n\r\nmkdir resources\r\n\r\necho \"updating citizenfx resource files\"\r\ngit clone https:\/\/github.com\/citizenfx\/cfx-server-data.git \/tmp\r\ncp -Rf \/tmp\/resources\/* resources\/ \r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"pulling files from https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/${FIVEM_VERSION}\/fx.tar.xz\"\r\nwget https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/${FIVEM_VERSION}\/fx.tar.xz\r\n\r\necho \"Extracting fivem files\"\r\n\r\ntar xf fx.tar.xz\r\n\r\nrm -rf fx.tar.xz run.sh\r\n\r\nif [ -e server.cfg ]; then\r\n echo \"server config file exists\"\r\nelse\r\n echo \"Downloading default fivem config\"\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/gta\/fivem\/server.cfg >> server.cfg\r\nfi\r\n\r\nmkdir logs\/\r\n\r\necho \"install complete\"", - "container": "alpine:3.9", + "script": "#!\/bin\/ash \r\n\r\napk add openssl tar xz curl wget git --no-cache\r\n\r\ncd \/mnt\/server\r\n\r\nmkdir resources\r\n\r\necho \"updating citizenfx resource files\"\r\ngit clone https:\/\/github.com\/citizenfx\/cfx-server-data.git \/tmp\r\ncp -Rf \/tmp\/resources\/* resources\/ \r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"pulling files from ${DOWNLOAD_URL}\"\r\nwget ${DOWNLOAD_URL}\r\n\r\necho \"Extracting fivem files\"\r\n\r\ntar xf fx.tar.xz\r\n\r\nrm -rf fx.tar.xz run.sh\r\n\r\nif [ -e server.cfg ]; then\r\n echo \"server config file exists\"\r\nelse\r\n echo \"Downloading default fivem config\"\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/gta\/fivem\/server.cfg >> server.cfg\r\nfi\r\n\r\nmkdir logs\/\r\n\r\necho \"install complete\"", + "container": "alpine:3.10", "entrypoint": "ash" } }, @@ -36,10 +36,10 @@ "name": "Max Players", "description": "Set the fivem max play count", "env_variable": "MAX_PLAYERS", - "default_value": "30", + "default_value": "32", "user_viewable": 1, "user_editable": 0, - "rules": "required|integer|between:1,31" + "rules": "required|integer|between:1,32" }, { "name": "Server Hostname", @@ -58,6 +58,15 @@ "user_viewable": 1, "user_editable": 0, "rules": "required|string|max:50" + }, + { + "name": "Download Link", + "description": "This is the link to download fivem from.\r\n\r\nThis is only used in the install script.", + "env_variable": "DOWNLOAD_URL", + "default_value": "", + "user_viewable": 0, + "user_editable": 0, + "rules": "required|string" } ] } \ No newline at end of file From 3b8575a0f77f230e631206e982d054771e88c349 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Wed, 11 Sep 2019 18:25:33 -0400 Subject: [PATCH 080/413] update readme Added recommended server settings section --- source_servers/ark_survival_evolved/README.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/source_servers/ark_survival_evolved/README.md b/source_servers/ark_survival_evolved/README.md index 1546d680..094dc5d6 100644 --- a/source_servers/ark_survival_evolved/README.md +++ b/source_servers/ark_survival_evolved/README.md @@ -2,7 +2,13 @@ Steam Description : As a man or woman stranded naked, freezing and starving on the shores of a mysterious island called ARK, you must hunt, harvest resources, craft items, grow crops, research technologies, and build shelters to withstand the elements. Use your cunning and resources to kill or tame & breed the leviathan dinosaurs and other primeval creatures roaming the land, and team up with or prey on hundreds of other players to survive, dominate... and escape! -### Server Ports +## Recommended server settings +### Minimum RAM +This server requires about 4096M to run with no players. It is recommended to run 6144M by the ARK creators. + +See the following - https://ark.gamepedia.com/Dedicated_Server_Setup#Hardware + +## Server Ports | Port | default | |-------|---------| From 575fba303deb0b9763a23bcd501a076e326e0be0 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Wed, 11 Sep 2019 20:42:24 -0400 Subject: [PATCH 081/413] update folder names for steamcmd Rename source_servers to steamcmd_servers Rename rust-staging to rust_staging Add a README for steamcmd server section Update main README with new links. --- README.md | 18 +++++++------- .../7_days_to_die/README.md | 0 .../7_days_to_die/egg-7-days-to-die.json | 0 steamcmd_servers/README.md | 24 +++++++++++++++++++ .../ark_survival_evolved/README.md | 0 .../egg-ark--survival-evolved.json | 0 .../hlds_server/README.md | 0 .../egg-custom-h-l-d-s-engine-game.json | 0 .../mordhau/README.md | 0 .../mordhau/egg-mordhau.json | 0 .../pixark/README.md | 0 .../pixark/egg-pix-a-r-k.json | 0 .../rust_staging}/README.md | 0 .../rust_staging}/egg-rust-staging.json | 0 .../starbound/README.md | 0 .../starbound/egg-starbound.json | 0 .../svencoop/README.md | 0 .../svencoop/egg-sven-co-op.json | 0 18 files changed, 33 insertions(+), 9 deletions(-) rename {source_servers => steamcmd_servers}/7_days_to_die/README.md (100%) rename {source_servers => steamcmd_servers}/7_days_to_die/egg-7-days-to-die.json (100%) create mode 100644 steamcmd_servers/README.md rename {source_servers => steamcmd_servers}/ark_survival_evolved/README.md (100%) rename {source_servers => steamcmd_servers}/ark_survival_evolved/egg-ark--survival-evolved.json (100%) rename {source_servers => steamcmd_servers}/hlds_server/README.md (100%) rename {source_servers => steamcmd_servers}/hlds_server/egg-custom-h-l-d-s-engine-game.json (100%) rename {source_servers => steamcmd_servers}/mordhau/README.md (100%) rename {source_servers => steamcmd_servers}/mordhau/egg-mordhau.json (100%) rename {source_servers => steamcmd_servers}/pixark/README.md (100%) rename {source_servers => steamcmd_servers}/pixark/egg-pix-a-r-k.json (100%) rename {source_servers/rust-staging => steamcmd_servers/rust_staging}/README.md (100%) rename {source_servers/rust-staging => steamcmd_servers/rust_staging}/egg-rust-staging.json (100%) rename {source_servers => steamcmd_servers}/starbound/README.md (100%) rename {source_servers => steamcmd_servers}/starbound/egg-starbound.json (100%) rename {source_servers => steamcmd_servers}/svencoop/README.md (100%) rename {source_servers => steamcmd_servers}/svencoop/egg-sven-co-op.json (100%) diff --git a/README.md b/README.md index f259b6fb..2ee7c838 100644 --- a/README.md +++ b/README.md @@ -83,15 +83,15 @@ If you are reading this it looks like you are looking to add an egg to your serv [OpenTTD](/openttd/) -[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) -* [Sven Co-op](/source_servers/svencoop) -* [Mordhau](/source_servers/mordhau) +[steamcmd servers](/steamcmd_servers/) These eggs use steamcmd to install +* [7 Days to Die](/steamcmd_servers/7_days_to_die/) +* [ARK Survival Evolved](/steamcmd_servers/ark_survival_evolved/) +* [HLDS server](/steamcmd_servers/hlds_server) +* [PixARK](/steamcmd_servers/pixark/) +* [Rust Staging Branch](/steamcmd_servers/rust_staging/) +* [Starbound](/steamcmd_servers/starbound) +* [Sven Co-op](/steamcmd_servers/svencoop) +* [Mordhau](/steamcmd_servers/mordhau) [Squad](/squad/) diff --git a/source_servers/7_days_to_die/README.md b/steamcmd_servers/7_days_to_die/README.md similarity index 100% rename from source_servers/7_days_to_die/README.md rename to steamcmd_servers/7_days_to_die/README.md diff --git a/source_servers/7_days_to_die/egg-7-days-to-die.json b/steamcmd_servers/7_days_to_die/egg-7-days-to-die.json similarity index 100% rename from source_servers/7_days_to_die/egg-7-days-to-die.json rename to steamcmd_servers/7_days_to_die/egg-7-days-to-die.json diff --git a/steamcmd_servers/README.md b/steamcmd_servers/README.md new file mode 100644 index 00000000..a0b70ee8 --- /dev/null +++ b/steamcmd_servers/README.md @@ -0,0 +1,24 @@ +# steamcmd servers + +This is a collection of servers that use steamcmd to install. + +## 7 Days To Die +[7dtd](7_days_to_die/) + +## ARK +[ark](ark_survival_evolved/) + +## HLDS Server +[hlds](hlds_server/) + +## Mordhau +[mordhau](mordhau/) + +## Rust Staging +[rust staging](rust_staging/) + +## Starbound +[starbound](starbound/) + +## Sven coop +[svencoop](svencoop) \ No newline at end of file diff --git a/source_servers/ark_survival_evolved/README.md b/steamcmd_servers/ark_survival_evolved/README.md similarity index 100% rename from source_servers/ark_survival_evolved/README.md rename to steamcmd_servers/ark_survival_evolved/README.md diff --git a/source_servers/ark_survival_evolved/egg-ark--survival-evolved.json b/steamcmd_servers/ark_survival_evolved/egg-ark--survival-evolved.json similarity index 100% rename from source_servers/ark_survival_evolved/egg-ark--survival-evolved.json rename to steamcmd_servers/ark_survival_evolved/egg-ark--survival-evolved.json diff --git a/source_servers/hlds_server/README.md b/steamcmd_servers/hlds_server/README.md similarity index 100% rename from source_servers/hlds_server/README.md rename to steamcmd_servers/hlds_server/README.md diff --git a/source_servers/hlds_server/egg-custom-h-l-d-s-engine-game.json b/steamcmd_servers/hlds_server/egg-custom-h-l-d-s-engine-game.json similarity index 100% rename from source_servers/hlds_server/egg-custom-h-l-d-s-engine-game.json rename to steamcmd_servers/hlds_server/egg-custom-h-l-d-s-engine-game.json diff --git a/source_servers/mordhau/README.md b/steamcmd_servers/mordhau/README.md similarity index 100% rename from source_servers/mordhau/README.md rename to steamcmd_servers/mordhau/README.md diff --git a/source_servers/mordhau/egg-mordhau.json b/steamcmd_servers/mordhau/egg-mordhau.json similarity index 100% rename from source_servers/mordhau/egg-mordhau.json rename to steamcmd_servers/mordhau/egg-mordhau.json diff --git a/source_servers/pixark/README.md b/steamcmd_servers/pixark/README.md similarity index 100% rename from source_servers/pixark/README.md rename to steamcmd_servers/pixark/README.md diff --git a/source_servers/pixark/egg-pix-a-r-k.json b/steamcmd_servers/pixark/egg-pix-a-r-k.json similarity index 100% rename from source_servers/pixark/egg-pix-a-r-k.json rename to steamcmd_servers/pixark/egg-pix-a-r-k.json diff --git a/source_servers/rust-staging/README.md b/steamcmd_servers/rust_staging/README.md similarity index 100% rename from source_servers/rust-staging/README.md rename to steamcmd_servers/rust_staging/README.md diff --git a/source_servers/rust-staging/egg-rust-staging.json b/steamcmd_servers/rust_staging/egg-rust-staging.json similarity index 100% rename from source_servers/rust-staging/egg-rust-staging.json rename to steamcmd_servers/rust_staging/egg-rust-staging.json diff --git a/source_servers/starbound/README.md b/steamcmd_servers/starbound/README.md similarity index 100% rename from source_servers/starbound/README.md rename to steamcmd_servers/starbound/README.md diff --git a/source_servers/starbound/egg-starbound.json b/steamcmd_servers/starbound/egg-starbound.json similarity index 100% rename from source_servers/starbound/egg-starbound.json rename to steamcmd_servers/starbound/egg-starbound.json diff --git a/source_servers/svencoop/README.md b/steamcmd_servers/svencoop/README.md similarity index 100% rename from source_servers/svencoop/README.md rename to steamcmd_servers/svencoop/README.md diff --git a/source_servers/svencoop/egg-sven-co-op.json b/steamcmd_servers/svencoop/egg-sven-co-op.json similarity index 100% rename from source_servers/svencoop/egg-sven-co-op.json rename to steamcmd_servers/svencoop/egg-sven-co-op.json From aaf8f67ca5d3258a7f911100aac1de2becfa7674 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Fri, 13 Sep 2019 20:12:51 -0400 Subject: [PATCH 082/413] move spigot location moving spigot files up one folder level. --- minecraft_java/spigot/{spigot => }/README.MD | 0 minecraft_java/spigot/{spigot => }/egg-spigot.json | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename minecraft_java/spigot/{spigot => }/README.MD (100%) rename minecraft_java/spigot/{spigot => }/egg-spigot.json (100%) diff --git a/minecraft_java/spigot/spigot/README.MD b/minecraft_java/spigot/README.MD similarity index 100% rename from minecraft_java/spigot/spigot/README.MD rename to minecraft_java/spigot/README.MD diff --git a/minecraft_java/spigot/spigot/egg-spigot.json b/minecraft_java/spigot/egg-spigot.json similarity index 100% rename from minecraft_java/spigot/spigot/egg-spigot.json rename to minecraft_java/spigot/egg-spigot.json From 7f0fda3a34103597172f1738e88455666d8c9f55 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Fri, 13 Sep 2019 20:48:39 -0400 Subject: [PATCH 083/413] add spongeforge adds spongeforge to the repo resolves #213 --- minecraft_java/spongeforge/README.MD | 9 ++++ .../spongeforge/egg-sponge-forge.json | 45 +++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 minecraft_java/spongeforge/README.MD create mode 100644 minecraft_java/spongeforge/egg-sponge-forge.json diff --git a/minecraft_java/spongeforge/README.MD b/minecraft_java/spongeforge/README.MD new file mode 100644 index 00000000..685f7f66 --- /dev/null +++ b/minecraft_java/spongeforge/README.MD @@ -0,0 +1,9 @@ +# SpongeForge +SpongeForge is the implementation of the Sponge API on the Minecraft Forge platform. + +## Server Ports +Minecraft servers requires a single port for access (default 25565) but plugins may require extra ports to enabled for the server. + +| Port | default | +|-------|---------| +| Game | 25565 | \ No newline at end of file diff --git a/minecraft_java/spongeforge/egg-sponge-forge.json b/minecraft_java/spongeforge/egg-sponge-forge.json new file mode 100644 index 00000000..bf83b774 --- /dev/null +++ b/minecraft_java/spongeforge/egg-sponge-forge.json @@ -0,0 +1,45 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2019-09-13T20:47:26-04:00", + "name": "SpongeForge", + "author": "parker@parkervcp.com", + "description": "A community-driven open source Minecraft: Java Edition modding platform.", + "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 \"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": "{}", + "stop": "stop" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash\r\n# SpongeForge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y jq curl\r\n\r\nmkdir -p \/mnt\/server\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\r\nif [ -z ${SF_VERSION} ] || [ \"$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge\/downloads\/${SF_VERSION})\" == \"Unknown version\" ]; then\r\n echo -e \"defaulting to recommended\"\r\n SF_VERSION=\"recommended\"\r\nfi\r\n\r\nif [ \"${SF_VERSION}\" == \"recommended\" ]; then\r\n echo -e \"using recommended SpongeForge version\"\r\n SF_VERSION=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge\/downloads\/recommended | jq -r '.version')\r\n echo -e \"found SpongeForge Version ${SF_VERSION}\"\r\n SF_DL_LINK=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge\/downloads\/recommended | jq -r '.artifacts.\"\".url')\r\n FORGE_DOWNLOAD_VERSION=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge\/downloads\/recommended | jq -r '.dependencies.forge')\r\n echo -e \"found Forge Version ${FORGE_DOWNLOAD_VERSION}\"\r\n FORGE_DL_LINK=https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/${FORGE_DOWNLOAD_VERSION}\/forge-${FORGE_DOWNLOAD_VERSION}\r\nelif [ \"${SF_VERSION}\" == \"latest\" ]; then\r\n echo -e \"using latest SpongForge version\"\r\n SF_VERSION=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge | jq -r '.buildTypes.stable.latest.version')\r\n echo -e \"found SpongeForge Version ${SF_VERSION}\"\r\n SF_DL_LINK=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge\/downloads\/${SF_VERSION} | jq -r '.artifacts.\"\".url')\r\n FORGE_DOWNLOAD_VERSION=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge\/downloads\/${SF_VERSION} | jq -r '.dependencies.forge')\r\n \r\n FORGE_DL_LINK=https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/${FORGE_DOWNLOAD_VERSION}\/forge-${FORGE_DOWNLOAD_VERSION}\r\nelse\r\n echo -e \"found SpongeForge Version ${SF_VERSION}\"\r\n SF_DL_LINK=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge\/downloads\/${SF_VERSION} | jq -r '.artifacts.\"\".url')\r\n FORGE_DOWNLOAD_VERSION=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge\/downloads\/${SF_VERSION} | jq -r '.dependencies.forge')\r\n echo -e \"found Forge Version ${FORGE_DOWNLOAD_VERSION}\"\r\n FORGE_DL_LINK=https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/${FORGE_DOWNLOAD_VERSION}\/forge-${FORGE_DOWNLOAD_VERSION}\r\nfi\r\n\r\nif [ -f server.jar ] && [ $(sha1sum server.jar | awk '{ print $1 }') == $(curl -s ${FORGE_DL_LINK}-universal.jar.sha1) ]; then\r\n echo -e \"Already have the correct forge version\"\r\nelse\r\n echo -e \"Downloading forge version ${FORGE_VERSION}\"\r\n echo -e \"running: curl -s -o installer.jar -o ${FORGE_DL_LINK}-installer.jar\"\r\n curl -s -o installer.jar ${FORGE_DL_LINK}-installer.jar\r\n echo -e \"running: curl -s -o ${SERVER_JARFILE} -o ${FORGE_DL_LINK}-universal.jar\"\r\n curl -s -o ${SERVER_JARFILE} ${FORGE_DL_LINK}-universal.jar\r\n java -jar installer.jar --installServer\r\n rm installer.jar forge-${FORGE_DOWNLOAD_VERSION}-universal.jar\r\nfi\r\n\r\nif [ ! -d \/mnt\/server\/mods\/ ]; then\r\n echo -e \"making mods directory\"\r\n mkdir -p \/mnt\/server\/mods\/\r\nfi\r\n\r\nif [ -f \/mnt\/server\/mods\/spongeforge*.jar ]; then\r\n mkdir -p \/mnt\/server\/mods\/old\/\r\n mv -f \/mnt\/server\/mods\/spongeforge*.jar \/mnt\/server\/mods\/old\/spongeforge*.jar\r\nfi \r\n\r\necho -e \"running: curl -s ${SF_DL_LINK} -o \/mnt\/server\/mods\/spongeforge-${SF_VERSION}.jar\"\r\ncurl -s ${SF_DL_LINK} -o \/mnt\/server\/mods\/spongeforge-${SF_VERSION}.jar\r\n\r\nif [ ! -f server.properties ]; then\r\n echo -e \"Downloading MC server.properties\"\r\n curl -o server.properties https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft_java\/server.properties\r\nfi\r\n\r\necho -e \"Install for SpongeForge is complete\"", + "container": "openjdk:8-jre-slim", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "SpongeForge Version", + "description": "Example 1.12.2-2825-7.1.6\r\n\r\nIf the version fails it defaults to recommended", + "env_variable": "SF_VERSION", + "default_value": "recommended", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string" + }, + { + "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)$\/" + } + ] +} \ No newline at end of file From 03f14a3fd8d199110c4b5f6a0a2df30bc85ba70b Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Fri, 13 Sep 2019 20:50:16 -0400 Subject: [PATCH 084/413] update main readme forgot to do this --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 2ee7c838..3ab928e9 100644 --- a/README.md +++ b/README.md @@ -69,8 +69,9 @@ If you are reading this it looks like you are looking to add an egg to your serv [Minecraft Java](/minecraft_java/) * [Forge](/minecraft_java/forge/) * [Feed The Beast](/minecraft_java/ftb/) -* [Spigot](/minecraft_java/spigot/) * [Paper](/minecraft_java/paper) +* [Spigot](/minecraft_java/spigot/) +* [spongeforge](/minecraft_java/spongeforge/) * [Technic](/minecraft_java/technic/) * [VanillaCord](/minecraft_java/vanillacord/) From 25c022fa1ccc491c0aebbb65d3feb68ecb5e356a Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Fri, 13 Sep 2019 21:19:51 -0400 Subject: [PATCH 085/413] add spongevanilla This will probably replace the main SpongeVanilla egg in the panel --- README.md | 3 +- minecraft_java/README.md | 11 +++-- minecraft_java/spongevanilla/README.MD | 10 +++++ .../spongevanilla/egg-sponge-vanilla.json | 45 +++++++++++++++++++ 4 files changed, 65 insertions(+), 4 deletions(-) create mode 100644 minecraft_java/spongevanilla/README.MD create mode 100644 minecraft_java/spongevanilla/egg-sponge-vanilla.json diff --git a/README.md b/README.md index 2ee7c838..a9807274 100644 --- a/README.md +++ b/README.md @@ -69,8 +69,9 @@ If you are reading this it looks like you are looking to add an egg to your serv [Minecraft Java](/minecraft_java/) * [Forge](/minecraft_java/forge/) * [Feed The Beast](/minecraft_java/ftb/) -* [Spigot](/minecraft_java/spigot/) * [Paper](/minecraft_java/paper) +* [Spigot](/minecraft_java/spigot/) +* [SpongeVanilla](/minecraft_java/spongevanilla/) * [Technic](/minecraft_java/technic/) * [VanillaCord](/minecraft_java/vanillacord/) diff --git a/minecraft_java/README.md b/minecraft_java/README.md index 0302be2e..38fd583f 100644 --- a/minecraft_java/README.md +++ b/minecraft_java/README.md @@ -28,6 +28,9 @@ Revelation is a general all-purpose modpack with optimal FPS, server performance ## Paper Currently the default on pterodactyl for many reasons. First being that you don't need to build the jar. +[PaperMC GitHub](https://github.com/PaperMC/Paper) +High performance Spigot fork that aims to fix gameplay and mechanics inconsistencies + ## Spigot A collection of spigot and forked spigot eggs. @@ -35,10 +38,12 @@ A collection of spigot and forked spigot eggs. This is a direct fork of the default spigot service with the added benefit of being able to build the spigot jar. - (It's noted that building the jar is intensive and time consuming) -[PaperMC GitHub](https://github.com/PaperMC/Paper) -High performance Spigot fork that aims to fix gameplay and mechanics inconsistencies +## Sponge -#### Technic Packs +[SpongeVanilla](https://www.spongepowered.org/) +A community-driven open source Minecraft: Java Edition modding platform. + +## Technic Packs [Hexxit](https://www.technicpack.net/modpack/hexxit) Gear up and set forth on a campaign worthy of legend, for Hexxit has been unearthed! diff --git a/minecraft_java/spongevanilla/README.MD b/minecraft_java/spongevanilla/README.MD new file mode 100644 index 00000000..611b3648 --- /dev/null +++ b/minecraft_java/spongevanilla/README.MD @@ -0,0 +1,10 @@ +# SpongeVanilla +A community-driven open source Minecraft: Java Edition modding platform. + +## 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 | \ No newline at end of file diff --git a/minecraft_java/spongevanilla/egg-sponge-vanilla.json b/minecraft_java/spongevanilla/egg-sponge-vanilla.json new file mode 100644 index 00000000..3b129848 --- /dev/null +++ b/minecraft_java/spongevanilla/egg-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": "2019-09-13T21:18:48-04:00", + "name": "SpongeVanilla", + "author": "parker@parkervcp.com", + "description": "SpongeVanilla is the implementation of the Sponge API on top of Vanilla Minecraft.", + "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 \"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": "{}", + "stop": "stop" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash\r\n# spongeVanilla Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y jq curl\r\n\r\nmkdir -p \/mnt\/server\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## check spongevanilla version and default to recommended if it's invalid\r\nif [ -z ${SV_VERSION} ] || [ \"$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongevanilla\/downloads\/${SV_VERSION})\" == \"Unknown version\" ]; then\r\n echo -e \"defaulting to recommended\"\r\n SV_VERSION=\"recommended\"\r\nfi\r\n\r\n## handle getting download linsk for sponge\r\nif [ \"${SV_VERSION}\" == \"recommended\" ]; then\r\n echo -e \"using recommended spongevanilla version\"\r\n SV_VERSION=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongevanilla\/downloads\/recommended | jq -r '.version')\r\n echo -e \"found spongevanilla Version ${SV_VERSION}\"\r\n SV_DL_LINK=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongevanilla\/downloads\/recommended | jq -r '.artifacts.\"\".url')\r\nelif [ \"${SV_VERSION}\" == \"latest\" ]; then\r\n echo -e \"using latest SpongForge version\"\r\n SV_VERSION=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongevanilla | jq -r '.buildTypes.stable.latest.version')\r\n echo -e \"found spongevanilla Version ${SV_VERSION}\"\r\nelse\r\n echo -e \"found spongevanilla Version ${SV_VERSION}\"\r\n SV_DL_LINK=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongevanilla\/downloads\/${SV_VERSION} | jq -r '.artifacts.\"\".url')\r\nfi\r\n\r\nif [ -f ${SERVER_JARFILE} ] && [ $(sha1sum server.jar | awk '{ print $1 }') == $(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongevanilla\/downloads\/recommended | jq -r '.artifacts.\"\".sha1') ]; then\r\n echo -e \"Already have the correct spongevanilla version\"\r\nelse\r\n echo -e \"Downloading spongevanilla version ${SV_VERSION}\"\r\n echo -e \"running: curl -s ${SV_DL_LINK} -o \/mnt\/server\/mods\/spongevanilla-${SV_VERSION}.jar\"\r\n curl -s ${SV_DL_LINK} -o \/mnt\/server\/${SERVER_JARFILE}\r\nfi\r\n\r\nif [ ! -f server.properties ]; then\r\n echo -e \"Downloading MC server.properties\"\r\n curl -s -o server.properties https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft_java\/server.properties\r\nfi\r\n\r\necho -e \"Install for spongevanilla is complete\"", + "container": "debian:stable-slim", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "SpongeVanilla Version", + "description": "Example 1.12.2-7.1.6\r\n\r\nIf the version fails it defaults to recommended", + "env_variable": "SV_VERSION", + "default_value": "recommended", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string" + }, + { + "name": "Server Jar File", + "description": "The name of the Jarfile to use when running Mod.", + "env_variable": "SERVER_JARFILE", + "default_value": "server.jar", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/" + } + ] +} \ No newline at end of file From af0686ad4100f91c9c36e473ff6d311d4f703776 Mon Sep 17 00:00:00 2001 From: AreYouScared Date: Mon, 30 Sep 2019 06:04:43 -0400 Subject: [PATCH 086/413] Update pull_request_template.md Fixed typo --- .github/pull_request_template.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 8285664e..edcd00b2 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -12,11 +12,11 @@ 1. [ ] Does your submission pass tests (server is connectable)? 2. [ ] Does your server use a custom docker image? * [ ] Have you tried to use a generic image? - * [ ] Did you PR the nesessary changes to make it work? + * [ ] Did you PR the necessary changes to make it work? 3. [ ] Have you added the server to the main README.md? 4. [ ] Have you added a unique README.md for the server you are adding? ### Changes to an existing Egg: 1. [ ] Have you added an explanation of what your changes do and why you'd like us to include them? -2. [ ] Have you tested your Egg changes? \ No newline at end of file +2. [ ] Have you tested your Egg changes? From 42dcd14a92e82336dd4c1afa1ba05be4c449b1ab Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Mon, 30 Sep 2019 21:43:41 -0400 Subject: [PATCH 087/413] Update FiveM install script This moves to pulling the latest version for FiveM again. If they enable cloudflare protection it will break but it has support for download URL. DOWNLOAD_URL is still limited to fx.tar.xz being the filename. The installer will fail if the file is not named correctly or is the wrong file type. --- gta/fivem/egg-five-m.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gta/fivem/egg-five-m.json b/gta/fivem/egg-five-m.json index 021533fe..71a035de 100644 --- a/gta/fivem/egg-five-m.json +++ b/gta/fivem/egg-five-m.json @@ -3,11 +3,11 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-09-11T10:35:51-04:00", + "exported_at": "2019-09-30T21:32:14-04:00", "name": "FiveM", "author": "parker@parkervcp.com", "description": "A new FiveM egg for the latest builds due to recent changes in FiveM", - "image": "quay.io\/parkervcp\/pterodactyl-images:alpine", + "image": "quay.io\/parkervcp\/pterodactyl-images:base_alpine", "startup": "$(pwd)\/alpine\/opt\/cfx-server\/ld-musl-x86_64.so.1 --library-path \"$(pwd)\/alpine\/usr\/lib\/v8\/:$(pwd)\/alpine\/lib\/:$(pwd)\/alpine\/usr\/lib\/\" -- $(pwd)\/alpine\/opt\/cfx-server\/FXServer +set citizen_dir $(pwd)\/alpine\/opt\/cfx-server\/citizen\/ +set sv_licenseKey {{FIVEM_LICENSE}} +set sv_maxplayers {{MAX_PLAYERS}} +exec server.cfg", "config": { "files": "{\r\n \"server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"endpoint_add_tcp\": \"endpoint_add_tcp \\\"0.0.0.0:{{server.build.default.port}}\\\"\",\r\n \"endpoint_add_udp\": \"endpoint_add_udp \\\"0.0.0.0:{{server.build.default.port}}\\\"\",\r\n \"sv_hostname\": \"sv_hostname \\\"{{server.build.env.SERVER_HOSTNAME}}\\\"\",\r\n \"sv_maxclients\": \"sv_maxclients {{server.build.env.MAX_PLAYERS}}\"\r\n }\r\n }\r\n}", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/ash \r\n\r\napk add openssl tar xz curl wget git --no-cache\r\n\r\ncd \/mnt\/server\r\n\r\nmkdir resources\r\n\r\necho \"updating citizenfx resource files\"\r\ngit clone https:\/\/github.com\/citizenfx\/cfx-server-data.git \/tmp\r\ncp -Rf \/tmp\/resources\/* resources\/ \r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"pulling files from ${DOWNLOAD_URL}\"\r\nwget ${DOWNLOAD_URL}\r\n\r\necho \"Extracting fivem files\"\r\n\r\ntar xf fx.tar.xz\r\n\r\nrm -rf fx.tar.xz run.sh\r\n\r\nif [ -e server.cfg ]; then\r\n echo \"server config file exists\"\r\nelse\r\n echo \"Downloading default fivem config\"\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/gta\/fivem\/server.cfg >> server.cfg\r\nfi\r\n\r\nmkdir logs\/\r\n\r\necho \"install complete\"", + "script": "#!\/bin\/ash \r\n\r\napk add openssl tar xz curl wget git --no-cache\r\n\r\ncd \/mnt\/server\r\n\r\nmkdir resources\r\n\r\necho \"updating citizenfx resource files\"\r\ngit clone https:\/\/github.com\/citizenfx\/cfx-server-data.git \/tmp\r\ncp -Rf \/tmp\/resources\/* resources\/ \r\n\r\ncd \/mnt\/server\r\n\r\necho \"Downloading the latest fivem server files\"\r\nlatest_fivem_url=`curl https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/ | grep -Eo 'href=\".*\/\"' | grep -Eo '\".*\"' | grep -Eo 'href=\".*\/\"' | grep -Eo '\".*\"' | sed 's\/\\\"\/\/g'`\r\n\r\necho -e \"pulling files from https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/${latest_fivem_url}fx.tar.xz\"\r\nwget https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/${latest_fivem_url}fx.tar.xz\r\n\r\necho \"Extracting fivem files\"\r\n\r\ntar xf fx.tar.xz\r\n\r\nrm -rf fx.tar.xz run.sh\r\n\r\nif [ -e server.cfg ]; then\r\n echo \"server config file exists\"\r\nelse\r\n echo \"Downloading default fivem config\"\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/gta\/fivem\/server.cfg >> server.cfg\r\nfi\r\n\r\nmkdir logs\/\r\n\r\necho \"install complete\"", "container": "alpine:3.10", "entrypoint": "ash" } @@ -54,14 +54,14 @@ "name": "fivem version", "description": "The fivem version that is to be installed.\r\n\r\nan example is `1383-e5ea040353ce1b8bc86e37982bf5d888938e3096`\r\n\r\nYou can the latest version from here - https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/", "env_variable": "FIVEM_VERSION", - "default_value": "", + "default_value": "latest", "user_viewable": 1, - "user_editable": 0, + "user_editable": 1, "rules": "required|string|max:50" }, { "name": "Download Link", - "description": "This is the link to download fivem from.\r\n\r\nThis is only used in the install script.", + "description": "This is the link to download fivem from. This is only used in the install script.\r\n\r\nThe file you link to needs to be an fx.tar.zx file.\r\n\r\nExample:\r\nhttps:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/1626-8c06e8bc3ed7e6690c6c2d9e0b90e29df65b3ea6\/fx.tar.xz", "env_variable": "DOWNLOAD_URL", "default_value": "", "user_viewable": 0, From 75f7266ea0733bb37e80f2e080d832ffc13ef646 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sat, 7 Sep 2019 20:10:33 -0400 Subject: [PATCH 088/413] update mordhau egg to use new image --- steamcmd_servers/mordhau/egg-mordhau.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/steamcmd_servers/mordhau/egg-mordhau.json b/steamcmd_servers/mordhau/egg-mordhau.json index efd7d9b6..f923995e 100644 --- a/steamcmd_servers/mordhau/egg-mordhau.json +++ b/steamcmd_servers/mordhau/egg-mordhau.json @@ -3,11 +3,11 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-05-09T22:22:13-05:00", + "exported_at": "2019-09-07T20:08:55-04:00", "name": "Mordhau", "author": "trey@chazx.cc", "description": "Mordhau is a multiplayer medieval hack 'n slash video game, developed by Slovenian independent studio Triternion, with a prominent aspect of skill-based competitive play and customization.", - "image": "chasx003\/mordhau", + "image": "quay.io\/parkervcp\/pterodactyl-images:game_mordhau", "startup": ".\/MordhauServer.sh \/Game\/Mordhau\/Maps\/{{DEFAULT_MAP}}?MaxSlots={{MAX_PLAYERS}}? -USEALLAVAILABLECORES -Port={{SERVER_PORT}} -queryport={{QUERY_PORT}} -beaconport={{BEACON_PORT}}", "config": { "files": "{\r\n \"Mordhau\/Saved\/Config\/LinuxServer\/Game.ini\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"AdminPassword=\": \"AdminPassword={{server.build.env.ADMIN_PASSWORD}}\",\r\n \"ServerName=\": \"ServerName={{server.build.env.SERVER_NAME}}\",\r\n \"ServerPassword=\": \"ServerPassword={{server.build.env.GAME_PASSWORD}}\"\r\n }\r\n }\r\n}", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# Mordhau 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\ncd \/tmp\r\ncurl -sSL -o steamcmd.tar.gz http:\/\/media.steampowered.com\/installer\/steamcmd_linux.tar.gz\r\nmkdir -p \/mnt\/server\/steamcmd \/mnt\/server\/logs\r\n\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n.\/steamcmd.sh +login anonymous +force_install_dir \/mnt\/server +app_update 629800 +quit\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so", + "script": "#!\/bin\/bash\r\n# Mordhau Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt -y update\r\n\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\ncd \/tmp\r\n\r\ncurl -sSL -o steamcmd.tar.gz http:\/\/media.steampowered.com\/installer\/steamcmd_linux.tar.gz\r\n\r\nmkdir -p \/mnt\/server\/steamcmd \/mnt\/server\/logs\r\n\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\n\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\r\n.\/steamcmd.sh +login anonymous +force_install_dir \/mnt\/server +app_update 629800 +quit\r\n\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\n\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so", "container": "ubuntu:18.04", "entrypoint": "bash" } @@ -96,4 +96,4 @@ "rules": "required|string|max:20" } ] -} +} \ No newline at end of file From 677fd80330946e0780370c411961632b7ac056ae Mon Sep 17 00:00:00 2001 From: AreYouScared Date: Tue, 1 Oct 2019 15:04:11 -0400 Subject: [PATCH 089/413] Added Mindustry --- README.md | 2 ++ mindustry/README.md | 21 +++++++++++++++++++++ mindustry/egg-mindustry.json | 36 ++++++++++++++++++++++++++++++++++++ 3 files changed, 59 insertions(+) create mode 100644 mindustry/README.md create mode 100644 mindustry/egg-mindustry.json diff --git a/README.md b/README.md index 94eb3b56..35d12598 100644 --- a/README.md +++ b/README.md @@ -61,6 +61,8 @@ If you are reading this it looks like you are looking to add an egg to your serv * [Multi Theft Auto](/gta/mtasa/) * [SA-MP](/gta/samp/) +[Mindusrty](/mindustry/) + [Minecraft Bedrock](/minecraft_bedrock/) * [Bedrock](/minecraft_bedrock/bedrock/) * [Nukkit](/minecraft_bedrock/nukkit/) diff --git a/mindustry/README.md b/mindustry/README.md new file mode 100644 index 00000000..678eb233 --- /dev/null +++ b/mindustry/README.md @@ -0,0 +1,21 @@ +# Mindustry + +**PLEASE READ** +Due to Mindustry not accepting command line arguments you MUST set the port once you start the game, buy using the command `port `. + +This only has to be done once. + +#### About the game + +Mindustry is a hybrid tower-defense sandbox factory game. Create elaborate supply chains of conveyor belts to feed ammo into your turrets, produce materials to use for building, and defend your structures from waves of enemies. Features include a map editor, 24 built-in maps, cross-platform multiplayer and large-scale PvP unit battles. + + +You can get it from [Steam](https://store.steampowered.com/app/1127400) + + +### Server Port +Mindustry requires a single port + +| Port | Default | +|---------|---------| +| Game | 6567 | \ No newline at end of file diff --git a/mindustry/egg-mindustry.json b/mindustry/egg-mindustry.json new file mode 100644 index 00000000..8ef29283 --- /dev/null +++ b/mindustry/egg-mindustry.json @@ -0,0 +1,36 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2019-09-30T04:56:49-04:00", + "name": "Mindustry", + "author": "unknown@unknown.com", + "description": "Mindustry is a hybrid tower-defense sandbox factory game. Create elaborate supply chains of conveyor belts to feed ammo into your turrets, produce materials to use for building, and defend your structures from waves of enemies.", + "image": "quay.io\/pterodactyl\/core:java", + "startup": "java -jar server-release.jar", + "config": { + "files": "{}", + "startup": "{}", + "logs": "{}", + "stop": "stop" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/ash\r\n# Mindustry Install Script\r\n\r\napk add --no-cache --update curl\r\n\r\nURL=https:\/\/github.com\/Anuken\/Mindustry\/releases\/download\/${VERSION}\/server-release.jar\r\ncd \/mnt\/server\r\necho -e \"Downloading Version ${VERSION}, From ${URL}\"\r\ncurl -L -o server-release.jar ${URL}", + "container": "alpine:3.9", + "entrypoint": "ash" + } + }, + "variables": [ + { + "name": "Version", + "description": "The version to download, Example \"v96\" NOT \"4.0v96\"\r\n\r\nThis would also be the github tag for the release", + "env_variable": "VERSION", + "default_value": "v96", + "user_viewable": 1, + "user_editable": 1, + "rules": "required" + } + ] +} \ No newline at end of file From 92c587147e3ef44f0b33783d40b98042b4deaa73 Mon Sep 17 00:00:00 2001 From: AreYouScared Date: Tue, 1 Oct 2019 15:06:00 -0400 Subject: [PATCH 090/413] Removed Duplicate Egg Same egg as /enemy_territory/etlegacy --- etlegacy/etlegacy/README.md | 20 ------------ etlegacy/etlegacy/egg-e-t-legacy.json | 45 --------------------------- 2 files changed, 65 deletions(-) delete mode 100644 etlegacy/etlegacy/README.md delete mode 100644 etlegacy/etlegacy/egg-e-t-legacy.json diff --git a/etlegacy/etlegacy/README.md b/etlegacy/etlegacy/README.md deleted file mode 100644 index 38a65ea8..00000000 --- a/etlegacy/etlegacy/README.md +++ /dev/null @@ -1,20 +0,0 @@ -# ET: Legacy - -#### The ET: Legacy Server - - -#### from the developers - -Wolfenstein: Enemy Territory is a free multiplayer first-person shooter. Set during World War II and heavily focused on team work, it was initially released in 2003 by Splash Damage and id Software. More than a decade after its release, after spending countless hours of escorting tanks and trucks, stealing gold and radar parts -and transmitting confidential documents, it was time to dust off the game which consistently refused to go own. - -Enemy Territory: Legacy is an open source project based on the code of Wolfenstein: Enemy Territory which was released in 2010 under the terms of GPLv3 license. The main goal of this project is to fix bugs, remove old dependencies and make it playable on all major operating systems while still remaining compatible with the ET 2.60b version and as many of its mods as possible. We do appreciate any contribution to the project such as patches, suggestions or comments. - -Make sure to checkout their [Home Page]([https://factorio.com/starter-page](https://www.etlegacy.com/)). - -### Server Ports -ET: Legacy requires a single port - -| Port | default | -|---------|---------| -| Game | 27960 | \ No newline at end of file diff --git a/etlegacy/etlegacy/egg-e-t-legacy.json b/etlegacy/etlegacy/egg-e-t-legacy.json deleted file mode 100644 index 0f5dc4cc..00000000 --- a/etlegacy/etlegacy/egg-e-t-legacy.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", - "meta": { - "version": "PTDL_v1" - }, - "exported_at": "2019-04-29T22:08:18+08:00", - "name": "ET Legacy", - "author": "parker@parkervcp.com", - "description": "Welcome to Enemy Territory: Legacy, an open source project that aims to create a fully compatible client and server for the popular online FPS game Wolfenstein: Enemy Territory - whose gameplay is still considered unmatched by many, despite its great age.", - "image": "quay.io\/parkervcp\/pterodactyl-images:ubuntu_source", - "startup": ".\/etlded +set net_port {{SERVER_PORT}} +map {{MAP}}", - "config": { - "files": "{\r\n \"etmain\/etl_server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"\/\/set net_ip \\\"\\\"\": \"set net_ip \\\"0.0.0.0\\\"\",\r\n \"\/\/set net_port \\\"27960\\\"\": \"set net_port \\\"{{server.build.env.SERVER_PORT}}\\\"\"\r\n }\r\n }\r\n}", - "startup": "{\r\n \"done\": \"------ Server Initialization ------\",\r\n \"userInteraction\": []\r\n}", - "logs": "{}", - "stop": "quit" - }, - "scripts": { - "installation": { - "script": "#!\/bin\/bash\r\n\r\napt-get update\r\napt-get -y install wget curl zip unzip\r\n\r\ncd \/tmp\/\r\n\r\necho \"Downloading $ET_VERSION bit ET Legacy version\"\r\n\r\nif [ $ET_VERSION == \"32\" ];then \r\n wget `curl https:\/\/www.etlegacy.com\/download | grep \"Linux 32-bit bin\" | grep -Eoi ']+>' | grep -Eo 'href=\"[^\\\"]+\"' | grep -Eo '(http|https):\/\/[^\"]+'` -O etlegacy.tar.gz\r\nelse\r\n wget `curl https:\/\/www.etlegacy.com\/download | grep \"Linux 64-bit bin\" | grep -Eoi ']+>' | grep -Eo 'href=\"[^\\\"]+\"' | grep -Eo '(http|https):\/\/[^\"]+'` -O etlegacy.tar.gz\r\nfi\r\n\r\necho \"Unpacking ET: Legacy\"\r\ntar --strip-components=1 -xzvf etlegacy.tar.gz -C \/mnt\/server\/\r\n\r\necho \"Downloading latest enemy territory files\"\r\nwget `curl https:\/\/www.splashdamage.com\/games\/wolfenstein-enemy-territory\/ | grep .x86_full | grep -Eoi ']+>' | grep -Eo 'href=\"[^\\\"]+\"' | grep -Eo --color=never '(http|https):\/\/[^\"]+'` -O enemy_territory.zip\r\n\r\necho \"Unpacking enemy territory files\"\r\nunzip enemy_territory.zip\r\n\r\necho \"Copying enemy territory assets\"\r\n.\/*.x86_keygen_V03.run --tar xvf .\/etmain\/\r\ncp etmain\/pak*.pk3 \/mnt\/server\/etmain\/\r\n\r\n# Create .etlegacy as the server doesn't correctly create it\r\nmkdir -p \/mnt\/server\/.etlegacy", - "container": "ubuntu:18.04", - "entrypoint": "bash" - } - }, - "variables": [ - { - "name": "ET Legacy Version", - "description": "What version of the server to install. 32 or 64 bit version.", - "env_variable": "ET_VERSION", - "default_value": "32", - "user_viewable": 1, - "user_editable": 1, - "rules": "required|integer|in:32, 64" - }, - { - "name": "Default Map", - "description": "The default map to use when starting the server.", - "env_variable": "MAP", - "default_value": "oasis", - "user_viewable": 1, - "user_editable": 1, - "rules": "required|string|max:20" - } - ] -} From 2fb6380c801490560110d4b06dc6c54d181079f5 Mon Sep 17 00:00:00 2001 From: AreYouScared Date: Tue, 1 Oct 2019 15:16:48 -0400 Subject: [PATCH 091/413] Corrected Header Readme header was "Example Server Name" --- arma/arma3/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arma/arma3/README.md b/arma/arma3/README.md index 9bd5392a..15eb3296 100644 --- a/arma/arma3/README.md +++ b/arma/arma3/README.md @@ -1,4 +1,4 @@ -# Example Server Name +# Arma 3 ### From their [Site](https://arma3.com/) Experience true combat gameplay in a massive military sandbox. Deploying a wide variety of single- and multiplayer content, over 20 vehicles and 40 weapons, and limitless opportunities for content creation, this is the PC’s premier military game. Authentic, diverse, open - Arma 3 sends you to war. From 42136b6ef856faf375afae69b9cc755972c5fb65 Mon Sep 17 00:00:00 2001 From: AreYouScared Date: Tue, 1 Oct 2019 15:22:15 -0400 Subject: [PATCH 092/413] Fixed Conan Exiles URL Arma3 != Conan --- conan_exiles/conan_exiles/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conan_exiles/conan_exiles/README.md b/conan_exiles/conan_exiles/README.md index c490ffdd..28d4024b 100644 --- a/conan_exiles/conan_exiles/README.md +++ b/conan_exiles/conan_exiles/README.md @@ -1,4 +1,4 @@ -### From their [Site](https://arma3.com/) +### From their [Site](https://conanexiles.com/) Experience true combat gameplay in a massive military sandbox. Deploying a wide variety of single- and multiplayer content, over 20 vehicles and 40 weapons, and limitless opportunities for content creation, this is the PC’s premier military game. Authentic, diverse, open - Arma 3 sends you to war. ### Minimum RAM warning From 500bdd745087234309f1ae7b7c5c297c7721e343 Mon Sep 17 00:00:00 2001 From: AreYouScared Date: Tue, 1 Oct 2019 15:26:20 -0400 Subject: [PATCH 093/413] Fixed Typo --- stock-eggs/minecraft/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stock-eggs/minecraft/README.md b/stock-eggs/minecraft/README.md index c63519ed..89d19035 100644 --- a/stock-eggs/minecraft/README.md +++ b/stock-eggs/minecraft/README.md @@ -1,6 +1,6 @@ # Minecraft -All the ddefault minecraft things +All the default 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 From ad2ce491d219833676a1b57387452e464b3b4d49 Mon Sep 17 00:00:00 2001 From: AreYouScared Date: Tue, 1 Oct 2019 15:27:05 -0400 Subject: [PATCH 094/413] Fixed URL --- terraria/tmodloader/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/terraria/tmodloader/README.md b/terraria/tmodloader/README.md index be139132..932dc9fe 100644 --- a/terraria/tmodloader/README.md +++ b/terraria/tmodloader/README.md @@ -1,5 +1,5 @@ # tModLoader -### From their [GitHub](https://github.com/blushiemagic/tModLoader) +### From their [GitHub](https://github.com/tModLoader/tModLoader) tModLoader is essentially a mod that provides a way to load your own mods without having to work directly with Terraria's source code itself. This means you can easily make mods that are compatible with other people's mods, save yourself the trouble of having to decompile and recompile Terraria.exe, and escape from having to understand all of the obscure "intricacies" of Terraria's source code. It is made to work for Terraria 1.3+. ### Install notes From 56504e9c7b36faf558b4ed2184263a97300919fc Mon Sep 17 00:00:00 2001 From: AreYouScared Date: Tue, 1 Oct 2019 15:29:48 -0400 Subject: [PATCH 095/413] Fixed URL --- enemy_territory/etlegacy/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/enemy_territory/etlegacy/README.md b/enemy_territory/etlegacy/README.md index 7330b1f4..43b83406 100644 --- a/enemy_territory/etlegacy/README.md +++ b/enemy_territory/etlegacy/README.md @@ -10,7 +10,7 @@ and transmitting confidential documents, it was time to dust off the game which Enemy Territory: Legacy is an open source project based on the code of Wolfenstein: Enemy Territory which was released in 2010 under the terms of GPLv3 license. The main goal of this project is to fix bugs, remove old dependencies and make it playable on all major operating systems while still remaining compatible with the ET 2.60b version and as many of its mods as possible. We do appreciate any contribution to the project such as patches, suggestions or comments. -Make sure to checkout their [Home Page]([https://factorio.com/starter-page](https://www.etlegacy.com/)). +Make sure to checkout their [Home Page](https://www.etlegacy.com/). ### Server Ports ET: Legacy requires a single port From bb59e9b6362e40d0d516dfd926dfe9ad23bf7a18 Mon Sep 17 00:00:00 2001 From: AreYouScared Date: Tue, 1 Oct 2019 15:30:27 -0400 Subject: [PATCH 096/413] Update egg-pixel-bot.json Clearly not Factorio --- bots/discord/pixelbot/egg-pixel-bot.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bots/discord/pixelbot/egg-pixel-bot.json b/bots/discord/pixelbot/egg-pixel-bot.json index e9646353..d149e036 100644 --- a/bots/discord/pixelbot/egg-pixel-bot.json +++ b/bots/discord/pixelbot/egg-pixel-bot.json @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/ash\r\n# Factorio Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk add --no-cache git gcc g++ libffi-dev make\r\n\r\ncd \/mnt\/server\r\n\r\necho \"Cloning pixel-bot repo\"\r\ngit clone https:\/\/github.com\/Ispira\/pixel-bot.git .\r\n\r\necho \"Installing python requirements into folder\"\r\npip install -U --target $(pwd) discord imgurpython xkcd pynacl", + "script": "#!\/bin\/ash\r\n# Pixel Bot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk add --no-cache git gcc g++ libffi-dev make\r\n\r\ncd \/mnt\/server\r\n\r\necho \"Cloning pixel-bot repo\"\r\ngit clone https:\/\/github.com\/Ispira\/pixel-bot.git .\r\n\r\necho \"Installing python requirements into folder\"\r\npip install -U --target $(pwd) discord imgurpython xkcd pynacl", "container": "python:3.6-alpine3.7", "entrypoint": "ash" } From c8f1479f78f42e566e604d7b330862d5d003db9a Mon Sep 17 00:00:00 2001 From: AreYouScared Date: Thu, 3 Oct 2019 21:04:00 -0400 Subject: [PATCH 097/413] Update egg-squad.json Added Variables, Fixed Started value. --- squad/squad/egg-squad.json | 80 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 76 insertions(+), 4 deletions(-) diff --git a/squad/squad/egg-squad.json b/squad/squad/egg-squad.json index a8735ce7..de73c96b 100644 --- a/squad/squad/egg-squad.json +++ b/squad/squad/egg-squad.json @@ -3,15 +3,15 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2018-02-21T13:00:36-05:00", + "exported_at": "2019-10-03T21:02:54-04:00", "name": "Squad", "author": "brycea@rapidnetworks.org", "description": "Squad is a 50 vs 50 multiplayer first-person shooter that aims to capture combat realism through communication and teamplay. Major features include vehicle-based combined arms gameplay, large scale environments, base building, and integrated positional VoIP for proximity talking & radio.", "image": "quay.io\/pterodactyl\/core:source", - "startup": ".\/SquadServer.sh Port={{SERVER_PORT}} QueryPort={{QUERY_PORT}}", + "startup": ".\/SquadGameServer.sh Port={{SERVER_PORT}} QueryPort={{QUERY_PORT}}", "config": { - "files": "{}", - "startup": "{\r\n \"done\": \"LogInit:Display: Starting Game.\",\r\n \"userInteraction\": []\r\n}", + "files": "{\r\n \"SquadGame\/ServerConfig\/Server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"ServerName\": \"ServerName=\\\"{{server.build.env.servername}}\\\"\",\r\n \"MaxPlayers\": \"MaxPlayers={{server.build.env.maxplayers}}\",\r\n \"AllowTeamChanges\": \"AllowTeamChanges={{server.build.env.allowteamchange}}\",\r\n \"ShouldAdvertise\": \"ShouldAdvertise={{server.build.env.advertise}}\",\r\n \"NumReservedSlots\": \"NumReservedSlots={{server.build.env.reservedslots}}\",\r\n \"PreventTeamChangeIfUnbalanced\": \"PreventTeamChangeIfUnbalanced={{server.build.env.ptciu}}\",\r\n \"EnforceTeamBalance\": \"EnforceTeamBalance={{server.build.env.teambal}}\",\r\n \"RecordDemos\": \"RecordDemos={{server.build.env.recorddemos}}\"\r\n }\r\n }\r\n}", + "startup": "{\r\n \"done\": \"Engine Initialization\",\r\n \"userInteraction\": []\r\n}", "logs": "{\r\n \"custom\": false,\r\n \"location\": \"latest.log\"\r\n}", "stop": "^C" }, @@ -31,6 +31,78 @@ "user_viewable": 1, "user_editable": 1, "rules": "required|numeric" + }, + { + "name": "Server Name", + "description": "The name for the server in the server list", + "env_variable": "servername", + "default_value": "Squad Server", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:30" + }, + { + "name": "Max Players", + "description": "Sets the maximum number of players.", + "env_variable": "maxplayers", + "default_value": "80", + "user_viewable": 1, + "user_editable": 1, + "rules": "required" + }, + { + "name": "Allow Team Change", + "description": "Allow players to change teams ( true \/ false )", + "env_variable": "allowteamchange", + "default_value": "true", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string" + }, + { + "name": "Advertise Server", + "description": "Have the server report to the public server list ( true \/ false )", + "env_variable": "advertise", + "default_value": "true", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string" + }, + { + "name": "Reserved Slows", + "description": "The number of reserved slots for admins \/ mods", + "env_variable": "reservedslots", + "default_value": "0", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string" + }, + { + "name": "Prevent Team Change If Unbalanced", + "description": "This will prevent players from changing teams if they're already unbalanced ( true \/ false )", + "env_variable": "ptciu", + "default_value": "true", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string" + }, + { + "name": "Enforce Team Balance", + "description": "This will FORCE team balance if the teams are too uneven ( true \/ false )", + "env_variable": "teambal", + "default_value": "true", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string" + }, + { + "name": "Record Demos", + "description": "This will record demos of the players ( true \/ false )", + "env_variable": "recorddemos", + "default_value": "true", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string" } ] } \ No newline at end of file From 95d52417a0e16529a1337fdb8fbf52cafb109d66 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Fri, 4 Oct 2019 16:32:16 -0400 Subject: [PATCH 098/413] update fivem variable values --- gta/fivem/egg-five-m.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gta/fivem/egg-five-m.json b/gta/fivem/egg-five-m.json index 71a035de..295ce327 100644 --- a/gta/fivem/egg-five-m.json +++ b/gta/fivem/egg-five-m.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-09-30T21:32:14-04:00", + "exported_at": "2019-10-04T16:30:46-04:00", "name": "FiveM", "author": "parker@parkervcp.com", "description": "A new FiveM egg for the latest builds due to recent changes in FiveM", @@ -66,7 +66,7 @@ "default_value": "", "user_viewable": 0, "user_editable": 0, - "rules": "required|string" + "rules": "string|nullable" } ] } \ No newline at end of file From 7441c2ed057dc450ec158a70af1c31eb8f297b05 Mon Sep 17 00:00:00 2001 From: AreYouScared Date: Tue, 1 Oct 2019 15:06:00 -0400 Subject: [PATCH 099/413] Removed Duplicate Egg Same egg as /enemy_territory/etlegacy --- etlegacy/etlegacy/README.md | 20 ------------ etlegacy/etlegacy/egg-e-t-legacy.json | 45 --------------------------- 2 files changed, 65 deletions(-) delete mode 100644 etlegacy/etlegacy/README.md delete mode 100644 etlegacy/etlegacy/egg-e-t-legacy.json diff --git a/etlegacy/etlegacy/README.md b/etlegacy/etlegacy/README.md deleted file mode 100644 index 38a65ea8..00000000 --- a/etlegacy/etlegacy/README.md +++ /dev/null @@ -1,20 +0,0 @@ -# ET: Legacy - -#### The ET: Legacy Server - - -#### from the developers - -Wolfenstein: Enemy Territory is a free multiplayer first-person shooter. Set during World War II and heavily focused on team work, it was initially released in 2003 by Splash Damage and id Software. More than a decade after its release, after spending countless hours of escorting tanks and trucks, stealing gold and radar parts -and transmitting confidential documents, it was time to dust off the game which consistently refused to go own. - -Enemy Territory: Legacy is an open source project based on the code of Wolfenstein: Enemy Territory which was released in 2010 under the terms of GPLv3 license. The main goal of this project is to fix bugs, remove old dependencies and make it playable on all major operating systems while still remaining compatible with the ET 2.60b version and as many of its mods as possible. We do appreciate any contribution to the project such as patches, suggestions or comments. - -Make sure to checkout their [Home Page]([https://factorio.com/starter-page](https://www.etlegacy.com/)). - -### Server Ports -ET: Legacy requires a single port - -| Port | default | -|---------|---------| -| Game | 27960 | \ No newline at end of file diff --git a/etlegacy/etlegacy/egg-e-t-legacy.json b/etlegacy/etlegacy/egg-e-t-legacy.json deleted file mode 100644 index 0f5dc4cc..00000000 --- a/etlegacy/etlegacy/egg-e-t-legacy.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", - "meta": { - "version": "PTDL_v1" - }, - "exported_at": "2019-04-29T22:08:18+08:00", - "name": "ET Legacy", - "author": "parker@parkervcp.com", - "description": "Welcome to Enemy Territory: Legacy, an open source project that aims to create a fully compatible client and server for the popular online FPS game Wolfenstein: Enemy Territory - whose gameplay is still considered unmatched by many, despite its great age.", - "image": "quay.io\/parkervcp\/pterodactyl-images:ubuntu_source", - "startup": ".\/etlded +set net_port {{SERVER_PORT}} +map {{MAP}}", - "config": { - "files": "{\r\n \"etmain\/etl_server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"\/\/set net_ip \\\"\\\"\": \"set net_ip \\\"0.0.0.0\\\"\",\r\n \"\/\/set net_port \\\"27960\\\"\": \"set net_port \\\"{{server.build.env.SERVER_PORT}}\\\"\"\r\n }\r\n }\r\n}", - "startup": "{\r\n \"done\": \"------ Server Initialization ------\",\r\n \"userInteraction\": []\r\n}", - "logs": "{}", - "stop": "quit" - }, - "scripts": { - "installation": { - "script": "#!\/bin\/bash\r\n\r\napt-get update\r\napt-get -y install wget curl zip unzip\r\n\r\ncd \/tmp\/\r\n\r\necho \"Downloading $ET_VERSION bit ET Legacy version\"\r\n\r\nif [ $ET_VERSION == \"32\" ];then \r\n wget `curl https:\/\/www.etlegacy.com\/download | grep \"Linux 32-bit bin\" | grep -Eoi ']+>' | grep -Eo 'href=\"[^\\\"]+\"' | grep -Eo '(http|https):\/\/[^\"]+'` -O etlegacy.tar.gz\r\nelse\r\n wget `curl https:\/\/www.etlegacy.com\/download | grep \"Linux 64-bit bin\" | grep -Eoi ']+>' | grep -Eo 'href=\"[^\\\"]+\"' | grep -Eo '(http|https):\/\/[^\"]+'` -O etlegacy.tar.gz\r\nfi\r\n\r\necho \"Unpacking ET: Legacy\"\r\ntar --strip-components=1 -xzvf etlegacy.tar.gz -C \/mnt\/server\/\r\n\r\necho \"Downloading latest enemy territory files\"\r\nwget `curl https:\/\/www.splashdamage.com\/games\/wolfenstein-enemy-territory\/ | grep .x86_full | grep -Eoi ']+>' | grep -Eo 'href=\"[^\\\"]+\"' | grep -Eo --color=never '(http|https):\/\/[^\"]+'` -O enemy_territory.zip\r\n\r\necho \"Unpacking enemy territory files\"\r\nunzip enemy_territory.zip\r\n\r\necho \"Copying enemy territory assets\"\r\n.\/*.x86_keygen_V03.run --tar xvf .\/etmain\/\r\ncp etmain\/pak*.pk3 \/mnt\/server\/etmain\/\r\n\r\n# Create .etlegacy as the server doesn't correctly create it\r\nmkdir -p \/mnt\/server\/.etlegacy", - "container": "ubuntu:18.04", - "entrypoint": "bash" - } - }, - "variables": [ - { - "name": "ET Legacy Version", - "description": "What version of the server to install. 32 or 64 bit version.", - "env_variable": "ET_VERSION", - "default_value": "32", - "user_viewable": 1, - "user_editable": 1, - "rules": "required|integer|in:32, 64" - }, - { - "name": "Default Map", - "description": "The default map to use when starting the server.", - "env_variable": "MAP", - "default_value": "oasis", - "user_viewable": 1, - "user_editable": 1, - "rules": "required|string|max:20" - } - ] -} From fcfcfa3d1fc2894a6ed98950d8c58764cb5ec151 Mon Sep 17 00:00:00 2001 From: AreYouScared Date: Tue, 1 Oct 2019 15:16:48 -0400 Subject: [PATCH 100/413] Corrected Header Readme header was "Example Server Name" --- arma/arma3/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arma/arma3/README.md b/arma/arma3/README.md index 9bd5392a..15eb3296 100644 --- a/arma/arma3/README.md +++ b/arma/arma3/README.md @@ -1,4 +1,4 @@ -# Example Server Name +# Arma 3 ### From their [Site](https://arma3.com/) Experience true combat gameplay in a massive military sandbox. Deploying a wide variety of single- and multiplayer content, over 20 vehicles and 40 weapons, and limitless opportunities for content creation, this is the PC’s premier military game. Authentic, diverse, open - Arma 3 sends you to war. From 221d268e4b7977e92aed7c5442f687baec854488 Mon Sep 17 00:00:00 2001 From: AreYouScared Date: Tue, 1 Oct 2019 15:22:15 -0400 Subject: [PATCH 101/413] Fixed Conan Exiles URL Arma3 != Conan --- conan_exiles/conan_exiles/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conan_exiles/conan_exiles/README.md b/conan_exiles/conan_exiles/README.md index c490ffdd..28d4024b 100644 --- a/conan_exiles/conan_exiles/README.md +++ b/conan_exiles/conan_exiles/README.md @@ -1,4 +1,4 @@ -### From their [Site](https://arma3.com/) +### From their [Site](https://conanexiles.com/) Experience true combat gameplay in a massive military sandbox. Deploying a wide variety of single- and multiplayer content, over 20 vehicles and 40 weapons, and limitless opportunities for content creation, this is the PC’s premier military game. Authentic, diverse, open - Arma 3 sends you to war. ### Minimum RAM warning From 8e14f0b123ea358bc789b26e97b4425ce05add92 Mon Sep 17 00:00:00 2001 From: AreYouScared Date: Tue, 1 Oct 2019 15:26:20 -0400 Subject: [PATCH 102/413] Fixed Typo --- stock-eggs/minecraft/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stock-eggs/minecraft/README.md b/stock-eggs/minecraft/README.md index c63519ed..89d19035 100644 --- a/stock-eggs/minecraft/README.md +++ b/stock-eggs/minecraft/README.md @@ -1,6 +1,6 @@ # Minecraft -All the ddefault minecraft things +All the default 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 From 29693dfe31bb1d98574e51181cc5be673b5dbe60 Mon Sep 17 00:00:00 2001 From: AreYouScared Date: Tue, 1 Oct 2019 15:27:05 -0400 Subject: [PATCH 103/413] Fixed URL --- terraria/tmodloader/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/terraria/tmodloader/README.md b/terraria/tmodloader/README.md index be139132..932dc9fe 100644 --- a/terraria/tmodloader/README.md +++ b/terraria/tmodloader/README.md @@ -1,5 +1,5 @@ # tModLoader -### From their [GitHub](https://github.com/blushiemagic/tModLoader) +### From their [GitHub](https://github.com/tModLoader/tModLoader) tModLoader is essentially a mod that provides a way to load your own mods without having to work directly with Terraria's source code itself. This means you can easily make mods that are compatible with other people's mods, save yourself the trouble of having to decompile and recompile Terraria.exe, and escape from having to understand all of the obscure "intricacies" of Terraria's source code. It is made to work for Terraria 1.3+. ### Install notes From cf099bf54b0a0dddbf8d3904c174740e847075f6 Mon Sep 17 00:00:00 2001 From: AreYouScared Date: Tue, 1 Oct 2019 15:29:48 -0400 Subject: [PATCH 104/413] Fixed URL --- enemy_territory/etlegacy/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/enemy_territory/etlegacy/README.md b/enemy_territory/etlegacy/README.md index 7330b1f4..43b83406 100644 --- a/enemy_territory/etlegacy/README.md +++ b/enemy_territory/etlegacy/README.md @@ -10,7 +10,7 @@ and transmitting confidential documents, it was time to dust off the game which Enemy Territory: Legacy is an open source project based on the code of Wolfenstein: Enemy Territory which was released in 2010 under the terms of GPLv3 license. The main goal of this project is to fix bugs, remove old dependencies and make it playable on all major operating systems while still remaining compatible with the ET 2.60b version and as many of its mods as possible. We do appreciate any contribution to the project such as patches, suggestions or comments. -Make sure to checkout their [Home Page]([https://factorio.com/starter-page](https://www.etlegacy.com/)). +Make sure to checkout their [Home Page](https://www.etlegacy.com/). ### Server Ports ET: Legacy requires a single port From af1034249e35a78cdc9b00bcd0a83c73a1e94589 Mon Sep 17 00:00:00 2001 From: AreYouScared Date: Tue, 1 Oct 2019 15:30:27 -0400 Subject: [PATCH 105/413] Update egg-pixel-bot.json Clearly not Factorio --- bots/discord/pixelbot/egg-pixel-bot.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bots/discord/pixelbot/egg-pixel-bot.json b/bots/discord/pixelbot/egg-pixel-bot.json index e9646353..d149e036 100644 --- a/bots/discord/pixelbot/egg-pixel-bot.json +++ b/bots/discord/pixelbot/egg-pixel-bot.json @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/ash\r\n# Factorio Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk add --no-cache git gcc g++ libffi-dev make\r\n\r\ncd \/mnt\/server\r\n\r\necho \"Cloning pixel-bot repo\"\r\ngit clone https:\/\/github.com\/Ispira\/pixel-bot.git .\r\n\r\necho \"Installing python requirements into folder\"\r\npip install -U --target $(pwd) discord imgurpython xkcd pynacl", + "script": "#!\/bin\/ash\r\n# Pixel Bot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk add --no-cache git gcc g++ libffi-dev make\r\n\r\ncd \/mnt\/server\r\n\r\necho \"Cloning pixel-bot repo\"\r\ngit clone https:\/\/github.com\/Ispira\/pixel-bot.git .\r\n\r\necho \"Installing python requirements into folder\"\r\npip install -U --target $(pwd) discord imgurpython xkcd pynacl", "container": "python:3.6-alpine3.7", "entrypoint": "ash" } From 23ef5d4b85029b59803c28e92604b15a6702ad35 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sun, 6 Oct 2019 00:29:42 -0400 Subject: [PATCH 106/413] Fix squad startup --- squad/squad/egg-squad.json | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/squad/squad/egg-squad.json b/squad/squad/egg-squad.json index de73c96b..fb8db39d 100644 --- a/squad/squad/egg-squad.json +++ b/squad/squad/egg-squad.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-10-03T21:02:54-04:00", + "exported_at": "2019-10-06T00:29:04-04:00", "name": "Squad", "author": "brycea@rapidnetworks.org", "description": "Squad is a 50 vs 50 multiplayer first-person shooter that aims to capture combat realism through communication and teamplay. Major features include vehicle-based combined arms gameplay, large scale environments, base building, and integrated positional VoIP for proximity talking & radio.", @@ -17,8 +17,8 @@ }, "scripts": { "installation": { - "script": "apt update\r\napt -y --no-install-recommends install curl unzip libstdc++6 lib32gcc1 ca-certificates\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\/steam\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steam\r\ncd \/mnt\/server\/steam\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 403240 +quit\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v \/mnt\/server\/steam\/linux32\/steamclient.so \/mnt\/server\/.steam\/sdk32\/steamclient.so", - "container": "ubuntu:16.04", + "script": "#!\/bin\/bash\r\n## install required packages to install squad\r\napt update\r\napt -y --no-install-recommends install curl unzip libstdc++6 lib32gcc1 ca-certificates\r\n\r\n## install steamcmd\r\ncd \/tmp\r\ncurl -sSL -o steamcmd.tar.gz http:\/\/media.steampowered.com\/installer\/steamcmd_linux.tar.gz\r\nmkdir -p \/mnt\/server\/steam\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steam\r\ncd \/mnt\/server\/steam\r\n\r\n## needs to be used for steamcmd to operate correctly\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install squad\r\n.\/steamcmd.sh +login anonymous +force_install_dir \/mnt\/server +app_update ${{SRCDS_APPID}} +quit\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\n\r\ncp -v \/mnt\/server\/steam\/linux32\/steamclient.so \/mnt\/server\/.steam\/sdk32\/steamclient.so\r\n\r\nchmod +x \/mnt\/server\/SquadGame\/Binaries\/Linux\/SquadGameServer", + "container": "ubuntu:18.04", "entrypoint": "bash" } }, @@ -103,6 +103,24 @@ "user_viewable": 1, "user_editable": 1, "rules": "required|string" + }, + { + "name": "ld lib path", + "description": "this is needed for some reason", + "env_variable": "LD_LIBRARY_PATH", + "default_value": "\/home\/container\/linux64\/", + "user_viewable": 0, + "user_editable": 0, + "rules": "required|string" + }, + { + "name": "Game ID", + "description": "The ID corresponding to the game to download and run using SRCDS.", + "env_variable": "SRCDS_APPID", + "default_value": "403240", + "user_viewable": 0, + "user_editable": 0, + "rules": "required|string|max:20" } ] } \ No newline at end of file From c232995d545d776de1cbf40db30a4588b2140fc0 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Tue, 8 Oct 2019 09:07:48 -0400 Subject: [PATCH 107/413] update install script --- squad/squad/egg-squad.json | 42 +++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/squad/squad/egg-squad.json b/squad/squad/egg-squad.json index fb8db39d..64730158 100644 --- a/squad/squad/egg-squad.json +++ b/squad/squad/egg-squad.json @@ -3,12 +3,12 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-10-06T00:29:04-04:00", + "exported_at": "2019-10-08T08:47:08-04:00", "name": "Squad", "author": "brycea@rapidnetworks.org", "description": "Squad is a 50 vs 50 multiplayer first-person shooter that aims to capture combat realism through communication and teamplay. Major features include vehicle-based combined arms gameplay, large scale environments, base building, and integrated positional VoIP for proximity talking & radio.", "image": "quay.io\/pterodactyl\/core:source", - "startup": ".\/SquadGameServer.sh Port={{SERVER_PORT}} QueryPort={{QUERY_PORT}}", + "startup": "\/home\/container\/SquadGame\/Binaries\/Linux\/SquadGameServer SquadGame Port={{SERVER_PORT}} QueryPort={{QUERY_PORT}}", "config": { "files": "{\r\n \"SquadGame\/ServerConfig\/Server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"ServerName\": \"ServerName=\\\"{{server.build.env.servername}}\\\"\",\r\n \"MaxPlayers\": \"MaxPlayers={{server.build.env.maxplayers}}\",\r\n \"AllowTeamChanges\": \"AllowTeamChanges={{server.build.env.allowteamchange}}\",\r\n \"ShouldAdvertise\": \"ShouldAdvertise={{server.build.env.advertise}}\",\r\n \"NumReservedSlots\": \"NumReservedSlots={{server.build.env.reservedslots}}\",\r\n \"PreventTeamChangeIfUnbalanced\": \"PreventTeamChangeIfUnbalanced={{server.build.env.ptciu}}\",\r\n \"EnforceTeamBalance\": \"EnforceTeamBalance={{server.build.env.teambal}}\",\r\n \"RecordDemos\": \"RecordDemos={{server.build.env.recorddemos}}\"\r\n }\r\n }\r\n}", "startup": "{\r\n \"done\": \"Engine Initialization\",\r\n \"userInteraction\": []\r\n}", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n## install required packages to install squad\r\napt update\r\napt -y --no-install-recommends install curl unzip libstdc++6 lib32gcc1 ca-certificates\r\n\r\n## install steamcmd\r\ncd \/tmp\r\ncurl -sSL -o steamcmd.tar.gz http:\/\/media.steampowered.com\/installer\/steamcmd_linux.tar.gz\r\nmkdir -p \/mnt\/server\/steam\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steam\r\ncd \/mnt\/server\/steam\r\n\r\n## needs to be used for steamcmd to operate correctly\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install squad\r\n.\/steamcmd.sh +login anonymous +force_install_dir \/mnt\/server +app_update ${{SRCDS_APPID}} +quit\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\n\r\ncp -v \/mnt\/server\/steam\/linux32\/steamclient.so \/mnt\/server\/.steam\/sdk32\/steamclient.so\r\n\r\nchmod +x \/mnt\/server\/SquadGame\/Binaries\/Linux\/SquadGameServer", + "script": "#!\/bin\/bash\r\n## install required packages to install squad\r\napt update\r\napt -y --no-install-recommends install curl unzip libstdc++6 lib32gcc1 ca-certificates\r\n\r\n## install steamcmd\r\ncd \/tmp\r\ncurl -sSL -o steamcmd.tar.gz http:\/\/media.steampowered.com\/installer\/steamcmd_linux.tar.gz\r\nmkdir -p \/mnt\/server\/steam\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steam\r\ncd \/mnt\/server\/steam\r\n\r\n## needs to be used for steamcmd to operate correctly\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install squad\r\n.\/steamcmd.sh +login anonymous +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} +quit\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\n\r\ncp -v \/mnt\/server\/steam\/linux32\/steamclient.so \/mnt\/server\/.steam\/sdk32\/steamclient.so\r\n\r\nchmod +x \/mnt\/server\/SquadGame\/Binaries\/Linux\/SquadGameServer", "container": "ubuntu:18.04", "entrypoint": "bash" } @@ -32,6 +32,24 @@ "user_editable": 1, "rules": "required|numeric" }, + { + "name": "ld lib path", + "description": "this is needed for some reason", + "env_variable": "LD_LIBRARY_PATH", + "default_value": "\/home\/container\/linux64\/", + "user_viewable": 0, + "user_editable": 0, + "rules": "required|string" + }, + { + "name": "Game ID", + "description": "The ID corresponding to the game to download and run using SRCDS.", + "env_variable": "SRCDS_APPID", + "default_value": "403240", + "user_viewable": 0, + "user_editable": 0, + "rules": "required|string|max:20" + }, { "name": "Server Name", "description": "The name for the server in the server list", @@ -103,24 +121,6 @@ "user_viewable": 1, "user_editable": 1, "rules": "required|string" - }, - { - "name": "ld lib path", - "description": "this is needed for some reason", - "env_variable": "LD_LIBRARY_PATH", - "default_value": "\/home\/container\/linux64\/", - "user_viewable": 0, - "user_editable": 0, - "rules": "required|string" - }, - { - "name": "Game ID", - "description": "The ID corresponding to the game to download and run using SRCDS.", - "env_variable": "SRCDS_APPID", - "default_value": "403240", - "user_viewable": 0, - "user_editable": 0, - "rules": "required|string|max:20" } ] } \ No newline at end of file From 12d0189a0959ff11418cb4dc969f42e978a6ef29 Mon Sep 17 00:00:00 2001 From: Michael PArker Date: Thu, 24 Oct 2019 00:01:04 -0400 Subject: [PATCH 108/413] update install script Actually install the game in the right place --- steamcmd_servers/pixark/egg-pix-a-r-k.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/steamcmd_servers/pixark/egg-pix-a-r-k.json b/steamcmd_servers/pixark/egg-pix-a-r-k.json index 16bb3905..219447bb 100644 --- a/steamcmd_servers/pixark/egg-pix-a-r-k.json +++ b/steamcmd_servers/pixark/egg-pix-a-r-k.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2018-06-07T12:39:45-04:00", + "exported_at": "2019-10-24T00:00:15-04:00", "name": "PixARK", "author": "hello@venatus.digital", "description": "A simple Docker container with Wine to run PixARK using Pterodactyl Panel", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# PixARK: Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\ncd \/tmp\r\ncurl -sSL -o steamcmd.tar.gz http:\/\/media.steampowered.com\/installer\/steamcmd_linux.tar.gz\r\n\r\nmkdir -p \/mnt\/server\/steamcmd\r\n\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\n\r\nexport HOME=\/mnt\/server\r\n\/mnt\/server\/steamcmd\/steamcmd.sh +@sSteamCmdForcePlatformType windows +login anonymous +force_install_dir \/home\/container +app_update {{SRCDS_APPID}} +quit", + "script": "#!\/bin\/bash\r\n# PixARK: Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\ncd \/tmp\r\ncurl -sSL -o steamcmd.tar.gz http:\/\/media.steampowered.com\/installer\/steamcmd_linux.tar.gz\r\n\r\nmkdir -p \/mnt\/server\/steamcmd\r\n\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\n\r\nexport HOME=\/mnt\/server\r\n\/mnt\/server\/steamcmd\/steamcmd.sh +@sSteamCmdForcePlatformType windows +login anonymous +force_install_dir \/mnt\/server +app_update {{SRCDS_APPID}} +quit", "container": "ubuntu:latest", "entrypoint": "bash" } From 450ca72c92310566db6d795207b88f3d00435c6e Mon Sep 17 00:00:00 2001 From: Michael PArker Date: Thu, 24 Oct 2019 00:08:33 -0400 Subject: [PATCH 109/413] add ld lib path to 7dtd adds a variable to set the ld lib path for version 18. --- steamcmd_servers/7_days_to_die/egg-7-days-to-die.json | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/steamcmd_servers/7_days_to_die/egg-7-days-to-die.json b/steamcmd_servers/7_days_to_die/egg-7-days-to-die.json index 3a1d4165..402aad78 100644 --- a/steamcmd_servers/7_days_to_die/egg-7-days-to-die.json +++ b/steamcmd_servers/7_days_to_die/egg-7-days-to-die.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-08-30T20:42:59-04:00", + "exported_at": "2019-10-24T00:07:13-04:00", "name": "7 Days To Die", "author": "kristoffer.norman@bahnhof.se", "description": "7 days to die server", @@ -58,6 +58,15 @@ "user_viewable": 1, "user_editable": 1, "rules": "required|boolean" + }, + { + "name": "ld lib path", + "description": "This is really annoying that more games are doing this.", + "env_variable": "LD_LIBRARY_PATH", + "default_value": ".", + "user_viewable": 0, + "user_editable": 0, + "rules": "required|string|max:20" } ] } \ No newline at end of file From 1de9f96692b366c40aef2a7e36361875a6c54a9d Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Wed, 30 Oct 2019 22:01:42 -0400 Subject: [PATCH 110/413] update tModLoader install script Update script to get versions better. Uses the github api to pull the release versions and check for validity. Update start command to be correct --- terraria/tmodloader/egg-t-modloader.json | 43 +++++++++++++++++++----- 1 file changed, 35 insertions(+), 8 deletions(-) diff --git a/terraria/tmodloader/egg-t-modloader.json b/terraria/tmodloader/egg-t-modloader.json index 20847d38..d49516c2 100644 --- a/terraria/tmodloader/egg-t-modloader.json +++ b/terraria/tmodloader/egg-t-modloader.json @@ -3,12 +3,12 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2018-10-07T10:01:51-04:00", + "exported_at": "2019-10-30T21:46:07-04:00", "name": "tModloader", "author": "parker@parkervcp.com", "description": "tModLoader is essentially a mod that provides a way to load your own mods without having to work directly with Terraria's source code itself. This means you can easily make mods that are compatible with other people's mods, save yourself the trouble of having to decompile and recompile Terraria.exe, and escape from having to understand all of the obscure \"intricacies\" of Terraria's source code. It is made to work for Terraria 1.3+.", - "image": "quay.io\/parkervcp\/pterodactyl-images:ubuntu", - "startup": ".\/tModLoaderServer.bin.x86_64 -ip 0.0.0.0 -port ${SERVER_PORT} -maxplayers ${MAX_PLAYERS} -world ~\/saves\/Worlds\/${WORLD_NAME}.wld -worldname ${WORLD_NAME} -autocreate ${WORLD_SIZE} -savedirectory ~\/ -tmlsavedirectory ~\/saves -modpath ~\/mods", + "image": "quay.io\/parkervcp\/pterodactyl-images:base_ubuntu", + "startup": ".\/TerrariaServer.bin.x86_64 -ip 0.0.0.0 -port ${SERVER_PORT} -maxplayers ${MAX_PLAYERS} -world ~\/saves\/Worlds\/${WORLD_NAME}.wld -worldname ${WORLD_NAME} -autocreate ${WORLD_SIZE} -savedirectory ~\/ -tmlsavedirectory ~\/saves -modpath ~\/mods", "config": { "files": "{}", "startup": "{\r\n \"done\": \"Type 'help' for a list of commands\",\r\n \"userInteraction\": []\r\n}", @@ -17,8 +17,8 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/ash\r\n# Vanilla T-shock Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\ncd \/mnt\/server\r\n\r\necho -e \"Downloading tModloader\"\r\nwget https:\/\/github.com\/blushiemagic\/tModLoader\/releases\/download\/${TMODLOADER_VERSION}\/tModLoader.Linux.${TMODLOADER_VERSION}.zip\r\n\r\necho -e \"Unpacking mod loader files\"\r\nunzip tModLoader.Linux.${TMODLOADER_VERSION}.zip\r\n\r\nCLEAN_VERSION=$(echo ${TERRARIA_VERSION} | sed 's\/\\.\/\/g')\r\n\r\necho -e \"Downloading terraria server files\"\r\nwget http:\/\/terraria.org\/server\/terraria-server-${CLEAN_VERSION}.zip\r\n\r\necho -e \"Unpacking server files\"\r\nunzip terraria-server-$(echo ${CLEAN_VERSION} | sed 's\/\\.\/\/g').zip\r\ncp -R ${CLEAN_VERSION}\/Linux\/* .\/\r\n\r\necho -e \"Cleaning up extra files.\"\r\nrm -rf ${CLEAN_VERSION}\r\n\r\nchmod +x .\/tModLoaderServer.bin.x86_64", - "container": "alpine:3.9", + "script": "#!\/bin\/bash\r\n# Vanilla tModloader Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n## install packages to get version and download links\r\napk add --no-cache curl wget jq file unzip\r\n\r\nif [ -z \"$GITHUB_USER\" ] && [ -z \"$GITHUB_OAUTH_TOKEN\" ] ; then\r\n echo -e \"using anon api call\"\r\nelse\r\n echo -e \"user and oauth token set\"\r\n alias curl='curl -u $GITHUB_USER:$GITHUB_OAUTH_TOKEN '\r\nfi\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/$GITHUB_PACKAGE\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/$GITHUB_PACKAGE\/releases\")\r\n\r\nif [ -z \"$VERSION\" ] || [ \"$VERSION\" == \"latest\" ]; then\r\n DOWNLOAD_LINK=$(echo $LATEST_JSON | jq .assets | jq -r .[].browser_download_url | grep -i linux)\r\nelse\r\n VERSION_CHECK=$(echo $RELEASES | jq -r --arg VERSION \"$VERSION\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"$VERSION\" == \"$VERSION_CHECK\" ]; then\r\n DOWNLOAD_LINK=$(echo $RELEASES | jq -r --arg VERSION \"$VERSION\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i linux)\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_LINK=$(echo $LATEST_JSON | jq .assets | jq -r .[].browser_download_url | grep -i linux)\r\n fi\r\nfi\r\n\r\n## clean terraria version\r\nCLEAN_VERSION=$(echo ${TERRARIA_VERSION} | sed 's\/\\.\/\/g')\r\n\r\n## mkdir and cd to \/mnt\/server\/\r\nmkdir -p \/mnt\/server\r\n\r\ncd \/mnt\/server\r\n\r\n## download release\r\necho -e \"running: wget $DOWNLOAD_LINK\"\r\nwget $DOWNLOAD_LINK\r\n\r\nFILETYPE=$(file -F ',' ${DOWNLOAD_LINK##*\/} | cut -d',' -f2 | cut -d' ' -f2)\r\nif [ \"$FILETYPE\" == \"gzip\" ]; then\r\n tar xzvf ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"Zip\" ]; then\r\n unzip ${DOWNLOAD_LINK##*\/}\r\nelse\r\n echo -e \"unknown filetype. Exeting\"\r\n exit 2 \r\nfi\r\n\r\necho -e \"Downloading terraria server files\"\r\nwget http:\/\/terraria.org\/server\/terraria-server-${CLEAN_VERSION}.zip\r\n\r\necho -e \"Unpacking server files\"\r\nunzip terraria-server-$(echo ${CLEAN_VERSION} | sed 's\/\\.\/\/g').zip\r\ncp -R ${CLEAN_VERSION}\/Linux\/* .\/\r\n\r\nchmod +x TerrariaServer.bin.x86_64\r\n\r\necho -e \"Cleaning up extra files.\"\r\nrm -rf ${CLEAN_VERSION}", + "container": "alpine:3.10", "entrypoint": "ash" } }, @@ -26,8 +26,8 @@ { "name": "tModloader Version", "description": "The version of tModloader that is to be used.", - "env_variable": "TMODLOADER_VERSION", - "default_value": "v0.10.1.5", + "env_variable": "VERSION", + "default_value": "latest", "user_viewable": 1, "user_editable": 1, "rules": "required|string|max:20" @@ -67,6 +67,33 @@ "user_viewable": 1, "user_editable": 1, "rules": "required|numeric|digits_between:1,3" + }, + { + "name": "GitHub User", + "description": "GitHub user to use for api calls.\r\n\r\nThis only needs to be set if you hit the GitHub API too often across multiple servers.", + "env_variable": "GITHUB_USER", + "default_value": "", + "user_viewable": 0, + "user_editable": 0, + "rules": "string|nullable" + }, + { + "name": "GitHub OAuth Token", + "description": "This can be either an OAuth or a Personal Access Token.\r\n\r\nThis is required for the install is you set a user.", + "env_variable": "GITHUB_OAUTH_TOKEN", + "default_value": "", + "user_viewable": 0, + "user_editable": 0, + "rules": "string|nullable" + }, + { + "name": "GitHub Package", + "description": "This is to make automating this kind of thing easier.\r\n\r\nDo not edit if you don't know what you are doing.", + "env_variable": "GITHUB_PACKAGE", + "default_value": "tModLoader\/tModLoader", + "user_viewable": 0, + "user_editable": 0, + "rules": "required|string" } ] -} +} \ No newline at end of file From 26da778220b08b99ae787e2d3d1c7327c7b8b5b9 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Wed, 30 Oct 2019 23:31:08 -0400 Subject: [PATCH 111/413] update nukkit install script only pull files when the file doesn't exist. --- minecraft_bedrock/nukkit/egg-nukkit.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/minecraft_bedrock/nukkit/egg-nukkit.json b/minecraft_bedrock/nukkit/egg-nukkit.json index 5dedc848..4f5af0d7 100644 --- a/minecraft_bedrock/nukkit/egg-nukkit.json +++ b/minecraft_bedrock/nukkit/egg-nukkit.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2018-11-11T23:32:59-05:00", + "exported_at": "2019-10-30T23:29:01-04:00", "name": "Nukkit", "author": "parker@parkervcp.com", "description": "Nukkit is a Nuclear-Powered Server Software For Minecraft: Pocket Edition\r\n\r\nhttps:\/\/nukkit.io\/", @@ -17,8 +17,8 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/ash\r\n# Nukkit Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk add --no-cache curl openssl\r\n\r\ncd \/mnt\/server\r\n\r\n## Only download if a path is provided, otherwise continue.\r\nif [ ! -z \"${DL_PATH}\" ]; then\r\n MODIFIED_DOWNLOAD=`eval echo $(echo ${DL_PATH} | sed -e 's\/{{\/${\/g' -e 's\/}}\/}\/g')`\r\n wget ${MODIFIED_DOWNLOAD} -O ${SERVER_JARFILE}\r\nelif [ -z \"${NUKKIT_VERSION}\" ] || [ \"${NUKKIT_VERSION}\" == \"latest\" ]; then\r\n wget https:\/\/ci.nukkitx.com\/job\/NukkitX\/job\/Nukkit\/job\/master\/lastSuccessfulBuild\/artifact\/target\/nukkit-1.0-SNAPSHOT.jar -O ${SERVER_JARFILE}\r\nelse\r\n wget https:\/\/ci.nukkitx.com\/job\/NukkitX\/job\/Nukkit\/job\/master\/${NUKKIT_VERSION}\/artifact\/target\/nukkit-1.0-SNAPSHOT.jar -O ${SERVER_JARFILE}\r\nfi\r\n\r\nwget https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft_bedrock\/nukkit\/nukkit.yml\r\n\r\nwget https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft_bedrock\/nukkit\/server.properties", - "container": "alpine:3.9", + "script": "#!\/bin\/ash\r\n# Nukkit Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk add --no-cache curl openssl\r\n\r\ncd \/mnt\/server\r\n\r\n## Only download if a path is provided, otherwise continue.\r\nif [ ! -z \"${DL_PATH}\" ]; then\r\n MODIFIED_DOWNLOAD=`eval echo $(echo ${DL_PATH} | sed -e 's\/{{\/${\/g' -e 's\/}}\/}\/g')`\r\n wget ${MODIFIED_DOWNLOAD} -O ${SERVER_JARFILE}\r\nelif [ -z \"${NUKKIT_VERSION}\" ] || [ \"${NUKKIT_VERSION}\" == \"latest\" ]; then\r\n wget https:\/\/ci.nukkitx.com\/job\/NukkitX\/job\/Nukkit\/job\/master\/lastSuccessfulBuild\/artifact\/target\/nukkit-1.0-SNAPSHOT.jar -O ${SERVER_JARFILE}\r\nelse\r\n wget https:\/\/ci.nukkitx.com\/job\/NukkitX\/job\/Nukkit\/job\/master\/${NUKKIT_VERSION}\/artifact\/target\/nukkit-1.0-SNAPSHOT.jar -O ${SERVER_JARFILE}\r\nfi\r\n\r\nif [ ! -f nukkit.yml ]; \r\n wget https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft_bedrock\/nukkit\/nukkit.yml\r\nfi \r\n\r\nif [ ! -f nukkit.yml ]; \r\n wget https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft_bedrock\/nukkit\/server.properties\r\nfi", + "container": "alpine:3.10", "entrypoint": "ash" } }, @@ -51,4 +51,4 @@ "rules": "required|string|max:20" } ] -} +} \ No newline at end of file From 12f59d0cf19c6029eda661c7fc2d479f0836b229 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sat, 2 Nov 2019 21:12:22 -0500 Subject: [PATCH 112/413] add missing then in if statements --- minecraft_bedrock/nukkit/egg-nukkit.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/minecraft_bedrock/nukkit/egg-nukkit.json b/minecraft_bedrock/nukkit/egg-nukkit.json index 4f5af0d7..1444cb91 100644 --- a/minecraft_bedrock/nukkit/egg-nukkit.json +++ b/minecraft_bedrock/nukkit/egg-nukkit.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-10-30T23:29:01-04:00", + "exported_at": "2019-11-02T22:11:25-04:00", "name": "Nukkit", "author": "parker@parkervcp.com", "description": "Nukkit is a Nuclear-Powered Server Software For Minecraft: Pocket Edition\r\n\r\nhttps:\/\/nukkit.io\/", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/ash\r\n# Nukkit Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk add --no-cache curl openssl\r\n\r\ncd \/mnt\/server\r\n\r\n## Only download if a path is provided, otherwise continue.\r\nif [ ! -z \"${DL_PATH}\" ]; then\r\n MODIFIED_DOWNLOAD=`eval echo $(echo ${DL_PATH} | sed -e 's\/{{\/${\/g' -e 's\/}}\/}\/g')`\r\n wget ${MODIFIED_DOWNLOAD} -O ${SERVER_JARFILE}\r\nelif [ -z \"${NUKKIT_VERSION}\" ] || [ \"${NUKKIT_VERSION}\" == \"latest\" ]; then\r\n wget https:\/\/ci.nukkitx.com\/job\/NukkitX\/job\/Nukkit\/job\/master\/lastSuccessfulBuild\/artifact\/target\/nukkit-1.0-SNAPSHOT.jar -O ${SERVER_JARFILE}\r\nelse\r\n wget https:\/\/ci.nukkitx.com\/job\/NukkitX\/job\/Nukkit\/job\/master\/${NUKKIT_VERSION}\/artifact\/target\/nukkit-1.0-SNAPSHOT.jar -O ${SERVER_JARFILE}\r\nfi\r\n\r\nif [ ! -f nukkit.yml ]; \r\n wget https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft_bedrock\/nukkit\/nukkit.yml\r\nfi \r\n\r\nif [ ! -f nukkit.yml ]; \r\n wget https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft_bedrock\/nukkit\/server.properties\r\nfi", + "script": "#!\/bin\/ash\r\n# Nukkit Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk add --no-cache curl openssl\r\n\r\ncd \/mnt\/server\r\n\r\n## Only download if a path is provided, otherwise continue.\r\nif [ ! -z \"${DL_PATH}\" ]; then\r\n MODIFIED_DOWNLOAD=`eval echo $(echo ${DL_PATH} | sed -e 's\/{{\/${\/g' -e 's\/}}\/}\/g')`\r\n wget ${MODIFIED_DOWNLOAD} -O ${SERVER_JARFILE}\r\nelif [ -z \"${NUKKIT_VERSION}\" ] || [ \"${NUKKIT_VERSION}\" == \"latest\" ]; then\r\n wget https:\/\/ci.nukkitx.com\/job\/NukkitX\/job\/Nukkit\/job\/master\/lastSuccessfulBuild\/artifact\/target\/nukkit-1.0-SNAPSHOT.jar -O ${SERVER_JARFILE}\r\nelse\r\n wget https:\/\/ci.nukkitx.com\/job\/NukkitX\/job\/Nukkit\/job\/master\/${NUKKIT_VERSION}\/artifact\/target\/nukkit-1.0-SNAPSHOT.jar -O ${SERVER_JARFILE}\r\nfi\r\n\r\nif [ ! -f nukkit.yml ]; then\r\n wget https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft_bedrock\/nukkit\/nukkit.yml\r\nfi\r\n\r\nif [ ! -f nukkit.yml ]; then\r\n wget https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft_bedrock\/nukkit\/server.properties\r\nfi", "container": "alpine:3.10", "entrypoint": "ash" } From 4cf24bbec002491a6cd0e2713c097128f2a65e16 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sun, 3 Nov 2019 20:47:39 -0500 Subject: [PATCH 113/413] Update FiveM install script Resolves #341 --- gta/fivem/egg-five-m.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gta/fivem/egg-five-m.json b/gta/fivem/egg-five-m.json index 295ce327..8d9baef5 100644 --- a/gta/fivem/egg-five-m.json +++ b/gta/fivem/egg-five-m.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-10-04T16:30:46-04:00", + "exported_at": "2019-11-03T20:45:20-05:00", "name": "FiveM", "author": "parker@parkervcp.com", "description": "A new FiveM egg for the latest builds due to recent changes in FiveM", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/ash \r\n\r\napk add openssl tar xz curl wget git --no-cache\r\n\r\ncd \/mnt\/server\r\n\r\nmkdir resources\r\n\r\necho \"updating citizenfx resource files\"\r\ngit clone https:\/\/github.com\/citizenfx\/cfx-server-data.git \/tmp\r\ncp -Rf \/tmp\/resources\/* resources\/ \r\n\r\ncd \/mnt\/server\r\n\r\necho \"Downloading the latest fivem server files\"\r\nlatest_fivem_url=`curl https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/ | grep -Eo 'href=\".*\/\"' | grep -Eo '\".*\"' | grep -Eo 'href=\".*\/\"' | grep -Eo '\".*\"' | sed 's\/\\\"\/\/g'`\r\n\r\necho -e \"pulling files from https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/${latest_fivem_url}fx.tar.xz\"\r\nwget https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/${latest_fivem_url}fx.tar.xz\r\n\r\necho \"Extracting fivem files\"\r\n\r\ntar xf fx.tar.xz\r\n\r\nrm -rf fx.tar.xz run.sh\r\n\r\nif [ -e server.cfg ]; then\r\n echo \"server config file exists\"\r\nelse\r\n echo \"Downloading default fivem config\"\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/gta\/fivem\/server.cfg >> server.cfg\r\nfi\r\n\r\nmkdir logs\/\r\n\r\necho \"install complete\"", + "script": "#!\/bin\/ash\r\n# FiveM Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk add openssl tar xz curl wget git file --no-cache\r\n\r\nmkdir -p \/mnt\/server\/resources\r\n\r\ncd \/mnt\/server\r\n\r\necho \"updating citizenfx resource files\"\r\ngit clone https:\/\/github.com\/citizenfx\/cfx-server-data.git \/tmp\r\ncp -Rf \/tmp\/resources\/* resources\/ \r\n\r\nRELEASE_PAGE=$(curl -sSL https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/)\r\n\r\nif [ \"${FIVEM_VERSION}\" == \"latest\" ] || [ -z ${FIVEM_VERSION} ] ; then\r\n LATEST_RECOMMENDED=$(echo -e \"${RELEASE_PAGE}\" | grep \"LATEST RECOMMENDED\" -B1 | grep -Eo 'href=\".*\/*.tar.xz\"' | grep -Eo '\".*\"' | sed 's\/\\\"\/\/g' | sed 's\/\\.\\\/\/\/1')\r\n DOWNLOAD_LINK=$(echo https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/${LATEST_RECOMMENDED})\r\nelse\r\n VERSION_LINK=$(echo -e \"${RELEASE_PAGE}\" | grep -Eo 'href=\".*\/*.tar.xz\"' | grep -Eo '\".*\"' | sed 's\/\\\"\/\/g' | sed 's\/\\.\\\/\/\/1' | grep ${FIVEM_VERSION})\r\n if [ \"${VERSION_LINK}\" == \"\" ]; then\r\n echo -e \"defaulting to latest as the version requested was invalid.\"\r\n else\r\n DOWNLOAD_LINK=$(echo https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/${VERSION_LINK})\r\n fi\r\nfi\r\n\r\nif [ ! -z \"${DOWNLOAD_URL}\"]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_URL}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n DOWNLOAD_LINK=${DOWNLOAD_URL}\r\n else\r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\necho -e \"Running curl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\"\r\n\r\ncurl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\r\n\r\necho \"Extracting fivem files\"\r\n\r\nFILETYPE=$(file -F ',' ${DOWNLOAD_LINK##*\/} | cut -d',' -f2 | cut -d' ' -f2)\r\nif [ \"$FILETYPE\" == \"gzip\" ]; then\r\n tar xzvf ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"Zip\" ]; then\r\n unzip ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"XZ\" ]; then\r\n tar xvf ${DOWNLOAD_LINK##*\/}\r\nelse\r\n echo -e \"unknown filetype. Exeting\"\r\n exit 2 \r\nfi\r\n\r\nrm -rf ${DOWNLOAD_LINK##*\/} run.sh\r\n\r\nif [ -e server.cfg ]; then\r\n echo \"server config file exists\"\r\nelse\r\n echo \"Downloading default fivem config\"\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/gta\/fivem\/server.cfg >> server.cfg\r\nfi\r\n\r\nmkdir logs\/\r\n\r\necho \"install complete\"", "container": "alpine:3.10", "entrypoint": "ash" } From 533ce1f34322a54035f50d70f101b5bb01797cf4 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sun, 3 Nov 2019 22:29:44 -0500 Subject: [PATCH 114/413] add a scripts folder as a resource This specifically adds a the github_release_grabber I wrote for the tmodloader egg. --- scripts/github_release_grabber.sh | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 scripts/github_release_grabber.sh diff --git a/scripts/github_release_grabber.sh b/scripts/github_release_grabber.sh new file mode 100644 index 00000000..d05120c8 --- /dev/null +++ b/scripts/github_release_grabber.sh @@ -0,0 +1,28 @@ +## this is a simple script to use the github API for release versions. +## this requires the egg has a variable for GITHUB_PACKAGE, VERSION and MATCH (match is to match the filename in some way) +## this supports using oauth/personal access tokens via GITHUB_USER and GITHUB_OAUTH_TOKEN (both are required.) +## if you are getting hit with GitHub API limit issues then you need to have the user and token set. + + +if [ -z "$GITHUB_USER" ] && [ -z "$GITHUB_OAUTH_TOKEN" ] ; then + echo -e "using anon api call" +else + echo -e "user and oauth token set" + alias curl='curl -u $GITHUB_USER:$GITHUB_OAUTH_TOKEN ' +fi + +## get release info and download links +LATEST_JSON=$(curl --silent "https://api.github.com/repos/$GITHUB_PACKAGE/releases/latest") +RELEASES=$(curl --silent "https://api.github.com/repos/$GITHUB_PACKAGE/releases") + +if [ -z "$VERSION" ] || [ "$VERSION" == "latest" ]; then + DOWNLOAD_LINK=$(echo $LATEST_JSON | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH}) +else + VERSION_CHECK=$(echo $RELEASES | jq -r --arg VERSION "$VERSION" '.[] | select(.tag_name==$VERSION) | .tag_name') + if [ "$VERSION" == "$VERSION_CHECK" ]; then + DOWNLOAD_LINK=$(echo $RELEASES | jq -r --arg VERSION "$VERSION" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH}) + else + echo -e "defaulting to latest release" + DOWNLOAD_LINK=$(echo $LATEST_JSON | jq .assets | jq -r .[].browser_download_url) + fi +fi \ No newline at end of file From f5c7014231090048cb1eabb984562c8e3ea27e15 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sun, 3 Nov 2019 22:34:43 -0500 Subject: [PATCH 115/413] add file unpacker This is to unpack files. --- scripts/file_unpacker.sh | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 scripts/file_unpacker.sh diff --git a/scripts/file_unpacker.sh b/scripts/file_unpacker.sh new file mode 100644 index 00000000..42cb8bcc --- /dev/null +++ b/scripts/file_unpacker.sh @@ -0,0 +1,15 @@ +## only needs to have the file with a file passed into it to get the filetype. +## only supports tar.gz/xz and zip currently for unpacking. +## The value for ${DOWNLOAD_LINK##*/} is + +FILETYPE=$(file -F ',' ${DOWNLOAD_LINK##*/} | cut -d',' -f2 | cut -d' ' -f2) +if [ "$FILETYPE" == "gzip" ]; then + tar xzvf ${DOWNLOAD_LINK##*/} +elif [ "$FILETYPE" == "Zip" ]; then + unzip ${DOWNLOAD_LINK##*/} +elif [ "$FILETYPE" == "XZ" ]; then + tar xvf ${DOWNLOAD_LINK##*/} +else + echo -e "unknown filetype. Exeting" + exit 2 +fi \ No newline at end of file From 5151d88dec1dbc250aec6af8f0bc6e5933695097 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sun, 3 Nov 2019 22:38:58 -0500 Subject: [PATCH 116/413] add notes for the unpacker script. --- scripts/file_unpacker.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/file_unpacker.sh b/scripts/file_unpacker.sh index 42cb8bcc..c5d818f5 100644 --- a/scripts/file_unpacker.sh +++ b/scripts/file_unpacker.sh @@ -1,6 +1,7 @@ ## only needs to have the file with a file passed into it to get the filetype. ## only supports tar.gz/xz and zip currently for unpacking. -## The value for ${DOWNLOAD_LINK##*/} is +## The value for ${DOWNLOAD_LINK##*/} is derived from DOWNLOAD_LINK +## if the download link is https://launcher.mojang.com/v1/objects/3dc3d84a581f14691199cf6831b71ed1296a9fdf/server.jar then the ##*/ is server.jar FILETYPE=$(file -F ',' ${DOWNLOAD_LINK##*/} | cut -d',' -f2 | cut -d' ' -f2) if [ "$FILETYPE" == "gzip" ]; then From 5d933653d3d366e10740acef43c67cea83cfd75c Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Wed, 6 Nov 2019 18:53:24 -0500 Subject: [PATCH 117/413] add json file for the egg. this won't actually run until the PR merged. This is due to file locations. --- database/mariadb/egg-maria-d-b.json | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 database/mariadb/egg-maria-d-b.json diff --git a/database/mariadb/egg-maria-d-b.json b/database/mariadb/egg-maria-d-b.json new file mode 100644 index 00000000..8dd3015d --- /dev/null +++ b/database/mariadb/egg-maria-d-b.json @@ -0,0 +1,26 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2019-11-06T18:52:33-05:00", + "name": "MariaDB", + "author": "parker@parkervcp.com", + "description": "One of the most popular database servers. Made by the original developers of MySQL. Guaranteed to stay open source.", + "image": "quay.io\/parkervcp\/pterodactyl-images:db_mariadb", + "startup": "{ \/usr\/sbin\/mysqld & } && sleep 5 && mysql -u root", + "config": { + "files": "{\r\n \".my.cnf\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"port\": \"port = {{server.build.default.port}}\",\r\n \"bind-address\": \"bind-address=0.0.0.0\"\r\n }\r\n }\r\n}", + "startup": "{\r\n \"done\": \"mysqld: ready for connections\"\r\n}", + "logs": "{}", + "stop": "shutdown; exit;" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash\r\n# MariaDB Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nset -x\r\n\r\necho -e \"installing dependencies\"\r\napt-get -y update\r\napt-get -y install curl\r\n\r\n## add user\r\necho -e \"adding container user\"\r\nuseradd -d \/home\/container -m container -s \/bin\/bash\r\n\r\n## own server to container user\r\nchown container: \/mnt\/server\/\r\n\r\n## run install script as user\r\necho -e \"getting my.conf\"\r\nif [ -f \/mnt\/server\/.my.cnf ]; then\r\n echo -e \"moving current config for install\"\r\n mv \/mnt\/server\/.my.cnf \/mnt\/server\/custom.my.cnf\r\n runuser -l container -c 'curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/database\/mariadb\/install.my.cnf > \/mnt\/server\/.my.cnf'\r\nelse\r\n runuser -l container -c 'curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/database\/mariadb\/install.my.cnf > \/mnt\/server\/.my.cnf'\r\nfi\r\n\r\n## mkdir and install db\r\necho -e \"installing mysql database\"\r\nrunuser -l container -c 'mkdir -p \/mnt\/server\/run\/mysqld'\r\nrunuser -l container -c 'mkdir -p \/mnt\/server\/log\/mysql'\r\nrunuser -l container -c 'mkdir \/mnt\/server\/mysql'\r\n\r\nrunuser -l container -c 'mysql_install_db --defaults-file=\/mnt\/server\/.my.cnf'\r\n\r\nif [ -f \/mnt\/server\/custom.my.cnf ]; then\r\n echo -e \"moving current config back in place\"\r\n mv \/mnt\/server\/custom.my.cnf \/mnt\/server\/.my.cnf\r\nelse\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/add\/mariadb\/database\/mariadb\/my.cnf > \/mnt\/server\/.my.cnf\r\nfi\r\n\r\necho -e \"install complete\"\r\n\r\nexit", + "container": "mariadb:10.3", + "entrypoint": "bash" + } + }, + "variables": [] +} \ No newline at end of file From c298af96896a42a1b7a31b4e25d3fd8bf8ec907d Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Wed, 6 Nov 2019 18:59:03 -0500 Subject: [PATCH 118/413] add readme for mariadb --- database/mariadb/README.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 database/mariadb/README.md diff --git a/database/mariadb/README.md b/database/mariadb/README.md new file mode 100644 index 00000000..10acde47 --- /dev/null +++ b/database/mariadb/README.md @@ -0,0 +1,17 @@ +# MariaDB +### From their [Website](https://mariadb.org/) +One of the most popular database servers. Made by the original developers of MySQL. +Guaranteed to stay open source. + +### Minimum RAM warning +There is no actual minimum suggested for MariaDB. + +See here https://mariadb.com/kb/en/library/mariadb-hardware-requirements/ + + +### Server Ports +Ports required to run the server in a table format. + +| Port | default | +|---------|---------| +| Server | 3306 | From 03661343bc59a14ba8b2ef61c3c045be23667888 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Wed, 6 Nov 2019 19:03:53 -0500 Subject: [PATCH 119/413] update core readme to add mariadb --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 048bc676..e5ce17c5 100644 --- a/README.md +++ b/README.md @@ -39,6 +39,9 @@ If you are reading this it looks like you are looking to add an egg to your serv [TeamSpeak3](bots/teamspeak3) * [JTS3ServerMod](/bots/teamspeak3/jts3servermod/) +## Database Eggs +[MariaDB](/database/mariadb/) + ## Game Eggs [Arma](/arma/) From 6afdfd547e6c024a3474c0908b86e5c9c288cf94 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Wed, 6 Nov 2019 20:07:39 -0500 Subject: [PATCH 120/413] update 7dtd start for new entrypoint --- steamcmd_servers/7_days_to_die/egg-7-days-to-die.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/steamcmd_servers/7_days_to_die/egg-7-days-to-die.json b/steamcmd_servers/7_days_to_die/egg-7-days-to-die.json index 402aad78..858e871d 100644 --- a/steamcmd_servers/7_days_to_die/egg-7-days-to-die.json +++ b/steamcmd_servers/7_days_to_die/egg-7-days-to-die.json @@ -3,12 +3,12 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-10-24T00:07:13-04:00", + "exported_at": "2019-11-06T20:06:59-05:00", "name": "7 Days To Die", "author": "kristoffer.norman@bahnhof.se", "description": "7 days to die server", "image": "quay.io\/parkervcp\/pterodactyl-images:ubuntu_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 \"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'", + "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 \"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": "{}", "startup": "{\r\n \"done\": \"Connected with 7DTD server\",\r\n \"userInteraction\": []\r\n}", From fdd45557b3826458f93a1fd987e11f6f716f2eef Mon Sep 17 00:00:00 2001 From: Michael PArker Date: Fri, 8 Nov 2019 06:05:28 -0500 Subject: [PATCH 121/413] update curse naming moved forge-generic to forge moved forge-mod-generic to curseforge-generic Updated forge-generic yml to the newer curseforge-generic installer. --- .../README.md | 0 .../egg-curseforge-generic.json | 45 +++++++++++++++++++ .../forge-mod-generic/egg-forge-generic.json | 45 ------------------- .../forge/{forge-generic => forge}/README.md | 0 .../egg-forge-enhanced.json | 0 5 files changed, 45 insertions(+), 45 deletions(-) rename minecraft_java/forge/{forge-mod-generic => curseforge-generic}/README.md (100%) create mode 100644 minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json delete mode 100644 minecraft_java/forge/forge-mod-generic/egg-forge-generic.json rename minecraft_java/forge/{forge-generic => forge}/README.md (100%) rename minecraft_java/forge/{forge-generic => forge}/egg-forge-enhanced.json (100%) diff --git a/minecraft_java/forge/forge-mod-generic/README.md b/minecraft_java/forge/curseforge-generic/README.md similarity index 100% rename from minecraft_java/forge/forge-mod-generic/README.md rename to minecraft_java/forge/curseforge-generic/README.md diff --git a/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json b/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json new file mode 100644 index 00000000..6f3b096c --- /dev/null +++ b/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json @@ -0,0 +1,45 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2019-11-08T06:03:05-05:00", + "name": "Curseforge Generic", + "author": "parker@parkervcp.com", + "description": "A generic egg for a forge modpack", + "image": "quay.io\/pterodactyl\/core:java", + "startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar server.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\/bash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nmkdir -p \/mnt\/server\r\n\r\nfunction install_required {\r\n apt update\r\n apt install -y curl jq unzip\r\n}\r\n\r\nfunction get_download {\r\n # get json data to work with\r\n echo -e \"Curling the json for the modpack\"\r\n echo -e \"running: curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\"\r\n JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID})\r\n\r\n # if no modpack version is set or is set to latest\r\n if [ -z ${MODPACK_VERSION} ] || [ \"${MODPACK_VERSION}\" = \"latest\" ]; then\r\n echo -e \"Getting latest download url\"\r\n # parse data to get the download url\r\n DOWNLOAD_URL=$(echo -e ${JSON_DATA} | jq -r .latestFiles[0].downloadUrl)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n else\r\n echo -e \"Looking for download url for version ${MODPACK_VERSION}\"\r\n # parse files for version match\r\n FILES_JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/files)\r\n # get element number to get the exact location in the json\r\n FILES_JSON_ELEMENT=$(echo -e ${FILES_JSON_DATA} | jq --arg VERSION \"${MODPACK_VERSION}\" '.[] | select(.displayName) | .displayName | contains($VERSION)' | grep -n true | cut -f1 -d: | tail -1)\r\n # if there wasn't a match default to latest\r\n if [ ! -z ${FILES_JSON_ELEMENT} ]; then\r\n echo -e \"No matching version found\"\r\n echo -e \"defaulting to latest\"\r\n DOWNLOAD_URL=$(echo -e ${FILES_JSON_DATA} | jq --arg ELEMENT \"${FILES_JSON_ELEMENT}\" '.[$ELEMENT|tonumber-1] | .downloadUrl')\r\n else\r\n echo -e \"Version match found\"\r\n DOWNLOAD_URL=$(echo -e ${JSON_DATA} | jq -r .latestFiles[0].downloadUrl)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n fi\r\n fi\r\n\r\n ## download modpack files\r\n cd \/mnt\/server\r\n echo \"Executing curl -L ${DOWNLOAD_URL} -o server.zip\"\r\n curl -L \"${DOWNLOAD_URL}\" -o server.zip\r\n unzip -o server.zip\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 if [ -f \/mnt\/server\/*installer.jar ]; then\r\n java -jar *installer.jar --installServer\r\n else\r\n echo \"No forge installer found moving on.\"\r\n fi\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 if [ ! -f \/mnt\/server\/*universal.jar ]; then\r\n mv -v \/mnt\/server\/*\/* \/mnt\/server\/\r\n mv *universal.jar server.jar\r\n else\r\n mv *universal.jar server.jar\r\n fi\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-jdk-slim", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "modpack project ID", + "description": "The modpack project ID from the curseforge site on the pack page.\r\n\r\n(Ex. https:\/\/minecraft.curseforge.com\/projects\/sevtech-ages ID is 268208)", + "env_variable": "MODPACK_ID", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string" + }, + { + "name": "Modpack Version", + "description": "Version of the modpack to use.", + "env_variable": "MODPACK_VERSION", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:20" + } + ] +} \ No newline at end of file diff --git a/minecraft_java/forge/forge-mod-generic/egg-forge-generic.json b/minecraft_java/forge/forge-mod-generic/egg-forge-generic.json deleted file mode 100644 index e09c2dd2..00000000 --- a/minecraft_java/forge/forge-mod-generic/egg-forge-generic.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", - "meta": { - "version": "PTDL_v1" - }, - "exported_at": "2019-07-23T19:59:03-04:00", - "name": "Forge Generic", - "author": "parker@parkervcp.com", - "description": "A generic egg for a forge modpack", - "image": "quay.io\/pterodactyl\/core:java", - "startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar server.jar", - "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\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 ID=`curl -sl ${BASE_URL} | grep -i -A9 \"${MODPACK_VERSION}\" | grep -m 1 -oE 'href=\"[^\\\"]+\"' | cut -d \"\/\" -f6 | grep -oE [0-9]+`\r\n echo \"ID: ${ID}\"\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 -i $MODPACK_VERSION | 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=${MODPACK_URL}\/download\/${GOOD_ID}\/file\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 if [ -f \/mnt\/server\/*installer.jar ]; then\r\n java -jar *installer.jar --installServer\r\n else\r\n echo \"No forge installer found moving on.\"\r\n fi\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 if [ ! -f \/mnt\/server\/*universal.jar ]; then\r\n mv -v \/mnt\/server\/*\/* \/mnt\/server\/\r\n mv *universal.jar server.jar\r\n else\r\n mv *universal.jar server.jar\r\n fi\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" - } - }, - "variables": [ - { - "name": "modpack URL", - "description": "The modpack URL from the curseforge site.\r\n\r\n(Ex. https:\/\/minecraft.curseforge.com\/projects\/sevtech-ages)", - "env_variable": "MODPACK_URL", - "default_value": "", - "user_viewable": 1, - "user_editable": 1, - "rules": "required|string" - }, - { - "name": "Modpack Version", - "description": "Version of the modpack to use.", - "env_variable": "MODPACK_VERSION", - "default_value": "", - "user_viewable": 1, - "user_editable": 1, - "rules": "required|string|max:20" - } - ] -} \ No newline at end of file diff --git a/minecraft_java/forge/forge-generic/README.md b/minecraft_java/forge/forge/README.md similarity index 100% rename from minecraft_java/forge/forge-generic/README.md rename to minecraft_java/forge/forge/README.md diff --git a/minecraft_java/forge/forge-generic/egg-forge-enhanced.json b/minecraft_java/forge/forge/egg-forge-enhanced.json similarity index 100% rename from minecraft_java/forge/forge-generic/egg-forge-enhanced.json rename to minecraft_java/forge/forge/egg-forge-enhanced.json From b1a455f7cb03e4045c504d26d77404943c7e8edc Mon Sep 17 00:00:00 2001 From: Michael PArker Date: Fri, 8 Nov 2019 06:09:16 -0500 Subject: [PATCH 122/413] update curseforge readme --- minecraft_java/forge/curseforge-generic/README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/minecraft_java/forge/curseforge-generic/README.md b/minecraft_java/forge/curseforge-generic/README.md index 03468b6f..c92470c2 100644 --- a/minecraft_java/forge/curseforge-generic/README.md +++ b/minecraft_java/forge/curseforge-generic/README.md @@ -2,7 +2,8 @@ ### This is a generic egg for curseforge modpacks -You will need to give it a modpack URL such as `https://minecraft.curseforge.com/projects/` +You will need to give it a modpack ID. The ID for sevtech-ages is `268208` for example. +This can be found on the modpack page in the `About Project` section in the upper right corner. This will grabe the latest release when the version is set to latest. From f3d61e922420c63fc4bd9809bbcd3b4edcf1b00c Mon Sep 17 00:00:00 2001 From: Renaud Gaspard Date: Thu, 14 Nov 2019 21:54:08 +0100 Subject: [PATCH 123/413] Added SRCDS_APPID in Sven-Coop so it automatically updates on startup --- steamcmd_servers/svencoop/egg-sven-co-op.json | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/steamcmd_servers/svencoop/egg-sven-co-op.json b/steamcmd_servers/svencoop/egg-sven-co-op.json index 7bc00475..c341b5a7 100644 --- a/steamcmd_servers/svencoop/egg-sven-co-op.json +++ b/steamcmd_servers/svencoop/egg-sven-co-op.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-03-08T22:46:21+01:00", + "exported_at": "2019-11-14T21:43:14+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.", @@ -67,6 +67,15 @@ "user_viewable": 1, "user_editable": 1, "rules": "required|numeric|between:-1,255" + }, + { + "name": "Source AppID", + "description": "Required for game to update on server restart. Do not modify this.", + "env_variable": "SRCDS_APPID", + "default_value": "276060", + "user_viewable": 0, + "user_editable": 0, + "rules": "required|string|max:20" } ] } \ No newline at end of file From 635949add86c3c10054116cdf3b8e8defc811986 Mon Sep 17 00:00:00 2001 From: "Michael (Parker) Parker" Date: Fri, 15 Nov 2019 11:56:06 -0500 Subject: [PATCH 124/413] update curseforge install script changes to use the curseforge api to download mods. --- .../forge/curseforge-generic/egg-curseforge-generic.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json b/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json index 6f3b096c..82178d97 100644 --- a/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json +++ b/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-11-08T06:03:05-05:00", + "exported_at": "2019-11-15T11:54:24-05:00", "name": "Curseforge Generic", "author": "parker@parkervcp.com", "description": "A generic egg for a forge modpack", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nmkdir -p \/mnt\/server\r\n\r\nfunction install_required {\r\n apt update\r\n apt install -y curl jq unzip\r\n}\r\n\r\nfunction get_download {\r\n # get json data to work with\r\n echo -e \"Curling the json for the modpack\"\r\n echo -e \"running: curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\"\r\n JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID})\r\n\r\n # if no modpack version is set or is set to latest\r\n if [ -z ${MODPACK_VERSION} ] || [ \"${MODPACK_VERSION}\" = \"latest\" ]; then\r\n echo -e \"Getting latest download url\"\r\n # parse data to get the download url\r\n DOWNLOAD_URL=$(echo -e ${JSON_DATA} | jq -r .latestFiles[0].downloadUrl)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n else\r\n echo -e \"Looking for download url for version ${MODPACK_VERSION}\"\r\n # parse files for version match\r\n FILES_JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/files)\r\n # get element number to get the exact location in the json\r\n FILES_JSON_ELEMENT=$(echo -e ${FILES_JSON_DATA} | jq --arg VERSION \"${MODPACK_VERSION}\" '.[] | select(.displayName) | .displayName | contains($VERSION)' | grep -n true | cut -f1 -d: | tail -1)\r\n # if there wasn't a match default to latest\r\n if [ ! -z ${FILES_JSON_ELEMENT} ]; then\r\n echo -e \"No matching version found\"\r\n echo -e \"defaulting to latest\"\r\n DOWNLOAD_URL=$(echo -e ${FILES_JSON_DATA} | jq --arg ELEMENT \"${FILES_JSON_ELEMENT}\" '.[$ELEMENT|tonumber-1] | .downloadUrl')\r\n else\r\n echo -e \"Version match found\"\r\n DOWNLOAD_URL=$(echo -e ${JSON_DATA} | jq -r .latestFiles[0].downloadUrl)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n fi\r\n fi\r\n\r\n ## download modpack files\r\n cd \/mnt\/server\r\n echo \"Executing curl -L ${DOWNLOAD_URL} -o server.zip\"\r\n curl -L \"${DOWNLOAD_URL}\" -o server.zip\r\n unzip -o server.zip\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 if [ -f \/mnt\/server\/*installer.jar ]; then\r\n java -jar *installer.jar --installServer\r\n else\r\n echo \"No forge installer found moving on.\"\r\n fi\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 if [ ! -f \/mnt\/server\/*universal.jar ]; then\r\n mv -v \/mnt\/server\/*\/* \/mnt\/server\/\r\n mv *universal.jar server.jar\r\n else\r\n mv *universal.jar server.jar\r\n fi\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", + "script": "#!\/bin\/bash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nmkdir -p \/mnt\/server\r\n\r\nfunction install_required {\r\n apt update\r\n apt install -y curl jq unzip\r\n}\r\n\r\nfunction get_download {\r\n # get json data to work with\r\n echo -e \"Curling the json for the modpack\"\r\n echo -e \"running: curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\"\r\n JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID})\r\n\r\n # if no modpack version is set or is set to latest\r\n if [ -z ${MODPACK_VERSION} ] || [ \"${MODPACK_VERSION}\" = \"latest\" ]; then\r\n echo -e \"Getting latest download url\"\r\n # parse data to get the download url\r\n DOWNLOAD_URL=$(echo -e ${JSON_DATA} | jq -r .latestFiles[0].downloadUrl)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n else\r\n echo -e \"Looking for download url for version ${MODPACK_VERSION}\"\r\n # parse files for version match\r\n FILES_JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/files)\r\n # get element number to get the exact location in the json\r\n FILES_JSON_ELEMENT=$(echo -e ${FILES_JSON_DATA} | jq --arg VERSION \"${MODPACK_VERSION}\" '.[] | select(.displayName) | .displayName | contains($VERSION)' | grep -n true | cut -f1 -d: | tail -1)\r\n # if there wasn't a match default to latest\r\n if [ ! -z ${FILES_JSON_ELEMENT} ]; then\r\n echo -e \"No matching version found\"\r\n echo -e \"defaulting to latest\"\r\n DOWNLOAD_URL=$(echo -e ${FILES_JSON_DATA} | jq --arg ELEMENT \"${FILES_JSON_ELEMENT}\" '.[$ELEMENT|tonumber-1] | .downloadUrl')\r\n else\r\n echo -e \"Version match found\"\r\n DOWNLOAD_URL=$(echo -e ${JSON_DATA} | jq -r .latestFiles[0].downloadUrl)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n fi\r\n fi\r\n\r\n ## download modpack files\r\n cd \/mnt\/server\r\n echo \"Executing curl -L ${DOWNLOAD_URL} -o server.zip\"\r\n curl -L \"${DOWNLOAD_URL}\" -o server.zip\r\n unzip -o server.zip\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 if [ -f \/mnt\/server\/*installer.jar ]; then\r\n java -jar *installer.jar --installServer\r\n else\r\n echo \"No forge installer found moving on.\"\r\n fi\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 if [ ! -f \/mnt\/server\/*universal.jar ]; then\r\n mv -v \/mnt\/server\/*\/* \/mnt\/server\/\r\n mv *universal.jar server.jar\r\n else\r\n mv *universal.jar server.jar\r\n fi\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=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${projID}\/file\/${fileID}\/download-url)\r\n # this is saving everything as \/mnt\/server\/mods\/download\r\n echo \"Mod direct url: ${URL}\"\r\n curl -JLO ${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-jdk-slim", "entrypoint": "bash" } From a89b5400fa2f01f303b86ad7a38c866b866e4b7b Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Fri, 15 Nov 2019 16:00:06 -0500 Subject: [PATCH 125/413] update download link --- .../forge/curseforge-generic/egg-curseforge-generic.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json b/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json index 82178d97..cf8b870b 100644 --- a/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json +++ b/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-11-15T11:54:24-05:00", + "exported_at": "2019-11-15T15:58:47-05:00", "name": "Curseforge Generic", "author": "parker@parkervcp.com", "description": "A generic egg for a forge modpack", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nmkdir -p \/mnt\/server\r\n\r\nfunction install_required {\r\n apt update\r\n apt install -y curl jq unzip\r\n}\r\n\r\nfunction get_download {\r\n # get json data to work with\r\n echo -e \"Curling the json for the modpack\"\r\n echo -e \"running: curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\"\r\n JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID})\r\n\r\n # if no modpack version is set or is set to latest\r\n if [ -z ${MODPACK_VERSION} ] || [ \"${MODPACK_VERSION}\" = \"latest\" ]; then\r\n echo -e \"Getting latest download url\"\r\n # parse data to get the download url\r\n DOWNLOAD_URL=$(echo -e ${JSON_DATA} | jq -r .latestFiles[0].downloadUrl)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n else\r\n echo -e \"Looking for download url for version ${MODPACK_VERSION}\"\r\n # parse files for version match\r\n FILES_JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/files)\r\n # get element number to get the exact location in the json\r\n FILES_JSON_ELEMENT=$(echo -e ${FILES_JSON_DATA} | jq --arg VERSION \"${MODPACK_VERSION}\" '.[] | select(.displayName) | .displayName | contains($VERSION)' | grep -n true | cut -f1 -d: | tail -1)\r\n # if there wasn't a match default to latest\r\n if [ ! -z ${FILES_JSON_ELEMENT} ]; then\r\n echo -e \"No matching version found\"\r\n echo -e \"defaulting to latest\"\r\n DOWNLOAD_URL=$(echo -e ${FILES_JSON_DATA} | jq --arg ELEMENT \"${FILES_JSON_ELEMENT}\" '.[$ELEMENT|tonumber-1] | .downloadUrl')\r\n else\r\n echo -e \"Version match found\"\r\n DOWNLOAD_URL=$(echo -e ${JSON_DATA} | jq -r .latestFiles[0].downloadUrl)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n fi\r\n fi\r\n\r\n ## download modpack files\r\n cd \/mnt\/server\r\n echo \"Executing curl -L ${DOWNLOAD_URL} -o server.zip\"\r\n curl -L \"${DOWNLOAD_URL}\" -o server.zip\r\n unzip -o server.zip\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 if [ -f \/mnt\/server\/*installer.jar ]; then\r\n java -jar *installer.jar --installServer\r\n else\r\n echo \"No forge installer found moving on.\"\r\n fi\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 if [ ! -f \/mnt\/server\/*universal.jar ]; then\r\n mv -v \/mnt\/server\/*\/* \/mnt\/server\/\r\n mv *universal.jar server.jar\r\n else\r\n mv *universal.jar server.jar\r\n fi\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=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${projID}\/file\/${fileID}\/download-url)\r\n # this is saving everything as \/mnt\/server\/mods\/download\r\n echo \"Mod direct url: ${URL}\"\r\n curl -JLO ${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", + "script": "#!\/bin\/bash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nmkdir -p \/mnt\/server\r\n\r\nfunction install_required {\r\n apt update\r\n apt install -y curl jq unzip\r\n}\r\n\r\nfunction get_download {\r\n # get json data to work with\r\n echo -e \"Curling the json for the modpack\"\r\n echo -e \"running: curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\"\r\n JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID})\r\n\r\n # if no modpack version is set or is set to latest\r\n if [ -z ${MODPACK_VERSION} ] || [ \"${MODPACK_VERSION}\" = \"latest\" ]; then\r\n echo -e \"Getting latest download url\"\r\n # parse data to get the download url\r\n DOWNLOAD_URL=$(echo -e ${JSON_DATA} | jq -r .latestFiles[0].downloadUrl)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n else\r\n echo -e \"Looking for download url for version ${MODPACK_VERSION}\"\r\n # parse files for version match\r\n FILES_JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/files)\r\n # get element number to get the exact location in the json\r\n FILES_JSON_ELEMENT=$(echo -e ${FILES_JSON_DATA} | jq --arg VERSION \"${MODPACK_VERSION}\" '.[] | select(.displayName) | .displayName | contains($VERSION)' | grep -n true | cut -f1 -d: | tail -1)\r\n # if there wasn't a match default to latest\r\n if [ ! -z ${FILES_JSON_ELEMENT} ]; then\r\n echo -e \"No matching version found\"\r\n echo -e \"defaulting to latest\"\r\n DOWNLOAD_URL=$(echo -e ${FILES_JSON_DATA} | jq --arg ELEMENT \"${FILES_JSON_ELEMENT}\" '.[$ELEMENT|tonumber-1] | .downloadUrl')\r\n else\r\n echo -e \"Version match found\"\r\n DOWNLOAD_URL=$(echo -e ${JSON_DATA} | jq -r .latestFiles[0].downloadUrl)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n fi\r\n fi\r\n\r\n ## download modpack files\r\n cd \/mnt\/server\r\n echo \"Executing curl -L ${DOWNLOAD_URL} -o server.zip\"\r\n curl -L \"${DOWNLOAD_URL}\" -o server.zip\r\n unzip -o server.zip\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 if [ -f \/mnt\/server\/*installer.jar ]; then\r\n java -jar *installer.jar --installServer\r\n else\r\n echo \"No forge installer found moving on.\"\r\n fi\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 if [ ! -f \/mnt\/server\/*universal.jar ]; then\r\n mv -v \/mnt\/server\/*\/* \/mnt\/server\/\r\n mv *universal.jar server.jar\r\n else\r\n mv *universal.jar server.jar\r\n fi\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=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${projID}\/file\/${fileID}\/download-url)\r\n # this is saving everything as \/mnt\/server\/mods\/download\r\n echo \"Mod direct url: ${URL}\"\r\n curl -JLO \"${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-jdk-slim", "entrypoint": "bash" } From 1f4e06644c23b17fc6c27fb8054dbf9af59524f8 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sat, 16 Nov 2019 18:20:17 -0500 Subject: [PATCH 126/413] update default download link location --- .../forge/curseforge-generic/egg-curseforge-generic.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json b/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json index cf8b870b..6bec4389 100644 --- a/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json +++ b/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-11-15T15:58:47-05:00", + "exported_at": "2019-11-16T18:19:38-05:00", "name": "Curseforge Generic", "author": "parker@parkervcp.com", "description": "A generic egg for a forge modpack", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nmkdir -p \/mnt\/server\r\n\r\nfunction install_required {\r\n apt update\r\n apt install -y curl jq unzip\r\n}\r\n\r\nfunction get_download {\r\n # get json data to work with\r\n echo -e \"Curling the json for the modpack\"\r\n echo -e \"running: curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\"\r\n JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID})\r\n\r\n # if no modpack version is set or is set to latest\r\n if [ -z ${MODPACK_VERSION} ] || [ \"${MODPACK_VERSION}\" = \"latest\" ]; then\r\n echo -e \"Getting latest download url\"\r\n # parse data to get the download url\r\n DOWNLOAD_URL=$(echo -e ${JSON_DATA} | jq -r .latestFiles[0].downloadUrl)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n else\r\n echo -e \"Looking for download url for version ${MODPACK_VERSION}\"\r\n # parse files for version match\r\n FILES_JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/files)\r\n # get element number to get the exact location in the json\r\n FILES_JSON_ELEMENT=$(echo -e ${FILES_JSON_DATA} | jq --arg VERSION \"${MODPACK_VERSION}\" '.[] | select(.displayName) | .displayName | contains($VERSION)' | grep -n true | cut -f1 -d: | tail -1)\r\n # if there wasn't a match default to latest\r\n if [ ! -z ${FILES_JSON_ELEMENT} ]; then\r\n echo -e \"No matching version found\"\r\n echo -e \"defaulting to latest\"\r\n DOWNLOAD_URL=$(echo -e ${FILES_JSON_DATA} | jq --arg ELEMENT \"${FILES_JSON_ELEMENT}\" '.[$ELEMENT|tonumber-1] | .downloadUrl')\r\n else\r\n echo -e \"Version match found\"\r\n DOWNLOAD_URL=$(echo -e ${JSON_DATA} | jq -r .latestFiles[0].downloadUrl)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n fi\r\n fi\r\n\r\n ## download modpack files\r\n cd \/mnt\/server\r\n echo \"Executing curl -L ${DOWNLOAD_URL} -o server.zip\"\r\n curl -L \"${DOWNLOAD_URL}\" -o server.zip\r\n unzip -o server.zip\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 if [ -f \/mnt\/server\/*installer.jar ]; then\r\n java -jar *installer.jar --installServer\r\n else\r\n echo \"No forge installer found moving on.\"\r\n fi\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 if [ ! -f \/mnt\/server\/*universal.jar ]; then\r\n mv -v \/mnt\/server\/*\/* \/mnt\/server\/\r\n mv *universal.jar server.jar\r\n else\r\n mv *universal.jar server.jar\r\n fi\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=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${projID}\/file\/${fileID}\/download-url)\r\n # this is saving everything as \/mnt\/server\/mods\/download\r\n echo \"Mod direct url: ${URL}\"\r\n curl -JLO \"${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", + "script": "#!\/bin\/bash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nmkdir -p \/mnt\/server\r\n\r\nfunction install_required {\r\n apt update\r\n apt install -y curl jq unzip\r\n}\r\n\r\nfunction get_download {\r\n # get json data to work with\r\n echo -e \"Curling the json for the modpack\"\r\n echo -e \"running: curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\"\r\n JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID})\r\n\r\n # if no modpack version is set or is set to latest\r\n if [ -z ${MODPACK_VERSION} ] || [ \"${MODPACK_VERSION}\" = \"latest\" ]; then\r\n echo -e \"Getting latest download url\"\r\n # parse data to get the download url\r\n FILE_ID=$(echo -e ${JSON_DATA} | jq -r .defaultFileId)\r\n DOWNLOAD_URL=$(https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/file\/${FILE_ID}\/download-url)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n else\r\n echo -e \"Looking for download url for version ${MODPACK_VERSION}\"\r\n # parse files for version match\r\n FILES_JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/files)\r\n # get element number to get the exact location in the json\r\n FILES_JSON_ELEMENT=$(echo -e ${FILES_JSON_DATA} | jq --arg VERSION \"${MODPACK_VERSION}\" '.[] | select(.displayName) | .displayName | contains($VERSION)' | grep -n true | cut -f1 -d: | tail -1)\r\n # if there wasn't a match default to latest\r\n if [ ! -z ${FILES_JSON_ELEMENT} ]; then\r\n echo -e \"No matching version found\"\r\n echo -e \"defaulting to latest\"\r\n DOWNLOAD_URL=$(echo -e ${FILES_JSON_DATA} | jq --arg ELEMENT \"${FILES_JSON_ELEMENT}\" '.[$ELEMENT|tonumber-1] | .downloadUrl')\r\n else\r\n echo -e \"Version match found\"\r\n DOWNLOAD_URL=$(echo -e ${JSON_DATA} | jq -r .latestFiles[0].downloadUrl)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n fi\r\n fi\r\n\r\n ## download modpack files\r\n cd \/mnt\/server\r\n echo \"Executing curl -L ${DOWNLOAD_URL} -o server.zip\"\r\n curl -L \"${DOWNLOAD_URL}\" -o server.zip\r\n unzip -o server.zip\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 if [ -f \/mnt\/server\/*installer.jar ]; then\r\n java -jar *installer.jar --installServer\r\n else\r\n echo \"No forge installer found moving on.\"\r\n fi\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 if [ ! -f \/mnt\/server\/*universal.jar ]; then\r\n mv -v \/mnt\/server\/*\/* \/mnt\/server\/\r\n mv *universal.jar server.jar\r\n else\r\n mv *universal.jar server.jar\r\n fi\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=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${projID}\/file\/${fileID}\/download-url)\r\n # this is saving everything as \/mnt\/server\/mods\/download\r\n echo \"Mod direct url: ${URL}\"\r\n curl -JLO \"${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-jdk-slim", "entrypoint": "bash" } From 140b782e45ac94a4a7103abc0277a1f2d1b92b6a Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sun, 17 Nov 2019 11:02:39 -0500 Subject: [PATCH 127/413] update download url --- .../forge/curseforge-generic/egg-curseforge-generic.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json b/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json index 6bec4389..99325559 100644 --- a/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json +++ b/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-11-16T18:19:38-05:00", + "exported_at": "2019-11-17T11:02:14-05:00", "name": "Curseforge Generic", "author": "parker@parkervcp.com", "description": "A generic egg for a forge modpack", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nmkdir -p \/mnt\/server\r\n\r\nfunction install_required {\r\n apt update\r\n apt install -y curl jq unzip\r\n}\r\n\r\nfunction get_download {\r\n # get json data to work with\r\n echo -e \"Curling the json for the modpack\"\r\n echo -e \"running: curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\"\r\n JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID})\r\n\r\n # if no modpack version is set or is set to latest\r\n if [ -z ${MODPACK_VERSION} ] || [ \"${MODPACK_VERSION}\" = \"latest\" ]; then\r\n echo -e \"Getting latest download url\"\r\n # parse data to get the download url\r\n FILE_ID=$(echo -e ${JSON_DATA} | jq -r .defaultFileId)\r\n DOWNLOAD_URL=$(https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/file\/${FILE_ID}\/download-url)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n else\r\n echo -e \"Looking for download url for version ${MODPACK_VERSION}\"\r\n # parse files for version match\r\n FILES_JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/files)\r\n # get element number to get the exact location in the json\r\n FILES_JSON_ELEMENT=$(echo -e ${FILES_JSON_DATA} | jq --arg VERSION \"${MODPACK_VERSION}\" '.[] | select(.displayName) | .displayName | contains($VERSION)' | grep -n true | cut -f1 -d: | tail -1)\r\n # if there wasn't a match default to latest\r\n if [ ! -z ${FILES_JSON_ELEMENT} ]; then\r\n echo -e \"No matching version found\"\r\n echo -e \"defaulting to latest\"\r\n DOWNLOAD_URL=$(echo -e ${FILES_JSON_DATA} | jq --arg ELEMENT \"${FILES_JSON_ELEMENT}\" '.[$ELEMENT|tonumber-1] | .downloadUrl')\r\n else\r\n echo -e \"Version match found\"\r\n DOWNLOAD_URL=$(echo -e ${JSON_DATA} | jq -r .latestFiles[0].downloadUrl)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n fi\r\n fi\r\n\r\n ## download modpack files\r\n cd \/mnt\/server\r\n echo \"Executing curl -L ${DOWNLOAD_URL} -o server.zip\"\r\n curl -L \"${DOWNLOAD_URL}\" -o server.zip\r\n unzip -o server.zip\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 if [ -f \/mnt\/server\/*installer.jar ]; then\r\n java -jar *installer.jar --installServer\r\n else\r\n echo \"No forge installer found moving on.\"\r\n fi\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 if [ ! -f \/mnt\/server\/*universal.jar ]; then\r\n mv -v \/mnt\/server\/*\/* \/mnt\/server\/\r\n mv *universal.jar server.jar\r\n else\r\n mv *universal.jar server.jar\r\n fi\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=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${projID}\/file\/${fileID}\/download-url)\r\n # this is saving everything as \/mnt\/server\/mods\/download\r\n echo \"Mod direct url: ${URL}\"\r\n curl -JLO \"${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", + "script": "#!\/bin\/bash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nmkdir -p \/mnt\/server\r\n\r\nfunction install_required {\r\n apt update\r\n apt install -y curl jq unzip\r\n}\r\n\r\nfunction get_download {\r\n # get json data to work with\r\n echo -e \"Curling the json for the modpack\"\r\n echo -e \"running: curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\"\r\n JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID})\r\n\r\n # if no modpack version is set or is set to latest\r\n if [ -z ${MODPACK_VERSION} ] || [ \"${MODPACK_VERSION}\" = \"latest\" ]; then\r\n echo -e \"Getting latest download url\"\r\n # parse data to get the download url\r\n FILE_ID=$(echo -e ${JSON_DATA} | jq -r .defaultFileId)\r\n DOWNLOAD_URL=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/file\/${FILE_ID}\/download-url)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n else\r\n echo -e \"Looking for download url for version ${MODPACK_VERSION}\"\r\n # parse files for version match\r\n FILES_JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/files)\r\n # get element number to get the exact location in the json\r\n FILES_JSON_ELEMENT=$(echo -e ${FILES_JSON_DATA} | jq --arg VERSION \"${MODPACK_VERSION}\" '.[] | select(.displayName) | .displayName | contains($VERSION)' | grep -n true | cut -f1 -d: | tail -1)\r\n # if there wasn't a match default to latest\r\n if [ ! -z ${FILES_JSON_ELEMENT} ]; then\r\n echo -e \"No matching version found\"\r\n echo -e \"defaulting to latest\"\r\n DOWNLOAD_URL=$(echo -e ${FILES_JSON_DATA} | jq --arg ELEMENT \"${FILES_JSON_ELEMENT}\" '.[$ELEMENT|tonumber-1] | .downloadUrl')\r\n else\r\n echo -e \"Version match found\"\r\n DOWNLOAD_URL=$(echo -e ${JSON_DATA} | jq -r .latestFiles[0].downloadUrl)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n fi\r\n fi\r\n\r\n ## download modpack files\r\n cd \/mnt\/server\r\n echo \"Executing curl -L ${DOWNLOAD_URL} -o server.zip\"\r\n curl -L \"${DOWNLOAD_URL}\" -o server.zip\r\n unzip -o server.zip\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 if [ -f \/mnt\/server\/*installer.jar ]; then\r\n java -jar *installer.jar --installServer\r\n else\r\n echo \"No forge installer found moving on.\"\r\n fi\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 if [ ! -f \/mnt\/server\/*universal.jar ]; then\r\n mv -v \/mnt\/server\/*\/* \/mnt\/server\/\r\n mv *universal.jar server.jar\r\n else\r\n mv *universal.jar server.jar\r\n fi\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=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${projID}\/file\/${fileID}\/download-url)\r\n # this is saving everything as \/mnt\/server\/mods\/download\r\n echo \"Mod direct url: ${URL}\"\r\n curl -JLO \"${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-jdk-slim", "entrypoint": "bash" } From 441c48212dda4f39b4d9f9224ad3a5ebcd6bd589 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sun, 1 Dec 2019 20:04:10 -0500 Subject: [PATCH 128/413] add steamcmd install script add a steamcmd install script for people to use. --- scripts/steamcmd_installer.sh | 37 +++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 scripts/steamcmd_installer.sh diff --git a/scripts/steamcmd_installer.sh b/scripts/steamcmd_installer.sh new file mode 100644 index 00000000..e99847e4 --- /dev/null +++ b/scripts/steamcmd_installer.sh @@ -0,0 +1,37 @@ +#!/bin/bash +# steamcmd Base Installation Script +# +# Server Files: /mnt/server +# Image to install with is 'ubuntu:18.04' +apt -y update +apt -y --no-install-recommends install curl lib32gcc1 ca-certificates + +## just in case someone removed the defaults. +if [ "${STEAM_USER}" == "" ]; then + STEAM_USER=anonymous + STEAM_PASS="" + STEAM_AUTH="" +fi + +## download and install steamcmd +cd /tmp +mkdir -p /mnt/server/steamcmd +curl -sSL -o steamcmd.tar.gz http://media.steampowered.com/installer/steamcmd_linux.tar.gz +tar -xzvf steamcmd.tar.gz -C /mnt/server/steamcmd +cd /mnt/server/steamcmd + +# SteamCMD fails otherwise for some reason, even running as root. +# This is changed at the end of the install process anyways. +chown -R root:root /mnt +export HOME=/mnt/server + +## install game using steamcmd +./steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir /mnt/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} +quit ## other flags may be needed depending on install. + +## set up 32 bit libraries +mkdir -p /mnt/server/.steam/sdk32 +cp -v linux32/steamclient.so ../.steam/sdk32/steamclient.so + +## set up 64 bit libraries +mkdir -p /mnt/server/.steam/sdk64 +cp -v linux64/steamclient.so ../.steam/sdk64/steamclient.so \ No newline at end of file From 3b378af9bf1d413488ef4cb49a692c97a7ed970b Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sun, 1 Dec 2019 20:06:13 -0500 Subject: [PATCH 129/413] update forge install script Update forge enhanced install script. --- minecraft_java/forge/forge/egg-forge-enhanced.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/minecraft_java/forge/forge/egg-forge-enhanced.json b/minecraft_java/forge/forge/egg-forge-enhanced.json index 06ce8b5c..c97fa8a6 100644 --- a/minecraft_java/forge/forge/egg-forge-enhanced.json +++ b/minecraft_java/forge/forge/egg-forge-enhanced.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-08-25T00:22:02-04:00", + "exported_at": "2019-12-01T20:05:28-05: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.", @@ -17,7 +17,7 @@ }, "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 jq\r\n\r\necho -e \"minecraft version: ${MC_VERSION}\"\r\necho -e \"build type: ${BUILD_TYPE}\"\r\n\r\nif [ \"$MC_VERSION\" == \"latest\" ]; then\r\n echo -e \"getting latest recommended version of forge.\"\r\n LATEST_RECOMMENDED=$(curl -s https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/promotions_slim.json | jq -r '.promos.recommended')\r\n MC_VERSION=$(curl -s https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/promotions_slim.json | jq --arg LATEST \"$LATEST_RECOMMENDED\" '.promos | to_entries[] | select(.value==$LATEST)' | jq -rs '.[0].key' | sed 's\/-recommended\/\/g')\r\n\tBUILD_TYPE=recommended\r\n\t\r\n\techo -e \"minecraft version: ${MC_VERSION}\"\r\n\techo -e \"build type: ${BUILD_TYPE}\"\r\nfi\r\n\r\n## some variables for getting versions and things\r\nFILE_SITE=$(curl -s https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/promotions_slim.json | jq -r '.homepage')\r\nVERSION_KEY=$(curl -s https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/promotions_slim.json | jq -r --arg MC_VERSION \"$MC_VERSION\" --arg BUILD_TYPE \"$BUILD_TYPE\" '.promos | to_entries[] | .key | select(contains($MC_VERSION)) | select(contains($BUILD_TYPE))')\r\n\r\n## locating the forge version\r\nif [ \"${VERSION_KEY}\" == \"\" ] && [ \"${BUILD_TYPE}\" == \"recommended\" ]; then\r\n echo -e \"dropping back to latest from recommended due to there not being a recommended version of forge for the mc version requested.\"\r\n VERSION_KEY=$(curl -s https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/promotions_slim.json | jq -r --arg MC_VERSION \"$MC_VERSION\" '.promos | to_entries[] | .key | select(contains($MC_VERSION)) | select(contains(\"latest\"))')\r\nfi\r\n\r\n## Error if the mc version set wasn't valid.\r\nif [ \"${VERSION_KEY}\" == \"\" ]; then\r\n\techo -e \"The install failed because there is no valid version of forge for the version on minecraft selected.\"\r\n\texit 1\r\nfi\r\n\r\nFORGE_VERSION=$(curl -s https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/promotions_slim.json | jq -r --arg VERSION_KEY \"$VERSION_KEY\" '.promos | .[$VERSION_KEY]')\r\n\r\nif [ \"$MC_VERSION\" == \"1.7.10\" ] || [ \"$MC_VERSION\" == \"1.8.9\" ]; then\r\n DOWNLOAD_LINK=${FILE_SITE}${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}\/forge-${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}\r\nelse\r\n DOWNLOAD_LINK=${FILE_SITE}${MC_VERSION}-${FORGE_VERSION}\/forge-${MC_VERSION}-${FORGE_VERSION}\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 ${FORGE_VERSION}\"\r\ncurl -s -o installer.jar -sS ${DOWNLOAD_LINK}-installer.jar\r\ncurl -s -o $SERVER_JARFILE -sS ${DOWNLOAD_LINK}-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 ${FORGE_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", + "script": "#!\/bin\/bash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y curl jq\r\n\r\necho -e \"minecraft version: ${MC_VERSION}\"\r\necho -e \"build type: ${BUILD_TYPE}\"\r\n\r\nJSON_DATA=$(curl -sSL https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/promotions_slim.json)\r\n\r\nif [ \"${MC_VERSION}\" == \"latest\" ] || [ \"${MC_VERSION}\" == \"\" ] ; then\r\n echo -e \"getting latest recommended version of forge.\"\r\n MC_VERSION=$(echo -e ${JSON_DATA} | jq -r '.promos | del(.\"latest-1.7.10\") | del(.\"1.7.10-latest-1.7.10\") | to_entries[] | .key | select(contains(\"recommended\")) | split(\"-\")[0]' | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n | tail -1)\r\n\tBUILD_TYPE=recommended\r\n\t\r\n\techo -e \"minecraft version: ${MC_VERSION}\"\r\n\techo -e \"build type: ${BUILD_TYPE}\"\r\nfi\r\n\r\n## some variables for getting versions and things\r\nFILE_SITE=$(echo -e ${JSON_DATA} | jq -r '.homepage')\r\nVERSION_KEY=$(echo -e ${JSON_DATA} | jq -r --arg MC_VERSION \"${MC_VERSION}\" --arg BUILD_TYPE \"${BUILD_TYPE}\" '.promos | to_entries[] | .key | select(contains($MC_VERSION)) | select(contains($BUILD_TYPE))')\r\n\r\n## locating the forge version\r\nif [ \"${VERSION_KEY}\" == \"\" ] && [ \"${BUILD_TYPE}\" == \"recommended\" ]; then\r\n echo -e \"dropping back to latest from recommended due to there not being a recommended version of forge for the mc version requested.\"\r\n VERSION_KEY=$(echo -e ${JSON_DATA} | jq -r --arg MC_VERSION \"${MC_VERSION}\" '.promos | to_entries[] | .key | select(contains($MC_VERSION)) | select(contains(\"latest\"))')\r\nfi\r\n\r\n## Error if the mc version set wasn't valid.\r\nif [ \"${VERSION_KEY}\" == \"\" ]; then\r\n\techo -e \"The install failed because there is no valid version of forge for the version on minecraft selected.\"\r\n\texit 1\r\nfi\r\n\r\nFORGE_VERSION=$(echo -e ${JSON_DATA} | jq -r --arg VERSION_KEY \"$VERSION_KEY\" '.promos | .[$VERSION_KEY]')\r\n\r\nif [ \"${MC_VERSION}\" == \"1.7.10\" ] || [ \"${MC_VERSION}\" == \"1.8.9\" ]; then\r\n DOWNLOAD_LINK=${FILE_SITE}${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}\/forge-${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}\r\nelse\r\n DOWNLOAD_LINK=${FILE_SITE}${MC_VERSION}-${FORGE_VERSION}\/forge-${MC_VERSION}-${FORGE_VERSION}\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 ${FORGE_VERSION}\"\r\nif [ ! -z \"${DOWNLOAD_LINK}\" ]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_LINK}-installer.jar; then\r\n echo -e \"installer jar download link is valid.\"\r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_LINK}-universal.jar; then\r\n echo -e \"universal jar download link is valid.\"\r\n else\r\n echo -e \"link is invalid closing out\"\r\n exit 3\r\n fi\r\n else\r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\ncurl -s -o installer.jar -sS ${DOWNLOAD_LINK}-installer.jar\r\ncurl -s -o $SERVER_JARFILE -sS ${DOWNLOAD_LINK}-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 ${FORGE_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-jdk-slim", "entrypoint": "bash" } From bc042cc92bf4b71d4a80c545f397cd34756b61c3 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Thu, 5 Dec 2019 19:00:08 -0500 Subject: [PATCH 130/413] Fix config download link --- database/mariadb/egg-maria-d-b.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/database/mariadb/egg-maria-d-b.json b/database/mariadb/egg-maria-d-b.json index 8dd3015d..13b75295 100644 --- a/database/mariadb/egg-maria-d-b.json +++ b/database/mariadb/egg-maria-d-b.json @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# MariaDB Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nset -x\r\n\r\necho -e \"installing dependencies\"\r\napt-get -y update\r\napt-get -y install curl\r\n\r\n## add user\r\necho -e \"adding container user\"\r\nuseradd -d \/home\/container -m container -s \/bin\/bash\r\n\r\n## own server to container user\r\nchown container: \/mnt\/server\/\r\n\r\n## run install script as user\r\necho -e \"getting my.conf\"\r\nif [ -f \/mnt\/server\/.my.cnf ]; then\r\n echo -e \"moving current config for install\"\r\n mv \/mnt\/server\/.my.cnf \/mnt\/server\/custom.my.cnf\r\n runuser -l container -c 'curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/database\/mariadb\/install.my.cnf > \/mnt\/server\/.my.cnf'\r\nelse\r\n runuser -l container -c 'curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/database\/mariadb\/install.my.cnf > \/mnt\/server\/.my.cnf'\r\nfi\r\n\r\n## mkdir and install db\r\necho -e \"installing mysql database\"\r\nrunuser -l container -c 'mkdir -p \/mnt\/server\/run\/mysqld'\r\nrunuser -l container -c 'mkdir -p \/mnt\/server\/log\/mysql'\r\nrunuser -l container -c 'mkdir \/mnt\/server\/mysql'\r\n\r\nrunuser -l container -c 'mysql_install_db --defaults-file=\/mnt\/server\/.my.cnf'\r\n\r\nif [ -f \/mnt\/server\/custom.my.cnf ]; then\r\n echo -e \"moving current config back in place\"\r\n mv \/mnt\/server\/custom.my.cnf \/mnt\/server\/.my.cnf\r\nelse\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/add\/mariadb\/database\/mariadb\/my.cnf > \/mnt\/server\/.my.cnf\r\nfi\r\n\r\necho -e \"install complete\"\r\n\r\nexit", + "script": "#!\/bin\/bash\r\n# MariaDB Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nset -x\r\n\r\necho -e \"installing dependencies\"\r\napt-get -y update\r\napt-get -y install curl\r\n\r\n## add user\r\necho -e \"adding container user\"\r\nuseradd -d \/home\/container -m container -s \/bin\/bash\r\n\r\n## own server to container user\r\nchown container: \/mnt\/server\/\r\n\r\n## run install script as user\r\necho -e \"getting my.conf\"\r\nif [ -f \/mnt\/server\/.my.cnf ]; then\r\n echo -e \"moving current config for install\"\r\n mv \/mnt\/server\/.my.cnf \/mnt\/server\/custom.my.cnf\r\n runuser -l container -c 'curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/database\/mariadb\/install.my.cnf > \/mnt\/server\/.my.cnf'\r\nelse\r\n runuser -l container -c 'curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/database\/mariadb\/install.my.cnf > \/mnt\/server\/.my.cnf'\r\nfi\r\n\r\n## mkdir and install db\r\necho -e \"installing mysql database\"\r\nrunuser -l container -c 'mkdir -p \/mnt\/server\/run\/mysqld'\r\nrunuser -l container -c 'mkdir -p \/mnt\/server\/log\/mysql'\r\nrunuser -l container -c 'mkdir \/mnt\/server\/mysql'\r\n\r\nrunuser -l container -c 'mysql_install_db --defaults-file=\/mnt\/server\/.my.cnf'\r\n\r\nif [ -f \/mnt\/server\/custom.my.cnf ]; then\r\n echo -e \"moving current config back in place\"\r\n mv \/mnt\/server\/custom.my.cnf \/mnt\/server\/.my.cnf\r\nelse\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/mariadb\/database\/mariadb\/my.cnf > \/mnt\/server\/.my.cnf\r\nfi\r\n\r\necho -e \"install complete\"\r\n\r\nexit", "container": "mariadb:10.3", "entrypoint": "bash" } From 123e8e037ee830f95ca0c83fb95a3b18d5042919 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sun, 8 Dec 2019 10:17:37 -0500 Subject: [PATCH 131/413] Update ark install script use the new steamcmd install script. --- .../egg-ark--survival-evolved.json | 39 +++++++------------ 1 file changed, 15 insertions(+), 24 deletions(-) diff --git a/steamcmd_servers/ark_survival_evolved/egg-ark--survival-evolved.json b/steamcmd_servers/ark_survival_evolved/egg-ark--survival-evolved.json index 1017fefb..48cb562d 100644 --- a/steamcmd_servers/ark_survival_evolved/egg-ark--survival-evolved.json +++ b/steamcmd_servers/ark_survival_evolved/egg-ark--survival-evolved.json @@ -3,12 +3,12 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2018-10-29T20:51:32+01:00", + "exported_at": "2019-12-08T10:15:59-05:00", "name": "Ark: Survival Evolved", "author": "dev@shepper.fr", "description": "As a man or woman stranded, naked, freezing, and starving on the unforgiving shores of a mysterious island called ARK, use your skill and cunning to kill or tame and ride the plethora of leviathan dinosaurs and other primeval creatures roaming the land. Hunt, harvest resources, craft items, grow crops, research technologies, and build shelters to withstand the elements and store valuables, all while teaming up with (or preying upon) hundreds of other players to survive, dominate... and escape! \u2014 Gamepedia: ARK", "image": "quay.io\/pterodactyl\/core:source", - "startup": "\"cd ShooterGame\/Binaries\/Linux && .\/ShooterGameServer {{SERVER_MAP}}?listen?SessionName='{{SESSION_NAME}}'?ServerPassword={{ARK_PASSWORD}}?ServerAdminPassword={{ARK_ADMIN_PASSWORD}}?Port={{PORT}}?MaxPlayers={{SERVER_MAX_PLAYERS}}?RCONPort={{RCON_PORT}}?QueryPort={{QUERY_PORT}}?RCONEnabled={{ENABLE_RCON}} -server -log\"", + "startup": "\"cd ShooterGame\/Binaries\/Linux && .\/ShooterGameServer {{SERVER_MAP}}?listen?SessionName='{{SESSION_NAME}}'?ServerPassword={{ARK_PASSWORD}}?ServerAdminPassword={{ARK_ADMIN_PASSWORD}}?Port={{PORT}}?RCONPort={{RCON_PORT}}?QueryPort={{QUERY_PORT}}?RCONEnabled={{ENABLE_RCON}} -server -log\"", "config": { "files": "{}", "startup": "{\r\n \"done\": \"Setting breakpad minidump AppID = 346110\",\r\n \"userInteraction\": []\r\n}", @@ -17,12 +17,21 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# ARK: 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\nmkdir -p \/mnt\/server\/Engine\/Binaries\/ThirdParty\/SteamCMD\/Linux\r\n\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/Engine\/Binaries\/ThirdParty\/SteamCMD\/Linux\r\n\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 376030 +quit\r\n\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\ncd \/mnt\/server\/Engine\/Binaries\/ThirdParty\/SteamCMD\/Linux\r\n\r\nln -sf ..\/..\/..\/..\/..\/Steam\/steamapps steamapps\r\n\r\ncd \/mnt\/server", - "container": "ubuntu:16.04", + "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ubuntu:18.04'\r\napt -y update\r\napt -y --no-install-recommends --no-install-suggests install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## ARK specific setup.\r\n## copy steamcmd folder to the thirdparty folder for ark\r\ncp -r $(pwd) \/mnt\/server\/Engine\/Binaries\/ThirdParty\/SteamCMD\/Linux", + "container": "ubuntu:18.04", "entrypoint": "bash" } }, "variables": [ + { + "name": "App ID", + "description": "ARK steam app id for auto updates. Leave blank to avoid auto update.", + "env_variable": "SRCDS_APPID", + "default_value": "376030", + "user_viewable": 1, + "user_editable": 0, + "rules": "nullable|numeric" + }, { "name": "Server Name", "description": "ARK server name", @@ -48,7 +57,7 @@ "default_value": "", "user_viewable": 1, "user_editable": 1, - "rules": "nullable|alpha_dash|between:1,100" + "rules": "nullable|alpha_dash|between:1,100" }, { "name": "Server Port", @@ -86,24 +95,6 @@ "user_editable": 1, "rules": "required|numeric" }, - { - "name": "Maximum Players", - "description": "Specifies the maximum number of players that can play on the server simultaneously.", - "env_variable": "SERVER_MAX_PLAYERS", - "default_value": "20", - "user_viewable": 1, - "user_editable": 1, - "rules": "required|numeric|digits_between:1,4" - }, - { - "name": "App ID", - "description": "ARK steam app id for auto updates. Leave blank to avoid auto update.", - "env_variable": "SRCDS_APPID", - "default_value": "376030", - "user_viewable": 1, - "user_editable": 0, - "rules": "nullable|numeric" - }, { "name": "Server Map", "description": "Available Maps: TheIsland, TheCenter, Ragnarok, ScorchedEarth_P, Aberration_P, Extinction", @@ -114,4 +105,4 @@ "rules": "required|string|max:20" } ] -} +} \ No newline at end of file From 3f91a4d7b6c2ca3d1a8c80315261b23453702afb Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sun, 8 Dec 2019 10:18:25 -0500 Subject: [PATCH 132/413] update steamcmd script Use the newer steamcmd zip. --- scripts/steamcmd_installer.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/steamcmd_installer.sh b/scripts/steamcmd_installer.sh index e99847e4..876b2ab0 100644 --- a/scripts/steamcmd_installer.sh +++ b/scripts/steamcmd_installer.sh @@ -16,7 +16,7 @@ fi ## download and install steamcmd cd /tmp mkdir -p /mnt/server/steamcmd -curl -sSL -o steamcmd.tar.gz http://media.steampowered.com/installer/steamcmd_linux.tar.gz +curl -sSL -o steamcmd.tar.gz https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz tar -xzvf steamcmd.tar.gz -C /mnt/server/steamcmd cd /mnt/server/steamcmd @@ -26,7 +26,7 @@ chown -R root:root /mnt export HOME=/mnt/server ## install game using steamcmd -./steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir /mnt/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} +quit ## other flags may be needed depending on install. +./steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir /mnt/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} +quit ## other flags may be needed depending on install. looking at you cs 1.6 ## set up 32 bit libraries mkdir -p /mnt/server/.steam/sdk32 From a7c9353fe44cbfe33979ac425ef21a9ab4836c6d Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sun, 8 Dec 2019 11:10:53 -0500 Subject: [PATCH 133/413] update stock egg install scripts --- .../egg-ark--survival-evolved.json | 99 ++++++++++++------- ...egg-counter--strike--global-offensive.json | 8 +- .../egg-custom-source-engine-game.json | 8 +- stock-eggs/source-engine/egg-garrys-mod.json | 10 +- stock-eggs/source-engine/egg-insurgency.json | 10 +- .../source-engine/egg-team-fortress2.json | 6 +- 6 files changed, 84 insertions(+), 57 deletions(-) diff --git a/stock-eggs/source-engine/egg-ark--survival-evolved.json b/stock-eggs/source-engine/egg-ark--survival-evolved.json index ad08c705..1017fefb 100644 --- a/stock-eggs/source-engine/egg-ark--survival-evolved.json +++ b/stock-eggs/source-engine/egg-ark--survival-evolved.json @@ -3,26 +3,35 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2018-07-07T06:35:40-04:00", + "exported_at": "2018-10-29T20:51:32+01:00", "name": "Ark: Survival Evolved", - "author": "support@pterodactyl.io", + "author": "dev@shepper.fr", "description": "As a man or woman stranded, naked, freezing, and starving on the unforgiving shores of a mysterious island called ARK, use your skill and cunning to kill or tame and ride the plethora of leviathan dinosaurs and other primeval creatures roaming the land. Hunt, harvest resources, craft items, grow crops, research technologies, and build shelters to withstand the elements and store valuables, all while teaming up with (or preying upon) hundreds of other players to survive, dominate... and escape! \u2014 Gamepedia: ARK", "image": "quay.io\/pterodactyl\/core:source", - "startup": ".\/ShooterGame\/Binaries\/Linux\/ShooterGameServer TheIsland?listen?ServerPassword={{ARK_PASSWORD}}?ServerAdminPassword={{ARK_ADMIN_PASSWORD}}?Port={{SERVER_PORT}}?MaxPlayers={{SERVER_MAX_PLAYERS}}?QueryPort={{QUERY_PORT}}?bRawScokets?RCONPort={{RCON_PORT}}", + "startup": "\"cd ShooterGame\/Binaries\/Linux && .\/ShooterGameServer {{SERVER_MAP}}?listen?SessionName='{{SESSION_NAME}}'?ServerPassword={{ARK_PASSWORD}}?ServerAdminPassword={{ARK_ADMIN_PASSWORD}}?Port={{PORT}}?MaxPlayers={{SERVER_MAX_PLAYERS}}?RCONPort={{RCON_PORT}}?QueryPort={{QUERY_PORT}}?RCONEnabled={{ENABLE_RCON}} -server -log\"", "config": { - "files": "{\r\n \"ShooterGame\/Saved\/Config\/LinuxServer\/GameUserSettings.ini\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"SessionName=\": \"SessionName={{server.build.env.SESSION_NAME}}\",\r\n \"RCONPort=\": \"RCONPort={{server.build.env.RCON_PORT}}\"\r\n }\r\n }\r\n}", + "files": "{}", "startup": "{\r\n \"done\": \"Setting breakpad minidump AppID = 346110\",\r\n \"userInteraction\": []\r\n}", - "logs": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}", - "stop": "quit" + "logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/latest.log\"\r\n}", + "stop": "^C" }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# ARK: 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\nmkdir -p \/mnt\/server\/Engine\/Binaries\/ThirdParty\/SteamCMD\/Linux\r\n\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/Engine\/Binaries\/ThirdParty\/SteamCMD\/Linux\r\n\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} +quit\r\n\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\nHOME=\/mnt\/server\r\nln -s ~\/Steam\/steamapps ~\/Engine\/Binaries\/ThirdParty\/SteamCMD\/Linux", - "container": "ubuntu:18.04", + "script": "#!\/bin\/bash\r\n# ARK: 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\nmkdir -p \/mnt\/server\/Engine\/Binaries\/ThirdParty\/SteamCMD\/Linux\r\n\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/Engine\/Binaries\/ThirdParty\/SteamCMD\/Linux\r\n\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 376030 +quit\r\n\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\ncd \/mnt\/server\/Engine\/Binaries\/ThirdParty\/SteamCMD\/Linux\r\n\r\nln -sf ..\/..\/..\/..\/..\/Steam\/steamapps steamapps\r\n\r\ncd \/mnt\/server", + "container": "ubuntu:16.04", "entrypoint": "bash" } }, "variables": [ + { + "name": "Server Name", + "description": "ARK server name", + "env_variable": "SESSION_NAME", + "default_value": "ARK SERVER", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:128" + }, { "name": "Server Password", "description": "If specified, players must provide this password to join the server.", @@ -36,10 +45,46 @@ "name": "Admin Password", "description": "If specified, players must provide this password (via the in-game console) to gain access to administrator commands on the server.", "env_variable": "ARK_ADMIN_PASSWORD", - "default_value": "APa55word", + "default_value": "", "user_viewable": 1, "user_editable": 1, - "rules": "nullable|alpha_dash|between:1,100" + "rules": "nullable|alpha_dash|between:1,100" + }, + { + "name": "Server Port", + "description": "ARK server port used by client.", + "env_variable": "PORT", + "default_value": "7777", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|numeric" + }, + { + "name": "Use Rcon", + "description": "Enable or disable rcon system. (true or false)", + "env_variable": "ENABLE_RCON", + "default_value": "false", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:5" + }, + { + "name": "Rcon Port", + "description": "ARK rcon port used by rcon tools.", + "env_variable": "RCON_PORT", + "default_value": "27020", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|numeric" + }, + { + "name": "Query Port", + "description": "ARK query port used by steam server browser and ark client server browser.", + "env_variable": "QUERY_PORT", + "default_value": "27015", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|numeric" }, { "name": "Maximum Players", @@ -51,40 +96,22 @@ "rules": "required|numeric|digits_between:1,4" }, { - "name": "Game ID", - "description": "The ID corresponding to the game to download and run using SRCDS.", + "name": "App ID", + "description": "ARK steam app id for auto updates. Leave blank to avoid auto update.", "env_variable": "SRCDS_APPID", "default_value": "376030", - "user_viewable": 0, - "user_editable": 0, - "rules": "required|string|max:20" - }, - { - "name": "Query Port", - "description": "This is the steam query port.", - "env_variable": "QUERY_PORT", - "default_value": "27015", "user_viewable": 1, "user_editable": 0, - "rules": "required|string|max:20" + "rules": "nullable|numeric" }, { - "name": "Session Name", - "description": "The name that shows up in the server list", - "env_variable": "SESSION_NAME", - "default_value": "ARK Server", + "name": "Server Map", + "description": "Available Maps: TheIsland, TheCenter, Ragnarok, ScorchedEarth_P, Aberration_P, Extinction", + "env_variable": "SERVER_MAP", + "default_value": "TheIsland", "user_viewable": 1, "user_editable": 1, - "rules": "required|string|max:64" - }, - { - "name": "RCON Port", - "description": "This is the rcon port for the server", - "env_variable": "RCON_PORT", - "default_value": "27020", - "user_viewable": 1, - "user_editable": 0, "rules": "required|string|max:20" } ] -} \ No newline at end of file +} diff --git a/stock-eggs/source-engine/egg-counter--strike--global-offensive.json b/stock-eggs/source-engine/egg-counter--strike--global-offensive.json index ad921025..191aa99e 100644 --- a/stock-eggs/source-engine/egg-counter--strike--global-offensive.json +++ b/stock-eggs/source-engine/egg-counter--strike--global-offensive.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2018-06-19T07:46:06-04:00", + "exported_at": "2019-12-08T10:52:19-05: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.", @@ -17,8 +17,8 @@ }, "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", + "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ubuntu:18.04'\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so", + "container": "ubuntu:18.04", "entrypoint": "bash" } }, @@ -51,4 +51,4 @@ "rules": "required|string|max:20" } ] -} +} \ No newline at end of file diff --git a/stock-eggs/source-engine/egg-custom-source-engine-game.json b/stock-eggs/source-engine/egg-custom-source-engine-game.json index 7a7b40bd..aae3b3f3 100644 --- a/stock-eggs/source-engine/egg-custom-source-engine-game.json +++ b/stock-eggs/source-engine/egg-custom-source-engine-game.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2018-01-21T16:59:45-06:00", + "exported_at": "2019-12-08T10:54:26-05: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.", @@ -17,8 +17,8 @@ }, "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", + "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ubuntu:18.04'\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so", + "container": "ubuntu:18.04", "entrypoint": "bash" } }, @@ -51,4 +51,4 @@ "rules": "required|string|alpha_dash" } ] -} +} \ No newline at end of file diff --git a/stock-eggs/source-engine/egg-garrys-mod.json b/stock-eggs/source-engine/egg-garrys-mod.json index c0e4f31b..17940e8f 100644 --- a/stock-eggs/source-engine/egg-garrys-mod.json +++ b/stock-eggs/source-engine/egg-garrys-mod.json @@ -3,12 +3,12 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-02-16T14:20:52-05:00", + "exported_at": "2019-12-08T10:56:42-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}}", + "startup": ".\/srcds_run -game garrysmod -console -port {{SERVER_PORT}} +ip 0.0.0.0 +host_workshop_collection {{WORKSHOP_ID}} +map {{SRCDS_MAP}} +gamemode {{GAMEMODE}} -strictportbind -norestart +sv_setsteamaccount {{STEAM_ACC}} +maxplayers {{MAX_PLAYERS}} -tickrate {{TICKRATE}}", "config": { "files": "{}", "startup": "{\r\n \"done\": \"gameserver Steam ID\",\r\n \"userInteraction\": []\r\n}", @@ -17,8 +17,8 @@ }, "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", + "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ubuntu:18.04'\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n# Creating needed default files for the game\r\ncd \/mnt\/server\/garrysmod\/lua\/autorun\/server\r\necho '\r\n-- Docs: https:\/\/wiki.garrysmod.com\/page\/resource\/AddWorkshop\r\n-- Place the ID of the workshop addon you want to be downloaded to people who join your server, not the collection ID\r\n-- Use https:\/\/beta.configcreator.com\/create\/gmod\/resources.lua to easily create a list based on your collection ID\r\n\r\nresource.AddWorkshop( \"\" )\r\n' > workshop.lua\r\n\r\ncd \/mnt\/server\/garrysmod\/cfg\r\necho '\r\n\/\/ Please do not set RCon in here, use the startup parameters.\r\n\r\nhostname\t\t\"New Gmod Server\"\r\nsv_password\t\t\"\"\r\nsv_loadingurl \"\"\r\n\r\n\/\/ Steam Server List Settings\r\nsv_region \"255\"\r\nsv_lan \"0\"\r\nsv_max_queries_sec_global \"30000\"\r\nsv_max_queries_window \"45\"\r\nsv_max_queries_sec \"5\"\r\n\r\n\/\/ Server Limits\r\nsbox_maxprops\t\t100\r\nsbox_maxragdolls\t5\r\nsbox_maxnpcs\t\t10\r\nsbox_maxballoons\t10\r\nsbox_maxeffects\t\t10\r\nsbox_maxdynamite\t10\r\nsbox_maxlamps\t\t10\r\nsbox_maxthrusters\t10\r\nsbox_maxwheels\t\t10\r\nsbox_maxhoverballs\t10\r\nsbox_maxvehicles\t20\r\nsbox_maxbuttons\t\t10\r\nsbox_maxsents\t\t20\r\nsbox_maxemitters\t5\r\nsbox_godmode\t\t0\r\nsbox_noclip\t\t 0\r\n\r\n\/\/ Network Settings - Please keep these set to default.\r\n\r\nsv_minrate\t\t75000\r\nsv_maxrate\t\t0\r\ngmod_physiterations\t2\r\nnet_splitpacket_maxrate\t45000\r\ndecalfrequency\t\t12 \r\n\r\n\/\/ Execute Ban Files - Please do not edit\r\nexec banned_ip.cfg \r\nexec banned_user.cfg \r\n\r\n\/\/ Add custom lines under here\r\n' > server.cfg", + "container": "ubuntu:18.04", "entrypoint": "bash" } }, @@ -87,4 +87,4 @@ "rules": "required|integer|max:100" } ] -} +} \ No newline at end of file diff --git a/stock-eggs/source-engine/egg-insurgency.json b/stock-eggs/source-engine/egg-insurgency.json index 4e3df4a8..7f0c76be 100644 --- a/stock-eggs/source-engine/egg-insurgency.json +++ b/stock-eggs/source-engine/egg-insurgency.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2018-01-21T16:59:48-06:00", + "exported_at": "2019-12-08T10:57:32-05: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.", @@ -17,8 +17,8 @@ }, "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", + "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ubuntu:18.04'\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so", + "container": "ubuntu:18.04", "entrypoint": "bash" } }, @@ -27,10 +27,10 @@ "name": "Game ID", "description": "The ID corresponding to the game to download and run using SRCDS.", "env_variable": "SRCDS_APPID", - "default_value": "17705", + "default_value": "237410", "user_viewable": 1, "user_editable": 0, - "rules": "required|regex:\/^(17705)$\/" + "rules": "required|regex:\/^(237410)$\/" }, { "name": "Game Name", diff --git a/stock-eggs/source-engine/egg-team-fortress2.json b/stock-eggs/source-engine/egg-team-fortress2.json index ae443370..159e7bf9 100644 --- a/stock-eggs/source-engine/egg-team-fortress2.json +++ b/stock-eggs/source-engine/egg-team-fortress2.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2018-01-21T16:59:45-06:00", + "exported_at": "2019-12-08T10:58:48-05: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.", @@ -17,8 +17,8 @@ }, "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", + "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ubuntu:18.04'\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so", + "container": "ubuntu:18.04", "entrypoint": "bash" } }, From 9c25b8ca8fd7397e95a7bdc9ceb04c207493c8ff Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sun, 8 Dec 2019 11:11:57 -0500 Subject: [PATCH 134/413] update tmodloader egg Use debian-mono-5 image as a base change startup command --- terraria/tmodloader/egg-t-modloader.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/terraria/tmodloader/egg-t-modloader.json b/terraria/tmodloader/egg-t-modloader.json index d49516c2..c18d8edb 100644 --- a/terraria/tmodloader/egg-t-modloader.json +++ b/terraria/tmodloader/egg-t-modloader.json @@ -3,12 +3,12 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-10-30T21:46:07-04:00", + "exported_at": "2019-12-08T11:10:18-05:00", "name": "tModloader", "author": "parker@parkervcp.com", "description": "tModLoader is essentially a mod that provides a way to load your own mods without having to work directly with Terraria's source code itself. This means you can easily make mods that are compatible with other people's mods, save yourself the trouble of having to decompile and recompile Terraria.exe, and escape from having to understand all of the obscure \"intricacies\" of Terraria's source code. It is made to work for Terraria 1.3+.", - "image": "quay.io\/parkervcp\/pterodactyl-images:base_ubuntu", - "startup": ".\/TerrariaServer.bin.x86_64 -ip 0.0.0.0 -port ${SERVER_PORT} -maxplayers ${MAX_PLAYERS} -world ~\/saves\/Worlds\/${WORLD_NAME}.wld -worldname ${WORLD_NAME} -autocreate ${WORLD_SIZE} -savedirectory ~\/ -tmlsavedirectory ~\/saves -modpath ~\/mods", + "image": "quay.io\/parkervcp\/pterodactyl-images:debian_mono-5", + "startup": ".\/tModLoaderServer -ip 0.0.0.0 -port ${SERVER_PORT} -maxplayers ${MAX_PLAYERS} -world ~\/saves\/Worlds\/${WORLD_NAME}.wld -worldname ${WORLD_NAME} -autocreate ${WORLD_SIZE} -savedirectory ~\/ -tmlsavedirectory ~\/saves -modpath ~\/mods", "config": { "files": "{}", "startup": "{\r\n \"done\": \"Type 'help' for a list of commands\",\r\n \"userInteraction\": []\r\n}", From 3167785e0891c92b86755cded5e9862f5fc8f0ce Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sun, 8 Dec 2019 11:55:36 -0500 Subject: [PATCH 135/413] update terraria readme files This adds a callout about the startup for tmodloader and tshock --- terraria/README.md | 1 - terraria/tmodloader/README.md | 10 ++++++++++ terraria/tshock/README.md | 11 ++++++++++- 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/terraria/README.md b/terraria/README.md index a91dae80..1a8469da 100644 --- a/terraria/README.md +++ b/terraria/README.md @@ -3,7 +3,6 @@ ## 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 diff --git a/terraria/tmodloader/README.md b/terraria/tmodloader/README.md index 932dc9fe..4fa490da 100644 --- a/terraria/tmodloader/README.md +++ b/terraria/tmodloader/README.md @@ -17,3 +17,13 @@ tModloader, like Terraria, only requires a single port to run. The default is 77 | Game | 7777 | #### Plugins may require ports to be added to the server. + +### Extra Information + +If you want to download mods in the console, the startup command has to be changed. + +New startup: +`./tModLoaderServer -ip 0.0.0.0 -port ${SERVER_PORT} -maxplayers ${MAX_PLAYERS} -savedirectory ~/ -tmlsavedirectory ~/saves -modpath ~/mods` + +This will remove the autocreate function, and will thus allow you to download mods and generate world. +Afterwards, you can change it back with the correct world name to start automatic. Word name is set in the configuration panel. \ No newline at end of file diff --git a/terraria/tshock/README.md b/terraria/tshock/README.md index 998d8bec..fec56632 100644 --- a/terraria/tshock/README.md +++ b/terraria/tshock/README.md @@ -12,4 +12,13 @@ TShock, like Terraria, only requires a single port to run. The default is 7777 |---------|---------| | Game | 7777 | -Plugins may require ports to be added to the server. \ No newline at end of file +#### Plugins may require ports to be added to the server. + +### Extra Information +If you want to download mods in the console, the startup command has to be changed. + +New startup: +`mono TerrariaServer.exe -ip 0.0.0.0 -port {{SERVER_PORT}} -maxplayers {{MAX_PLAYERS}}` + +This will remove the autocreate function, and will thus allow you to download mods and generate world. +Afterwards, you can change it back with the correct world name to start automatic. Word name is set in the configuration panel. \ No newline at end of file From 58963d627cb069e86bb6d99100c397c5adfe3231 Mon Sep 17 00:00:00 2001 From: Nikita Obrekht Date: Tue, 10 Dec 2019 22:50:25 +0200 Subject: [PATCH 136/413] Fix MariaDB config URL --- database/mariadb/egg-maria-d-b.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/database/mariadb/egg-maria-d-b.json b/database/mariadb/egg-maria-d-b.json index 13b75295..12afd857 100644 --- a/database/mariadb/egg-maria-d-b.json +++ b/database/mariadb/egg-maria-d-b.json @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# MariaDB Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nset -x\r\n\r\necho -e \"installing dependencies\"\r\napt-get -y update\r\napt-get -y install curl\r\n\r\n## add user\r\necho -e \"adding container user\"\r\nuseradd -d \/home\/container -m container -s \/bin\/bash\r\n\r\n## own server to container user\r\nchown container: \/mnt\/server\/\r\n\r\n## run install script as user\r\necho -e \"getting my.conf\"\r\nif [ -f \/mnt\/server\/.my.cnf ]; then\r\n echo -e \"moving current config for install\"\r\n mv \/mnt\/server\/.my.cnf \/mnt\/server\/custom.my.cnf\r\n runuser -l container -c 'curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/database\/mariadb\/install.my.cnf > \/mnt\/server\/.my.cnf'\r\nelse\r\n runuser -l container -c 'curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/database\/mariadb\/install.my.cnf > \/mnt\/server\/.my.cnf'\r\nfi\r\n\r\n## mkdir and install db\r\necho -e \"installing mysql database\"\r\nrunuser -l container -c 'mkdir -p \/mnt\/server\/run\/mysqld'\r\nrunuser -l container -c 'mkdir -p \/mnt\/server\/log\/mysql'\r\nrunuser -l container -c 'mkdir \/mnt\/server\/mysql'\r\n\r\nrunuser -l container -c 'mysql_install_db --defaults-file=\/mnt\/server\/.my.cnf'\r\n\r\nif [ -f \/mnt\/server\/custom.my.cnf ]; then\r\n echo -e \"moving current config back in place\"\r\n mv \/mnt\/server\/custom.my.cnf \/mnt\/server\/.my.cnf\r\nelse\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/mariadb\/database\/mariadb\/my.cnf > \/mnt\/server\/.my.cnf\r\nfi\r\n\r\necho -e \"install complete\"\r\n\r\nexit", + "script": "#!\/bin\/bash\r\n# MariaDB Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nset -x\r\n\r\necho -e \"installing dependencies\"\r\napt-get -y update\r\napt-get -y install curl\r\n\r\n## add user\r\necho -e \"adding container user\"\r\nuseradd -d \/home\/container -m container -s \/bin\/bash\r\n\r\n## own server to container user\r\nchown container: \/mnt\/server\/\r\n\r\n## run install script as user\r\necho -e \"getting my.conf\"\r\nif [ -f \/mnt\/server\/.my.cnf ]; then\r\n echo -e \"moving current config for install\"\r\n mv \/mnt\/server\/.my.cnf \/mnt\/server\/custom.my.cnf\r\n runuser -l container -c 'curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/database\/mariadb\/install.my.cnf > \/mnt\/server\/.my.cnf'\r\nelse\r\n runuser -l container -c 'curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/database\/mariadb\/install.my.cnf > \/mnt\/server\/.my.cnf'\r\nfi\r\n\r\n## mkdir and install db\r\necho -e \"installing mysql database\"\r\nrunuser -l container -c 'mkdir -p \/mnt\/server\/run\/mysqld'\r\nrunuser -l container -c 'mkdir -p \/mnt\/server\/log\/mysql'\r\nrunuser -l container -c 'mkdir \/mnt\/server\/mysql'\r\n\r\nrunuser -l container -c 'mysql_install_db --defaults-file=\/mnt\/server\/.my.cnf'\r\n\r\nif [ -f \/mnt\/server\/custom.my.cnf ]; then\r\n echo -e \"moving current config back in place\"\r\n mv \/mnt\/server\/custom.my.cnf \/mnt\/server\/.my.cnf\r\nelse\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/database\/mariadb\/my.cnf > \/mnt\/server\/.my.cnf\r\nfi\r\n\r\necho -e \"install complete\"\r\n\r\nexit", "container": "mariadb:10.3", "entrypoint": "bash" } From 25e5e12be5c2c2877f45122d82b3199f9aece857 Mon Sep 17 00:00:00 2001 From: Nikita Obrekht Date: Wed, 11 Dec 2019 00:46:49 +0200 Subject: [PATCH 137/413] Fix SpongeForge Forge download url --- minecraft_java/spongeforge/egg-sponge-forge.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/minecraft_java/spongeforge/egg-sponge-forge.json b/minecraft_java/spongeforge/egg-sponge-forge.json index bf83b774..76fa3a1f 100644 --- a/minecraft_java/spongeforge/egg-sponge-forge.json +++ b/minecraft_java/spongeforge/egg-sponge-forge.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-09-13T20:47:26-04:00", + "exported_at": "2019-12-11T01:44:03+03:00", "name": "SpongeForge", "author": "parker@parkervcp.com", "description": "A community-driven open source Minecraft: Java Edition modding platform.", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# SpongeForge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y jq curl\r\n\r\nmkdir -p \/mnt\/server\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\r\nif [ -z ${SF_VERSION} ] || [ \"$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge\/downloads\/${SF_VERSION})\" == \"Unknown version\" ]; then\r\n echo -e \"defaulting to recommended\"\r\n SF_VERSION=\"recommended\"\r\nfi\r\n\r\nif [ \"${SF_VERSION}\" == \"recommended\" ]; then\r\n echo -e \"using recommended SpongeForge version\"\r\n SF_VERSION=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge\/downloads\/recommended | jq -r '.version')\r\n echo -e \"found SpongeForge Version ${SF_VERSION}\"\r\n SF_DL_LINK=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge\/downloads\/recommended | jq -r '.artifacts.\"\".url')\r\n FORGE_DOWNLOAD_VERSION=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge\/downloads\/recommended | jq -r '.dependencies.forge')\r\n echo -e \"found Forge Version ${FORGE_DOWNLOAD_VERSION}\"\r\n FORGE_DL_LINK=https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/${FORGE_DOWNLOAD_VERSION}\/forge-${FORGE_DOWNLOAD_VERSION}\r\nelif [ \"${SF_VERSION}\" == \"latest\" ]; then\r\n echo -e \"using latest SpongForge version\"\r\n SF_VERSION=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge | jq -r '.buildTypes.stable.latest.version')\r\n echo -e \"found SpongeForge Version ${SF_VERSION}\"\r\n SF_DL_LINK=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge\/downloads\/${SF_VERSION} | jq -r '.artifacts.\"\".url')\r\n FORGE_DOWNLOAD_VERSION=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge\/downloads\/${SF_VERSION} | jq -r '.dependencies.forge')\r\n \r\n FORGE_DL_LINK=https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/${FORGE_DOWNLOAD_VERSION}\/forge-${FORGE_DOWNLOAD_VERSION}\r\nelse\r\n echo -e \"found SpongeForge Version ${SF_VERSION}\"\r\n SF_DL_LINK=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge\/downloads\/${SF_VERSION} | jq -r '.artifacts.\"\".url')\r\n FORGE_DOWNLOAD_VERSION=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge\/downloads\/${SF_VERSION} | jq -r '.dependencies.forge')\r\n echo -e \"found Forge Version ${FORGE_DOWNLOAD_VERSION}\"\r\n FORGE_DL_LINK=https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/${FORGE_DOWNLOAD_VERSION}\/forge-${FORGE_DOWNLOAD_VERSION}\r\nfi\r\n\r\nif [ -f server.jar ] && [ $(sha1sum server.jar | awk '{ print $1 }') == $(curl -s ${FORGE_DL_LINK}-universal.jar.sha1) ]; then\r\n echo -e \"Already have the correct forge version\"\r\nelse\r\n echo -e \"Downloading forge version ${FORGE_VERSION}\"\r\n echo -e \"running: curl -s -o installer.jar -o ${FORGE_DL_LINK}-installer.jar\"\r\n curl -s -o installer.jar ${FORGE_DL_LINK}-installer.jar\r\n echo -e \"running: curl -s -o ${SERVER_JARFILE} -o ${FORGE_DL_LINK}-universal.jar\"\r\n curl -s -o ${SERVER_JARFILE} ${FORGE_DL_LINK}-universal.jar\r\n java -jar installer.jar --installServer\r\n rm installer.jar forge-${FORGE_DOWNLOAD_VERSION}-universal.jar\r\nfi\r\n\r\nif [ ! -d \/mnt\/server\/mods\/ ]; then\r\n echo -e \"making mods directory\"\r\n mkdir -p \/mnt\/server\/mods\/\r\nfi\r\n\r\nif [ -f \/mnt\/server\/mods\/spongeforge*.jar ]; then\r\n mkdir -p \/mnt\/server\/mods\/old\/\r\n mv -f \/mnt\/server\/mods\/spongeforge*.jar \/mnt\/server\/mods\/old\/spongeforge*.jar\r\nfi \r\n\r\necho -e \"running: curl -s ${SF_DL_LINK} -o \/mnt\/server\/mods\/spongeforge-${SF_VERSION}.jar\"\r\ncurl -s ${SF_DL_LINK} -o \/mnt\/server\/mods\/spongeforge-${SF_VERSION}.jar\r\n\r\nif [ ! -f server.properties ]; then\r\n echo -e \"Downloading MC server.properties\"\r\n curl -o server.properties https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft_java\/server.properties\r\nfi\r\n\r\necho -e \"Install for SpongeForge is complete\"", + "script": "#!\/bin\/bash\r\n# SpongeForge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y jq curl\r\n\r\nmkdir -p \/mnt\/server\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\r\nif [ -z ${SF_VERSION} ] || [ \"$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge\/downloads\/${SF_VERSION})\" == \"Unknown version\" ]; then\r\n echo -e \"defaulting to recommended\"\r\n SF_VERSION=\"recommended\"\r\nfi\r\n\r\nif [ \"${SF_VERSION}\" == \"recommended\" ]; then\r\n echo -e \"using recommended SpongeForge version\"\r\n SF_VERSION=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge\/downloads\/recommended | jq -r '.version')\r\n echo -e \"found SpongeForge Version ${SF_VERSION}\"\r\n SF_DL_LINK=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge\/downloads\/recommended | jq -r '.artifacts.\"\".url')\r\n FORGE_DOWNLOAD_VERSION=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge\/downloads\/recommended | jq -r '.dependencies.forge')\r\n echo -e \"found Forge Version ${FORGE_DOWNLOAD_VERSION}\"\r\n MC_VERSION=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge\/downloads\/${SF_VERSION} | jq -r '.dependencies.minecraft')\r\nelif [ \"${SF_VERSION}\" == \"latest\" ]; then\r\n echo -e \"using latest SpongForge version\"\r\n SF_VERSION=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge | jq -r '.buildTypes.stable.latest.version')\r\n echo -e \"found SpongeForge Version ${SF_VERSION}\"\r\n SF_DL_LINK=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge\/downloads\/${SF_VERSION} | jq -r '.artifacts.\"\".url')\r\n FORGE_DOWNLOAD_VERSION=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge\/downloads\/${SF_VERSION} | jq -r '.dependencies.forge')\r\n MC_VERSION=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge\/downloads\/${SF_VERSION} | jq -r '.dependencies.minecraft')\r\nelse\r\n echo -e \"found SpongeForge Version ${SF_VERSION}\"\r\n SF_DL_LINK=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge\/downloads\/${SF_VERSION} | jq -r '.artifacts.\"\".url')\r\n FORGE_DOWNLOAD_VERSION=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge\/downloads\/${SF_VERSION} | jq -r '.dependencies.forge')\r\n echo -e \"found Forge Version ${FORGE_DOWNLOAD_VERSION}\"\r\n MC_VERSION=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge\/downloads\/${SF_VERSION} | jq -r '.dependencies.minecraft')\r\nfi\r\n\r\nFORGE_DL_LINK=https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/${MC_VERSION}-${FORGE_DOWNLOAD_VERSION}\/forge-${MC_VERSION}-${FORGE_DOWNLOAD_VERSION}\r\n\r\nif [ -f server.jar ] && [ $(sha1sum server.jar | awk '{ print $1 }') == $(curl -s ${FORGE_DL_LINK}-universal.jar.sha1) ]; then\r\n echo -e \"Already have the correct forge version\"\r\nelse\r\n echo -e \"Downloading forge version ${FORGE_VERSION}\"\r\n echo -e \"running: curl -s -o installer.jar -o ${FORGE_DL_LINK}-installer.jar\"\r\n curl -s -o installer.jar ${FORGE_DL_LINK}-installer.jar\r\n echo -e \"running: curl -s -o ${SERVER_JARFILE} -o ${FORGE_DL_LINK}-universal.jar\"\r\n curl -s -o ${SERVER_JARFILE} ${FORGE_DL_LINK}-universal.jar\r\n java -jar installer.jar --installServer\r\n rm installer.jar forge-${MC_VERSION}-${FORGE_DOWNLOAD_VERSION}-universal.jar\r\nfi\r\n\r\nif [ ! -d \/mnt\/server\/mods\/ ]; then\r\n echo -e \"making mods directory\"\r\n mkdir -p \/mnt\/server\/mods\/\r\nfi\r\n\r\nif [ -f \/mnt\/server\/mods\/spongeforge*.jar ]; then\r\n mkdir -p \/mnt\/server\/mods\/old\/\r\n mv -f \/mnt\/server\/mods\/spongeforge*.jar \/mnt\/server\/mods\/old\/spongeforge*.jar\r\nfi \r\n\r\necho -e \"running: curl -s ${SF_DL_LINK} -o \/mnt\/server\/mods\/spongeforge-${SF_VERSION}.jar\"\r\ncurl -s ${SF_DL_LINK} -o \/mnt\/server\/mods\/spongeforge-${SF_VERSION}.jar\r\n\r\nif [ ! -f server.properties ]; then\r\n echo -e \"Downloading MC server.properties\"\r\n curl -o server.properties https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft_java\/server.properties\r\nfi\r\n\r\necho -e \"Install for SpongeForge is complete\"", "container": "openjdk:8-jre-slim", "entrypoint": "bash" } From 5dc4f3340acaadd76c59268d468862d82c74c209 Mon Sep 17 00:00:00 2001 From: "Michael (Parker) Parker" Date: Thu, 12 Dec 2019 12:45:50 -0500 Subject: [PATCH 138/413] Add Onset Dedicated Server Add egg for Onset Add Onset Readme Update Main Readme --- README.md | 3 +- steamcmd_servers/onset/README.md | 20 ++++++++++ steamcmd_servers/onset/egg-onset.json | 54 +++++++++++++++++++++++++++ 3 files changed, 76 insertions(+), 1 deletion(-) create mode 100644 steamcmd_servers/onset/README.md create mode 100644 steamcmd_servers/onset/egg-onset.json diff --git a/README.md b/README.md index 68bcd040..b3a0619e 100644 --- a/README.md +++ b/README.md @@ -92,11 +92,12 @@ If you are reading this it looks like you are looking to add an egg to your serv * [7 Days to Die](/steamcmd_servers/7_days_to_die/) * [ARK Survival Evolved](/steamcmd_servers/ark_survival_evolved/) * [HLDS server](/steamcmd_servers/hlds_server) +* [Mordhau](/steamcmd_servers/mordhau) +* [Onset](/steamcmd_servers/onset) * [PixARK](/steamcmd_servers/pixark/) * [Rust Staging Branch](/steamcmd_servers/rust_staging/) * [Starbound](/steamcmd_servers/starbound) * [Sven Co-op](/steamcmd_servers/svencoop) -* [Mordhau](/steamcmd_servers/mordhau) [Squad](/squad/) diff --git a/steamcmd_servers/onset/README.md b/steamcmd_servers/onset/README.md new file mode 100644 index 00000000..274faf9e --- /dev/null +++ b/steamcmd_servers/onset/README.md @@ -0,0 +1,20 @@ +# Onset +From their [site](https://playonset.com/): +Onset is an open world multiplayer sandbox without predefined goals. Create and host your very own experience in Onset using scripting functions. Whether that is Roleplay, Cops and Robbers or classic Freeroam. Or just enjoy the different gamemodes created by other players. + +## Recommended server settings +### RAM +This server requires about 100M to run. + +See the following - https://dev.playonset.com/wiki/DedicatedServer#Minimum_requirements_2 + +### Disk +This server uses about 50M of disk. + +## Server Ports + +| Port | default | +|-------|---------| +| Game | 7777 | +| Query | 7776 | +| file | 7775 | \ No newline at end of file diff --git a/steamcmd_servers/onset/egg-onset.json b/steamcmd_servers/onset/egg-onset.json new file mode 100644 index 00000000..8815fdf7 --- /dev/null +++ b/steamcmd_servers/onset/egg-onset.json @@ -0,0 +1,54 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2019-12-12T12:43:34-05:00", + "name": "Onset", + "author": "parker@parkervcp.com", + "description": "Onset is an open world multiplayer sandbox without predefined goals. Create and host your very own experience in Onset using scripting functions. Whether that is Roleplay, Cops and Robbers or classic Freeroam. Or just enjoy the different gamemodes created by other players.", + "image": "quay.io\/parkervcp\/pterodactyl-images:ubuntu_source", + "startup": ".\/OnsetServer", + "config": { + "files": "{\r\n \"server_config.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"ipaddress\": \"0.0.0.0\",\r\n \"port\": \"{{server.build.default.port}}\",\r\n \"servername\": \"{{server.build.env.SERVER_NAME}}\",\r\n \"password\":\"{{server.build.env.SERVER_PASSWORD}}\"\r\n }\r\n }\r\n}", + "startup": "{\r\n \"done\": \"Entering simulation\",\r\n \"userInteraction\": []\r\n}", + "logs": "{}", + "stop": "^C" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ubuntu:18.04'\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so", + "container": "alpine:3.10", + "entrypoint": "ash" + } + }, + "variables": [ + { + "name": "App ID", + "description": "ARK steam app id for auto updates. Leave blank to avoid auto update.", + "env_variable": "SRCDS_APPID", + "default_value": "1204170", + "user_viewable": 1, + "user_editable": 0, + "rules": "required|string|max:20" + }, + { + "name": "ld lib path", + "description": "required to load server libraries.", + "env_variable": "LD_LIBRARY_PATH", + "default_value": ".", + "user_viewable": 0, + "user_editable": 0, + "rules": "required|string|max:20" + }, + { + "name": "Auto Update Server", + "description": "This flag will auto update the server on restart. (default is 1) \r\n\r\nSet to 1 to update\r\nSet to 0 to no update", + "env_variable": "AUTO_UPDATE", + "default_value": "1", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:20" + } + ] +} \ No newline at end of file From a50d383ecbd8a22e05efbbb1560295cd82facf26 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Thu, 12 Dec 2019 18:56:50 -0500 Subject: [PATCH 139/413] update install script Change install container --- steamcmd_servers/onset/egg-onset.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/steamcmd_servers/onset/egg-onset.json b/steamcmd_servers/onset/egg-onset.json index 8815fdf7..923fc507 100644 --- a/steamcmd_servers/onset/egg-onset.json +++ b/steamcmd_servers/onset/egg-onset.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-12-12T12:43:34-05:00", + "exported_at": "2019-12-12T18:56:28-05:00", "name": "Onset", "author": "parker@parkervcp.com", "description": "Onset is an open world multiplayer sandbox without predefined goals. Create and host your very own experience in Onset using scripting functions. Whether that is Roleplay, Cops and Robbers or classic Freeroam. Or just enjoy the different gamemodes created by other players.", @@ -18,8 +18,8 @@ "scripts": { "installation": { "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ubuntu:18.04'\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so", - "container": "alpine:3.10", - "entrypoint": "ash" + "container": "ubuntu:18.04", + "entrypoint": "bash" } }, "variables": [ From 5e2175058bf5e2ee07d8c9c0a1cb54d8e9ba8b51 Mon Sep 17 00:00:00 2001 From: parkervcp Date: Sat, 14 Dec 2019 12:25:03 -0500 Subject: [PATCH 140/413] add cuberite This resolves #176 --- minecraft_java/cuberite/egg-cuberite.json | 54 +++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 minecraft_java/cuberite/egg-cuberite.json diff --git a/minecraft_java/cuberite/egg-cuberite.json b/minecraft_java/cuberite/egg-cuberite.json new file mode 100644 index 00000000..e6c6e0e7 --- /dev/null +++ b/minecraft_java/cuberite/egg-cuberite.json @@ -0,0 +1,54 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2019-12-14T12:24:30-05:00", + "name": "Cuberite", + "author": "parker@parkervcp.com", + "description": "A lightweight, fast and extensible game server for Minecraft", + "image": "quay.io\/parkervcp\/pterodactyl-images:base_debian", + "startup": ".\/Cuberite", + "config": { + "files": "{\r\n \"settings.ini\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"Server.Ports\": \"{{server.build.default.port}}\",\r\n \"Server.Description\": \"{{server.build.env.SERV_DESC}}\"\r\n }\r\n },\r\n \"webadmin.ini\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"User:admin.Password\": \"{{server.build.env.ADMIN_PASS}}\",\r\n \"WebAdmin.Ports\":\"{{server.build.env.WEB_PORT}}\"\r\n }\r\n }\r\n}", + "startup": "{\r\n \"done\": \"Startup complete \"\r\n}", + "logs": "{}", + "stop": "stop" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/ash\r\n# Cuberite\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y wget\r\n\r\ncd \/mnt\/server\r\n\r\nwget https:\/\/builds.cuberite.org\/job\/Cuberite%20Linux%20x64%20Master\/lastSuccessfulBuild\/artifact\/Cuberite.tar.gz\r\n\r\ntar --strip-components=1 -xf Cuberite.tar.gz", + "container": "debian:buster-slim", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "Server Description", + "description": "Server Description", + "env_variable": "SERV_DESC", + "default_value": "Cuberite on Pterodactyl!", + "user_viewable": 1, + "user_editable": 1, + "rules": "nullable|string" + }, + { + "name": "Admin Password", + "description": "The password for the webadmin panel 'admin' user", + "env_variable": "ADMIN_PASS", + "default_value": "ChangeMe", + "user_viewable": 1, + "user_editable": 1, + "rules": "nullable|string" + }, + { + "name": "WebAdmin Port", + "description": "Port for the cuberite webadmin panel.", + "env_variable": "WEB_PORT", + "default_value": "8080", + "user_viewable": 1, + "user_editable": 0, + "rules": "required|integer|between:1,65535" + } + ] +} \ No newline at end of file From c7cae37fa2462bda598396ea1f45589d98d40aad Mon Sep 17 00:00:00 2001 From: parkervcp Date: Sat, 14 Dec 2019 12:37:28 -0500 Subject: [PATCH 141/413] Update README files Update necessary readme files. --- README.md | 1 + minecraft_java/README.md | 6 +++++- minecraft_java/cuberite/README.md | 11 +++++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 minecraft_java/cuberite/README.md diff --git a/README.md b/README.md index 68bcd040..1588192d 100644 --- a/README.md +++ b/README.md @@ -70,6 +70,7 @@ If you are reading this it looks like you are looking to add an egg to your serv * [PocketMine MP](/minecraft_bedrock/pocketmine_mp/) [Minecraft Java](/minecraft_java/) +* [Cuberite]/minecraft_java/cuberite/) * [Forge](/minecraft_java/forge/) * [Feed The Beast](/minecraft_java/ftb/) * [Paper](/minecraft_java/paper) diff --git a/minecraft_java/README.md b/minecraft_java/README.md index 38fd583f..68d2b300 100644 --- a/minecraft_java/README.md +++ b/minecraft_java/README.md @@ -7,6 +7,10 @@ It’s set in infinitely-generated worlds of wide open terrain - icy mountains, ## Server Ports The minecraft server requires a single port for access (default 25565) but plugins may require extra ports to enabled for the server. +## Cuberite +A lightweight, fast and extensible game server for Minecraft +[Cuberite](https://cuberite.org/) + ## Forge [Forge MC](https://files.minecraftforge.net/) This is a direct fork of the default forge service @@ -51,4 +55,4 @@ Gear up and set forth on a campaign worthy of legend, for Hexxit has been uneart Blightfall is a combination modpack and adventure map about surviving on an alien planet. [Tekkit Legends](https://www.technicpack.net/modpack/tekkit-legends) -The ancient power of Tekkits past return in this legendary pack! +The ancient power of Tekkits past return in this legendary pack! \ No newline at end of file diff --git a/minecraft_java/cuberite/README.md b/minecraft_java/cuberite/README.md new file mode 100644 index 00000000..b5c0b2a5 --- /dev/null +++ b/minecraft_java/cuberite/README.md @@ -0,0 +1,11 @@ +# Cuberite +A lightweight, fast and extensible game server for Minecraft + +## 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 | +| WebAdmin | 8080 | \ No newline at end of file From 4d05d3e2302c5930885b7b51c3ec22fc4cee8286 Mon Sep 17 00:00:00 2001 From: parkervcp Date: Sat, 14 Dec 2019 12:39:00 -0500 Subject: [PATCH 142/413] add default config files This adds files that can be pulled for configs --- minecraft_java/cuberite/settings.ini | 52 ++++++++++++++++++++++++++++ minecraft_java/cuberite/webadmin.ini | 14 ++++++++ 2 files changed, 66 insertions(+) create mode 100644 minecraft_java/cuberite/settings.ini create mode 100644 minecraft_java/cuberite/webadmin.ini diff --git a/minecraft_java/cuberite/settings.ini b/minecraft_java/cuberite/settings.ini new file mode 100644 index 00000000..a6b1afbb --- /dev/null +++ b/minecraft_java/cuberite/settings.ini @@ -0,0 +1,52 @@ +; This is the main server configuration +; Most of the settings here can be configured using the webadmin interface, if enabled in webadmin.ini + +[Authentication] +Authenticate=1 +AllowBungeeCord=0 +Server=sessionserver.mojang.com +Address=/session/minecraft/hasJoined?username=%USERNAME%&serverId=%SERVERID% + +[MojangAPI] +NameToUUIDServer=api.mojang.com +NameToUUIDAddress=/profiles/minecraft +UUIDToProfileServer=sessionserver.mojang.com +UUIDToProfileAddress=/session/minecraft/profile/%UUID%?unsigned=false + +[Server] +Description=Cuberite - in C++! +ShutdownMessage=Server shutdown +MaxPlayers=100 +HardcoreEnabled=0 +AllowMultiLogin=0 +Ports=25565 +AllowMultiWorldTabCompletion=1 +DefaultViewDistance=10 + +[RCON] +Enabled=0 + +[AntiCheat] +LimitPlayerBlockChanges=1 + +[PlayerData] +LoadOfflinePlayerData=0 +LoadNamedPlayerData=1 + +[Worlds] +DefaultWorld=world +World=world_nether +World=world_the_end + +[WorldPaths] +world=world +world_nether=world_nether +world_the_end=world_the_end + +[Plugins] +Plugin=Core +Plugin=ChatLog + +[DeadlockDetect] +Enabled=1 +IntervalSec=20 diff --git a/minecraft_java/cuberite/webadmin.ini b/minecraft_java/cuberite/webadmin.ini new file mode 100644 index 00000000..64652b85 --- /dev/null +++ b/minecraft_java/cuberite/webadmin.ini @@ -0,0 +1,14 @@ +; This file controls the webadmin feature of Cuberite +; It specifies whether webadmin is enabled, and what logins are allowed. +; Username format: [User:*username*] +; Password format: Password=*password*; for example: +; [User:admin] +; Password=admin +; Please restart Cuberite to apply changes made in this file! + +[WebAdmin] +Ports=8080 +Enabled=1 + +[User:admin] +Password= \ No newline at end of file From 1e45eafc17071800a867687d281a54bd13096889 Mon Sep 17 00:00:00 2001 From: parkervcp Date: Sat, 14 Dec 2019 19:42:28 -0500 Subject: [PATCH 143/413] add starbound files --- .../starbound/starbound_server.config | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 steamcmd_servers/starbound/starbound_server.config diff --git a/steamcmd_servers/starbound/starbound_server.config b/steamcmd_servers/starbound/starbound_server.config new file mode 100644 index 00000000..c9785af0 --- /dev/null +++ b/steamcmd_servers/starbound/starbound_server.config @@ -0,0 +1,50 @@ +{ + "allowAdminCommands" : true, + "allowAdminCommandsFromAnyone" : false, + "allowAnonymousConnections" : true, + "allowAssetsMismatch" : true, + "anonymousConnectionsAreAdmin" : false, + "bannedIPs" : [], + "bannedUuids" : [], + "checkAssetsDigest" : false, + "clearPlayerFiles" : false, + "clearUniverseFiles" : false, + "clientIPJoinable" : false, + "clientP2PJoinable" : true, + "configurationVersion" : { + "basic" : 2, + "server" : 4 + }, + "crafting" : { + "filterHaveMaterials" : false + }, + "gameServerBind" : "::", + "gameServerPort" : 21025, + "interactiveHighlight" : true, + "inventory" : { + "pickupToActionBar" : true + }, + "maxPlayers" : 8, + "maxTeamSize" : 4, + "monochromeLighting" : false, + "playerBackupFileCount" : 3, + "queryServerBind" : "::", + "queryServerPort" : 21025, + "rconServerBind" : "::", + "rconServerPassword" : "", + "rconServerPort" : 21026, + "rconServerTimeout" : 1000, + "runQueryServer" : false, + "runRconServer" : false, + "safeScripts" : true, + "scriptInstructionLimit" : 10000000, + "scriptInstructionMeasureInterval" : 10000, + "scriptProfilingEnabled" : false, + "scriptRecursionLimit" : 100, + "serverFidelity" : "automatic", + "serverName" : "A Starbound Server", + "serverOverrideAssetsDigest" : null, + "serverUsers" : { + }, + "tutorialMessages" : true +} \ No newline at end of file From 7167e1c5dc320cb5679963f45405ec0b0963e170 Mon Sep 17 00:00:00 2001 From: parkervcp Date: Sun, 15 Dec 2019 10:07:37 -0500 Subject: [PATCH 144/413] update starbound installer This updates the starbound installed to use the same steamcmd installer as my other steamdcmd eggs. --- steamcmd_servers/starbound/egg-starbound.json | 47 +++++++++++-------- 1 file changed, 28 insertions(+), 19 deletions(-) diff --git a/steamcmd_servers/starbound/egg-starbound.json b/steamcmd_servers/starbound/egg-starbound.json index 06930e29..b8cc0c4e 100644 --- a/steamcmd_servers/starbound/egg-starbound.json +++ b/steamcmd_servers/starbound/egg-starbound.json @@ -3,31 +3,31 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2018-08-14T10:11:29-05:00", + "exported_at": "2019-12-15T10:05:42-05:00", "name": "Starbound", - "author": "hostmaster@watefallnetwork.net", + "author": "parker@parkervcp.com", "description": "Starbound takes place in a two-dimensional, procedurally generated universe which the player is able to explore in order to obtain new weapons, armor, and items, and to visit towns and villages inhabited by various intelligent lifeforms.", - "image": "quay.io\/pterodactyl\/core:source", + "image": "quay.io\/parkervcp\/pterodactyl-images:ubuntu_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 \"queryServerPort\": \"{{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 }\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" }, "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 ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} validate +quit\r\n\r\nmv \/mnt\/server\/linux\/* \/mnt\/server\/\r\nrm -rf \/mnt\/server\/linux\r\nsed -i -e 's\/\\.\\.\/\\.\/g' \/mnt\/server\/sbinit.config\r\n\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\nmkdir \/mnt\/server\/storage\r\n\r\ncat <> \/mnt\/server\/storage\/starbound_server.config\r\n{\r\n \"allowAdminCommands\" : true,\r\n \"allowAdminCommandsFromAnyone\" : false,\r\n \"allowAnonymousConnections\" : true,\r\n \"allowAssetsMismatch\" : true,\r\n \"anonymousConnectionsAreAdmin\" : false,\r\n \"bannedIPs\" : [],\r\n \"bannedUuids\" : [],\r\n \"checkAssetsDigest\" : false,\r\n \"clearPlayerFiles\" : false,\r\n \"clearUniverseFiles\" : false,\r\n \"clientIPJoinable\" : false,\r\n \"clientP2PJoinable\" : true,\r\n \"configurationVersion\" : {\r\n \"basic\" : 2,\r\n \"server\" : 4\r\n },\r\n \"crafting\" : {\r\n \"filterHaveMaterials\" : false\r\n },\r\n \"gameServerBind\" : \"::\",\r\n \"gameServerPort\" : 21025,\r\n \"interactiveHighlight\" : true,\r\n \"inventory\" : {\r\n \"pickupToActionBar\" : true\r\n },\r\n \"maxPlayers\" : 8,\r\n \"maxTeamSize\" : 4,\r\n \"monochromeLighting\" : false,\r\n \"playerBackupFileCount\" : 3,\r\n \"queryServerBind\" : \"::\",\r\n \"queryServerPort\" : 21025,\r\n \"rconServerBind\" : \"::\",\r\n \"rconServerPassword\" : \"\",\r\n \"rconServerPort\" : 21026,\r\n \"rconServerTimeout\" : 1000,\r\n \"runQueryServer\" : false,\r\n \"runRconServer\" : false,\r\n \"safeScripts\" : true,\r\n \"scriptInstructionLimit\" : 10000000,\r\n \"scriptInstructionMeasureInterval\" : 10000,\r\n \"scriptProfilingEnabled\" : false,\r\n \"scriptRecursionLimit\" : 100,\r\n \"serverFidelity\" : \"automatic\",\r\n \"serverName\" : \"A Starbound Server\",\r\n \"serverOverrideAssetsDigest\" : null,\r\n \"serverUsers\" : {\r\n },\r\n \"tutorialMessages\" : true\r\n}\r\nEOF", - "container": "ubuntu:16.04", - "entrypoint": "bash" + "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ubuntu:18.04'\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## Starbound specific setup.\r\ncd \/mnt\/server\/\r\n\r\n## edit sbinit config\r\nmv \/mnt\/server\/linux\/* \/mnt\/server\/\r\nrm -rf \/mnt\/server\/linux\r\nsed -i -e 's\/\\.\\.\/\\.\/g' \/mnt\/server\/sbinit.config\r\n\r\n## pull starbound_server.config\r\nmkdir -p \/mnt\/server\/storage\r\ncurl -sSL https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/steamcmd_servers\/starbound\/starbound_server.config > \/mnt\/server\/storage\/starbound_server.config", + "container": "ubuntu:18.04", + "entrypoint": "\/bin\/bash" } }, "variables": [ { "name": "Steam User", - "description": "A Steam username with Starbound on the account.", + "description": "This is a required setting and cannot be set to anonymous.", "env_variable": "STEAM_USER", - "default_value": "anonymous", + "default_value": "", "user_viewable": 0, "user_editable": 0, "rules": "required|string" @@ -41,15 +41,6 @@ "user_editable": 0, "rules": "nullable|string" }, - { - "name": "Steam Auth Code", - "description": "Steam Auth Code only when you're using Steam Auth", - "env_variable": "STEAM_AUTH", - "default_value": "", - "user_viewable": 0, - "user_editable": 0, - "rules": "nullable|string" - }, { "name": "Game ID", "description": "The ID corresponding to the game to download and run using SRCDS.", @@ -58,6 +49,24 @@ "user_viewable": 1, "user_editable": 0, "rules": "string" + }, + { + "name": "Steam Auth", + "description": "Steam account auth code. Required if you have 2fa enabled.", + "env_variable": "STEAM_AUTH", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "nullable|string|max:5" + }, + { + "name": "Auto Update Server", + "description": "This is to auto-update the game server.", + "env_variable": "AUTO_UPDATE", + "default_value": "1", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|bool" } ] -} +} \ No newline at end of file From 82a16e4dafc7d45206359c95a3a6b7cfa088148d Mon Sep 17 00:00:00 2001 From: parkervcp Date: Sun, 15 Dec 2019 10:08:23 -0500 Subject: [PATCH 145/413] update steamcmd script Makes the script more noisy saying what it's doing. --- scripts/steamcmd_installer.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/scripts/steamcmd_installer.sh b/scripts/steamcmd_installer.sh index 876b2ab0..eba1d2c2 100644 --- a/scripts/steamcmd_installer.sh +++ b/scripts/steamcmd_installer.sh @@ -8,9 +8,13 @@ apt -y --no-install-recommends install curl lib32gcc1 ca-certificates ## just in case someone removed the defaults. if [ "${STEAM_USER}" == "" ]; then + echo -e "steam user is not set.\n" + echo -e "Using anonymous user.\n" STEAM_USER=anonymous STEAM_PASS="" STEAM_AUTH="" +else + echo -e "user set to ${STEAM_USER}" fi ## download and install steamcmd @@ -26,7 +30,7 @@ chown -R root:root /mnt export HOME=/mnt/server ## install game using steamcmd -./steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir /mnt/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} +quit ## other flags may be needed depending on install. looking at you cs 1.6 +./steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir /mnt/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6 ## set up 32 bit libraries mkdir -p /mnt/server/.steam/sdk32 From 31a39ccac3b85d17408f5abedd3f04e46d040531 Mon Sep 17 00:00:00 2001 From: fenpaws Date: Tue, 17 Dec 2019 08:18:57 +0100 Subject: [PATCH 146/413] added worksop support --- steamcmd_servers/starbound/egg-starbound.json | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/steamcmd_servers/starbound/egg-starbound.json b/steamcmd_servers/starbound/egg-starbound.json index b8cc0c4e..f0c0d07a 100644 --- a/steamcmd_servers/starbound/egg-starbound.json +++ b/steamcmd_servers/starbound/egg-starbound.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-12-15T10:05:42-05:00", + "exported_at": "2019-12-17T08:01:28+01:00", "name": "Starbound", "author": "parker@parkervcp.com", "description": "Starbound takes place in a two-dimensional, procedurally generated universe which the player is able to explore in order to obtain new weapons, armor, and items, and to visit towns and villages inhabited by various intelligent lifeforms.", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ubuntu:18.04'\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## Starbound specific setup.\r\ncd \/mnt\/server\/\r\n\r\n## edit sbinit config\r\nmv \/mnt\/server\/linux\/* \/mnt\/server\/\r\nrm -rf \/mnt\/server\/linux\r\nsed -i -e 's\/\\.\\.\/\\.\/g' \/mnt\/server\/sbinit.config\r\n\r\n## pull starbound_server.config\r\nmkdir -p \/mnt\/server\/storage\r\ncurl -sSL https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/steamcmd_servers\/starbound\/starbound_server.config > \/mnt\/server\/storage\/starbound_server.config", + "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ubuntu:18.04'\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## Starbound specific setup.\r\ncd \/mnt\/server\/\r\n\r\n\r\n## edit sbinit config\r\nmv \/mnt\/server\/linux\/* \/mnt\/server\/\r\nrm -rf \/mnt\/server\/linux\r\nsed -i -e 's\/\\.\\.\/\\.\/g' \/mnt\/server\/sbinit.config\r\n\r\n## pull starbound_server.config\r\nmkdir -p \/mnt\/server\/storage\r\ncurl -sSL https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/steamcmd_servers\/starbound\/starbound_server.config > \/mnt\/server\/storage\/starbound_server.config\r\n\r\n## use Worksop content\r\nif [ \"${WORKSHOP}\" == \"1\" ]; then\r\n for dir in \/mnt\/server\/steamapps\/workshop\/content\/211820\/*\/\r\n do\r\n dir=${dir%*\/}\r\n echo Sym-linking mod ${dir##*\/} into the mods folder\r\n ln -r -s \/mnt\/server\/steamapps\/workshop\/content\/211820\/${dir##*\/}\/contents.pak \/mnt\/server\/mods\/${dir##*\/}.pak\r\n done\r\nfi", "container": "ubuntu:18.04", "entrypoint": "\/bin\/bash" } @@ -67,6 +67,15 @@ "user_viewable": 1, "user_editable": 1, "rules": "required|bool" + }, + { + "name": "Use Workshop content", + "description": "Set to true if you want to use your subscribed Workshop content", + "env_variable": "WORKSHOP", + "default_value": "0", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|bool" } ] } \ No newline at end of file From 5e71a011048ae6f3880cd3a62f28cf4f8d27e52e Mon Sep 17 00:00:00 2001 From: "Michael (Parker) Parker" Date: Wed, 18 Dec 2019 13:44:12 -0500 Subject: [PATCH 147/413] move openttd to tycoon_games folder Renames the OpenTTD base folder. --- {openttd => tycoon_games}/openttd/README.md | 0 {openttd => tycoon_games}/openttd/egg-open-t-t-d-server.json | 0 {openttd => tycoon_games}/openttd/openttd.cfg | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename {openttd => tycoon_games}/openttd/README.md (100%) rename {openttd => tycoon_games}/openttd/egg-open-t-t-d-server.json (100%) rename {openttd => tycoon_games}/openttd/openttd.cfg (100%) diff --git a/openttd/openttd/README.md b/tycoon_games/openttd/README.md similarity index 100% rename from openttd/openttd/README.md rename to tycoon_games/openttd/README.md diff --git a/openttd/openttd/egg-open-t-t-d-server.json b/tycoon_games/openttd/egg-open-t-t-d-server.json similarity index 100% rename from openttd/openttd/egg-open-t-t-d-server.json rename to tycoon_games/openttd/egg-open-t-t-d-server.json diff --git a/openttd/openttd/openttd.cfg b/tycoon_games/openttd/openttd.cfg similarity index 100% rename from openttd/openttd/openttd.cfg rename to tycoon_games/openttd/openttd.cfg From 6d1419a3b655b475341d7b5438217588a6884718 Mon Sep 17 00:00:00 2001 From: parkervcp Date: Wed, 18 Dec 2019 22:08:51 -0500 Subject: [PATCH 148/413] Reorganize main folder Updates main README Moves many games to steamcmd as that installs them. Removes Mount and Blade: Warband. --- README.md | 48 +++++------ mount_and_blade/warband/README.md | 17 ---- mount_and_blade/warband/egg-m--b-warband.json | 81 ------------------- .../conan_exiles/README.md | 0 .../conan_exiles/egg-conan-exiles.json | 0 .../dont_starve/README.md | 0 .../dont_starve/egg-don-t-starve.json | 0 {squad => steamcmd_servers}/squad/README.md | 0 .../squad/egg-squad.json | 0 9 files changed, 21 insertions(+), 125 deletions(-) delete mode 100644 mount_and_blade/warband/README.md delete mode 100644 mount_and_blade/warband/egg-m--b-warband.json rename {conan_exiles => steamcmd_servers}/conan_exiles/README.md (100%) rename {conan_exiles => steamcmd_servers}/conan_exiles/egg-conan-exiles.json (100%) rename {dont_starve => steamcmd_servers}/dont_starve/README.md (100%) rename {dont_starve => steamcmd_servers}/dont_starve/egg-don-t-starve.json (100%) rename {squad => steamcmd_servers}/squad/README.md (100%) rename {squad => steamcmd_servers}/squad/egg-squad.json (100%) diff --git a/README.md b/README.md index c885dec2..a33eedb5 100644 --- a/README.md +++ b/README.md @@ -44,14 +44,6 @@ If you are reading this it looks like you are looking to add an egg to your serv ## Game Eggs -[Arma](/arma/) -* [Arma 3](/arma/arma3/) -* [Arma 3 HC](/arma/arma3_headless_client/) - -[Conan Exiles](/conan_exiles/conan_exiles) - -[Don't Starve](/dont_starve/dont_starve) - [ET Legacy](/enemy_territory/etlegacy/) [Factorio](/factorio/factorio/) @@ -64,13 +56,13 @@ If you are reading this it looks like you are looking to add an egg to your serv * [Multi Theft Auto](/gta/mtasa/) * [SA-MP](/gta/samp/) -[Minecraft Bedrock](/minecraft_bedrock/) +[Minecraft Bedrock](/minecraft_bedrock/) Servers for Bedrock Minecraft * [Bedrock](/minecraft_bedrock/bedrock/) * [Nukkit](/minecraft_bedrock/nukkit/) * [PocketMine MP](/minecraft_bedrock/pocketmine_mp/) -[Minecraft Java](/minecraft_java/) -* [Cuberite]/minecraft_java/cuberite/) +[Minecraft Java](/minecraft_java/) Servers for Java Minecraft +* [Cuberite](/minecraft_java/cuberite/) * [Forge](/minecraft_java/forge/) * [Feed The Beast](/minecraft_java/ftb/) * [Paper](/minecraft_java/paper) @@ -85,22 +77,27 @@ If you are reading this it looks like you are looking to add an egg to your serv * [TyphoonLimbo](/minecraft_proxy/typhoonlimbo/) * [Velocity](/minecraft_proxy/velocity/) -[Mount & Blade Warband](/mount_and_blade/warband/) - -[OpenTTD](/openttd/) +[Tycoon Games](/tycoon_games/) +* [OpenTTD](/tycoon_games/openttd/) [steamcmd servers](/steamcmd_servers/) These eggs use steamcmd to install * [7 Days to Die](/steamcmd_servers/7_days_to_die/) -* [ARK Survival Evolved](/steamcmd_servers/ark_survival_evolved/) -* [HLDS server](/steamcmd_servers/hlds_server) -* [Mordhau](/steamcmd_servers/mordhau) -* [Onset](/steamcmd_servers/onset) +* [ARK Survival Evolved](/steamcmd_servers/ark_survival_evolved/) +* [Arma](/arma/) + * [Arma 3](/arma/arma3/) + * [Arma 3 HC](/arma/arma3_headless_client/) +* [Conan Exiles](/steamcmd_servers/conan_exiles) +* [Don't Starve](/steamcmd_servers/dont_starve) +* [HLDS server](/steamcmd_servers/hlds_server) +* [Mordhau](/steamcmd_servers/mordhau) +* [Onset](/steamcmd_servers/onset) * [PixARK](/steamcmd_servers/pixark/) -* [Rust Staging Branch](/steamcmd_servers/rust_staging/) -* [Starbound](/steamcmd_servers/starbound) -* [Sven Co-op](/steamcmd_servers/svencoop) - -[Squad](/squad/) +* [Rust Staging Branch](/steamcmd_servers/rust_staging/) +* [Starbound](/steamcmd_servers/starbound) +* [Sven Co-op](/steamcmd_servers/svencoop) +* [Squad](/steamcmd_servers/squad/) +* [Unturned](/unturned/) + * [RocketMod](/unturned/rocketmod/) [Unreal Engine](/unreal_engine) * [Tower Unite](/unreal_engine/tower_unite/) @@ -109,7 +106,4 @@ If you are reading this it looks like you are looking to add an egg to your serv * [tmodloader](/terraria/tmodloader) * [tshock](/terraria/tshock/) -[Unturned](/unturned/) -* [RocketMod](/unturned/rocketmod/) - -[Xonotic](/xonotic/) +[Xonotic](/xonotic/xonotic/) diff --git a/mount_and_blade/warband/README.md b/mount_and_blade/warband/README.md deleted file mode 100644 index 0798ccfd..00000000 --- a/mount_and_blade/warband/README.md +++ /dev/null @@ -1,17 +0,0 @@ -# Mount & Blade Warband - -Mount & Blade: Warband is a stand alone expansion pack for the game that brought medieval battlefields to life with its realistic mounted combat and detailed fighting system. Many modifications have been developed to bring the Warband universe into different eras, including the popular Napoleonic Wars DLC, among many others, featuring battles of up to concurrent 200 players. - -### Server Ports - -Warband requires a single port (default 7240) - -| Port | default | -|---------|---------| -| Game | 7240 | - -### Other Notes - -* The server can only use the main IP address of the node due to limitations in the way Warband's server reporting system operates, no alias or secondary IP addresses can be used. -* A complete list of modules supported by this egg can be found [here](https://github.com/masonr/pterodactyl-images/tree/mb-warband), the module name will need to be copied exactly as shown. -* The current module can be changed at any time and will automatically download the new files upon restart after changing the module name diff --git a/mount_and_blade/warband/egg-m--b-warband.json b/mount_and_blade/warband/egg-m--b-warband.json deleted file mode 100644 index 9d46ddd4..00000000 --- a/mount_and_blade/warband/egg-m--b-warband.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", - "meta": { - "version": "PTDL_v1" - }, - "exported_at": "2018-07-28T22:01:58-04:00", - "name": "M&B Warband", - "author": "mason@rowe.sh", - "description": "Mount & Blade Warband server", - "image": "masonr\/pterodactyl-images:mb-warband", - "startup": "WINEDEBUG=\"fixme-all\" wine mb_warband_dedicated.exe -r Config.txt -m {{MODULE}}", - "config": { - "files": "{}", - "startup": "{\r\n \"done\": \"Starting mission\",\r\n \"userInteraction\": []\r\n}", - "logs": "{\r\n \"custom\": false,\r\n \"location\": \"Logs\/\"\r\n}", - "stop": "^C" - }, - "scripts": { - "installation": { - "script": "#!\/bin\/bash\r\napt update\r\napt install -y wget dos2unix\r\ncd \/mnt\/server\/\r\n\r\nif [[ -z \"$MODULE\" ]] ; then\r\n\tMODULE=\"Native\"\r\nfi\r\n\r\n# Download helper script with all server file links\r\nwget \"https:\/\/files.rowe.sh\/pterodactyl\/mb-warband\/mb-warband-links.sh\"\r\nchmod +x mb-warband-links.sh\r\n\r\n# Generate links for server files\r\nMODULE_BASE_LINK=`.\/mb-warband-links.sh link \"$MODULE\" base`\r\nMODULE_LINK=`.\/mb-warband-links.sh link \"$MODULE\" mod`\r\n\r\n# Ensure module files link has been obtained, exit if not\r\nif [[ -z \"$MODULE_LINK\" ]] ; then\r\n\techo \"ERROR: Module name was mistyped or is not currently supported.\"\r\n\techo \"Available modules:\"\r\n\t.\/mb-warband-links.sh modules\r\n\texit 1\r\nfi\r\n\r\n# Install base server files, if needed\r\nif [[ ! -z \"$MODULE_BASE_LINK\" ]] ; then\r\n\twget -qO- $MODULE_BASE_LINK | tar xvz --strip-components=1\r\nfi\r\n\r\n# Install module files\r\nwget -qO- $MODULE_LINK | tar xvz --strip-components=1\r\ncp -rf \"$MODULE\"_Sample_Config.txt Config.txt\r\ndos2unix Config.txt\r\n\r\necho \"Module: $MODULE has been sucessfully installed.\"\r\nrm mb-warband-links.sh\r\n\r\n# Edit Server Name ($SERVER_NAME)\r\nsed -i 's\/.*set_server_name.*\/set_server_name '\"$SERVER_NAME\"'\/g' Config.txt\r\n\r\n# Edit Server Admin Password ($ADMIN_PASSWORD)\r\nsed -i 's\/.*set_pass_admin.*\/set_pass_admin '\"$ADMIN_PASS\"'\/g' Config.txt\r\n\r\n# Edit Server Password ($SERVER_PASS)\r\nsed -i 's\/.*set_pass .*\/set_pass '\"$SERVER_PASS\"'\/g' Config.txt\r\nsed -i 's\/.*set_pass$\/set_pass '\"$SERVER_PASS\"'\/g' Config.txt\r\n\r\n# Edit Server Welcome Message ($MOTD)\r\nsed -i 's\/.*set_welcome_message.*\/set_welcome_message '\"$MOTD\"'\/g' Config.txt\r\n\r\n# Edit Player Count ($PLAYERS)\r\nsed -i 's\/.*set_max_players.*\/set_max_players '\"$PLAYERS\"' '\"$PLAYERS\"'\/g' Config.txt\r\n\r\n# Edit Server Port ($SERVER_PORT)\r\nsed -i 's\/.*set_port.*\/set_port '\"$SERVER_PORT\"'\/g' Config.txt", - "container": "ubuntu:16.04", - "entrypoint": "bash" - } - }, - "variables": [ - { - "name": "Module", - "description": "Name of the module. For a full list of supported modules visit --- https:\/\/github.com\/masonr\/pterodactyl-images\/tree\/mb-warband --- and copy the module name from the first column exactly as shown.", - "env_variable": "MODULE", - "default_value": "Native", - "user_viewable": 1, - "user_editable": 1, - "rules": "required|string|max:200" - }, - { - "name": "Player Count", - "description": "Number of players", - "env_variable": "PLAYERS", - "default_value": "32", - "user_viewable": 1, - "user_editable": 0, - "rules": "required|integer|max:200" - }, - { - "name": "Server Name", - "description": "Name of the game server", - "env_variable": "SERVER_NAME", - "default_value": "Pterodactyl_Server", - "user_viewable": 1, - "user_editable": 1, - "rules": "required|string|max:100" - }, - { - "name": "Admin Password", - "description": "Password for admin login", - "env_variable": "ADMIN_PASS", - "default_value": "ptero", - "user_viewable": 1, - "user_editable": 1, - "rules": "required|string|max:50" - }, - { - "name": "Welcome Message", - "description": "Welcome message \/ MOTD", - "env_variable": "MOTD", - "default_value": "Welcome!", - "user_viewable": 1, - "user_editable": 1, - "rules": "required|string|max:500" - }, - { - "name": "Server Password", - "description": "Password for the server.\r\nLeave blank to keep server unlocked.", - "env_variable": "SERVER_PASS", - "default_value": "", - "user_viewable": 1, - "user_editable": 1, - "rules": "nullable|string|max:50" - } - ] -} diff --git a/conan_exiles/conan_exiles/README.md b/steamcmd_servers/conan_exiles/README.md similarity index 100% rename from conan_exiles/conan_exiles/README.md rename to steamcmd_servers/conan_exiles/README.md diff --git a/conan_exiles/conan_exiles/egg-conan-exiles.json b/steamcmd_servers/conan_exiles/egg-conan-exiles.json similarity index 100% rename from conan_exiles/conan_exiles/egg-conan-exiles.json rename to steamcmd_servers/conan_exiles/egg-conan-exiles.json diff --git a/dont_starve/dont_starve/README.md b/steamcmd_servers/dont_starve/README.md similarity index 100% rename from dont_starve/dont_starve/README.md rename to steamcmd_servers/dont_starve/README.md diff --git a/dont_starve/dont_starve/egg-don-t-starve.json b/steamcmd_servers/dont_starve/egg-don-t-starve.json similarity index 100% rename from dont_starve/dont_starve/egg-don-t-starve.json rename to steamcmd_servers/dont_starve/egg-don-t-starve.json diff --git a/squad/squad/README.md b/steamcmd_servers/squad/README.md similarity index 100% rename from squad/squad/README.md rename to steamcmd_servers/squad/README.md diff --git a/squad/squad/egg-squad.json b/steamcmd_servers/squad/egg-squad.json similarity index 100% rename from squad/squad/egg-squad.json rename to steamcmd_servers/squad/egg-squad.json From c0b600d008d8a9b0ed5d16a89cbece8d97028cf8 Mon Sep 17 00:00:00 2001 From: "Michael (Parker) Parker" Date: Fri, 20 Dec 2019 10:49:23 -0500 Subject: [PATCH 149/413] update waterfall egg Update install script Add variables for the install script resolves #384 --- minecraft_proxy/waterfall/egg-waterfall.json | 28 ++++++++++++++++---- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/minecraft_proxy/waterfall/egg-waterfall.json b/minecraft_proxy/waterfall/egg-waterfall.json index b092cb4a..7d5364a6 100644 --- a/minecraft_proxy/waterfall/egg-waterfall.json +++ b/minecraft_proxy/waterfall/egg-waterfall.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-07-24T10:01:37-04:00", + "exported_at": "2019-12-20T10:47:29-05:00", "name": "Waterfall", "author": "hostmaster@waterfallgaming.net", "description": "Waterfall is a fork of the well-known BungeeCord server teleportation suite.", @@ -17,16 +17,16 @@ }, "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\/waterfall | jq -r --arg VERSION $MINECRAFT_VERSION '.versions[] | IN($VERSION)' | grep true`\r\n LATEST_WATERFALL_VERSION=`curl -s https:\/\/papermc.io\/api\/v1\/waterfall | 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 waterfall version\"\r\n MINECRAFT_VERSION=${LATEST_WATERFALL_VERSION}\r\n fi\r\n \r\n BUILD_EXISTS=`curl -s https:\/\/papermc.io\/api\/v1\/waterfall\/${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\/waterfall\/${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\/waterfall\/${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\nif [ ! -f config.yml ]; then\r\n echo -e \"Downloading waterfall config.yml\"\r\n curl -o config.yml https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft_proxy\/waterfall\/config.yml\r\nelse\r\n echo -e \"Waterfall config.yml exists. Will not pull a new file\"\r\nfi", + "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\ncd \/mnt\/server\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 if [ -z \"$VANILLA_VERSION\" ] || [ \"${MINECRAFT_VERSION}\" == \"latest\" ]; then\r\n MINECRAFT_VERSION=$(curl -s https:\/\/papermc.io\/api\/v1\/waterfall | jq -r '.versions[0]')\r\n else\r\n VER_EXISTS=$(curl -s https:\/\/papermc.io\/api\/v1\/waterfall | jq -r --arg VERSION $MINECRAFT_VERSION '.versions[] | IN($VERSION)' | grep true)\r\n fi\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 waterfall version\"\r\n MINECRAFT_VERSION=${LATEST_WATERFALL_VERSION}\r\n fi\r\n \r\n BUILD_EXISTS=$(curl -s https:\/\/papermc.io\/api\/v1\/waterfall\/${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\/waterfall\/${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\/waterfall\/${MINECRAFT_VERSION}\/${BUILD_NUMBER}\/download \r\nfi\r\n\r\necho -e \"running curl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\"\r\n\r\ncurl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\r\n\r\nif [ ! -f config.yml ]; then\r\n echo -e \"Downloading waterfall config.yml\"\r\n curl -o config.yml https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft_proxy\/waterfall\/config.yml\r\nelse\r\n echo -e \"Waterfall config.yml exists. Will not pull a new file\"\r\nfi", "container": "alpine:3.10", "entrypoint": "ash" } }, "variables": [ { - "name": "Waterfall Version", - "description": "The version of Waterfall to download and use.", - "env_variable": "WATERFALL_VERSION", + "name": "Minecraft Version", + "description": "The version of Minecraft that water was built to support.", + "env_variable": "MINECRAFT_VERSION", "default_value": "latest", "user_viewable": 1, "user_editable": 1, @@ -40,6 +40,24 @@ "user_viewable": 1, "user_editable": 1, "rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/" + }, + { + "name": "Download Link", + "description": "A link to the server jar to download the waterfall jar.", + "env_variable": "DL_LINK", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "nullable|string" + }, + { + "name": "Waterfall build number", + "description": "Default is latest.\r\n\r\nif set to latest or an invalid version will grab the latest build number.", + "env_variable": "BUILD_NUMBER", + "default_value": "latest", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:20" } ] } \ No newline at end of file From f4c069eb93a1e8ac0a11c4324c19e1c744d1e86e Mon Sep 17 00:00:00 2001 From: parkervcp Date: Sat, 21 Dec 2019 14:21:00 -0500 Subject: [PATCH 150/413] organize repo update readme for steamcmd games move arma into the right folder. --- README.md | 86 +++++++++---------- steamcmd_servers/README.md | 17 ++++ steamcmd_servers/arma/README.md | 9 ++ .../arma}/arma3/README.md | 0 .../arma}/arma3/egg-arma3-config/basic.cfg | 0 .../arma}/arma3/egg-arma3-config/server.cfg | 0 .../arma}/arma3/egg-arma3.json | 0 .../arma}/arma3_headless_client/README.md | 0 .../egg-arma3-headless-client.json | 0 9 files changed, 69 insertions(+), 43 deletions(-) create mode 100644 steamcmd_servers/arma/README.md rename {arma => steamcmd_servers/arma}/arma3/README.md (100%) rename {arma => steamcmd_servers/arma}/arma3/egg-arma3-config/basic.cfg (100%) rename {arma => steamcmd_servers/arma}/arma3/egg-arma3-config/server.cfg (100%) rename {arma => steamcmd_servers/arma}/arma3/egg-arma3.json (100%) rename {arma => steamcmd_servers/arma}/arma3_headless_client/README.md (100%) rename {arma => steamcmd_servers/arma}/arma3_headless_client/egg-arma3-headless-client.json (100%) diff --git a/README.md b/README.md index a33eedb5..1c5aa0dd 100644 --- a/README.md +++ b/README.md @@ -26,15 +26,15 @@ If you are reading this it looks like you are looking to add an egg to your serv ## Bot Eggs -[Discord](/bots/discord/) +[Discord](/bots/discord/) * [ATL Bot](/bots/discord/atlbot/) Node JS -* [Bastion](/bots/discord/bastion/) -* [discord.js](bots/discord/discord.js/) Node JS generic -* [fragbot](/bots/discord/fragbot/) Golang +* [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/) +* [parkertron](/bots/discord/parkertron/) Golang +* [pixel-bot](/bots/discord/pixelbot/) Python +* [Sinusbot](/bots/discord/sinusbot/) [TeamSpeak3](bots/teamspeak3) * [JTS3ServerMod](/bots/teamspeak3/jts3servermod/) @@ -46,64 +46,64 @@ If you are reading this it looks like you are looking to add an egg to your serv [ET Legacy](/enemy_territory/etlegacy/) -[Factorio](/factorio/factorio/) +[Factorio](/factorio/factorio/) -[Grand Theft Auto](/gta/) +[Grand Theft Auto](/gta/) * GTA V - * [FiveM](/gta/fivem/) - * [RageMP](/gta/ragemp/) + * [FiveM](/gta/fivem/) + * [RageMP](/gta/ragemp/) * GTA SA * [Multi Theft Auto](/gta/mtasa/) * [SA-MP](/gta/samp/) -[Minecraft Bedrock](/minecraft_bedrock/) Servers for Bedrock Minecraft -* [Bedrock](/minecraft_bedrock/bedrock/) -* [Nukkit](/minecraft_bedrock/nukkit/) -* [PocketMine MP](/minecraft_bedrock/pocketmine_mp/) +[Minecraft Bedrock](/minecraft_bedrock/) Servers for Bedrock Minecraft +* [Bedrock](/minecraft_bedrock/bedrock/) +* [Nukkit](/minecraft_bedrock/nukkit/) +* [PocketMine MP](/minecraft_bedrock/pocketmine_mp/) -[Minecraft Java](/minecraft_java/) Servers for Java Minecraft +[Minecraft Java](/minecraft_java/) Servers for Java Minecraft * [Cuberite](/minecraft_java/cuberite/) -* [Forge](/minecraft_java/forge/) -* [Feed The Beast](/minecraft_java/ftb/) +* [Forge](/minecraft_java/forge/) +* [Feed The Beast](/minecraft_java/ftb/) * [Paper](/minecraft_java/paper) * [Spigot](/minecraft_java/spigot/) * [spongeforge](/minecraft_java/spongeforge/) * [SpongeVanilla](/minecraft_java/spongevanilla/) -* [Technic](/minecraft_java/technic/) +* [Technic](/minecraft_java/technic/) * [VanillaCord](/minecraft_java/vanillacord/) -[Minecraft Proxies](/minecraft_proxy/) (these are for the java version of minecraft) -* [Waterfall](/minecraft_proxy/waterfall/) +[Minecraft Proxies](/minecraft_proxy/) (these are for the java version of minecraft) +* [Waterfall](/minecraft_proxy/waterfall/) * [TyphoonLimbo](/minecraft_proxy/typhoonlimbo/) * [Velocity](/minecraft_proxy/velocity/) [Tycoon Games](/tycoon_games/) * [OpenTTD](/tycoon_games/openttd/) -[steamcmd servers](/steamcmd_servers/) These eggs use steamcmd to install -* [7 Days to Die](/steamcmd_servers/7_days_to_die/) -* [ARK Survival Evolved](/steamcmd_servers/ark_survival_evolved/) -* [Arma](/arma/) - * [Arma 3](/arma/arma3/) - * [Arma 3 HC](/arma/arma3_headless_client/) -* [Conan Exiles](/steamcmd_servers/conan_exiles) -* [Don't Starve](/steamcmd_servers/dont_starve) -* [HLDS server](/steamcmd_servers/hlds_server) -* [Mordhau](/steamcmd_servers/mordhau) -* [Onset](/steamcmd_servers/onset) -* [PixARK](/steamcmd_servers/pixark/) -* [Rust Staging Branch](/steamcmd_servers/rust_staging/) -* [Starbound](/steamcmd_servers/starbound) -* [Sven Co-op](/steamcmd_servers/svencoop) -* [Squad](/steamcmd_servers/squad/) -* [Unturned](/unturned/) - * [RocketMod](/unturned/rocketmod/) +[steamcmd servers](/steamcmd_servers/) These eggs use steamcmd to install +* [7 Days to Die](/steamcmd_servers/7_days_to_die/) +* [ARK Survival Evolved](/steamcmd_servers/ark_survival_evolved/) +* [Arma](/steamcmd_servers/arma/) + * [Arma 3](/steamcmd_servers/arma/arma3/) + * [Arma 3 HC](/steamcmd_servers/arma/arma3_headless_client/) +* [Conan Exiles](/steamcmd_servers/conan_exiles) +* [Don't Starve](/steamcmd_servers/dont_starve) +* [HLDS server](/steamcmd_servers/hlds_server) +* [Mordhau](/steamcmd_servers/mordhau) +* [Onset](/steamcmd_servers/onset) +* [PixARK](/steamcmd_servers/pixark/) +* [Rust Staging Branch](/steamcmd_servers/rust_staging/) +* [Starbound](/steamcmd_servers/starbound) +* [Sven Co-op](/steamcmd_servers/svencoop) +* [Squad](/steamcmd_servers/squad/) +* [Unturned](/unturned/) + * [RocketMod](/unturned/rocketmod/) [Unreal Engine](/unreal_engine) * [Tower Unite](/unreal_engine/tower_unite/) -[Terraria](/terraria/) -* [tmodloader](/terraria/tmodloader) -* [tshock](/terraria/tshock/) +[Terraria](/terraria/) +* [tmodloader](/terraria/tmodloader) +* [tshock](/terraria/tshock/) -[Xonotic](/xonotic/xonotic/) +[Xonotic](/xonotic/xonotic/) diff --git a/steamcmd_servers/README.md b/steamcmd_servers/README.md index a0b70ee8..6f123f7a 100644 --- a/steamcmd_servers/README.md +++ b/steamcmd_servers/README.md @@ -8,15 +8,32 @@ This is a collection of servers that use steamcmd to install. ## ARK [ark](ark_survival_evolved/) +## ARMA +[arma](arma/) +* [arma 3](arma/arma3/) +* [arma 3 headless](arma/arma3_headless_client/) + +## Conan Exiles +[conan_exiles](conan_exiles/) + +## Don't Starve +[dont_starve](dont_starve/) + ## HLDS Server [hlds](hlds_server/) ## Mordhau [mordhau](mordhau/) +## Onset +[onset](onset/) + ## Rust Staging [rust staging](rust_staging/) +## Squad +[squad](squad/) + ## Starbound [starbound](starbound/) diff --git a/steamcmd_servers/arma/README.md b/steamcmd_servers/arma/README.md new file mode 100644 index 00000000..f90116a9 --- /dev/null +++ b/steamcmd_servers/arma/README.md @@ -0,0 +1,9 @@ +# ARMA + +ARMA is a series of first-person tactical military shooters, originally released for Microsoft Windows. It features large elements of realism and simulation; a blend of large-scale military conflict spread across large areas alongside the more close quartered battles. + +## ARMA III +[arma 3](arma3/) + +## ARMA III headless client +[arma 3 headless](arma3_headless_client/) \ No newline at end of file diff --git a/arma/arma3/README.md b/steamcmd_servers/arma/arma3/README.md similarity index 100% rename from arma/arma3/README.md rename to steamcmd_servers/arma/arma3/README.md diff --git a/arma/arma3/egg-arma3-config/basic.cfg b/steamcmd_servers/arma/arma3/egg-arma3-config/basic.cfg similarity index 100% rename from arma/arma3/egg-arma3-config/basic.cfg rename to steamcmd_servers/arma/arma3/egg-arma3-config/basic.cfg diff --git a/arma/arma3/egg-arma3-config/server.cfg b/steamcmd_servers/arma/arma3/egg-arma3-config/server.cfg similarity index 100% rename from arma/arma3/egg-arma3-config/server.cfg rename to steamcmd_servers/arma/arma3/egg-arma3-config/server.cfg diff --git a/arma/arma3/egg-arma3.json b/steamcmd_servers/arma/arma3/egg-arma3.json similarity index 100% rename from arma/arma3/egg-arma3.json rename to steamcmd_servers/arma/arma3/egg-arma3.json diff --git a/arma/arma3_headless_client/README.md b/steamcmd_servers/arma/arma3_headless_client/README.md similarity index 100% rename from arma/arma3_headless_client/README.md rename to steamcmd_servers/arma/arma3_headless_client/README.md diff --git a/arma/arma3_headless_client/egg-arma3-headless-client.json b/steamcmd_servers/arma/arma3_headless_client/egg-arma3-headless-client.json similarity index 100% rename from arma/arma3_headless_client/egg-arma3-headless-client.json rename to steamcmd_servers/arma/arma3_headless_client/egg-arma3-headless-client.json From d4fcfb93852b1bada7712f35a3f1a69eeefb33bb Mon Sep 17 00:00:00 2001 From: Fern <15272073+Fernthedev@users.noreply.github.com> Date: Mon, 23 Dec 2019 12:59:44 -0400 Subject: [PATCH 151/413] Waterfall Installation and Startup command modification Fixed issues such as failure to parse Waterfall latest build, version and latest Minecraft version Changed startup command to use https://aikar.co/2018/07/02/tuning-the-jvm-g1gc-garbage-collector-flags-for-minecraft/ --- minecraft_proxy/waterfall/egg-waterfall.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/minecraft_proxy/waterfall/egg-waterfall.json b/minecraft_proxy/waterfall/egg-waterfall.json index 7d5364a6..84f50a33 100644 --- a/minecraft_proxy/waterfall/egg-waterfall.json +++ b/minecraft_proxy/waterfall/egg-waterfall.json @@ -3,12 +3,12 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-12-20T10:47:29-05:00", + "exported_at": "2019-12-23T12:28:53-04:00", "name": "Waterfall", "author": "hostmaster@waterfallgaming.net", "description": "Waterfall is a fork of the well-known BungeeCord server teleportation suite.", "image": "quay.io\/pterodactyl\/core:java", - "startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}", + "startup": "java -Xms{{SERVER_MEMORY}}M -Xmx{{SERVER_MEMORY}}M -XX:+UseG1GC -XX:+UnlockExperimentalVMOptions -XX:MaxGCPauseMillis=100 -XX:+DisableExplicitGC -XX:TargetSurvivorRatio=90 -XX:G1NewSizePercent=50 -XX:G1MaxNewSizePercent=80 -XX:G1MixedGCLiveThresholdPercent=35 -XX:+AlwaysPreTouch -XX:+ParallelRefProcEnabled -Dusing.aikars.flags=mcflags.emc.gs -jar {{SERVER_JARFILE}}", "config": { "files": "{\r\n \"config.yml\": {\r\n \"parser\": \"yaml\",\r\n \"find\": {\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:\"\r\n ]\r\n}", @@ -17,7 +17,7 @@ }, "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\ncd \/mnt\/server\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 if [ -z \"$VANILLA_VERSION\" ] || [ \"${MINECRAFT_VERSION}\" == \"latest\" ]; then\r\n MINECRAFT_VERSION=$(curl -s https:\/\/papermc.io\/api\/v1\/waterfall | jq -r '.versions[0]')\r\n else\r\n VER_EXISTS=$(curl -s https:\/\/papermc.io\/api\/v1\/waterfall | jq -r --arg VERSION $MINECRAFT_VERSION '.versions[] | IN($VERSION)' | grep true)\r\n fi\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 waterfall version\"\r\n MINECRAFT_VERSION=${LATEST_WATERFALL_VERSION}\r\n fi\r\n \r\n BUILD_EXISTS=$(curl -s https:\/\/papermc.io\/api\/v1\/waterfall\/${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\/waterfall\/${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\/waterfall\/${MINECRAFT_VERSION}\/${BUILD_NUMBER}\/download \r\nfi\r\n\r\necho -e \"running curl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\"\r\n\r\ncurl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\r\n\r\nif [ ! -f config.yml ]; then\r\n echo -e \"Downloading waterfall config.yml\"\r\n curl -o config.yml https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft_proxy\/waterfall\/config.yml\r\nelse\r\n echo -e \"Waterfall config.yml exists. Will not pull a new file\"\r\nfi", + "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\ncd \/mnt\/server\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 if [ -z \"$VANILLA_VERSION\" ] || [ \"${MINECRAFT_VERSION}\" == \"latest\" ]; then\r\n MINECRAFT_VERSION=$(curl -s https:\/\/papermc.io\/api\/v1\/waterfall | jq -r '.versions[0]')\r\n echo ${MINECRAFT_VERSION} is mc ver\r\n else\r\n echo Result: $(curl -s https:\/\/papermc.io\/api\/v1\/waterfall)\r\n VER_EXISTS=$(curl -s https:\/\/papermc.io\/api\/v1\/waterfall | jq -r --arg VERSION $MINECRAFT_VERSION '.versions | contains ([$VERSION])')\r\n# VER_EXISTS=$(curl -s https:\/\/papermc.io\/api\/v1\/waterfall | jq -r --arg VERSION $MINECRAFT_VERSION '.versions[] | IN($VERSION)' | grep true)\r\n fi\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 waterfall version\"\r\n LATEST_WATERFALL_VERSION=$(curl -s https:\/\/papermc.io\/api\/v1\/waterfall\/ | jq -r '.versions[0]')\r\n MINECRAFT_VERSION=${LATEST_WATERFALL_VERSION}\r\n fi\r\n \r\n if [ ! ${BUILD_NUMBER} == \"latest\" ] ; then\r\n BUILD_EXISTS=$(curl -s https:\/\/papermc.io\/api\/v1\/waterfall\/${MINECRAFT_VERSION} | jq -r --arg BUILD ${BUILD_NUMBER} '.builds.all[] | IN($BUILD)' | grep true)\r\n LATEST_WATERFALL_VERSION=$(curl -s https:\/\/papermc.io\/api\/v1\/waterfall\/ | jq -r '.versions[0]')\r\n \r\n if [ \"${BUILD_EXISTS}\" == \"true\" ]; 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_WATERFALL_VERSION}\r\n fi\r\n fi\r\n \r\n echo \"Version being downloaded: ${BUILD_NUMBER}\"\r\n echo -e \"MC Version: ${MINECRAFT_VERSION}\"\r\n echo -e \"Build: ${BUILD_NUMBER}\"\r\n DOWNLOAD_URL=https:\/\/papermc.io\/api\/v1\/waterfall\/${MINECRAFT_VERSION}\/${BUILD_NUMBER}\/download \r\nfi\r\n\r\necho -e \"running curl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\"\r\n\r\ncurl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\r\n\r\nif [ ! -f config.yml ]; then\r\n echo -e \"Downloading waterfall config.yml\"\r\n curl -o config.yml https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft_proxy\/waterfall\/config.yml\r\nelse\r\n echo -e \"Waterfall config.yml exists. Will not pull a new file\"\r\nfi", "container": "alpine:3.10", "entrypoint": "ash" } From 9cd38f33cb32ede59c0179e896751986a93c8e39 Mon Sep 17 00:00:00 2001 From: Fern <15272073+Fernthedev@users.noreply.github.com> Date: Mon, 23 Dec 2019 13:10:24 -0400 Subject: [PATCH 152/413] Removed flags --- minecraft_proxy/waterfall/egg-waterfall.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/minecraft_proxy/waterfall/egg-waterfall.json b/minecraft_proxy/waterfall/egg-waterfall.json index 84f50a33..f494adf5 100644 --- a/minecraft_proxy/waterfall/egg-waterfall.json +++ b/minecraft_proxy/waterfall/egg-waterfall.json @@ -3,12 +3,12 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-12-23T12:28:53-04:00", + "exported_at": "2019-12-23T13:10:08-04:00", "name": "Waterfall", "author": "hostmaster@waterfallgaming.net", "description": "Waterfall is a fork of the well-known BungeeCord server teleportation suite.", "image": "quay.io\/pterodactyl\/core:java", - "startup": "java -Xms{{SERVER_MEMORY}}M -Xmx{{SERVER_MEMORY}}M -XX:+UseG1GC -XX:+UnlockExperimentalVMOptions -XX:MaxGCPauseMillis=100 -XX:+DisableExplicitGC -XX:TargetSurvivorRatio=90 -XX:G1NewSizePercent=50 -XX:G1MaxNewSizePercent=80 -XX:G1MixedGCLiveThresholdPercent=35 -XX:+AlwaysPreTouch -XX:+ParallelRefProcEnabled -Dusing.aikars.flags=mcflags.emc.gs -jar {{SERVER_JARFILE}}", + "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].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:\"\r\n ]\r\n}", From f8f6cf22f5330058663f26f74bdc1808552cee10 Mon Sep 17 00:00:00 2001 From: Fern <15272073+Fernthedev@users.noreply.github.com> Date: Mon, 23 Dec 2019 13:23:33 -0400 Subject: [PATCH 153/413] Used parkervcp's suggestions --- minecraft_proxy/waterfall/egg-waterfall.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/minecraft_proxy/waterfall/egg-waterfall.json b/minecraft_proxy/waterfall/egg-waterfall.json index f494adf5..3af57a1e 100644 --- a/minecraft_proxy/waterfall/egg-waterfall.json +++ b/minecraft_proxy/waterfall/egg-waterfall.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-12-23T13:10:08-04:00", + "exported_at": "2019-12-23T13:23:16-04:00", "name": "Waterfall", "author": "hostmaster@waterfallgaming.net", "description": "Waterfall is a fork of the well-known BungeeCord server teleportation suite.", @@ -17,7 +17,7 @@ }, "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\ncd \/mnt\/server\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 if [ -z \"$VANILLA_VERSION\" ] || [ \"${MINECRAFT_VERSION}\" == \"latest\" ]; then\r\n MINECRAFT_VERSION=$(curl -s https:\/\/papermc.io\/api\/v1\/waterfall | jq -r '.versions[0]')\r\n echo ${MINECRAFT_VERSION} is mc ver\r\n else\r\n echo Result: $(curl -s https:\/\/papermc.io\/api\/v1\/waterfall)\r\n VER_EXISTS=$(curl -s https:\/\/papermc.io\/api\/v1\/waterfall | jq -r --arg VERSION $MINECRAFT_VERSION '.versions | contains ([$VERSION])')\r\n# VER_EXISTS=$(curl -s https:\/\/papermc.io\/api\/v1\/waterfall | jq -r --arg VERSION $MINECRAFT_VERSION '.versions[] | IN($VERSION)' | grep true)\r\n fi\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 waterfall version\"\r\n LATEST_WATERFALL_VERSION=$(curl -s https:\/\/papermc.io\/api\/v1\/waterfall\/ | jq -r '.versions[0]')\r\n MINECRAFT_VERSION=${LATEST_WATERFALL_VERSION}\r\n fi\r\n \r\n if [ ! ${BUILD_NUMBER} == \"latest\" ] ; then\r\n BUILD_EXISTS=$(curl -s https:\/\/papermc.io\/api\/v1\/waterfall\/${MINECRAFT_VERSION} | jq -r --arg BUILD ${BUILD_NUMBER} '.builds.all[] | IN($BUILD)' | grep true)\r\n LATEST_WATERFALL_VERSION=$(curl -s https:\/\/papermc.io\/api\/v1\/waterfall\/ | jq -r '.versions[0]')\r\n \r\n if [ \"${BUILD_EXISTS}\" == \"true\" ]; 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_WATERFALL_VERSION}\r\n fi\r\n fi\r\n \r\n echo \"Version being downloaded: ${BUILD_NUMBER}\"\r\n echo -e \"MC Version: ${MINECRAFT_VERSION}\"\r\n echo -e \"Build: ${BUILD_NUMBER}\"\r\n DOWNLOAD_URL=https:\/\/papermc.io\/api\/v1\/waterfall\/${MINECRAFT_VERSION}\/${BUILD_NUMBER}\/download \r\nfi\r\n\r\necho -e \"running curl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\"\r\n\r\ncurl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\r\n\r\nif [ ! -f config.yml ]; then\r\n echo -e \"Downloading waterfall config.yml\"\r\n curl -o config.yml https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft_proxy\/waterfall\/config.yml\r\nelse\r\n echo -e \"Waterfall config.yml exists. Will not pull a new file\"\r\nfi", + "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\ncd \/mnt\/server\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 if [ -z \"$VANILLA_VERSION\" ] || [ \"${MINECRAFT_VERSION}\" == \"latest\" ]; then\r\n MINECRAFT_VERSION=$(curl -s https:\/\/papermc.io\/api\/v1\/waterfall | jq -r '.versions[0]')\r\n else\r\n VER_EXISTS=$(curl -s https:\/\/papermc.io\/api\/v1\/waterfall | jq -r --arg VERSION $MINECRAFT_VERSION '.versions | contains ([$VERSION])')\r\n fi\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 waterfall version\"\r\n MINECRAFT_VERSION=$(curl -s https:\/\/papermc.io\/api\/v1\/waterfall\/ | jq -r '.versions[0]')\r\n fi\r\n \r\n if [ ! ${BUILD_NUMBER} == \"latest\" ] ; then\r\n BUILD_EXISTS=$(curl -s https:\/\/papermc.io\/api\/v1\/waterfall\/${MINECRAFT_VERSION} | jq -r --arg BUILD ${BUILD_NUMBER} '.builds.all[] | IN($BUILD)' | grep true)\r\n LATEST_WATERFALL_VERSION=$(curl -s https:\/\/papermc.io\/api\/v1\/waterfall\/ | jq -r '.versions[0]')\r\n \r\n if [ \"${BUILD_EXISTS}\" == \"true\" ]; 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_WATERFALL_VERSION}\r\n fi\r\n fi\r\n \r\n echo \"Version being downloaded: ${BUILD_NUMBER}\"\r\n echo -e \"MC Version: ${MINECRAFT_VERSION}\"\r\n echo -e \"Build: ${BUILD_NUMBER}\"\r\n DOWNLOAD_URL=https:\/\/papermc.io\/api\/v1\/waterfall\/${MINECRAFT_VERSION}\/${BUILD_NUMBER}\/download \r\nfi\r\n\r\necho -e \"running curl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\"\r\n\r\ncurl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\r\n\r\nif [ ! -f config.yml ]; then\r\n echo -e \"Downloading waterfall config.yml\"\r\n curl -o config.yml https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft_proxy\/waterfall\/config.yml\r\nelse\r\n echo -e \"Waterfall config.yml exists. Will not pull a new file\"\r\nfi", "container": "alpine:3.10", "entrypoint": "ash" } From 3b4eb847c6553a2ef1f76d146acb15e1bdce2448 Mon Sep 17 00:00:00 2001 From: parkervcp Date: Mon, 23 Dec 2019 12:24:38 -0500 Subject: [PATCH 154/413] more organizing Moves more servers into the steamcmd folder. --- .gitignore | 4 +- .gitignore_global | 1 - steamcmd_servers/tower_unite/README.md | 11 ++++ .../tower_unite/egg-tower-unite.json | 63 +++++++++++++++++++ steamcmd_servers/unturned/rocketmod/README.md | 17 +++++ .../unturned/rocketmod/egg-rocketmod.json | 54 ++++++++++++++++ 6 files changed, 148 insertions(+), 2 deletions(-) delete mode 100644 .gitignore_global create mode 100644 steamcmd_servers/tower_unite/README.md create mode 100644 steamcmd_servers/tower_unite/egg-tower-unite.json create mode 100644 steamcmd_servers/unturned/rocketmod/README.md create mode 100644 steamcmd_servers/unturned/rocketmod/egg-rocketmod.json diff --git a/.gitignore b/.gitignore index ccc9fd93..378f0ca5 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ -*.DS_Store \ No newline at end of file +*.DS_Store +node_modules/ +.vuepress/ \ No newline at end of file diff --git a/.gitignore_global b/.gitignore_global deleted file mode 100644 index 496ee2ca..00000000 --- a/.gitignore_global +++ /dev/null @@ -1 +0,0 @@ -.DS_Store \ No newline at end of file diff --git a/steamcmd_servers/tower_unite/README.md b/steamcmd_servers/tower_unite/README.md new file mode 100644 index 00000000..f43f9408 --- /dev/null +++ b/steamcmd_servers/tower_unite/README.md @@ -0,0 +1,11 @@ +# 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 Unite requires a single port to be opened + +| Port | default | +|---------|---------| +| Game | 7778 | +| Query | 27016 | diff --git a/steamcmd_servers/tower_unite/egg-tower-unite.json b/steamcmd_servers/tower_unite/egg-tower-unite.json new file mode 100644 index 00000000..43f7687b --- /dev/null +++ b/steamcmd_servers/tower_unite/egg-tower-unite.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-08T01:46:57+01:00", + "name": "Tower Unite", + "author": "teamwuffy@gmail.com", + "description": "Tower Unite\r\n\r\nDefault Port: 7778\r\nDefault Query Port: 27016\r\n\r\nConfig Path: Tower\/Saved\/Config\/TowerServer.ini", + "image": "quay.io\/pterodactyl\/core:source", + "startup": ".\/Tower\/Binaries\/Linux\/TowerServer-Linux-Shipping -log -Port={{SERVER_PORT}} -MULTIHOME=0.0.0.0 -TowerServerINI=..\/..\/Saved\/Config\/TowerServer.ini", + "config": { + "files": "{\r\n \"Tower\/Saved\/Config\/TowerServer.ini\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"MaxPlayers\": \"{{server.build.env.SERVER_MAX_PLAYER}}\",\r\n \"ServerTitle\": \"{{server.build.env.SERVER_TITLE}}\",\r\n \"SteamLoginToken\": \"{{server.build.env.STEAM_LOGIN_TOKEN}}\",\r\n \"AdminSteamID\": \"{{server.build.env.STEAM_ADMIN_ID}}\"\r\n }\r\n }\r\n}", + "startup": "{\r\n \"done\": \"Match State Changed from EnteringMap to WaitingToStart\",\r\n \"userInteraction\": []\r\n}", + "logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/latest.log\"\r\n}", + "stop": "^C" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash\r\n# Tower Unite Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt -y update\r\napt -y --install-recommends install curl ca-certificates lib32gcc1\r\n\r\ncd \/tmp\r\ncurl -sSL -o steamcmd.tar.gz http:\/\/media.steampowered.com\/installer\/steamcmd_linux.tar.gz\r\n\r\nmkdir -p \/mnt\/server\/steamcmd\r\n\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\n\r\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 439660 validate +quit\r\n\r\ncd mnt\/server\r\n\r\nmkdir -p Tower\/Saved\/Config\r\nmkdir -p Tower\/Binaries\/Linux\r\n\r\nmv \/mnt\/server\/steamcmd\/linux64\/steamclient.so \/mnt\/server\/Tower\/Binaries\/Linux\r\n\r\ncat <> Tower\/Saved\/Config\/TowerServer.ini\r\n[\/script\/towernetworking.dedicatedserveroptions]\r\nMaxPlayers=$SERVER_MAX_PLAYER\r\nServerTitle=$SERVER_TITLE\r\nSteamLoginToken=$STEAM_LOGIN_TOKEN\r\n\r\n[Administration]\r\nAdminSteamID=$STEAM_ADMIN_ID\r\nEOF", + "container": "ubuntu:18.10", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "Steam Login Token", + "description": "Login and generate a token for the app-id: 394690\r\nhttps:\/\/steamcommunity.com\/dev\/managegameservers", + "env_variable": "STEAM_LOGIN_TOKEN", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:100" + }, + { + "name": "Steam Admin ID", + "description": "Note that your admin id is only a number!", + "env_variable": "STEAM_ADMIN_ID", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|integer|max:76561202255233023" + }, + { + "name": "Server Title", + "description": "", + "env_variable": "SERVER_TITLE", + "default_value": "Tower Unite Server", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:512" + }, + { + "name": "Max Players", + "description": "", + "env_variable": "SERVER_MAX_PLAYER", + "default_value": "40", + "user_viewable": 0, + "user_editable": 0, + "rules": "required|integer|max:512" + } + ] +} \ No newline at end of file diff --git a/steamcmd_servers/unturned/rocketmod/README.md b/steamcmd_servers/unturned/rocketmod/README.md new file mode 100644 index 00000000..b4386da3 --- /dev/null +++ b/steamcmd_servers/unturned/rocketmod/README.md @@ -0,0 +1,17 @@ +# Unturned + +Steam Description +You're one of the few not yet turned zombie. Keeping it that way will be a challenge. +- Go in guns blazing and attract the attention of everything, living and dead. +- Take a subtle approach sneaking around and making use of distractions. +- Confront and learn to counter special abilities ranging from invisibility to fire breathing to lightning attacks. + +### Server Ports +Rocketmod requires 2 ports to run properly. +game port (default 8907) +game +1 (default 8908) + +| Port | default | +|---------|---------| +| Game | 8907 | +| Game +1 | 8908 | \ No newline at end of file diff --git a/steamcmd_servers/unturned/rocketmod/egg-rocketmod.json b/steamcmd_servers/unturned/rocketmod/egg-rocketmod.json new file mode 100644 index 00000000..acaf657f --- /dev/null +++ b/steamcmd_servers/unturned/rocketmod/egg-rocketmod.json @@ -0,0 +1,54 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2018-04-27T21:30:05+00:00", + "name": "RocketMod", + "author": "isaac@isaacs.site", + "description": "The RocketMod server mod for Unturned.", + "image": "registry.gitlab.com\/tenten8401\/pterodactyl-unturned", + "startup": "mono RocketLauncher.exe unturned", + "config": { + "files": "{\r\n \"Servers\/unturned\/Server\/Commands.dat\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"Port\": \"Port {{server.build.default.port}}\"\r\n }\r\n}\r\n}", + "startup": "{\r\n \"done\": \"Loading level: 100%\",\r\n \"userInteraction\": []\r\n}", + "logs": "{\r\n \"custom\": true,\r\n \"location\": \"latest.log\"\r\n}", + "stop": "shutdown" + }, + "scripts": { + "installation": { + "script": "apt 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\/steam\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steam\r\ncd \/mnt\/server\/steam\r\n\r\nchown -R root:root \/mnt\r\n\r\nexport HOME=\/mnt\/server\r\n.\/steamcmd.sh +@sSteamCmdForcePlatformBitness 32 +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update 304930 +quit\r\n\r\nmkdir -p \/mnt\/server\/Servers\/unturned\/Server\r\necho \"Port 27015\" > \/mnt\/server\/Servers\/unturned\/Server\/Commands.dat\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": "Steam User", + "description": "A Steam username with Unturned on the account.", + "env_variable": "STEAM_USER", + "default_value": "anonymous", + "user_viewable": 0, + "user_editable": 0, + "rules": "required|string" + }, + { + "name": "Steam Password", + "description": "Steam User Password", + "env_variable": "STEAM_PASS", + "default_value": "", + "user_viewable": 0, + "user_editable": 0, + "rules": "nullable|string" + }, + { + "name": "Steam Auth Code", + "description": "Steam Auth Code only when you're using Steam Auth", + "env_variable": "STEAM_AUTH", + "default_value": "", + "user_viewable": 0, + "user_editable": 0, + "rules": "nullable|string" + } + ] +} \ No newline at end of file From 6406b1894d8ca011c12d31bb6240901ccce4210f Mon Sep 17 00:00:00 2001 From: parkervcp Date: Wed, 25 Dec 2019 19:09:30 -0500 Subject: [PATCH 155/413] update minecraft install script fixes a bug with the minecraft install script. --- stock-eggs/minecraft/egg-vanilla-minecraft.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/stock-eggs/minecraft/egg-vanilla-minecraft.json b/stock-eggs/minecraft/egg-vanilla-minecraft.json index 5937fc17..baaa63db 100644 --- a/stock-eggs/minecraft/egg-vanilla-minecraft.json +++ b/stock-eggs/minecraft/egg-vanilla-minecraft.json @@ -3,22 +3,22 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2018-06-19T17:09:18-04:00", + "exported_at": "2019-12-25T19:08:05-05: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}", + "files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-ip\": \"0.0.0.0\",\r\n \"enable-query\": \"true\",\r\n \"server-port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}", "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", + "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\nmkdir -p \/mnt\/server\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 -sSL https:\/\/launchermeta.mojang.com\/mc\/game\/version_manifest.json | jq --arg VERSION $LATEST_VERSION -r '.versions | .[] | select(.id== $VERSION )|.url'))\r\nelse\r\n MANIFEST_URL=$(curl -sSL https:\/\/launchermeta.mojang.com\/mc\/game\/version_manifest.json | jq --arg VERSION $VANILLA_VERSION -r '.versions | .[] | select(.id== $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.10", "entrypoint": "ash" } }, @@ -42,4 +42,4 @@ "rules": "required|string|between:3,15" } ] -} +} \ No newline at end of file From e360567f3a2322411ae5e984784f05bc7f58fcae Mon Sep 17 00:00:00 2001 From: parkervcp Date: Wed, 25 Dec 2019 19:57:48 -0500 Subject: [PATCH 156/413] update script corrently --- stock-eggs/minecraft/egg-vanilla-minecraft.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/stock-eggs/minecraft/egg-vanilla-minecraft.json b/stock-eggs/minecraft/egg-vanilla-minecraft.json index baaa63db..f613c815 100644 --- a/stock-eggs/minecraft/egg-vanilla-minecraft.json +++ b/stock-eggs/minecraft/egg-vanilla-minecraft.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-12-25T19:08:05-05:00", + "exported_at": "2019-12-25T19:55:01-05: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.", @@ -17,7 +17,7 @@ }, "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\nmkdir -p \/mnt\/server\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 -sSL https:\/\/launchermeta.mojang.com\/mc\/game\/version_manifest.json | jq --arg VERSION $LATEST_VERSION -r '.versions | .[] | select(.id== $VERSION )|.url'))\r\nelse\r\n MANIFEST_URL=$(curl -sSL https:\/\/launchermeta.mojang.com\/mc\/game\/version_manifest.json | jq --arg VERSION $VANILLA_VERSION -r '.versions | .[] | select(.id== $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", + "script": "#!\/bin\/ash\r\n# Vanilla MC Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk add curl --no-cache --update jq\r\n\r\nmkdir -p \/mnt\/server\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\necho -e \"latest version is $LATEST_VERSION\"\r\n\r\nif [ -z \"$VANILLA_VERSION\" ] || [ \"$VANILLA_VERSION\" == \"latest\" ]; then\r\n MANIFEST_URL=$(curl -sSL https:\/\/launchermeta.mojang.com\/mc\/game\/version_manifest.json | jq --arg VERSION $LATEST_VERSION -r '.versions | .[] | select(.id== $VERSION )|.url')\r\nelse\r\n MANIFEST_URL=$(curl -sSL https:\/\/launchermeta.mojang.com\/mc\/game\/version_manifest.json | jq --arg VERSION $VANILLA_VERSION -r '.versions | .[] | select(.id== $VERSION )|.url')\r\nfi\r\n\r\nDOWNLOAD_URL=$(curl ${MANIFEST_URL} | jq .downloads.server | jq -r '. | .url')\r\n\r\necho -e \"running: curl -o ${SERVER_JARFILE} $DOWNLOAD_URL\"\r\ncurl -o ${SERVER_JARFILE} $DOWNLOAD_URL\r\n\r\necho -e \"Install Complete\"", "container": "alpine:3.10", "entrypoint": "ash" } From 2b069811178e8008a5946c476853a216c2ae0849 Mon Sep 17 00:00:00 2001 From: parkervcp Date: Thu, 26 Dec 2019 15:51:38 -0500 Subject: [PATCH 157/413] update arma 3 config links Updates the arma3 config links. Also updates the install scripts. --- steamcmd_servers/arma/arma3/egg-arma3.json | 28 +++++++++---------- .../egg-arma3-headless-client.json | 8 +++--- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/steamcmd_servers/arma/arma3/egg-arma3.json b/steamcmd_servers/arma/arma3/egg-arma3.json index 6cafce19..66496d91 100644 --- a/steamcmd_servers/arma/arma3/egg-arma3.json +++ b/steamcmd_servers/arma/arma3/egg-arma3.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-03-13T18:40:40-04:00", + "exported_at": "2019-12-26T15:50:38-05:00", "name": "Arma 3", "author": "daave@aaathats3as.com", "description": "Experience true combat gameplay in a massive military sandbox. Deploying a wide variety of single- and multiplayer content, over 20 vehicles and 40 weapons, and limitless opportunities for content creation, this is the PC's premier military game. Authentic, diverse, open - Arma 3 sends you to war.", @@ -17,8 +17,8 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n\r\napt -y update\r\napt -y --no-install-recommends install curl\r\napt -y --no-install-recommends install lib32gcc1 ca-certificates\r\n\r\ncd \/tmp\r\ncurl -sSLO http:\/\/media.steampowered.com\/installer\/steamcmd_linux.tar.gz\r\n\r\nmkdir -p \/mnt\/server\/steamcmd \/mnt\/server\/logs\r\nmkdir -p \"\/mnt\/server\/.local\/share\/Arma 3\" \"\/mnt\/server\/.local\/share\/Arma 3 - Other Profiles\"\r\n\r\ntouch \/mnt\/server\/latest.log\r\nchown -R root:root \/mnt\r\n\r\ntar -xzvf \/tmp\/steamcmd_linux.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\nexport HOME=\/mnt\/server\r\n\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${APP_ID} validate +quit\r\n\r\ncd \/mnt\/server\/\r\n[[ -f basic.cfg ]] || curl -sSLO https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/arma\/arma3\/egg-arma3-config\/basic.cfg\r\n[[ -f server.cfg ]] || curl -sSLO https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/arma\/arma3\/egg-arma3-config\/server.cfg", - "container": "ubuntu:18.04", + "script": "#!\/bin\/bash\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## ARMA III specific setup\r\ncd \/mnt\/server\/\r\n\r\nmkdir -p \"\/mnt\/server\/.local\/share\/Arma 3\" \"\/mnt\/server\/.local\/share\/Arma 3 - Other Profiles\"\r\n\r\n[[ -f basic.cfg ]] || curl -sSLO https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/steamcmd_servers\/arma\/arma3\/egg-arma3-config\/basic.cfg\r\n[[ -f server.cfg ]] || curl -sSLO https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/steamcmd_servers\/arma\/arma3\/egg-arma3-config\/server.cfg", + "container": "debian:buster-slim", "entrypoint": "bash" } }, @@ -26,21 +26,12 @@ { "name": "Game App ID", "description": "Steam CMD App ID.", - "env_variable": "APP_ID", + "env_variable": "SRCDS_APPID", "default_value": "233780", "user_viewable": 1, "user_editable": 0, "rules": "required|alpha_dash|between:1,100" }, - { - "name": "Basic", - "description": "Basic network config", - "env_variable": "BASIC", - "default_value": "basic.cfg", - "user_viewable": 1, - "user_editable": 1, - "rules": "string|nullable" - }, { "name": "Config", "description": "Server config", @@ -95,6 +86,15 @@ "user_editable": 0, "rules": "nullable|string" }, + { + "name": "Basic", + "description": "Basic network config", + "env_variable": "BASIC", + "default_value": "basic.cfg", + "user_viewable": 1, + "user_editable": 1, + "rules": "string|nullable" + }, { "name": "Steam Auth Code", "description": "Steam Auth Code only when you're using Steam Auth", @@ -105,4 +105,4 @@ "rules": "nullable|string" } ] -} +} \ No newline at end of file diff --git a/steamcmd_servers/arma/arma3_headless_client/egg-arma3-headless-client.json b/steamcmd_servers/arma/arma3_headless_client/egg-arma3-headless-client.json index b0cb6e02..775b722a 100644 --- a/steamcmd_servers/arma/arma3_headless_client/egg-arma3-headless-client.json +++ b/steamcmd_servers/arma/arma3_headless_client/egg-arma3-headless-client.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-03-25T14:09:36+01:00", + "exported_at": "2019-12-26T15:50:34-05:00", "name": "Arma 3 Headless Client", "author": "brainp4in@blueberry-hood-clan.de", "description": "Headless Clients are used to offload AI calculations from the Arma 3 Server.", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n\r\napt -y update\r\napt -y --no-install-recommends install curl\r\napt -y --no-install-recommends install lib32gcc1 ca-certificates\r\n\r\ncd \/tmp\r\ncurl -sSLO http:\/\/media.steampowered.com\/installer\/steamcmd_linux.tar.gz\r\n\r\nmkdir -p \/mnt\/server\/steamcmd \/mnt\/server\/logs\r\nmkdir -p \"\/mnt\/server\/.local\/share\/Arma 3\" \"\/mnt\/server\/.local\/share\/Arma 3 - Other Profiles\"\r\n\r\ntouch \/mnt\/server\/latest.log\r\nchown -R root:root \/mnt\r\n\r\ntar -xzvf \/tmp\/steamcmd_linux.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\nexport HOME=\/mnt\/server\r\n\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${APP_ID} validate +quit\r\n\r\ncd \/mnt\/server\/\r\ncurl -sSLO https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/arma\/arma3\/egg-arma3-config\/server.cfg\r\ncurl -sSLO https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/arma\/arma3\/egg-arma3-config\/basic.cfg", + "script": "#!\/bin\/bash\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## ARMA III specific setup\r\ncd \/mnt\/server\/\r\n\r\nmkdir -p \"\/mnt\/server\/.local\/share\/Arma 3\" \"\/mnt\/server\/.local\/share\/Arma 3 - Other Profiles\"\r\n\r\n[[ -f basic.cfg ]] || curl -sSLO https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/steamcmd_servers\/arma\/arma3\/egg-arma3-config\/basic.cfg\r\n[[ -f server.cfg ]] || curl -sSLO https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/steamcmd_servers\/arma\/arma3\/egg-arma3-config\/server.cfg", "container": "ubuntu:18.04", "entrypoint": "bash" } @@ -26,7 +26,7 @@ { "name": "Game App ID", "description": "Steam CMD App ID.", - "env_variable": "APP_ID", + "env_variable": "SRCDS_APPID", "default_value": "233780", "user_viewable": 1, "user_editable": 0, @@ -96,4 +96,4 @@ "rules": "nullable|string" } ] -} +} \ No newline at end of file From f47d632378d66a1e4159f544a7d6d058283866f5 Mon Sep 17 00:00:00 2001 From: gOOvER Date: Fri, 27 Dec 2019 12:28:14 +0100 Subject: [PATCH 158/413] add/eco New PR for ECO Server. Original Author deleted his Account --- steamcmd_servers/eco/README.md | 15 +++++++++++ steamcmd_servers/eco/egg-eco.json | 45 +++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 steamcmd_servers/eco/README.md create mode 100644 steamcmd_servers/eco/egg-eco.json diff --git a/steamcmd_servers/eco/README.md b/steamcmd_servers/eco/README.md new file mode 100644 index 00000000..147bda91 --- /dev/null +++ b/steamcmd_servers/eco/README.md @@ -0,0 +1,15 @@ +# Eco +Steam Description +Eco is a community-based game; the players develop laws, government, and an economy to determine the success of their world. We need extensive playtesting to get the balance of our core features just right. Early Access is the perfect fit for finding an audience for this while also funding additional development. + +### Server Ports +Eco requires up to 2 ports + +game port (default 3000) +web port (default 3001) + + +| Port | default | +|---------|---------------| +| Game | 3000 | +| Web | 3001 | \ No newline at end of file diff --git a/steamcmd_servers/eco/egg-eco.json b/steamcmd_servers/eco/egg-eco.json new file mode 100644 index 00000000..d9a7056f --- /dev/null +++ b/steamcmd_servers/eco/egg-eco.json @@ -0,0 +1,45 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2019-12-27T12:17:53+01:00", + "name": "Eco", + "author": "parker@parkervcp.com", + "description": "Eco is a community-based game", + "image": "quay.io\/parkervcp\/pterodactyl-images:debian_mono-5-complete", + "startup": "mono EcoServer.exe -nogui", + "config": { + "files": "{\r\n \"Configs\/Network.eco\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"GameServerPort\": \"{{server.build.default.port}}\",\r\n \"WebServerPort\": \"{{server.build.env.WEB_PORT}}\"\r\n }\r\n }\r\n}", + "startup": "{\r\n \"done\": \"Server Initialization \",\r\n \"userInteraction\": []\r\n}", + "logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/latest.log\"\r\n}", + "stop": "exit" + }, + "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 wget\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": "ID", + "env_variable": "SRCDS_APPID", + "default_value": "739590", + "user_viewable": 1, + "user_editable": 0, + "rules": "required|numeric|digits_between:1,6" + }, + { + "name": "Web server port", + "description": "port", + "env_variable": "WEB_PORT", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:20" + } + ] +} \ No newline at end of file From 26f6165fff04dc682ec532144437226d6c5d44fa Mon Sep 17 00:00:00 2001 From: Torsten Widmann Date: Fri, 27 Dec 2019 14:04:04 +0100 Subject: [PATCH 159/413] Update README.md --- steamcmd_servers/README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/steamcmd_servers/README.md b/steamcmd_servers/README.md index 6f123f7a..0d3285d9 100644 --- a/steamcmd_servers/README.md +++ b/steamcmd_servers/README.md @@ -19,6 +19,9 @@ This is a collection of servers that use steamcmd to install. ## Don't Starve [dont_starve](dont_starve/) +## ECO +[ECO](eco/) + ## HLDS Server [hlds](hlds_server/) @@ -38,4 +41,4 @@ This is a collection of servers that use steamcmd to install. [starbound](starbound/) ## Sven coop -[svencoop](svencoop) \ No newline at end of file +[svencoop](svencoop) From a7ff957c71b413f14869540314d77cabd3fd0f4a Mon Sep 17 00:00:00 2001 From: Torsten Widmann Date: Sat, 28 Dec 2019 08:57:25 +0100 Subject: [PATCH 160/413] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1c5aa0dd..5942be30 100644 --- a/README.md +++ b/README.md @@ -88,6 +88,7 @@ If you are reading this it looks like you are looking to add an egg to your serv * [Arma 3 HC](/steamcmd_servers/arma/arma3_headless_client/) * [Conan Exiles](/steamcmd_servers/conan_exiles) * [Don't Starve](/steamcmd_servers/dont_starve) +* [ECO](/steamcmd_servers/eco/) * [HLDS server](/steamcmd_servers/hlds_server) * [Mordhau](/steamcmd_servers/mordhau) * [Onset](/steamcmd_servers/onset) From 04eddb8cd35e290a875cd037f822e6e4ca0af288 Mon Sep 17 00:00:00 2001 From: gOOvER Date: Sat, 28 Dec 2019 16:38:09 +0100 Subject: [PATCH 161/413] Updated startup command and Installscript --- steamcmd_servers/eco/egg-eco.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/steamcmd_servers/eco/egg-eco.json b/steamcmd_servers/eco/egg-eco.json index d9a7056f..199a0b29 100644 --- a/steamcmd_servers/eco/egg-eco.json +++ b/steamcmd_servers/eco/egg-eco.json @@ -3,12 +3,12 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-12-27T12:17:53+01:00", + "exported_at": "2019-12-28T16:37:09+01:00", "name": "Eco", "author": "parker@parkervcp.com", "description": "Eco is a community-based game", "image": "quay.io\/parkervcp\/pterodactyl-images:debian_mono-5-complete", - "startup": "mono EcoServer.exe -nogui", + "startup": "\/usr\/bin\/mono .\/EcoServer.exe -nogui", "config": { "files": "{\r\n \"Configs\/Network.eco\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"GameServerPort\": \"{{server.build.default.port}}\",\r\n \"WebServerPort\": \"{{server.build.env.WEB_PORT}}\"\r\n }\r\n }\r\n}", "startup": "{\r\n \"done\": \"Server Initialization \",\r\n \"userInteraction\": []\r\n}", @@ -17,7 +17,7 @@ }, "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 wget\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", + "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ubuntu:18.04'\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so", "container": "ubuntu:18.04", "entrypoint": "bash" } From 6dffcd3c7ed4921ba4a946e390290f80141024e2 Mon Sep 17 00:00:00 2001 From: gOOvER Date: Sun, 29 Dec 2019 10:27:38 +0100 Subject: [PATCH 162/413] Updated Description and eMail --- steamcmd_servers/eco/egg-eco.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/steamcmd_servers/eco/egg-eco.json b/steamcmd_servers/eco/egg-eco.json index 199a0b29..4f40a5a0 100644 --- a/steamcmd_servers/eco/egg-eco.json +++ b/steamcmd_servers/eco/egg-eco.json @@ -3,10 +3,10 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-12-28T16:37:09+01:00", + "exported_at": "2019-12-29T10:25:38+01:00", "name": "Eco", - "author": "parker@parkervcp.com", - "description": "Eco is a community-based game", + "author": "info@goover.de", + "description": "Eco is an online world from Strange Loop Games where players must build civilization using resources from an ecosystem that can be damaged and destroyed. The world of Eco is an incredibly reactive one, and whatever any player does in the world affects the underlying ecosystem.", "image": "quay.io\/parkervcp\/pterodactyl-images:debian_mono-5-complete", "startup": "\/usr\/bin\/mono .\/EcoServer.exe -nogui", "config": { @@ -42,4 +42,4 @@ "rules": "required|string|max:20" } ] -} \ No newline at end of file +} From c938b86acda0817d70c8a3631461662f6523519d Mon Sep 17 00:00:00 2001 From: gOOvER Date: Sun, 29 Dec 2019 11:24:33 +0100 Subject: [PATCH 163/413] Added Publicserver and Passwort Variable --- steamcmd_servers/eco/egg-eco.json | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/steamcmd_servers/eco/egg-eco.json b/steamcmd_servers/eco/egg-eco.json index 4f40a5a0..e7c016f6 100644 --- a/steamcmd_servers/eco/egg-eco.json +++ b/steamcmd_servers/eco/egg-eco.json @@ -3,14 +3,14 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-12-29T10:25:38+01:00", + "exported_at": "2019-12-29T11:23:06+01:00", "name": "Eco", "author": "info@goover.de", "description": "Eco is an online world from Strange Loop Games where players must build civilization using resources from an ecosystem that can be damaged and destroyed. The world of Eco is an incredibly reactive one, and whatever any player does in the world affects the underlying ecosystem.", "image": "quay.io\/parkervcp\/pterodactyl-images:debian_mono-5-complete", "startup": "\/usr\/bin\/mono .\/EcoServer.exe -nogui", "config": { - "files": "{\r\n \"Configs\/Network.eco\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"GameServerPort\": \"{{server.build.default.port}}\",\r\n \"WebServerPort\": \"{{server.build.env.WEB_PORT}}\"\r\n }\r\n }\r\n}", + "files": "{\r\n \"Configs\/Network.eco\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"GameServerPort\": \"{{server.build.default.port}}\",\r\n \"WebServerPort\": \"{{server.build.env.WEB_PORT}}\",\r\n \"PublicServer\": \"{{server.build.env.PUB_SRV}}\",\r\n \"Password\": \"{{server.build.env.SRV_PWD}}\"\r\n }\r\n }\r\n}", "startup": "{\r\n \"done\": \"Server Initialization \",\r\n \"userInteraction\": []\r\n}", "logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/latest.log\"\r\n}", "stop": "exit" @@ -39,7 +39,25 @@ "default_value": "", "user_viewable": 1, "user_editable": 1, + "rules": "required|numeric|digits_between:1,6" + }, + { + "name": "Public Server", + "description": "Public Server = true | Private Server = false", + "env_variable": "PUB_SRV", + "default_value": "false", + "user_viewable": 1, + "user_editable": 1, "rules": "required|string|max:20" + }, + { + "name": "Server Password", + "description": "Password to join the Server", + "env_variable": "SRV_PWD", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "nullable|string|max:20" } ] -} +} \ No newline at end of file From 5805ab86c04b56039366b1856e437437427ee3fe Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sun, 29 Dec 2019 17:54:25 -0500 Subject: [PATCH 164/413] update scripts folder Change steamcmd recommended to debian-buster-slim Update release grabber with curly braces on variables (readability). Add script for validating that download links actually exist with no errors. update gitignore. --- .gitignore | 2 +- scripts/download_link_validator.sh | 11 +++++++++++ scripts/github_release_grabber.sh | 21 ++++++++++----------- scripts/steamcmd_installer.sh | 2 +- 4 files changed, 23 insertions(+), 13 deletions(-) create mode 100644 scripts/download_link_validator.sh diff --git a/.gitignore b/.gitignore index 378f0ca5..615b2764 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ *.DS_Store node_modules/ -.vuepress/ \ No newline at end of file +.vuepress/* \ No newline at end of file diff --git a/scripts/download_link_validator.sh b/scripts/download_link_validator.sh new file mode 100644 index 00000000..10a6d69a --- /dev/null +++ b/scripts/download_link_validator.sh @@ -0,0 +1,11 @@ +## this is a simple script to validate a download url actaully exists + +if [ ! -z "${DOWNLOAD_URL}"]; then + if curl --output /dev/null --silent --head --fail ${DOWNLOAD_URL}; then + echo -e "link is valid. setting download link to ${DOWNLOAD_URL}" + DOWNLOAD_LINK=${DOWNLOAD_URL} + else + echo -e "link is invalid closing out" + exit 2 + fi +fi \ No newline at end of file diff --git a/scripts/github_release_grabber.sh b/scripts/github_release_grabber.sh index d05120c8..14d4e70e 100644 --- a/scripts/github_release_grabber.sh +++ b/scripts/github_release_grabber.sh @@ -3,26 +3,25 @@ ## this supports using oauth/personal access tokens via GITHUB_USER and GITHUB_OAUTH_TOKEN (both are required.) ## if you are getting hit with GitHub API limit issues then you need to have the user and token set. - -if [ -z "$GITHUB_USER" ] && [ -z "$GITHUB_OAUTH_TOKEN" ] ; then +if [ -z "${GITHUB_USER}" ] && [ -z "${GITHUB_OAUTH_TOKEN}" ] ; then echo -e "using anon api call" else echo -e "user and oauth token set" - alias curl='curl -u $GITHUB_USER:$GITHUB_OAUTH_TOKEN ' + alias curl='curl -u ${GITHUB_USER}:${GITHUB_OAUTH_TOKEN} ' fi ## get release info and download links -LATEST_JSON=$(curl --silent "https://api.github.com/repos/$GITHUB_PACKAGE/releases/latest") -RELEASES=$(curl --silent "https://api.github.com/repos/$GITHUB_PACKAGE/releases") +LATEST_JSON=$(curl --silent "https://api.github.com/repos/${GITHUB_PACKAGE}/releases/latest") +RELEASES=$(curl --silent "https://api.github.com/repos/${GITHUB_PACKAGE}/releases") -if [ -z "$VERSION" ] || [ "$VERSION" == "latest" ]; then - DOWNLOAD_LINK=$(echo $LATEST_JSON | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH}) +if [ -z "${VERSION}" ] || [ "${VERSION}" == "latest" ]; then + DOWNLOAD_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH}) else - VERSION_CHECK=$(echo $RELEASES | jq -r --arg VERSION "$VERSION" '.[] | select(.tag_name==$VERSION) | .tag_name') - if [ "$VERSION" == "$VERSION_CHECK" ]; then - DOWNLOAD_LINK=$(echo $RELEASES | jq -r --arg VERSION "$VERSION" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH}) + VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION "${VERSION}" '.[] | select(.tag_name==$VERSION) | .tag_name') + if [ "${VERSION}" == "${VERSION_CHECK}" ]; then + DOWNLOAD_LINK=$(echo ${RELEASES} | jq -r --arg VERSION "${VERSION}" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH}) else echo -e "defaulting to latest release" - DOWNLOAD_LINK=$(echo $LATEST_JSON | jq .assets | jq -r .[].browser_download_url) + DOWNLOAD_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url) fi fi \ No newline at end of file diff --git a/scripts/steamcmd_installer.sh b/scripts/steamcmd_installer.sh index eba1d2c2..c36fa040 100644 --- a/scripts/steamcmd_installer.sh +++ b/scripts/steamcmd_installer.sh @@ -2,7 +2,7 @@ # steamcmd Base Installation Script # # Server Files: /mnt/server -# Image to install with is 'ubuntu:18.04' +# Image to install with is 'debian:buster-slim' apt -y update apt -y --no-install-recommends install curl lib32gcc1 ca-certificates From 0be5d837412ca6ce5392e9bfb571847c8d3523e5 Mon Sep 17 00:00:00 2001 From: gOOvER Date: Mon, 30 Dec 2019 09:05:45 +0100 Subject: [PATCH 165/413] Updated installscript to lastest --- steamcmd_servers/eco/egg-eco.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/steamcmd_servers/eco/egg-eco.json b/steamcmd_servers/eco/egg-eco.json index e7c016f6..49041fa0 100644 --- a/steamcmd_servers/eco/egg-eco.json +++ b/steamcmd_servers/eco/egg-eco.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-12-29T11:23:06+01:00", + "exported_at": "2019-12-30T09:04:05+01:00", "name": "Eco", "author": "info@goover.de", "description": "Eco is an online world from Strange Loop Games where players must build civilization using resources from an ecosystem that can be damaged and destroyed. The world of Eco is an incredibly reactive one, and whatever any player does in the world affects the underlying ecosystem.", @@ -17,8 +17,8 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ubuntu:18.04'\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so", - "container": "ubuntu:18.04", + "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'debian:buster-slim'\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so", + "container": "debian:buster-slim", "entrypoint": "bash" } }, From 01e4f9d8a892d161624521069e0067002805f66c Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Tue, 31 Dec 2019 18:51:23 -0500 Subject: [PATCH 166/413] update teamspeak egg --- .../voice-servers/egg-teamspeak3-server.json | 27 ++++++++++++------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/stock-eggs/voice-servers/egg-teamspeak3-server.json b/stock-eggs/voice-servers/egg-teamspeak3-server.json index 2058ec22..d96ee5c4 100644 --- a/stock-eggs/voice-servers/egg-teamspeak3-server.json +++ b/stock-eggs/voice-servers/egg-teamspeak3-server.json @@ -3,22 +3,22 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-05-01T16:35:15+00:00", + "exported_at": "2019-12-31T18:49:40-05: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", + "image": "quay.io\/parkervcp\/pterodactyl-images:base_debian", + "startup": ".\/ts3server default_voice_port={{SERVER_PORT}} query_port={{SERVER_PORT}} filetransfer_ip=0.0.0.0 filetransfer_port={{FILE_TRANSFER}} license_accepted=1", "config": { "files": "{}", - "startup": "{\"done\": \"listening on 0.0.0.0:\", \"userInteraction\": []}", - "logs": "{\"custom\": true, \"location\": \"logs\/ts3.log\"}", + "startup": "{\r\n \"done\": \"listening on 0.0.0.0:\",\r\n \"userInteraction\": []\r\n}", + "logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/ts3.log\"\r\n}", "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", + "script": "#!\/bin\/ash\r\n# TS3 Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk add --no-cache tar curl jq\r\n\r\nif [ -z ${TS_VERSION} ] || [ ${TS_VERSION} == latest ]; then\r\n TS_VERSION=$(wget https:\/\/teamspeak.com\/versions\/server.json -qO - | jq -r '.linux.x86_64.version')\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\n\r\necho -e \"getting files from http:\/\/files.teamspeak-services.com\/releases\/server\/${TS_VERSION}\/teamspeak3-server_linux_amd64-${TS_VERSION}.tar.bz2\"\r\ncurl http:\/\/files.teamspeak-services.com\/releases\/server\/${TS_VERSION}\/teamspeak3-server_linux_amd64-${TS_VERSION}.tar.bz2 | tar xj --strip-components=1", + "container": "alpine:3.10", "entrypoint": "ash" } }, @@ -27,10 +27,19 @@ "name": "Server Version", "description": "The version of Teamspeak 3 to use when running the server.", "env_variable": "TS_VERSION", - "default_value": "3.7.1", + "default_value": "latest", "user_viewable": 1, "user_editable": 1, - "rules": "required|regex:\/^([0-9_\\.-]{5,10})$\/" + "rules": "required|string|max:6" + }, + { + "name": "File Transfer Port", + "description": "The Teamspeak file transfer port", + "env_variable": "FILE_TRANSFER", + "default_value": "30033", + "user_viewable": 1, + "user_editable": 0, + "rules": "required|integer|between:1,65535" } ] } \ No newline at end of file From 2180299d63cfb1df9f404d08fe9943111fc02f5e Mon Sep 17 00:00:00 2001 From: gOOvER Date: Wed, 1 Jan 2020 11:56:08 +0100 Subject: [PATCH 167/413] SCPSL Dedicated Server Egg --- steamcmd_servers/scpsl/README.md | 20 +++++++++++++++ steamcmd_servers/scpsl/egg-scpsl.json | 36 +++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 steamcmd_servers/scpsl/README.md create mode 100644 steamcmd_servers/scpsl/egg-scpsl.json diff --git a/steamcmd_servers/scpsl/README.md b/steamcmd_servers/scpsl/README.md new file mode 100644 index 00000000..65aff1f2 --- /dev/null +++ b/steamcmd_servers/scpsl/README.md @@ -0,0 +1,20 @@ +# SCP: Secret Laboratory +### From their [Github](https://github.com/parkervcp/eggs) +A link to the site that you download game files from. +The description of the server usually provided by the game/server maker. + +### Install notes +Due to rate limiting the console on the panel cannot keep up with the game console and the build will complete before the panel console may show it. Reloading the console will load it to the latest part of the log. + +### Minimum RAM warning +Minimum required memory to run the server: 3096 MB + + +### Server Ports +Ports required to run the server in a table format. + +| Port | default | +|---------|---------| +| Game | 25565 | + +#### Mods/Plugins may require ports to be added to the server. diff --git a/steamcmd_servers/scpsl/egg-scpsl.json b/steamcmd_servers/scpsl/egg-scpsl.json new file mode 100644 index 00000000..7ea23c90 --- /dev/null +++ b/steamcmd_servers/scpsl/egg-scpsl.json @@ -0,0 +1,36 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2020-01-01T11:55:32+01:00", + "name": "SCP:SL", + "author": "info@goover.de", + "description": "Egg for SCP: Secret Laboratory Dedicated Linux Server", + "image": "quay.io\/parkervcp\/pterodactyl-images:debian_mono-5-complete", + "startup": ".\/LocalAdmin {{SERVER_PORT}}", + "config": { + "files": "{\r\n \"config_gameplay.txt\": {\r\n \"parser\": \"yaml\",\r\n \"find\": {\r\n \"server_ip\": \"0.0.0.0\",\r\n \"forward_ports\": \"false\"\r\n }\r\n }\r\n}", + "startup": "{\r\n \"done\": \"Waiting for players\",\r\n \"userInteraction\": []\r\n}", + "logs": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}", + "stop": "^C" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'debian:buster-slim'\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n#echo 'gamedir_for_configs: true' >> \/mnt\/server\/hoster_policy.txt\r\n#chmod +x \/mnt\/server\/hoster_policy.txt\r\n\r\n#URL=$(curl https:\/\/api.github.com\/repos\/Grover-c13\/MultiAdmin\/releases\/latest | grep browser_download_url | cut -d '\"' -f 4)\r\n#wget -P \/mnt\/server\/ $URL\r\n#chmod +x \/mnt\/server\/MultiAdmin.exe\r\n\r\n#SmodVersion=$(curl https:\/\/api.github.com\/repos\/Grover-c13\/Smod2\/releases\/latest | grep tag_name | cut -d '\"' -f 4)\r\n#AssemblyURL=\"https:\/\/github.com\/Grover-c13\/Smod2\/releases\/download\/${SmodVersion}\/Assembly-CSharp.dll\"\r\n#SmodURL=\"https:\/\/github.com\/Grover-c13\/Smod2\/releases\/download\/${SmodVersion}\/Smod2.dll\"\r\n#wget -O \/mnt\/server\/SCPSL_Data\/Managed\/Smod2.dll $SmodURL\r\n#wget -O \/mnt\/server\/SCPSL_Data\/Managed\/Assembly-CSharp.dll $AssemblyURL\r\n#chmod +x \/mnt\/server\/SCPSL_Data\/Managed\/Smod2.dll\r\n#chmod +x \/mnt\/server\/SCPSL_Data\/Managed\/Assembly-CSharp.dll", + "container": "debian:buster-slim", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "SRCDS_APPID", + "description": "", + "env_variable": "SRCDS_APPID", + "default_value": "996560", + "user_viewable": 1, + "user_editable": 0, + "rules": "required|string|max:20" + } + ] +} \ No newline at end of file From d2d35d671643d3d4cd86c63a385f05946d262d5b Mon Sep 17 00:00:00 2001 From: gOOvER Date: Wed, 1 Jan 2020 12:02:04 +0100 Subject: [PATCH 168/413] Update README.md --- steamcmd_servers/scpsl/README.md | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/steamcmd_servers/scpsl/README.md b/steamcmd_servers/scpsl/README.md index 65aff1f2..832a5dd4 100644 --- a/steamcmd_servers/scpsl/README.md +++ b/steamcmd_servers/scpsl/README.md @@ -1,10 +1,8 @@ # SCP: Secret Laboratory -### From their [Github](https://github.com/parkervcp/eggs) -A link to the site that you download game files from. -The description of the server usually provided by the game/server maker. +SCP: Secret Laboratory Dedicated Linux Server AddID: [996560](https://steamdb.info/app/996560/) + +This Server is NOT compatible with ServerMod2 or MultiAdmin -### Install notes -Due to rate limiting the console on the panel cannot keep up with the game console and the build will complete before the panel console may show it. Reloading the console will load it to the latest part of the log. ### Minimum RAM warning Minimum required memory to run the server: 3096 MB @@ -15,6 +13,19 @@ Ports required to run the server in a table format. | Port | default | |---------|---------| -| Game | 25565 | +| Game | 7777 | + +### Verification + +The server must be verified to be visible in the Server Browser. + +Before requesting verification make sure your server follows the Verified Server Rules. + +#### Requesting Verification +Once ready send an email to server.verification@scpslgame.com with the following info: + +* The server's external IPv4 address +* The port used by the server +* If the server IP is static or dynamic #### Mods/Plugins may require ports to be added to the server. From 4701bc4b952cd43a49af8b92d28c4c7678d36848 Mon Sep 17 00:00:00 2001 From: gOOvER Date: Wed, 1 Jan 2020 12:04:22 +0100 Subject: [PATCH 169/413] Update README.md --- steamcmd_servers/scpsl/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/steamcmd_servers/scpsl/README.md b/steamcmd_servers/scpsl/README.md index 832a5dd4..60411e1b 100644 --- a/steamcmd_servers/scpsl/README.md +++ b/steamcmd_servers/scpsl/README.md @@ -19,7 +19,7 @@ Ports required to run the server in a table format. The server must be verified to be visible in the Server Browser. -Before requesting verification make sure your server follows the Verified Server Rules. +Before requesting verification make sure your server follows the [Verified Server Rules](https://scpslgame.com/Verified_server_rules.pdf). #### Requesting Verification Once ready send an email to server.verification@scpslgame.com with the following info: From ae5b0ae8ceba9781c36bb82f32fb13e1dd624d31 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Thu, 2 Jan 2020 00:09:05 -0500 Subject: [PATCH 170/413] update pocketmine egg update link for server.properties. --- minecraft_bedrock/pocketmine_mp/egg-pocketmine-m-p.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/minecraft_bedrock/pocketmine_mp/egg-pocketmine-m-p.json b/minecraft_bedrock/pocketmine_mp/egg-pocketmine-m-p.json index 9989c575..8d752d82 100644 --- a/minecraft_bedrock/pocketmine_mp/egg-pocketmine-m-p.json +++ b/minecraft_bedrock/pocketmine_mp/egg-pocketmine-m-p.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-08-18T09:29:46-04:00", + "exported_at": "2020-01-02T00:07:42-05:00", "name": "PocketmineMP", "author": "info@swisscrafting.ch", "description": "Pocketmine Egg\r\nby onekintaro from swisscrafting.ch\r\nwith the nice help from #eggs Channel on Pterodactyl-Discord :)", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/ash\r\n\r\napk add --no-cache curl\r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"\\n downloading pocketmine MP build ${PMMP_VERSION}\"\r\nif [ -z \"$PMMP_VERSION\" ] || [ \"$PMMP_VERSION\" == \"latest\" ]; then\r\n curl -sSL -o PocketMine-MP.phar https:\/\/jenkins.pmmp.io\/job\/PocketMine-MP\/Stable\/artifact\/PocketMine-MP.phar\r\nelse \r\n curl -sSL -o PocketMine-MP.phar https:\/\/jenkins.pmmp.io\/job\/PocketMine-MP\/${PMMP_VERSION}\/artifact\/PocketMine-MP.phar\r\nfi\r\n\r\necho -e \"\\n downloading latest php7.3 build from pocketmine\"\r\ncurl -sSL -o php.binary.tar.gz https:\/\/jenkins.pmmp.io\/job\/PHP-7.3-Linux-x86_64\/lastSuccessfulBuild\/artifact\/PHP_Linux-x86_64.tar.gz\r\n\r\necho -e \"\\n getting default server.properties\"\r\ncurl -sSL https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/Minecraft%20PE\/PocketmineMP\/server.properties > server.properties\r\necho -e \"\\n unpacking php7 binaries\"\r\ntar -xzvf php.binary.tar.gz\r\necho -e \"\\n removing pvp7 packages\"\r\nrm -rf \/mnt\/server\/php.binary.tar.gz\r\n\r\necho -e \"\\n creating files and folders\"\r\ntouch banned-ips.tx banned-players.txt ops.txt white-list.txt server.log\r\nmkdir -p players worlds plugins resource_packs", + "script": "#!\/bin\/ash\r\n\r\napk add --no-cache curl\r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"\\n downloading pocketmine MP build ${PMMP_VERSION}\"\r\nif [ -z \"$PMMP_VERSION\" ] || [ \"$PMMP_VERSION\" == \"latest\" ]; then\r\n curl -sSL -o PocketMine-MP.phar https:\/\/jenkins.pmmp.io\/job\/PocketMine-MP\/Stable\/artifact\/PocketMine-MP.phar\r\nelse \r\n curl -sSL -o PocketMine-MP.phar https:\/\/jenkins.pmmp.io\/job\/PocketMine-MP\/${PMMP_VERSION}\/artifact\/PocketMine-MP.phar\r\nfi\r\n\r\necho -e \"\\n downloading latest php7.3 build from pocketmine\"\r\ncurl -sSL -o php.binary.tar.gz https:\/\/jenkins.pmmp.io\/job\/PHP-7.3-Linux-x86_64\/lastSuccessfulBuild\/artifact\/PHP_Linux-x86_64.tar.gz\r\n\r\necho -e \"\\n getting default server.properties\"\r\ncurl -sSL https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft_bedrock\/pocketmine_mp\/server.properties > server.properties\r\n\r\necho -e \"\\n unpacking php7 binaries\"\r\ntar -xzvf php.binary.tar.gz\r\n\r\necho -e \"\\n removing pvp7 packages\"\r\nrm -rf \/mnt\/server\/php.binary.tar.gz\r\n\r\necho -e \"\\n creating files and folders\"\r\ntouch banned-ips.tx banned-players.txt ops.txt white-list.txt server.log\r\nmkdir -p players worlds plugins resource_packs", "container": "alpine:3.10", "entrypoint": "ash" } From 403031bddf8dce91821b543126cb6e150a7912fa Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Thu, 2 Jan 2020 15:26:05 -0500 Subject: [PATCH 171/413] add altV resolves #402 --- README.md | 1 + gta/README.md | 5 +++- gta/altv/README.md | 11 +++++++ gta/altv/egg-alt--v.json | 63 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 79 insertions(+), 1 deletion(-) create mode 100644 gta/altv/README.md create mode 100644 gta/altv/egg-alt--v.json diff --git a/README.md b/README.md index 5942be30..e3b4005c 100644 --- a/README.md +++ b/README.md @@ -52,6 +52,7 @@ If you are reading this it looks like you are looking to add an egg to your serv * GTA V * [FiveM](/gta/fivem/) * [RageMP](/gta/ragemp/) + * [alt:V](/gta/altv/) * GTA SA * [Multi Theft Auto](/gta/mtasa/) * [SA-MP](/gta/samp/) diff --git a/gta/README.md b/gta/README.md index 0106aa42..64bdd40e 100644 --- a/gta/README.md +++ b/gta/README.md @@ -5,9 +5,12 @@ [FiveM](https://fivem.net/) FiveM is a modification for Grand Theft Auto V enabling you to play multiplayer on customized dedicated servers. -[Rage MP](https://rage.mp/?) +[Rage MP](https://rage.mp/) RAGE Multiplayer is an multiplayer modification for Grand Theft Auto V that is alternative to GTA Online. +[alt:V](https://altv.mp) +alt:V Multiplayer a third-party multiplayer modification for Grand Theft Auto: V + ## San Andreas [GTA SA:MP](https://www.sa-mp.com/) diff --git a/gta/altv/README.md b/gta/altv/README.md new file mode 100644 index 00000000..dddd7a36 --- /dev/null +++ b/gta/altv/README.md @@ -0,0 +1,11 @@ +# alt:v + +### From the [alt:V](https://altv.mp) Site +alt:V Multiplayer a third-party multiplayer modification for Grand Theft Auto: V. + +### Server Ports +Ports required to run the server in a table format. + +| Port | default | +|---------|---------| +| Game | 7788 | diff --git a/gta/altv/egg-alt--v.json b/gta/altv/egg-alt--v.json new file mode 100644 index 00000000..f1a31b78 --- /dev/null +++ b/gta/altv/egg-alt--v.json @@ -0,0 +1,63 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2020-01-02T15:11:11-05:00", + "name": "alt:V", + "author": "parker@parkervcp.com", + "description": "alt:V Multiplayer a third-party multiplayer modification for Grand Theft Auto: V", + "image": "quay.io\/parkervcp\/pterodactyl-images:base_debian", + "startup": "sleep 2 && .\/altv-server", + "config": { + "files": "{\r\n \"server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"host:\": \"host: 0.0.0.0\",\r\n \"port:\": \"port: {{server.build.default.port}}\",\r\n \"password:\": \"password: {{server.build.env.PASSWORD}}\",\r\n \"description:\": \"description: {{server.build.env.SERVER_DESC}}\"\r\n }\r\n }\r\n}", + "startup": "{\r\n \"done\": \"Server started\"\r\n}", + "logs": "{}", + "stop": "^C" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash\r\n# AltV Install Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# BUILD=stable ## this should be an egg variable.\r\nBASE_URL=\"https:\/\/cdn.altv.mp\/\" ## Where the files are stored.\r\n\r\n## install required dependancies.\r\nfunction install_deps () {\r\n apt update\r\n apt install -y libatomic1 zip unzip jq curl wget\r\n echo -e \"deps installed\"\r\n echo -e\r\n}\r\n\r\n## check the has on files and compare to a remote source.\r\n## usage 'check_hash \"file\" \"remote_hash_source\"'\r\nfunction check_hash () {\r\n echo -e \"Checking for file ${1}\"\r\n echo -e \"running: curl -sSL ${2} | jq -r --arg FILENAME \\\"${3}\\\" '.hashList | .[\\$FILENAME]'\"\r\n hash=$(curl -sSL ${2} | jq -r --arg FILENAME ${3} '.hashList | .[$FILENAME]')\r\n echo -e \"hash: $hash\"\r\n\r\n if [ -f ${2} ]; then\r\n\r\n echo -e \"hash is $(sha1sum ${1} | awk '{ print $1 }')\"\r\n echo -e \"current has is ${hash}\"\r\n\r\n if [ \"$(sha1sum ${2} | awk '{ print $1 }')\" == \"${hash}\" ]; then\r\n echo -e \"Hash matched\"\r\n echo -e \"No need to download new file.\"\r\n return 0\r\n else\r\n echo -e \"Hash didn't match\"\r\n echo -e \"Need to download the correct version\"\r\n return 1\r\n fi\r\n else\r\n echo \"No file found\"\r\n return 1\r\n fi\r\n}\r\n\r\n## makes sure a download link is valid.\r\nfunction validate_download () {\r\n DOWNLOAD_URL=${1}\r\n\r\n echo -e \"Download url is ${DOWNLOAD_URL}\"\r\n\r\n if [ ! -z \"${DOWNLOAD_URL}\" ]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_URL}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n DOWNLOAD_LINK=${DOWNLOAD_URL}\r\n else \r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\n fi\r\n\r\n}\r\n\r\nfunction download_files () {\r\n ## validate download link and get files\r\n validate_download ${1}\r\n echo -e \"running wget ${DOWNLOAD_URL} -O ${2}\"\r\n wget ${DOWNLOAD_URL} -O ${2}\r\n}\r\n\r\n## This is a file array for files to get downloaded.\r\n## They are all comma separated lists.\r\n## remote folder (0), json file with hashes (1), file name in json file (2), file name (3), file folder (4), extra commands (5)\r\nfile_array=( \\\r\n\"server\/${BUILD}\/x64_linux\/\",\"update.json\",\"altv-server\",\"altv-server\",\/mnt\/server\/,execute \\\r\n\"server\/${BUILD}\/x64_linux\/\",\"update.json\",\"data\/vehmodels.bin\",\"vehmodels.bin\",\/mnt\/server\/data\/ \\\r\n\"server\/${BUILD}\/x64_linux\/\",\"update.json\",\"data\/vehmods.bin\",\"vehmods.bin\",\/mnt\/server\/data\/ \\\r\n\"others\/\",,\"server.cfg\",server.cfg,\/mnt\/server\/ \\\r\n\"node-module\/${BUILD}\/x64_linux\/\",\"update.json\",\"libnode.so.72\",\"libnode.so.72\",\/mnt\/server\/ \\\r\n\"node-module\/${BUILD}\/x64_linux\/\",\"update.json\",\"modules\/libnode-module.so\",\"libnode-module.so\",\/mnt\/server\/modules\/ \\\r\n\"coreclr-module\/${BUILD}\/x64_linux\/\",,\"AltV.Net.Host.dll\",\"AltV.Net.Host.dll\",\/mnt\/server\/ \\\r\n\"coreclr-module\/${BUILD}\/x64_linux\/\",,\"AltV.Net.Host.runtimeconfig.json\",\"AltV.Net.Host.runtimeconfig.json\",\/mnt\/server\/ \\\r\n\"coreclr-module\/stable\/x64_linux\/\",\"update.json\",\"modules\/libcsharp-module.so\",\"libcsharp-module.so\",\/mnt\/server\/modules\/ \\\r\n\"samples\/\",,\"resources.zip\",\"resources.zip\",\/mnt\/server\/,unzip \\\r\n)\r\n\r\ninstall_deps\r\n\r\n## this goes through each value in the array and then checks the hash\r\nfor EACH in ${file_array[@]}\r\ndo\r\n ## this needs to be here to break apart the arrays.\r\n IFS=',' read -r -a array <<< \"$EACH\"\r\n\r\n if [ ! -z \"${array[1]}\" ]; then\r\n ## check hash on 'folder\/file' with 'remote file base url\/remote folder\/ json file' 'json file name' \r\n if check_hash \"${array[4]}${array[3]}\" \"${BASE_URL}${array[0]}${array[1]}\" \"${array[2]}\"; then\r\n echo -e \"file up to date\"\r\n else\r\n echo -e \"downloading most recent file\"\r\n fi\r\n ## make the directory if it doesn't exist.\r\n if [ ! -d ${array[4]} ]; then\r\n mkdir ${array[4]}\r\n fi\r\n download_files \"${BASE_URL}${array[0]}${array[2]}\" \"${array[4]}${array[3]}\"\r\n else\r\n ## make the directory if it doesn't exist.\r\n if [ ! -d ${array[4]} ]; then\r\n mkdir ${array[4]}\r\n fi\r\n download_files \"${BASE_URL}${array[0]}${array[2]}\" \"${array[4]}${array[3]}\"\r\n fi\r\n\r\n ## run extra commands if needed.\r\n case ${array[5]} in\r\n unzip)\r\n cd ${array[4]}\r\n unzip -o ${array[3]}\r\n rm ${array[3]}\r\n ;;\r\n execute)\r\n chmod +x ${array[4]}${array[3]}\r\n ;;\r\n esac\r\n\r\n# echo -e \"HashFile: ${BASE_URL}${array[0]}${array[1]}\"\r\n# echo -e \"Download URL ${BASE_URL}${array[0]}${array[2]}\"\r\n# echo -e \"Filename ${array[3]}\"\r\n# echo -e \"File Folder ${array[4]}\"\r\n# echo -e \"commands to run ${array[5]}\"\r\n# echo -e\r\ndone\r\n\r\necho -e \"install complete\"", + "container": "debian:buster-slim", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "ld lib path", + "description": "Needed to load modules correctly.", + "env_variable": "LD_LIBRARY_PATH", + "default_value": ".", + "user_viewable": 0, + "user_editable": 0, + "rules": "required|string|max:20" + }, + { + "name": "Which alt:V build to download", + "description": "The supported versions are alpha, beta, stable (default).\r\n\r\nIf you don't know what you are doing leave it on stable", + "env_variable": "BUILD", + "default_value": "stable", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:20" + }, + { + "name": "Server Password", + "description": "The password to join the server", + "env_variable": "PASSWORD", + "default_value": "ChangeMe", + "user_viewable": 1, + "user_editable": 1, + "rules": "nullable|string|min:6" + }, + { + "name": "Server Description", + "description": "Description for the server.", + "env_variable": "SERVER_DESC", + "default_value": "A Pterodactyl Hosted Server", + "user_viewable": 1, + "user_editable": 1, + "rules": "nullable|string" + } + ] +} \ No newline at end of file From d25ab80f3f488bda6acad9ca11e53cc9428361d9 Mon Sep 17 00:00:00 2001 From: gOOvER Date: Mon, 6 Jan 2020 09:37:15 +0100 Subject: [PATCH 172/413] Updated Readme --- README.md | 5 +++-- steamcmd_servers/README.md | 3 +++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 5942be30..4a444e52 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ If you are submitting PR's try and keep names and titles the same. 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. 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 @@ -26,7 +26,7 @@ If you are reading this it looks like you are looking to add an egg to your serv ## Bot Eggs -[Discord](/bots/discord/) +[Discord](/bots/discord/) * [ATL Bot](/bots/discord/atlbot/) Node JS * [Bastion](/bots/discord/bastion/) * [discord.js](bots/discord/discord.js/) Node JS generic @@ -94,6 +94,7 @@ If you are reading this it looks like you are looking to add an egg to your serv * [Onset](/steamcmd_servers/onset) * [PixARK](/steamcmd_servers/pixark/) * [Rust Staging Branch](/steamcmd_servers/rust_staging/) +* [SCP: Secret Laboratory](/steamcmd_servers/scpsl/) * [Starbound](/steamcmd_servers/starbound) * [Sven Co-op](/steamcmd_servers/svencoop) * [Squad](/steamcmd_servers/squad/) diff --git a/steamcmd_servers/README.md b/steamcmd_servers/README.md index 0d3285d9..3ca7e76d 100644 --- a/steamcmd_servers/README.md +++ b/steamcmd_servers/README.md @@ -34,6 +34,9 @@ This is a collection of servers that use steamcmd to install. ## Rust Staging [rust staging](rust_staging/) +## SCP: Secret Laboratory +[SCP: Secret Laboratory](/scpsl/) + ## Squad [squad](squad/) From ef8de3b766a748879da427dc5c004b6f78a9f863 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sat, 18 Jan 2020 18:15:07 -0500 Subject: [PATCH 173/413] update unturned This is a new unturned egg that uses a generic image to run the server. It still uses the rocketmod files for the workable console but also doesn't need mono to run. --- README.md | 5 +- steamcmd_servers/README.md | 7 +++ steamcmd_servers/unturned/rocketmod/README.md | 4 +- .../unturned/unturned}/README.md | 7 +-- .../unturned/unturned/egg-unturned.json | 63 +++++++++++++++++++ unturned/rocketmod/egg-rocketmod.json | 54 ---------------- 6 files changed, 78 insertions(+), 62 deletions(-) rename {unturned/rocketmod => steamcmd_servers/unturned/unturned}/README.md (84%) create mode 100644 steamcmd_servers/unturned/unturned/egg-unturned.json delete mode 100644 unturned/rocketmod/egg-rocketmod.json diff --git a/README.md b/README.md index e3b4005c..ffa46401 100644 --- a/README.md +++ b/README.md @@ -98,11 +98,10 @@ If you are reading this it looks like you are looking to add an egg to your serv * [Starbound](/steamcmd_servers/starbound) * [Sven Co-op](/steamcmd_servers/svencoop) * [Squad](/steamcmd_servers/squad/) +* [Tower Unite](/unreal_engine/tower_unite/) * [Unturned](/unturned/) * [RocketMod](/unturned/rocketmod/) - -[Unreal Engine](/unreal_engine) -* [Tower Unite](/unreal_engine/tower_unite/) + * [Unturned](/unturned/unturned/) [Terraria](/terraria/) * [tmodloader](/terraria/tmodloader) diff --git a/steamcmd_servers/README.md b/steamcmd_servers/README.md index 0d3285d9..4c500d3d 100644 --- a/steamcmd_servers/README.md +++ b/steamcmd_servers/README.md @@ -42,3 +42,10 @@ This is a collection of servers that use steamcmd to install. ## Sven coop [svencoop](svencoop) + +## Tower Unite +[Tower Unite](tower_unite) + +## Unturned + * [RocketMod](rocketmod) + * [Unturned](unturned) \ No newline at end of file diff --git a/steamcmd_servers/unturned/rocketmod/README.md b/steamcmd_servers/unturned/rocketmod/README.md index b4386da3..d2ad1551 100644 --- a/steamcmd_servers/unturned/rocketmod/README.md +++ b/steamcmd_servers/unturned/rocketmod/README.md @@ -1,4 +1,4 @@ -# Unturned +# Unturned - RocketMod Steam Description You're one of the few not yet turned zombie. Keeping it that way will be a challenge. @@ -6,6 +6,8 @@ You're one of the few not yet turned zombie. Keeping it that way will be a chall - Take a subtle approach sneaking around and making use of distractions. - Confront and learn to counter special abilities ranging from invisibility to fire breathing to lightning attacks. +Unturned 3 implementation of the RocketMod — .NET Game Server Plugin Framework + ### Server Ports Rocketmod requires 2 ports to run properly. game port (default 8907) diff --git a/unturned/rocketmod/README.md b/steamcmd_servers/unturned/unturned/README.md similarity index 84% rename from unturned/rocketmod/README.md rename to steamcmd_servers/unturned/unturned/README.md index b4386da3..209522f2 100644 --- a/unturned/rocketmod/README.md +++ b/steamcmd_servers/unturned/unturned/README.md @@ -8,10 +8,9 @@ You're one of the few not yet turned zombie. Keeping it that way will be a chall ### Server Ports Rocketmod requires 2 ports to run properly. -game port (default 8907) -game +1 (default 8908) | Port | default | |---------|---------| -| Game | 8907 | -| Game +1 | 8908 | \ No newline at end of file +| Game | 27015 | +| Game +1 | 27016 | +| Game +2 | 27017 | \ No newline at end of file diff --git a/steamcmd_servers/unturned/unturned/egg-unturned.json b/steamcmd_servers/unturned/unturned/egg-unturned.json new file mode 100644 index 00000000..ca38ecfc --- /dev/null +++ b/steamcmd_servers/unturned/unturned/egg-unturned.json @@ -0,0 +1,63 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2020-01-18T18:06:35-05:00", + "name": "Unturned", + "author": "parker@parkervcp.com", + "description": "The RocketMod server mod for Unturned.", + "image": "quay.io\/parkervcp\/pterodactyl-images:base_debian", + "startup": "wget https:\/\/github.com\/RocketMod\/Rocket.Unturned\/releases\/download\/4.9.3.0\/Rocket.Unturned.zip && unzip -o Rocket.Unturned.zip && .\/Unturned_Headless.x86_64 -batchmode -nographics -bind 0.0.0.0 -port {{SERVER_PORT}}", + "config": { + "files": "{}", + "startup": "{\r\n \"done\": \"Loading level: 100%\",\r\n \"userInteraction\": []\r\n}", + "logs": "{\r\n \"custom\": true,\r\n \"location\": \"latest.log\"\r\n}", + "stop": "shutdown" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'debian:buster-slim'\r\n\r\nDEBIAN_FRONTEND=noninteractive\r\n\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so \/mnt\/server\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so \/mnt\/server\/.steam\/sdk64\/steamclient.so\r\n\r\n## Specific to Unturned\r\ncp -v linux64\/steamclient.so \/mnt\/server\/Unturned_Headless_Data\/Plugins\/x86_64\/steamclient.so", + "container": "debian:buster-slim", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "Steam App ID", + "description": "Steam App ID require for install and startup update", + "env_variable": "SRCDS_APPID", + "default_value": "1110390", + "user_viewable": 0, + "user_editable": 0, + "rules": "required|string|max:20" + }, + { + "name": "ld lib path", + "description": "This is needed to load specific libraries", + "env_variable": "LD_LIBRARY_PATH", + "default_value": ".\/Unturned_Headless_Data\/Plugins\/x86_64\/", + "user_viewable": 0, + "user_editable": 0, + "rules": "required|string" + }, + { + "name": "Steam User", + "description": "Should be left blank for anon user", + "env_variable": "STEAM_USER", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "nullable|string" + }, + { + "name": "Steam Password", + "description": "", + "env_variable": "STEAM_PASS", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "nullable|string" + } + ] +} \ No newline at end of file diff --git a/unturned/rocketmod/egg-rocketmod.json b/unturned/rocketmod/egg-rocketmod.json deleted file mode 100644 index acaf657f..00000000 --- a/unturned/rocketmod/egg-rocketmod.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", - "meta": { - "version": "PTDL_v1" - }, - "exported_at": "2018-04-27T21:30:05+00:00", - "name": "RocketMod", - "author": "isaac@isaacs.site", - "description": "The RocketMod server mod for Unturned.", - "image": "registry.gitlab.com\/tenten8401\/pterodactyl-unturned", - "startup": "mono RocketLauncher.exe unturned", - "config": { - "files": "{\r\n \"Servers\/unturned\/Server\/Commands.dat\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"Port\": \"Port {{server.build.default.port}}\"\r\n }\r\n}\r\n}", - "startup": "{\r\n \"done\": \"Loading level: 100%\",\r\n \"userInteraction\": []\r\n}", - "logs": "{\r\n \"custom\": true,\r\n \"location\": \"latest.log\"\r\n}", - "stop": "shutdown" - }, - "scripts": { - "installation": { - "script": "apt 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\/steam\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steam\r\ncd \/mnt\/server\/steam\r\n\r\nchown -R root:root \/mnt\r\n\r\nexport HOME=\/mnt\/server\r\n.\/steamcmd.sh +@sSteamCmdForcePlatformBitness 32 +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update 304930 +quit\r\n\r\nmkdir -p \/mnt\/server\/Servers\/unturned\/Server\r\necho \"Port 27015\" > \/mnt\/server\/Servers\/unturned\/Server\/Commands.dat\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": "Steam User", - "description": "A Steam username with Unturned on the account.", - "env_variable": "STEAM_USER", - "default_value": "anonymous", - "user_viewable": 0, - "user_editable": 0, - "rules": "required|string" - }, - { - "name": "Steam Password", - "description": "Steam User Password", - "env_variable": "STEAM_PASS", - "default_value": "", - "user_viewable": 0, - "user_editable": 0, - "rules": "nullable|string" - }, - { - "name": "Steam Auth Code", - "description": "Steam Auth Code only when you're using Steam Auth", - "env_variable": "STEAM_AUTH", - "default_value": "", - "user_viewable": 0, - "user_editable": 0, - "rules": "nullable|string" - } - ] -} \ No newline at end of file From bf630af9be7cc612780a406ffb886c3d4838ef65 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sun, 19 Jan 2020 11:12:35 -0500 Subject: [PATCH 174/413] update pixelbot image Updating to use the updated python image. --- bots/discord/pixelbot/egg-pixel-bot.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bots/discord/pixelbot/egg-pixel-bot.json b/bots/discord/pixelbot/egg-pixel-bot.json index d149e036..5949b3b1 100644 --- a/bots/discord/pixelbot/egg-pixel-bot.json +++ b/bots/discord/pixelbot/egg-pixel-bot.json @@ -3,11 +3,11 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2018-03-27T08:57:41-04:00", + "exported_at": "2020-01-19T11:11:24-05:00", "name": "pixel-bot", "author": "parker@parkervcp.com", "description": "A Discord bot written in Python using discord.py\r\n\r\nhttps:\/\/github.com\/Ispira\/pixel-bot", - "image": "quay.io\/parkervcp\/pterodactyl-images:python3", + "image": "quay.io\/parkervcp\/pterodactyl-images:alpine_python-3", "startup": "python bot.py", "config": { "files": "{\r\n \"config\/config.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"owner\": \"{{server.build.env.OWNER_UID}}\",\r\n \"token\": \"{{server.build.env.BOT_TOKEN}}\",\r\n \"bot_name\": \"{{server.build.env.BOT_NAME}}\",\r\n \"log_file\": \"latest.log\"\r\n }\r\n },\r\n \"plugins\/settings\/imgur.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"client_id\": \"{{server.build.env.IMGUR_KEY}}\",\r\n \"client_secret\": \"{{server.build.env.IMGUR_SECRET}}\"\r\n }\r\n }\r\n}", From b948d2f18de64eaa3759ca1dcda4b1ff3b7e7348 Mon Sep 17 00:00:00 2001 From: "Michael (Parker) Parker" Date: Fri, 24 Jan 2020 09:01:45 -0500 Subject: [PATCH 175/413] change pocketmine image --- minecraft_bedrock/pocketmine_mp/egg-pocketmine-m-p.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/minecraft_bedrock/pocketmine_mp/egg-pocketmine-m-p.json b/minecraft_bedrock/pocketmine_mp/egg-pocketmine-m-p.json index 8d752d82..8f0f3877 100644 --- a/minecraft_bedrock/pocketmine_mp/egg-pocketmine-m-p.json +++ b/minecraft_bedrock/pocketmine_mp/egg-pocketmine-m-p.json @@ -3,11 +3,11 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-01-02T00:07:42-05:00", + "exported_at": "2020-01-24T08:59:24-05:00", "name": "PocketmineMP", "author": "info@swisscrafting.ch", "description": "Pocketmine Egg\r\nby onekintaro from swisscrafting.ch\r\nwith the nice help from #eggs Channel on Pterodactyl-Discord :)", - "image": "quay.io\/parkervcp\/pterodactyl-images:ubuntu", + "image": "quay.io\/parkervcp\/pterodactyl-images:base_ubuntu", "startup": ".\/bin\/php7\/bin\/php .\/PocketMine-MP.phar --no-wizard --disable-ansi", "config": { "files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-ip\": \"0.0.0.0\",\r\n \"enable-query\": \"true\",\r\n \"server-port\": \"{{server.build.default.port}}\",\r\n \"query.port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}", From c9d46bd966332ade1ad0175040902cbac4c25e87 Mon Sep 17 00:00:00 2001 From: gOOvER Date: Wed, 29 Jan 2020 19:50:01 +0100 Subject: [PATCH 176/413] Fixed Server Started Message --- steamcmd_servers/scpsl/egg-scpsl.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/steamcmd_servers/scpsl/egg-scpsl.json b/steamcmd_servers/scpsl/egg-scpsl.json index 7ea23c90..73ee4e68 100644 --- a/steamcmd_servers/scpsl/egg-scpsl.json +++ b/steamcmd_servers/scpsl/egg-scpsl.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-01-01T11:55:32+01:00", + "exported_at": "2020-01-29T19:49:19+01:00", "name": "SCP:SL", "author": "info@goover.de", "description": "Egg for SCP: Secret Laboratory Dedicated Linux Server", @@ -11,7 +11,7 @@ "startup": ".\/LocalAdmin {{SERVER_PORT}}", "config": { "files": "{\r\n \"config_gameplay.txt\": {\r\n \"parser\": \"yaml\",\r\n \"find\": {\r\n \"server_ip\": \"0.0.0.0\",\r\n \"forward_ports\": \"false\"\r\n }\r\n }\r\n}", - "startup": "{\r\n \"done\": \"Waiting for players\",\r\n \"userInteraction\": []\r\n}", + "startup": "{\r\n \"done\": \"Nickname of is now \",\r\n \"userInteraction\": []\r\n}", "logs": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}", "stop": "^C" }, From d4cd86e01684c0e9f47658be8c07e6244b03f6b6 Mon Sep 17 00:00:00 2001 From: gOOvER Date: Wed, 29 Jan 2020 19:54:52 +0100 Subject: [PATCH 177/413] reverted last Fix. No chnage in Server --- steamcmd_servers/scpsl/egg-scpsl.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/steamcmd_servers/scpsl/egg-scpsl.json b/steamcmd_servers/scpsl/egg-scpsl.json index 73ee4e68..fff58d92 100644 --- a/steamcmd_servers/scpsl/egg-scpsl.json +++ b/steamcmd_servers/scpsl/egg-scpsl.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-01-29T19:49:19+01:00", + "exported_at": "2020-01-29T19:54:33+01:00", "name": "SCP:SL", "author": "info@goover.de", "description": "Egg for SCP: Secret Laboratory Dedicated Linux Server", @@ -11,7 +11,7 @@ "startup": ".\/LocalAdmin {{SERVER_PORT}}", "config": { "files": "{\r\n \"config_gameplay.txt\": {\r\n \"parser\": \"yaml\",\r\n \"find\": {\r\n \"server_ip\": \"0.0.0.0\",\r\n \"forward_ports\": \"false\"\r\n }\r\n }\r\n}", - "startup": "{\r\n \"done\": \"Nickname of is now \",\r\n \"userInteraction\": []\r\n}", + "startup": "{\r\n \"done\": \"Waiting for players..\",\r\n \"userInteraction\": []\r\n}", "logs": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}", "stop": "^C" }, From e38bc2aeed341fba299ed9361dd599a3f3e09cfe Mon Sep 17 00:00:00 2001 From: gOOvER Date: Thu, 30 Jan 2020 15:44:18 +0100 Subject: [PATCH 178/413] Renamed folder, because its also possible to use gamefiles as Server --- steamcmd_servers/{scpsl => scpsl-dedicated}/README.md | 0 steamcmd_servers/{scpsl => scpsl-dedicated}/egg-scpsl.json | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename steamcmd_servers/{scpsl => scpsl-dedicated}/README.md (100%) rename steamcmd_servers/{scpsl => scpsl-dedicated}/egg-scpsl.json (100%) diff --git a/steamcmd_servers/scpsl/README.md b/steamcmd_servers/scpsl-dedicated/README.md similarity index 100% rename from steamcmd_servers/scpsl/README.md rename to steamcmd_servers/scpsl-dedicated/README.md diff --git a/steamcmd_servers/scpsl/egg-scpsl.json b/steamcmd_servers/scpsl-dedicated/egg-scpsl.json similarity index 100% rename from steamcmd_servers/scpsl/egg-scpsl.json rename to steamcmd_servers/scpsl-dedicated/egg-scpsl.json From ed82d0f497732012ba80e6eaf44b0087a1134116 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Thu, 30 Jan 2020 20:48:28 -0500 Subject: [PATCH 179/413] update openttd Update install script to use wget instead of curl. Remove server password variable. Remove admin password variable. resolves #419 --- .../openttd/egg-open-t-t-d-server.json | 26 +++---------------- 1 file changed, 4 insertions(+), 22 deletions(-) diff --git a/tycoon_games/openttd/egg-open-t-t-d-server.json b/tycoon_games/openttd/egg-open-t-t-d-server.json index 834d51c7..89b5bb1b 100644 --- a/tycoon_games/openttd/egg-open-t-t-d-server.json +++ b/tycoon_games/openttd/egg-open-t-t-d-server.json @@ -3,22 +3,22 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-04-09T22:59:20-04:00", + "exported_at": "2020-01-30T20:47:45-05:00", "name": "OpenTTD Server", "author": "admin@justmyrandomstuff.com", "description": "OpenTTD is an open source simulation game based upon the popular Microprose game \"Transport Tycoon Deluxe\", written by Chris Sawyer. It attempts to mimic the original game as closely as possible while extending it with new features.\r\n\r\nOpenTTD is modelled after the original Transport Tycoon game by Chris Sawyer and enhances the game experience dramatically. Many features were inspired by TTDPatch while others are original.", "image": "quay.io\/parkervcp\/pterodactyl-images:base_ubuntu", "startup": ".\/openttd -D", "config": { - "files": "{\r\n \"openttd.cfg\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"network.server_port\": \"{{server.build.default.port}}\",\r\n \"network.server_name\": \"{{server.build.env.srv_name}}\",\r\n \"network.server_password\": \"{{server.build.env.srv_pass}}\",\r\n \"network.lan_internet\": 0,\r\n \"network.server_advertise\": \"{{server.build.env.srv_advertise}}\",\r\n \"network.admin_password\": \"{{server.build.env.srv_adminpass}}\"\r\n }\r\n }\r\n}", + "files": "{\r\n \"openttd.cfg\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"network.server_port\": \"{{server.build.default.port}}\",\r\n \"network.server_name\": \"{{server.build.env.srv_name}}\",\r\n \"network.lan_internet\": 0,\r\n \"network.server_advertise\": \"{{server.build.env.srv_advertise}}\"\r\n }\r\n }\r\n}", "startup": "{\r\n \"done\": \"[net] Map generated, starting game\",\r\n \"userInteraction\": []\r\n}", "logs": "{\r\n \"custom\": false,\r\n \"location\": \"latest.log\"\r\n}", "stop": "exit" }, "scripts": { "installation": { - "script": "#!\/bin\/ash\r\n\r\napk add --no-cache curl binutils xz\r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"getting file from: https:\/\/proxy.binaries.openttd.org\/openttd-releases\/${OPENTTD_VERSION}\/openttd-${OPENTTD_VERSION}-linux-ubuntu-bionic-amd64.deb\"\r\n\r\ncurl -LSs https:\/\/proxy.binaries.openttd.org\/openttd-releases\/${OPENTTD_VERSION}\/openttd-${OPENTTD_VERSION}-linux-ubuntu-bionic-amd64.deb -o openttd.deb\r\n\r\nar -x openttd.deb\r\n\r\ntar -xvf data.tar.xz\r\n\r\nmv usr\/share\/games\/openttd\/* .\/\r\n\r\nmv usr\/games\/openttd .\/\r\n\r\nchmod +x openttd\r\n\r\ncurl -LSs https:\/\/binaries.openttd.org\/extra\/opengfx\/${OPENGFX_VERSION}\/opengfx-${OPENGFX_VERSION}-all.zip -o opengfx.zip\r\n\r\nunzip opengfx.zip \r\n\r\ntar --strip-components=1 -C baseset\/ -xvf opengfx*.tar\r\n\r\nrm open*zip open*tar open*gz debian-binary open*deb\r\n\r\n[ -f \/home\/container\/openttd.cfg ] || curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/openttd\/openttd\/openttd.cfg > openttd.cfg", - "container": "alpine:3.9", + "script": "#!\/bin\/ash\r\n\r\napk add --no-cache wget binutils xz\r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"getting file from: https:\/\/proxy.binaries.openttd.org\/openttd-releases\/${OPENTTD_VERSION}\/openttd-${OPENTTD_VERSION}-linux-ubuntu-bionic-amd64.deb\"\r\n\r\nwget https:\/\/proxy.binaries.openttd.org\/openttd-releases\/${OPENTTD_VERSION}\/openttd-${OPENTTD_VERSION}-linux-ubuntu-bionic-amd64.deb -O openttd.deb\r\n\r\nar -x openttd.deb\r\n\r\ntar -xvf data.tar.xz\r\n\r\nmv usr\/share\/games\/openttd\/* .\/\r\n\r\nmv usr\/games\/openttd .\/\r\n\r\nchmod +x openttd\r\n\r\nwget https:\/\/binaries.openttd.org\/extra\/opengfx\/${OPENGFX_VERSION}\/opengfx-${OPENGFX_VERSION}-all.zip -O opengfx.zip\r\n\r\nunzip opengfx.zip \r\n\r\ntar --strip-components=1 -C baseset\/ -xvf opengfx*.tar\r\n\r\nrm open*zip open*tar open*gz debian-binary open*deb\r\n\r\n[ -f \/home\/container\/openttd.cfg ] || curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/tycoon_games\/openttd\/openttd.cfg > openttd.cfg", + "container": "alpine:3.10", "entrypoint": "ash" } }, @@ -32,15 +32,6 @@ "user_editable": 1, "rules": "required|string|max:20" }, - { - "name": "Server Password", - "description": "The password required to join the server", - "env_variable": "srv_pass", - "default_value": "", - "user_viewable": 1, - "user_editable": 1, - "rules": "nullable|string|max:20" - }, { "name": "Show in masterlist?", "description": "Show the server in the serverlist on the client, true or false", @@ -50,15 +41,6 @@ "user_editable": 1, "rules": "required|string|max:5" }, - { - "name": "Admin Password", - "description": "Password to access admin controls in-game", - "env_variable": "srv_adminpass", - "default_value": "", - "user_viewable": 1, - "user_editable": 1, - "rules": "required|string|max:20" - }, { "name": "OpenTTD Version", "description": "The version of OpenTTD i.e. 1.9.1", From 3fa05227d2663f5f7e1b9978ec5b908c2f38d57b Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sat, 1 Feb 2020 08:00:48 -0500 Subject: [PATCH 180/413] add/RedM support resolved #379 --- rdr/README.md | 6 ++++ rdr/redm/README.md | 16 +++++++++ rdr/redm/egg-red-m.json | 72 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 94 insertions(+) create mode 100644 rdr/README.md create mode 100644 rdr/redm/README.md create mode 100644 rdr/redm/egg-red-m.json diff --git a/rdr/README.md b/rdr/README.md new file mode 100644 index 00000000..abade62b --- /dev/null +++ b/rdr/README.md @@ -0,0 +1,6 @@ +# Read Dead Redemption + +## RedM + +[RedM](https://redm.gg/) +RedM, for Red Dead Redemption 2 on PC. Launching now, based on the CitizenFX framework and Cfx.re technology. \ No newline at end of file diff --git a/rdr/redm/README.md b/rdr/redm/README.md new file mode 100644 index 00000000..469e3f07 --- /dev/null +++ b/rdr/redm/README.md @@ -0,0 +1,16 @@ +# Red M + +### From the [RedM](https://redm.gg/) Site +RedM, for Red Dead Redemption 2 on PC. Launching now, based on the CitizenFX framework and Cfx.re technology. + +### Install notes +- Only installs latest version versions are not selectable. + +### Server Ports +Ports required to run the server in a table format. + +| Port | default | +|---------|---------| +| Game | 30120 | +| ServerListing | 30110 | +| cfx join links | 30130 | \ No newline at end of file diff --git a/rdr/redm/egg-red-m.json b/rdr/redm/egg-red-m.json new file mode 100644 index 00000000..f61bec80 --- /dev/null +++ b/rdr/redm/egg-red-m.json @@ -0,0 +1,72 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2020-02-01T08:00:01-05:00", + "name": "RedM", + "author": "parker@parkervcp.com", + "description": "A new RedM egg for the latest builds due to recent changes in RedM", + "image": "quay.io\/parkervcp\/pterodactyl-images:base_alpine", + "startup": "$(pwd)\/alpine\/opt\/cfx-server\/ld-musl-x86_64.so.1 --library-path \"$(pwd)\/alpine\/usr\/lib\/v8\/:$(pwd)\/alpine\/lib\/:$(pwd)\/alpine\/usr\/lib\/\" -- $(pwd)\/alpine\/opt\/cfx-server\/FXServer +set citizen_dir $(pwd)\/alpine\/opt\/cfx-server\/citizen\/ +set sv_licenseKey {{CFX_LICENSE}} +set sv_maxplayers {{MAX_PLAYERS}} +exec server.cfg gamename rdr3", + "config": { + "files": "{\r\n \"server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"endpoint_add_tcp\": \"endpoint_add_tcp \\\"0.0.0.0:{{server.build.default.port}}\\\"\",\r\n \"endpoint_add_udp\": \"endpoint_add_udp \\\"0.0.0.0:{{server.build.default.port}}\\\"\",\r\n \"sv_hostname\": \"sv_hostname \\\"{{server.build.env.SERVER_HOSTNAME}}\\\"\",\r\n \"sv_maxclients\": \"sv_maxclients {{server.build.env.MAX_PLAYERS}}\"\r\n }\r\n }\r\n}", + "startup": "{\r\n \"done\": \"succeeded. Welcome!\"\r\n}", + "logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/latest.log\"\r\n}", + "stop": "^C" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/ash\r\n# CFx Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk add openssl tar xz curl wget git file --no-cache\r\n\r\nmkdir -p \/mnt\/server\/resources \/mnt\/server\/logs\/\r\n\r\ncd \/mnt\/server\r\n\r\necho \"updating citizenfx resource files\"\r\ngit clone https:\/\/github.com\/citizenfx\/cfx-server-data.git \/tmp\r\ncp -Rf \/tmp\/resources\/* resources\/ \r\n\r\nRELEASE_PAGE=$(curl -sSL https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/)\r\n\r\nif [ \"${CFX_VERSION}\" == \"latest\" ] || [ -z ${CFX_VERSION} ] ; then\r\n LATEST_RECOMMENDED=$(echo -e \"${RELEASE_PAGE}\" | grep \"LATEST RECOMMENDED\" -B1 | grep -Eo 'href=\".*\/*.tar.xz\"' | grep -Eo '\".*\"' | sed 's\/\\\"\/\/g' | sed 's\/\\.\\\/\/\/1')\r\n DOWNLOAD_LINK=$(echo https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/${LATEST_RECOMMENDED})\r\nelse\r\n VERSION_LINK=$(echo -e \"${RELEASE_PAGE}\" | grep -Eo 'href=\".*\/*.tar.xz\"' | grep -Eo '\".*\"' | sed 's\/\\\"\/\/g' | sed 's\/\\.\\\/\/\/1' | grep ${CFX_VERSION})\r\n if [ \"${VERSION_LINK}\" == \"\" ]; then\r\n echo -e \"defaulting to latest as the version requested was invalid.\"\r\n else\r\n DOWNLOAD_LINK=$(echo https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/${VERSION_LINK})\r\n fi\r\nfi\r\n\r\nif [ ! -z \"${DOWNLOAD_URL}\"]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_URL}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n DOWNLOAD_LINK=${DOWNLOAD_URL}\r\n else\r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\necho -e \"Running curl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\"\r\n\r\ncurl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\r\n\r\necho \"Extracting fivem files\"\r\n\r\nFILETYPE=$(file -F ',' ${DOWNLOAD_LINK##*\/} | cut -d',' -f2 | cut -d' ' -f2)\r\nif [ \"$FILETYPE\" == \"gzip\" ]; then\r\n tar xzvf ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"Zip\" ]; then\r\n unzip ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"XZ\" ]; then\r\n tar xvf ${DOWNLOAD_LINK##*\/}\r\nelse\r\n echo -e \"unknown filetype. Exeting\"\r\n exit 2 \r\nfi\r\n\r\nrm -rf ${DOWNLOAD_LINK##*\/} run.sh\r\n\r\nif [ -e server.cfg ]; then\r\n echo \"server config file exists\"\r\nelse\r\n echo \"Downloading default fivem config\"\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/gta\/fivem\/server.cfg >> server.cfg\r\nfi\r\n\r\necho \"install complete\"", + "container": "alpine:3.10", + "entrypoint": "ash" + } + }, + "variables": [ + { + "name": "fivem license", + "description": "Required to start the service. Get your keys at https:\/\/keymaster.fivem.net\/", + "env_variable": "CFX_LICENSE", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string" + }, + { + "name": "Max Players", + "description": "Set the fivem max play count", + "env_variable": "MAX_PLAYERS", + "default_value": "32", + "user_viewable": 1, + "user_editable": 0, + "rules": "required|integer|between:1,32" + }, + { + "name": "Server Hostname", + "description": "The name that shows up in the server browser", + "env_variable": "SERVER_HOSTNAME", + "default_value": "My new FXServer!", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string" + }, + { + "name": "fivem version", + "description": "The fivem version that is to be installed.\r\n\r\nan example is `1383-e5ea040353ce1b8bc86e37982bf5d888938e3096`\r\n\r\nYou can the latest version from here - https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/", + "env_variable": "CFX_VERSION", + "default_value": "latest", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:50" + }, + { + "name": "Download Link", + "description": "This is the link to download fivem from. This is only used in the install script.\r\n\r\nThe file you link to needs to be an fx.tar.zx file.\r\n\r\nExample:\r\nhttps:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/1626-8c06e8bc3ed7e6690c6c2d9e0b90e29df65b3ea6\/fx.tar.xz", + "env_variable": "DOWNLOAD_URL", + "default_value": "", + "user_viewable": 0, + "user_editable": 0, + "rules": "string|nullable" + } + ] +} \ No newline at end of file From 10c81977b6322f4d68fb4a7a4e9900a9edf8beff Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sat, 1 Feb 2020 08:03:20 -0500 Subject: [PATCH 181/413] update main readme --- README.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e3b4005c..c5fda26b 100644 --- a/README.md +++ b/README.md @@ -78,8 +78,8 @@ If you are reading this it looks like you are looking to add an egg to your serv * [TyphoonLimbo](/minecraft_proxy/typhoonlimbo/) * [Velocity](/minecraft_proxy/velocity/) -[Tycoon Games](/tycoon_games/) -* [OpenTTD](/tycoon_games/openttd/) +[Red Dead Redemption](/rdr/) +* [RedM](/rdr/redm/) [steamcmd servers](/steamcmd_servers/) These eggs use steamcmd to install * [7 Days to Die](/steamcmd_servers/7_days_to_die/) @@ -101,6 +101,9 @@ If you are reading this it looks like you are looking to add an egg to your serv * [Unturned](/unturned/) * [RocketMod](/unturned/rocketmod/) +[Tycoon Games](/tycoon_games/) +* [OpenTTD](/tycoon_games/openttd/) + [Unreal Engine](/unreal_engine) * [Tower Unite](/unreal_engine/tower_unite/) From 1c92b6f11fbdd4dd3591a343a627a93edcbe65ea Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sat, 1 Feb 2020 21:37:44 -0500 Subject: [PATCH 182/413] update discordjs egg --- .../discord.js/egg-discord-js-generic.json | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/bots/discord/discord.js/egg-discord-js-generic.json b/bots/discord/discord.js/egg-discord-js-generic.json index 9ea8f656..6d16fcf6 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-16T11:06:52-04:00", + "exported_at": "2020-02-01T21:36:43-05: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`", + "image": "quay.io\/parkervcp\/pterodactyl-images:debian_nodejs-10", + "startup": "if [[ -d .git ]] && [[ {{AUTO_UPDATE}} == \"1\" ]]; then git pull; fi && \/usr\/local\/bin\/npm install --production && \/usr\/local\/bin\/node \/home\/container\/{{BOT_JS_FILE}}", "config": { "files": "{}", "startup": "{\r\n \"done\": \"change this part\"\r\n}", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "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", + "script": "#\/bin\/ash\r\n\r\napk add --no-cache git make gcc g++ python\r\n\r\ncd \/mnt\/server\r\n\r\nif [[ ! ${INSTALL_REPO} = *\\.git ]]; then\r\n INSTALL_REPO=$(echo -e ${INSTALL_REPO} | sed 's:\/*$::')\r\n INSTALL_REPO=\"${INSTALL_REPO}.git\"\r\nfi\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" } @@ -58,6 +58,15 @@ "user_viewable": 1, "user_editable": 1, "rules": "required|boolean" + }, + { + "name": "Bot js file", + "description": "The file that starts the bot.", + "env_variable": "BOT_JS_FILE", + "default_value": "index.js", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string" } ] } \ No newline at end of file From d8feef569c20523c1be266590a11b87ecc4bde2d Mon Sep 17 00:00:00 2001 From: Rustypredator Date: Sat, 27 Jul 2019 21:57:14 +0200 Subject: [PATCH 183/413] Add Starmade Egg --- starmade/egg-starmade.json | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 starmade/egg-starmade.json diff --git a/starmade/egg-starmade.json b/starmade/egg-starmade.json new file mode 100644 index 00000000..3a20b6e8 --- /dev/null +++ b/starmade/egg-starmade.json @@ -0,0 +1,36 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2019-07-14T13:03:01+02:00", + "name": "starmade", + "author": "contact@hunters-tavern.de", + "description": "starmade", + "image": "quay.io\/pterodactyl\/core:java", + "startup": "java -Xms128m -Xmx{{SERVER_MEMORY}}m -jar {{SERVER_JARFILE}} -server -port:{{SERVER_PORT}}", + "config": { + "files": "{}", + "startup": "{\r\n \"done\": \"SenableGameState(1)\"\r\n}", + "logs": "{}", + "stop": "\/shutdown 0" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/ash\r\n# starmade 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\nwget -O starter.jar http:\/\/files.star-made.org\/StarMade-Starter.jar\r\n\r\njava -jar starter.jar -nogui\r\n\r\nmv .\/StarMade\/* .\/\r\nrm -r .\/StarMade", + "container": "openjdk:13-ea-27-jdk-alpine3.9", + "entrypoint": "ash" + } + }, + "variables": [ + { + "name": "Server Jarfile", + "description": "", + "env_variable": "SERVER_JARFILE", + "default_value": "StarMade.jar", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:64" + } + ] +} From 4098777c5f57ee3b71778a23a9652a70fc94390e Mon Sep 17 00:00:00 2001 From: Rustypredator Date: Sat, 27 Jul 2019 21:57:55 +0200 Subject: [PATCH 184/413] Add Readme for Starmade --- starmade/README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 starmade/README.md diff --git a/starmade/README.md b/starmade/README.md new file mode 100644 index 00000000..33583884 --- /dev/null +++ b/starmade/README.md @@ -0,0 +1,10 @@ +# Starmade Server +### From their [Homepage](https://starmadedock.net/) - [Guide](https://www.star-made.org/help/setting_up_a_server) +The ultimate space sandbox. Participate in epic fleet battles, form alliances, strive to dominate entire galaxies and harness the universe’s resources for your industrious empire or the destruction of others. Customise your experience, the universe is yours! + +### Server Ports +Ports required to run the server + +| Port | default | +|---------|---------| +| Game | 4242 | From 724acbd39cf1f223686bd2dc19d6d412a60e9e04 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sat, 1 Feb 2020 21:52:30 -0500 Subject: [PATCH 185/413] update starmade update starmade location update core readme --- README.md | 8 +++++--- starmade/{ => starmade}/README.md | 0 starmade/{ => starmade}/egg-starmade.json | 0 3 files changed, 5 insertions(+), 3 deletions(-) rename starmade/{ => starmade}/README.md (100%) rename starmade/{ => starmade}/egg-starmade.json (100%) diff --git a/README.md b/README.md index ffa46401..ab882ace 100644 --- a/README.md +++ b/README.md @@ -78,8 +78,7 @@ If you are reading this it looks like you are looking to add an egg to your serv * [TyphoonLimbo](/minecraft_proxy/typhoonlimbo/) * [Velocity](/minecraft_proxy/velocity/) -[Tycoon Games](/tycoon_games/) -* [OpenTTD](/tycoon_games/openttd/) +[Starmade](/starmade/starmade/) [steamcmd servers](/steamcmd_servers/) These eggs use steamcmd to install * [7 Days to Die](/steamcmd_servers/7_days_to_die/) @@ -107,4 +106,7 @@ If you are reading this it looks like you are looking to add an egg to your serv * [tmodloader](/terraria/tmodloader) * [tshock](/terraria/tshock/) -[Xonotic](/xonotic/xonotic/) +[Tycoon Games](/tycoon_games/) +* [OpenTTD](/tycoon_games/openttd/) + +[Xonotic](/xonotic/xonotic/) \ No newline at end of file diff --git a/starmade/README.md b/starmade/starmade/README.md similarity index 100% rename from starmade/README.md rename to starmade/starmade/README.md diff --git a/starmade/egg-starmade.json b/starmade/starmade/egg-starmade.json similarity index 100% rename from starmade/egg-starmade.json rename to starmade/starmade/egg-starmade.json From e4932f9e5ba194bcf04a16be2779f06bf1c7433c Mon Sep 17 00:00:00 2001 From: KungRaseri Date: Thu, 6 Feb 2020 09:45:15 -0700 Subject: [PATCH 186/413] A few updates to the new RedM egg This should properly set the gamename to rdr3. A few changes to the variables to reflect the proper game name. --- rdr/redm/egg-red-m.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/rdr/redm/egg-red-m.json b/rdr/redm/egg-red-m.json index f61bec80..63e8b28b 100644 --- a/rdr/redm/egg-red-m.json +++ b/rdr/redm/egg-red-m.json @@ -8,7 +8,7 @@ "author": "parker@parkervcp.com", "description": "A new RedM egg for the latest builds due to recent changes in RedM", "image": "quay.io\/parkervcp\/pterodactyl-images:base_alpine", - "startup": "$(pwd)\/alpine\/opt\/cfx-server\/ld-musl-x86_64.so.1 --library-path \"$(pwd)\/alpine\/usr\/lib\/v8\/:$(pwd)\/alpine\/lib\/:$(pwd)\/alpine\/usr\/lib\/\" -- $(pwd)\/alpine\/opt\/cfx-server\/FXServer +set citizen_dir $(pwd)\/alpine\/opt\/cfx-server\/citizen\/ +set sv_licenseKey {{CFX_LICENSE}} +set sv_maxplayers {{MAX_PLAYERS}} +exec server.cfg gamename rdr3", + "startup": "$(pwd)\/alpine\/opt\/cfx-server\/ld-musl-x86_64.so.1 --library-path \"$(pwd)\/alpine\/usr\/lib\/v8\/:$(pwd)\/alpine\/lib\/:$(pwd)\/alpine\/usr\/lib\/\" -- $(pwd)\/alpine\/opt\/cfx-server\/FXServer +set citizen_dir $(pwd)\/alpine\/opt\/cfx-server\/citizen\/ +set sv_licenseKey {{CFX_LICENSE}} +set sv_maxplayers {{MAX_PLAYERS}} +exec server.cfg +set gamename rdr3", "config": { "files": "{\r\n \"server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"endpoint_add_tcp\": \"endpoint_add_tcp \\\"0.0.0.0:{{server.build.default.port}}\\\"\",\r\n \"endpoint_add_udp\": \"endpoint_add_udp \\\"0.0.0.0:{{server.build.default.port}}\\\"\",\r\n \"sv_hostname\": \"sv_hostname \\\"{{server.build.env.SERVER_HOSTNAME}}\\\"\",\r\n \"sv_maxclients\": \"sv_maxclients {{server.build.env.MAX_PLAYERS}}\"\r\n }\r\n }\r\n}", "startup": "{\r\n \"done\": \"succeeded. Welcome!\"\r\n}", @@ -24,7 +24,7 @@ }, "variables": [ { - "name": "fivem license", + "name": "CFX license", "description": "Required to start the service. Get your keys at https:\/\/keymaster.fivem.net\/", "env_variable": "CFX_LICENSE", "default_value": "", @@ -51,8 +51,8 @@ "rules": "required|string" }, { - "name": "fivem version", - "description": "The fivem version that is to be installed.\r\n\r\nan example is `1383-e5ea040353ce1b8bc86e37982bf5d888938e3096`\r\n\r\nYou can the latest version from here - https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/", + "name": "CFX version", + "description": "The CFX Server version that is to be installed.\r\n\r\nan example is `1383-e5ea040353ce1b8bc86e37982bf5d888938e3096`\r\n\r\nYou can the latest version from here - https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/", "env_variable": "CFX_VERSION", "default_value": "latest", "user_viewable": 1, @@ -61,7 +61,7 @@ }, { "name": "Download Link", - "description": "This is the link to download fivem from. This is only used in the install script.\r\n\r\nThe file you link to needs to be an fx.tar.zx file.\r\n\r\nExample:\r\nhttps:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/1626-8c06e8bc3ed7e6690c6c2d9e0b90e29df65b3ea6\/fx.tar.xz", + "description": "This is the link to download redm from. This is only used in the install script.\r\n\r\nThe file you link to needs to be an fx.tar.zx file.\r\n\r\nExample:\r\nhttps:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/1626-8c06e8bc3ed7e6690c6c2d9e0b90e29df65b3ea6\/fx.tar.xz", "env_variable": "DOWNLOAD_URL", "default_value": "", "user_viewable": 0, @@ -69,4 +69,4 @@ "rules": "string|nullable" } ] -} \ No newline at end of file +} From ac9b60215a38265eccf632d0b5fbee660185bd6b Mon Sep 17 00:00:00 2001 From: KungRaseri Date: Thu, 6 Feb 2020 09:58:27 -0700 Subject: [PATCH 187/413] added steam_webApiKey variable --- rdr/redm/egg-red-m.json | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/rdr/redm/egg-red-m.json b/rdr/redm/egg-red-m.json index 63e8b28b..8e2c3f9d 100644 --- a/rdr/redm/egg-red-m.json +++ b/rdr/redm/egg-red-m.json @@ -8,7 +8,7 @@ "author": "parker@parkervcp.com", "description": "A new RedM egg for the latest builds due to recent changes in RedM", "image": "quay.io\/parkervcp\/pterodactyl-images:base_alpine", - "startup": "$(pwd)\/alpine\/opt\/cfx-server\/ld-musl-x86_64.so.1 --library-path \"$(pwd)\/alpine\/usr\/lib\/v8\/:$(pwd)\/alpine\/lib\/:$(pwd)\/alpine\/usr\/lib\/\" -- $(pwd)\/alpine\/opt\/cfx-server\/FXServer +set citizen_dir $(pwd)\/alpine\/opt\/cfx-server\/citizen\/ +set sv_licenseKey {{CFX_LICENSE}} +set sv_maxplayers {{MAX_PLAYERS}} +exec server.cfg +set gamename rdr3", + "startup": "$(pwd)\/alpine\/opt\/cfx-server\/ld-musl-x86_64.so.1 --library-path \"$(pwd)\/alpine\/usr\/lib\/v8\/:$(pwd)\/alpine\/lib\/:$(pwd)\/alpine\/usr\/lib\/\" -- $(pwd)\/alpine\/opt\/cfx-server\/FXServer +set citizen_dir $(pwd)\/alpine\/opt\/cfx-server\/citizen\/ +set sv_licenseKey {{CFX_LICENSE}} +set steam_webApiKey {{STEAM_WEBAPIKEY}} +set sv_maxplayers {{MAX_PLAYERS}} +exec server.cfg +set gamename rdr3", "config": { "files": "{\r\n \"server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"endpoint_add_tcp\": \"endpoint_add_tcp \\\"0.0.0.0:{{server.build.default.port}}\\\"\",\r\n \"endpoint_add_udp\": \"endpoint_add_udp \\\"0.0.0.0:{{server.build.default.port}}\\\"\",\r\n \"sv_hostname\": \"sv_hostname \\\"{{server.build.env.SERVER_HOSTNAME}}\\\"\",\r\n \"sv_maxclients\": \"sv_maxclients {{server.build.env.MAX_PLAYERS}}\"\r\n }\r\n }\r\n}", "startup": "{\r\n \"done\": \"succeeded. Welcome!\"\r\n}", @@ -32,6 +32,15 @@ "user_editable": 1, "rules": "required|string" }, + { + "name": "Steam Web Api Key", + "description": "Use your Steam WebApiKey or set to 'none'. Get your key at https:\/\/steamcommunity.com\/dev\/apikey\/", + "env_variable": "STEAM_WEBAPIKEY", + "default_value": "none", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string" + }, { "name": "Max Players", "description": "Set the fivem max play count", From 9ad7616f266b57cab7823dd0df44c059ca07be5b Mon Sep 17 00:00:00 2001 From: KungRaseri Date: Thu, 6 Feb 2020 10:34:58 -0700 Subject: [PATCH 188/413] added steam_webApiKey Added `steam_webApiKey` to the variables and startup command. --- gta/fivem/egg-five-m.json | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/gta/fivem/egg-five-m.json b/gta/fivem/egg-five-m.json index 8d9baef5..6aa4b4b0 100644 --- a/gta/fivem/egg-five-m.json +++ b/gta/fivem/egg-five-m.json @@ -8,7 +8,7 @@ "author": "parker@parkervcp.com", "description": "A new FiveM egg for the latest builds due to recent changes in FiveM", "image": "quay.io\/parkervcp\/pterodactyl-images:base_alpine", - "startup": "$(pwd)\/alpine\/opt\/cfx-server\/ld-musl-x86_64.so.1 --library-path \"$(pwd)\/alpine\/usr\/lib\/v8\/:$(pwd)\/alpine\/lib\/:$(pwd)\/alpine\/usr\/lib\/\" -- $(pwd)\/alpine\/opt\/cfx-server\/FXServer +set citizen_dir $(pwd)\/alpine\/opt\/cfx-server\/citizen\/ +set sv_licenseKey {{FIVEM_LICENSE}} +set sv_maxplayers {{MAX_PLAYERS}} +exec server.cfg", + "startup": "$(pwd)\/alpine\/opt\/cfx-server\/ld-musl-x86_64.so.1 --library-path \"$(pwd)\/alpine\/usr\/lib\/v8\/:$(pwd)\/alpine\/lib\/:$(pwd)\/alpine\/usr\/lib\/\" -- $(pwd)\/alpine\/opt\/cfx-server\/FXServer +set citizen_dir $(pwd)\/alpine\/opt\/cfx-server\/citizen\/ +set sv_licenseKey {{FIVEM_LICENSE}} +set steam_webApiKey {{STEAM_WEBAPIKEY}} +set sv_maxplayers {{MAX_PLAYERS}} +exec server.cfg", "config": { "files": "{\r\n \"server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"endpoint_add_tcp\": \"endpoint_add_tcp \\\"0.0.0.0:{{server.build.default.port}}\\\"\",\r\n \"endpoint_add_udp\": \"endpoint_add_udp \\\"0.0.0.0:{{server.build.default.port}}\\\"\",\r\n \"sv_hostname\": \"sv_hostname \\\"{{server.build.env.SERVER_HOSTNAME}}\\\"\",\r\n \"sv_maxclients\": \"sv_maxclients {{server.build.env.MAX_PLAYERS}}\"\r\n }\r\n }\r\n}", "startup": "{\r\n \"done\": \"succeeded. Welcome!\"\r\n}", @@ -32,6 +32,15 @@ "user_editable": 1, "rules": "required|string|max:32" }, + { + "name": "Steam Web Api Key", + "description": "Use your Steam WebApiKey or set to 'none'. Get your key at https:\/\/steamcommunity.com\/dev\/apikey\/", + "env_variable": "STEAM_WEBAPIKEY", + "default_value": "none", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string" + }, { "name": "Max Players", "description": "Set the fivem max play count", @@ -69,4 +78,4 @@ "rules": "string|nullable" } ] -} \ No newline at end of file +} From 5e7659dcb64dfa2224a3bbf9826af948457a0729 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sat, 8 Feb 2020 09:08:00 -0500 Subject: [PATCH 189/413] Fix main readme links --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 3db13067..10b72c1a 100644 --- a/README.md +++ b/README.md @@ -98,10 +98,10 @@ If you are reading this it looks like you are looking to add an egg to your serv * [Starbound](/steamcmd_servers/starbound) * [Sven Co-op](/steamcmd_servers/svencoop) * [Squad](/steamcmd_servers/squad/) -* [Tower Unite](/unreal_engine/tower_unite/) -* [Unturned](/unturned/) - * [RocketMod](/unturned/rocketmod/) - * [Unturned](/unturned/unturned/) +* [Tower Unite](/steamcmd_servers/tower_unite/) +* [Unturned](/steamcmd_servers/unturned/) + * [RocketMod](/steamcmd_servers/unturned/rocketmod/) + * [Unturned](/steamcmd_servers/unturned/unturned/) [Terraria](/terraria/) * [tmodloader](/terraria/tmodloader) From 93a70766173ab3fca274d8c72bee34b2e5664919 Mon Sep 17 00:00:00 2001 From: AreYouScared Date: Mon, 10 Feb 2020 04:06:11 -0500 Subject: [PATCH 190/413] Spelling fix Fixed spelling.... Unless `somf` was intended... --- .github/ISSUE_TEMPLATE/request.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/request.md b/.github/ISSUE_TEMPLATE/request.md index 0de43824..1590d3a8 100644 --- a/.github/ISSUE_TEMPLATE/request.md +++ b/.github/ISSUE_TEMPLATE/request.md @@ -14,6 +14,6 @@ Does this expand an already existing service: Y/N Link to game: (Ex. minecraft.net/factorio.com/etc) -Links for server downloads: This needs to be an official link and not one that is hosted on somf forum page or a personal github page. +Links for server downloads: This needs to be an official link and not one that is hosted on some forum page or a personal github page. -Links for install steps/docs: \ No newline at end of file +Links for install steps/docs: From a07af6fa55bcb72fe5257993b90d724b3baa7a10 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Wed, 19 Feb 2020 21:51:29 -0500 Subject: [PATCH 191/413] update altv default variable update build variable default values update description to match new values --- gta/altv/egg-alt--v.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gta/altv/egg-alt--v.json b/gta/altv/egg-alt--v.json index f1a31b78..944fdd7d 100644 --- a/gta/altv/egg-alt--v.json +++ b/gta/altv/egg-alt--v.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-01-02T15:11:11-05:00", + "exported_at": "2020-02-19T21:48:36-05:00", "name": "alt:V", "author": "parker@parkervcp.com", "description": "alt:V Multiplayer a third-party multiplayer modification for Grand Theft Auto: V", @@ -34,9 +34,9 @@ }, { "name": "Which alt:V build to download", - "description": "The supported versions are alpha, beta, stable (default).\r\n\r\nIf you don't know what you are doing leave it on stable", + "description": "The supported versions are release, rc, dev (default: release).\r\n\r\nIf you don't know what you are doing leave it on stable", "env_variable": "BUILD", - "default_value": "stable", + "default_value": "release", "user_viewable": 1, "user_editable": 1, "rules": "required|string|max:20" From b17e60e3845557673ad7bfa44c04872d39c80ddd Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Fri, 21 Feb 2020 13:02:40 -0500 Subject: [PATCH 192/413] update jmusic bot fixes the install script. --- bots/discord/jmusicbot/egg-j-music-bot.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bots/discord/jmusicbot/egg-j-music-bot.json b/bots/discord/jmusicbot/egg-j-music-bot.json index 1fb7b94e..99cce2a7 100644 --- a/bots/discord/jmusicbot/egg-j-music-bot.json +++ b/bots/discord/jmusicbot/egg-j-music-bot.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-05-08T07:52:52-04:00", + "exported_at": "2020-02-21T13:00:39-05:00", "name": "JMusicBot", "author": "parker@parkervcp.com", "description": "A Discord music bot that's easy to set up and run yourself!", @@ -17,9 +17,9 @@ }, "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" + "script": "#!\/bin\/bash\r\n## this is a simple script to use the github API for release versions.\r\n## this requires the egg has a variable for GITHUB_PACKAGE, VERSION and MATCH (match is to match the filename in some way)\r\n## this supports using oauth\/personal access tokens via GITHUB_USER and GITHUB_OAUTH_TOKEN (both are required.)\r\n## if you are getting hit with GitHub API limit issues then you need to have the user and token set.\r\n\r\napt update\r\napt install -y jq curl\r\n\r\nGITHUB_PACKAGE=\"jagrosh\/MusicBot\"\r\nMATCH=\"All\"\r\n\r\nif [ -z \"${GITHUB_USER}\" ] && [ -z \"${GITHUB_OAUTH_TOKEN}\" ] ; then\r\n echo -e \"using anon api call\"\r\nelse\r\n echo -e \"user and oauth token set\"\r\n alias curl='curl -u ${GITHUB_USER}:${GITHUB_OAUTH_TOKEN} '\r\nfi\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\")\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})\r\n CONFIG_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i config)\r\nelse\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_LINK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i config)\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})\r\n CONFIG_LINK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH})\r\n fi\r\nfi\r\n\r\n[ ! -d \/mnt\/server ] && mkdir \/mnt\/server\r\n\r\ncd \/mnt\/server\r\n\r\nif [ -f JMusicBot.jar ]; then\r\n mv -f JMusicBot.jar JMusicBot.jar-old\r\nfi\r\n\r\ncurl -Lo JMusicBot.jar ${DOWNLOAD_LINK}\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 ${CONFIG_LINK}\r\nfi\r\n\r\necho \"Job's Done\"", + "container": "debian:buster-slim", + "entrypoint": "\/bin\/bash" } }, "variables": [ From 2913534db45480d9e142cc4294966368114651b8 Mon Sep 17 00:00:00 2001 From: ViViV_ Date: Mon, 24 Feb 2020 19:55:19 +0100 Subject: [PATCH 193/413] Add Stationeers Eggs --- README.md | 1 + steamcmd_servers/README.md | 3 + steamcmd_servers/Stationners/README.md | 15 ++++ .../Stationners/egg-stationeers .json | 90 +++++++++++++++++++ 4 files changed, 109 insertions(+) create mode 100644 steamcmd_servers/Stationners/README.md create mode 100644 steamcmd_servers/Stationners/egg-stationeers .json diff --git a/README.md b/README.md index c768cf0e..9837273e 100644 --- a/README.md +++ b/README.md @@ -98,6 +98,7 @@ If you are reading this it looks like you are looking to add an egg to your serv * [Rust Staging Branch](/steamcmd_servers/rust_staging/) * [SCP: Secret Laboratory](/steamcmd_servers/scpsl/) * [Starbound](/steamcmd_servers/starbound) +* [Stationeers](/steamcmd_servers/Stationeers/) * [Sven Co-op](/steamcmd_servers/svencoop) * [Squad](/steamcmd_servers/squad/) * [Unturned](/steamcmd_servers/unturned/) diff --git a/steamcmd_servers/README.md b/steamcmd_servers/README.md index 5cef5d34..0cf9f22f 100644 --- a/steamcmd_servers/README.md +++ b/steamcmd_servers/README.md @@ -43,6 +43,9 @@ This is a collection of servers that use steamcmd to install. ## Starbound [starbound](starbound/) +## Stationeers +[Stationeers](/steamcmd_servers/Stationeers/) + ## Sven coop [svencoop](svencoop) diff --git a/steamcmd_servers/Stationners/README.md b/steamcmd_servers/Stationners/README.md new file mode 100644 index 00000000..63aefa53 --- /dev/null +++ b/steamcmd_servers/Stationners/README.md @@ -0,0 +1,15 @@ +# Stationeers +Steam Description +Construct and manage your own space station either by yourself in singleplayer or with friends online! Fully functioning atmospherics, science, power, engineering, medical, logic, and agricultural systems. Explore to find asteroids and construct elaborate factories to harvest your resources! + +### Server Ports +Stationeers requires up to 2 ports + +game port (default 27500) +Steam Query Ports (default 27015) + + +| Port | default | +|---------|---------------| +| Game | 27500 | +| Query | 27015 | \ No newline at end of file diff --git a/steamcmd_servers/Stationners/egg-stationeers .json b/steamcmd_servers/Stationners/egg-stationeers .json new file mode 100644 index 00000000..a7382b09 --- /dev/null +++ b/steamcmd_servers/Stationners/egg-stationeers .json @@ -0,0 +1,90 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2020-02-24T18:48:49+01:00", + "name": "Stationeers", + "author": "sysadmin@whiteshield.ch", + "description": "Stationeers Server\r\n\r\ndefault.ini will be created once you start game. Command parameters override default.ini parameters\r\nDon't forget to change the RCON Password !!\r\n\r\nRemote Administrator:\r\nYou can send commands on web browser.\r\nLink : http:\/\/[dedicated server address]:[GamePort]\r\n\r\nDedicated Server Wiki ==> https:\/\/stationeers-wiki.com\/Dedicated_Server_Guide\r\n\r\nStopping the server don't save the game, for manual save use the Remote Administrator.", + "image": "quay.io\/pterodactyl\/core:source", + "startup": ".\/rocketstation_DedicatedServer.x86_64 -batchmode -nographics -autostart -autosaveinterval={{SAVE_INTERVAL}} -clearallinterval={{CLEAR_INTERVAL}} -worldtype={{SERVER_MAP}} -worldname={{SAVE_NAME}} -loadworld={{SAVE_NAME}} -basedirectory=\/home\/container -updateport={{UPDATE_PORT}} -gameport={{GAME_PORT}} -servername=\"{{HOSTNAME}}\"", + "config": { + "files": "{}", + "startup": "{\r\n \"done\": \"Dedicated Server Started\",\r\n \"userInteraction\": []\r\n}", + "logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/latest.log\"\r\n}", + "stop": "^C" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash\r\n# Stationeers: 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\nmkdir -p \/mnt\/server\/Engine\/Binaries\/ThirdParty\/SteamCMD\/Linux\r\n\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/Engine\/Binaries\/ThirdParty\/SteamCMD\/Linux\r\n\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 600760 -beta public +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": "Server Map", + "description": "Available Maps: Moon, Mars, Europa, Vulkcain, Space, Mimas, Loulan", + "env_variable": "SERVER_MAP", + "default_value": "Moon", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:20" + }, + { + "name": "Save Interval", + "description": "Sets the server\u2019s auto-save interval in seconds.", + "env_variable": "SAVE_INTERVAL", + "default_value": "300", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|integer" + }, + { + "name": "Auto Clear Disconnected Player", + "description": "Clear disconnected player interval in seconds", + "env_variable": "CLEAR_INTERVAL", + "default_value": "900", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|integer" + }, + { + "name": "Save Name", + "description": "Name of the save of your world.\r\nAuto save & auto load worlds on server startup.", + "env_variable": "SAVE_NAME", + "default_value": "stationeers_1", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:20" + }, + { + "name": "Gameport", + "description": "UDP port for game. Avoid to set 27015-27020. It's steam's local server query ports.", + "env_variable": "GAME_PORT", + "default_value": "27500", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|integer" + }, + { + "name": "Update Port", + "description": "UDP port for steam query must be between 27015-27020.", + "env_variable": "UPDATE_PORT", + "default_value": "27015", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|integer" + }, + { + "name": "Server Name", + "description": "The name of your server in the public server list.", + "env_variable": "HOSTNAME", + "default_value": "Stationeers Pterodactyl Server", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:30" + } + ] +} \ No newline at end of file From cf77f4deaf002765fdc0db948cabc96208fc3b69 Mon Sep 17 00:00:00 2001 From: NgLoader Date: Thu, 27 Feb 2020 01:55:55 +0100 Subject: [PATCH 194/413] feat: added vintage story --- vintage_story/README.md | 18 ++++++++ .../vintage_story/egg-vintage-story.json | 45 +++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 vintage_story/README.md create mode 100644 vintage_story/vintage_story/egg-vintage-story.json diff --git a/vintage_story/README.md b/vintage_story/README.md new file mode 100644 index 00000000..4bffe25f --- /dev/null +++ b/vintage_story/README.md @@ -0,0 +1,18 @@ +# Vintage Story + +#### The Vintage Story Server +The server supports mods + +#### from the developers + +Vintage Story is an uncompromising wilderness survival sandbox game inspired by lovecraftian horror themes. +Find yourself in a ruined world reclaimed by nature and permeated by unnerving temporal disturbances. +Relive the advent of human civilization, or take your own path. +New to the game? Make sure to checkout their [starter page](https://wiki.vintagestory.at/index.php?title=Main_Page). + +### Server Ports +Vintage Story requires a single port + +| Port | default | +|---------|---------| +| Game | 42420 | \ No newline at end of file diff --git a/vintage_story/vintage_story/egg-vintage-story.json b/vintage_story/vintage_story/egg-vintage-story.json new file mode 100644 index 00000000..0de38eef --- /dev/null +++ b/vintage_story/vintage_story/egg-vintage-story.json @@ -0,0 +1,45 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2020-02-27T01:53:00+01:00", + "name": "Vintage Story", + "author": "mail@wuffy.eu", + "description": "Vintage Story is an uncompromising wilderness survival sandbox game inspired by lovecraftian horror themes. Find yourself in a ruined world reclaimed by nature and permeated by unnerving temporal disturbances. Relive the advent of human civilization, or take your own path.", + "image": "quay.io\/parkervcp\/pterodactyl-images:debian_mono-6-complete", + "startup": "mono VintagestoryServer.exe --dataPath .\/data {{OPTIONS}}", + "config": { + "files": "{}", + "startup": "{\r\n \"done\": \"Dedicated Server now running on Port \",\r\n \"userInteraction\": []\r\n}", + "logs": "{\r\n \"custom\": false,\r\n \"location\": \".\/data\/Logs\/server-debug.txt\"\r\n}", + "stop": "\/stop" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/ash\r\n# Vintage Story Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y screen wget curl\r\n\r\ncd mnt\/server\r\n\r\ncurl -o vs_server.tar.gz https:\/\/cdn.vintagestory.at\/gamefiles\/stable\/vs_server_${VERSION}.tar.gz\r\ntar -xzf vs_server.tar.gz", + "container": "debian:buster-slim", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "Start Options", + "description": "", + "env_variable": "OPTIONS", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "max:200" + }, + { + "name": "Version", + "description": "", + "env_variable": "VERSION", + "default_value": "1.12.5", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:20" + } + ] +} \ No newline at end of file From ef74df17880326876d25bc3b9b30cd86c60e12e8 Mon Sep 17 00:00:00 2001 From: NgLoader Date: Thu, 27 Feb 2020 02:46:51 +0100 Subject: [PATCH 195/413] fix: fixed default port was used feat: added maxClients --- vintage_story/vintage_story/egg-vintage-story.json | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/vintage_story/vintage_story/egg-vintage-story.json b/vintage_story/vintage_story/egg-vintage-story.json index 0de38eef..626cda11 100644 --- a/vintage_story/vintage_story/egg-vintage-story.json +++ b/vintage_story/vintage_story/egg-vintage-story.json @@ -3,12 +3,12 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-02-27T01:53:00+01:00", + "exported_at": "2020-02-27T02:46:01+01:00", "name": "Vintage Story", "author": "mail@wuffy.eu", "description": "Vintage Story is an uncompromising wilderness survival sandbox game inspired by lovecraftian horror themes. Find yourself in a ruined world reclaimed by nature and permeated by unnerving temporal disturbances. Relive the advent of human civilization, or take your own path.", "image": "quay.io\/parkervcp\/pterodactyl-images:debian_mono-6-complete", - "startup": "mono VintagestoryServer.exe --dataPath .\/data {{OPTIONS}}", + "startup": "mono VintagestoryServer.exe --dataPath .\/data --port={{SERVER_PORT}} --maxclients={{MAX_CLIENTS}} {{OPTIONS}}", "config": { "files": "{}", "startup": "{\r\n \"done\": \"Dedicated Server now running on Port \",\r\n \"userInteraction\": []\r\n}", @@ -40,6 +40,15 @@ "user_viewable": 1, "user_editable": 1, "rules": "required|string|max:20" + }, + { + "name": "Max Clients", + "description": "", + "env_variable": "MAX_CLIENTS", + "default_value": "16", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|integer|max:2000" } ] } \ No newline at end of file From d2bc5e17302654747aa4357ad41d24e102ae87f8 Mon Sep 17 00:00:00 2001 From: NgLoader Date: Thu, 27 Feb 2020 02:55:01 +0100 Subject: [PATCH 196/413] fix: forgot the main readme --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index c768cf0e..de5d90ab 100644 --- a/README.md +++ b/README.md @@ -118,4 +118,6 @@ If you are reading this it looks like you are looking to add an egg to your serv [Tycoon Games](/tycoon_games/) * [OpenTTD](/tycoon_games/openttd/) -[Xonotic](/xonotic/xonotic/) \ No newline at end of file +[Xonotic](/xonotic/xonotic/) + +[Vintage Story](/vintage_story/vintage_story/) \ No newline at end of file From d7294882e9ad5d9990d0a59b320de1ab2e4af1e2 Mon Sep 17 00:00:00 2001 From: NgLoader Date: Thu, 27 Feb 2020 04:21:49 +0100 Subject: [PATCH 197/413] fix: moved into an alphabetical order --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index de5d90ab..4484c5fe 100644 --- a/README.md +++ b/README.md @@ -111,6 +111,8 @@ If you are reading this it looks like you are looking to add an egg to your serv * [Tower Unite](/unreal_engine/tower_unite/) * [Tower Unite](/steamcmd_servers/tower_unite/) +[Vintage Story](/vintage_story/vintage_story/) + [Terraria](/terraria/) * [tmodloader](/terraria/tmodloader) * [tshock](/terraria/tshock/) @@ -119,5 +121,3 @@ If you are reading this it looks like you are looking to add an egg to your serv * [OpenTTD](/tycoon_games/openttd/) [Xonotic](/xonotic/xonotic/) - -[Vintage Story](/vintage_story/vintage_story/) \ No newline at end of file From c5d51e3e625a369fa2b065f515703530b935d1f1 Mon Sep 17 00:00:00 2001 From: NgLoader Date: Thu, 27 Feb 2020 08:04:44 +0100 Subject: [PATCH 198/413] fix: fixed false position --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4484c5fe..f83163c8 100644 --- a/README.md +++ b/README.md @@ -111,8 +111,6 @@ If you are reading this it looks like you are looking to add an egg to your serv * [Tower Unite](/unreal_engine/tower_unite/) * [Tower Unite](/steamcmd_servers/tower_unite/) -[Vintage Story](/vintage_story/vintage_story/) - [Terraria](/terraria/) * [tmodloader](/terraria/tmodloader) * [tshock](/terraria/tshock/) @@ -120,4 +118,6 @@ If you are reading this it looks like you are looking to add an egg to your serv [Tycoon Games](/tycoon_games/) * [OpenTTD](/tycoon_games/openttd/) +[Vintage Story](/vintage_story/vintage_story/) + [Xonotic](/xonotic/xonotic/) From 8ce3f44ce343d740a503a184001b7b7d3f3ff824 Mon Sep 17 00:00:00 2001 From: NgLoader Date: Thu, 27 Feb 2020 19:04:03 +0100 Subject: [PATCH 199/413] feat: added phantombot --- README.md | 4 +- bots/twitch/README.md | 8 ++ bots/twitch/phantombot/README.md | 23 +++++ bots/twitch/phantombot/egg-phantom-bot.json | 99 +++++++++++++++++++++ 4 files changed, 133 insertions(+), 1 deletion(-) create mode 100644 bots/twitch/README.md create mode 100644 bots/twitch/phantombot/README.md create mode 100644 bots/twitch/phantombot/egg-phantom-bot.json diff --git a/README.md b/README.md index c768cf0e..6817c2cc 100644 --- a/README.md +++ b/README.md @@ -36,6 +36,9 @@ If you are reading this it looks like you are looking to add an egg to your serv * [pixel-bot](/bots/discord/pixelbot/) Python * [Sinusbot](/bots/discord/sinusbot/) +[Twitch](/bots/twitch) +* [PhantomBot](/bots/twitch/phantombot/) + [TeamSpeak3](bots/teamspeak3) * [JTS3ServerMod](/bots/teamspeak3/jts3servermod/) @@ -78,7 +81,6 @@ If you are reading this it looks like you are looking to add an egg to your serv * [TyphoonLimbo](/minecraft_proxy/typhoonlimbo/) * [Velocity](/minecraft_proxy/velocity/) - [Red Dead Redemption](/rdr/) * [RedM](/rdr/redm/) diff --git a/bots/twitch/README.md b/bots/twitch/README.md new file mode 100644 index 00000000..916ad7f0 --- /dev/null +++ b/bots/twitch/README.md @@ -0,0 +1,8 @@ +# Twitch Bots + +### Some of these bots support other services but are primarily Twitch bots + +#### PhantomBot +[PhantomBot](https://phantombot.tv) +[Egg](/phantombot/) +PhantomBot is an actively developed open source interactive Twitch bot with a vibrant community that provides entertainment and moderation for your channel, allowing you to focus on what matters the most to you - your game and your viewers. \ No newline at end of file diff --git a/bots/twitch/phantombot/README.md b/bots/twitch/phantombot/README.md new file mode 100644 index 00000000..f55655b2 --- /dev/null +++ b/bots/twitch/phantombot/README.md @@ -0,0 +1,23 @@ +# PhantomBot +### Their [Site](https://phantombot.tv) +PhantomBot is an actively developed open source interactive Twitch bot +with a vibrant community that provides entertainment and moderation for your channel, +allowing you to focus on what matters the most to you - your game and your viewers. + +### Server Ports +3 ports are required to run PhantomBot. + +| Port | default | +|---------------------|---------| +| Game (HTTP Server) | 25000 | +| YoutubeSocketServer | 25003 | +| PanelSocketServer | 25004 | + +# NOTES +You need to define one main port and the other 2 port need to be +3 and +4! +Example: +Port1: 1000 +Port2: 1003 +Port3: 1004 + +this are forced and can't be changed! diff --git a/bots/twitch/phantombot/egg-phantom-bot.json b/bots/twitch/phantombot/egg-phantom-bot.json new file mode 100644 index 00000000..7720011c --- /dev/null +++ b/bots/twitch/phantombot/egg-phantom-bot.json @@ -0,0 +1,99 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2020-02-27T19:00:56+01:00", + "name": "PhantomBot", + "author": "mail@wuffy.eu", + "description": "PhantomBot is an actively developed open source interactive Twitch bot with a vibrant community that provides entertainment and moderation for your channel, allowing you to focus on what matters the most to you - your game and your viewers.", + "image": "quay.io\/parkervcp\/pterodactyl-images:debian_openjdk-8-jre", + "startup": "java -Dinteractive -Xms1m -Dfile.encoding=UTF-8 -jar .\/PhantomBot.jar", + "config": { + "files": "{\r\n \"config\/botlogin.txt\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"baseport\": \"{{server.build.default.port}}\",\r\n \"channel\": \"{{server.build.env.CHANNEL_NAME}}\",\r\n \"owner\": \"{{server.build.env.CHANNEL_OWNER}}\",\r\n \"apioauth\": \"{{server.build.env.USER_OAUTH_TOKEN}}\",\r\n \"oauth\": \"{{server.build.env.BOT_OAUTH_TOKEN}}\",\r\n \"paneluser\": \"{{server.build.env.WEBPANEL_USERNAME}}\",\r\n \"panelpassword\": \"{{server.build.env.WEBPANEL_PASSWORD}}\",\r\n \"user\": \"{{server.build.env.BOT_TWITCH_USERNAME}}\"\r\n }\r\n }\r\n}", + "startup": "{\r\n \"done\": \"Connecting to Twitch WS-IRC Server\",\r\n \"userInteraction\": []\r\n}", + "logs": "{\r\n \"custom\": true,\r\n \"location\": \"latest.log\"\r\n}", + "stop": "^C" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash\r\n# PhantomBot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt -y --no-install-recommends install curl ca-certificates unzip\r\n\r\ncd \/tmp\r\n\r\n# Fetching last github release\r\nif [ -z \"${RELEASE_VERSION}\" ] || [ \"${RELEASE_VERSION}\" == \"latest\" ]; then\r\n RELEASE_VERSION=$(curl -s \"https:\/\/github.com\/PhantomBot\/PhantomBot\/releases\/latest\" | grep -o '[0-9].[0-9].[0-9]')\r\nfi\r\necho \"Version: ${RELEASE_VERSION}\"\r\n\r\ncurl -LJO https:\/\/github.com\/PhantomBot\/PhantomBot\/releases\/download\/v${RELEASE_VERSION}\/PhantomBot-${RELEASE_VERSION}.zip\r\nunzip -o PhantomBot-*.zip\r\n\r\necho \"Unzip zip file\"\r\ncd .\/PhantomBot-${RELEASE_VERSION}\r\nmv .\/* \/mnt\/server\/\r\n\r\nif [ ! -f \/mnt\/server\/config\/botlogin.txt ]; then\r\n echo \"Creating config\/botlogin.txt\"\r\n cat << EOF > \/mnt\/server\/config\/botlogin.txt\r\n #PhantomBot Configuration File\r\n apioauth=\r\n baseport=\r\n channel=\r\n oauth=\r\n owner=\r\n panelpassword=\r\n paneluser=\r\n user=\r\nEOF\r\nfi", + "container": "ubuntu:16.04", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "Version", + "description": "", + "env_variable": "RELEASE_VERSION", + "default_value": "latest", + "user_viewable": 1, + "user_editable": 1, + "rules": "max:9" + }, + { + "name": "Twitch Channel Name", + "description": "Please enter the bot's Twitch username", + "env_variable": "CHANNEL_NAME", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:26" + }, + { + "name": "Channel Owner", + "description": "", + "env_variable": "CHANNEL_OWNER", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:26" + }, + { + "name": "Your OAuth Token", + "description": "Please note, this OAuth token needs to be generated while you're logged in into your caster account.\r\nIf you're not logged in as the caster, please go to https:\/\/twitch.tv\/ and login as the caster.\r\nGet the your OAuth token here: https:\/\/phantombot.tv\/oauth\/", + "env_variable": "USER_OAUTH_TOKEN", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:64" + }, + { + "name": "Bot Twitch Username", + "description": "Please enter the bot's Twitch username", + "env_variable": "BOT_TWITCH_USERNAME", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:26" + }, + { + "name": "Bot OAuth Token", + "description": "Please note, this OAuth token needs to be generated while you're logged in into the bot's Twitch account.\r\nIf you're not logged in as the bot, please go to https:\/\/twitch.tv\/ and login as the bot.\r\nGet the bot's OAuth token here: https:\/\/twitchapps.com\/tmi\/", + "env_variable": "BOT_OAUTH_TOKEN", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:64" + }, + { + "name": "Webpanel Username", + "description": "Please enter a custom username for the web panel", + "env_variable": "WEBPANEL_USERNAME", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:64" + }, + { + "name": "Webpanel Password", + "description": "Please enter a custom password for the web panel", + "env_variable": "WEBPANEL_PASSWORD", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:2000" + } + ] +} \ No newline at end of file From 08f99af55ba32693ec5ade5b8ba11350b8be2a10 Mon Sep 17 00:00:00 2001 From: NgLoader Date: Thu, 27 Feb 2020 19:11:38 +0100 Subject: [PATCH 200/413] fix: README.md --- bots/twitch/README.md | 5 ++--- bots/twitch/phantombot/README.md | 4 ++++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/bots/twitch/README.md b/bots/twitch/README.md index 916ad7f0..d41b3dc4 100644 --- a/bots/twitch/README.md +++ b/bots/twitch/README.md @@ -2,7 +2,6 @@ ### Some of these bots support other services but are primarily Twitch bots -#### PhantomBot -[PhantomBot](https://phantombot.tv) -[Egg](/phantombot/) +#### PhantomBot [Homepage](https://phantombot.tv) [Egg](/phantombot/) + PhantomBot is an actively developed open source interactive Twitch bot with a vibrant community that provides entertainment and moderation for your channel, allowing you to focus on what matters the most to you - your game and your viewers. \ No newline at end of file diff --git a/bots/twitch/phantombot/README.md b/bots/twitch/phantombot/README.md index f55655b2..b62d0ac6 100644 --- a/bots/twitch/phantombot/README.md +++ b/bots/twitch/phantombot/README.md @@ -15,9 +15,13 @@ allowing you to focus on what matters the most to you - your game and your viewe # NOTES You need to define one main port and the other 2 port need to be +3 and +4! + Example: + Port1: 1000 + Port2: 1003 + Port3: 1004 this are forced and can't be changed! From 444aaa05c8627cd30072362e4b3dde12a9f849ea Mon Sep 17 00:00:00 2001 From: NgLoader Date: Thu, 27 Feb 2020 19:13:00 +0100 Subject: [PATCH 201/413] fix: README.md --- bots/twitch/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bots/twitch/README.md b/bots/twitch/README.md index d41b3dc4..b1b7b7a4 100644 --- a/bots/twitch/README.md +++ b/bots/twitch/README.md @@ -2,6 +2,6 @@ ### Some of these bots support other services but are primarily Twitch bots -#### PhantomBot [Homepage](https://phantombot.tv) [Egg](/phantombot/) +#### PhantomBot [Homepage](https://phantombot.tv) [Egg](/bots/twitch/phantombot/) -PhantomBot is an actively developed open source interactive Twitch bot with a vibrant community that provides entertainment and moderation for your channel, allowing you to focus on what matters the most to you - your game and your viewers. \ No newline at end of file +PhantomBot is an actively developed open source interactive Twitch bot with a vibrant community that provides entertainment and moderation for your channel, allowing you to focus on what matters the most to you - your game and your viewers. From 79ecbe0541b5c9a1ddcfca7bbf4818d163e5b30a Mon Sep 17 00:00:00 2001 From: NgLoader Date: Fri, 28 Feb 2020 00:20:31 +0100 Subject: [PATCH 202/413] fix: fixed readme fix: removed duplicated entry --- README.md | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index f83163c8..bc83dabb 100644 --- a/README.md +++ b/README.md @@ -104,13 +104,6 @@ If you are reading this it looks like you are looking to add an egg to your serv * [RocketMod](/steamcmd_servers/unturned/rocketmod/) * [Unturned](/steamcmd_servers/unturned/unturned/) -[Tycoon Games](/tycoon_games/) -* [OpenTTD](/tycoon_games/openttd/) - -[Unreal Engine](/unreal_engine) -* [Tower Unite](/unreal_engine/tower_unite/) -* [Tower Unite](/steamcmd_servers/tower_unite/) - [Terraria](/terraria/) * [tmodloader](/terraria/tmodloader) * [tshock](/terraria/tshock/) @@ -118,6 +111,10 @@ If you are reading this it looks like you are looking to add an egg to your serv [Tycoon Games](/tycoon_games/) * [OpenTTD](/tycoon_games/openttd/) +[Unreal Engine](/unreal_engine) +* [Tower Unite](/unreal_engine/tower_unite/) +* [Tower Unite](/steamcmd_servers/tower_unite/) + [Vintage Story](/vintage_story/vintage_story/) [Xonotic](/xonotic/xonotic/) From 7ba3239cb39806adc146d9da94125f30dc5be5aa Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Fri, 28 Feb 2020 11:45:23 -0500 Subject: [PATCH 203/413] update mindustry installer Changes to install script --- mindustry/egg-mindustry.json | 38 ++++++++++++++++++++++++++---------- 1 file changed, 28 insertions(+), 10 deletions(-) diff --git a/mindustry/egg-mindustry.json b/mindustry/egg-mindustry.json index 8ef29283..86ecfbab 100644 --- a/mindustry/egg-mindustry.json +++ b/mindustry/egg-mindustry.json @@ -3,34 +3,52 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-09-30T04:56:49-04:00", + "exported_at": "2020-02-28T11:43:12-05:00", "name": "Mindustry", "author": "unknown@unknown.com", "description": "Mindustry is a hybrid tower-defense sandbox factory game. Create elaborate supply chains of conveyor belts to feed ammo into your turrets, produce materials to use for building, and defend your structures from waves of enemies.", - "image": "quay.io\/pterodactyl\/core:java", - "startup": "java -jar server-release.jar", + "image": "quay.io\/parkervcp\/pterodactyl-image:debian_openjdk-11", + "startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar server-release.jar port {{SERVER_JARFILE}},name {{SERVER_NAME}},host {{MAPNAME}}", "config": { "files": "{}", - "startup": "{}", + "startup": "{\r\n \"done\": \"Server loaded. \"\r\n}", "logs": "{}", - "stop": "stop" + "stop": "exit" }, "scripts": { "installation": { - "script": "#!\/bin\/ash\r\n# Mindustry Install Script\r\n\r\napk add --no-cache --update curl\r\n\r\nURL=https:\/\/github.com\/Anuken\/Mindustry\/releases\/download\/${VERSION}\/server-release.jar\r\ncd \/mnt\/server\r\necho -e \"Downloading Version ${VERSION}, From ${URL}\"\r\ncurl -L -o server-release.jar ${URL}", - "container": "alpine:3.9", - "entrypoint": "ash" + "script": "#!\/bin\/bash\r\napt update\r\napt -y install curl jq wget\r\n\r\nGITHUB_PACKAGE=Anuken\/Mindustry\r\nMATCH=server-release.jar\r\n\r\ncd \/mnt\/server\r\n\r\nif [ -z ${DOWNLOAD_LINK} ]; then\r\n if [ -z \"${GITHUB_USER}\" ] && [ -z \"${GITHUB_OAUTH_TOKEN}\" ] ; then\r\n echo -e \"using anon api call\"\r\n else\r\n echo -e \"user and oauth token set\"\r\n alias curl='curl -u ${GITHUB_USER}:${GITHUB_OAUTH_TOKEN} '\r\n fi\r\n\r\n ## get release info and download links\r\n LATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\/latest\")\r\n RELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\")\r\n\r\n if [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_LINK=$(echo ${LATEST_JSON} | jq -r '.assets | .[].browser_download_url' | grep -i ${MATCH})\r\n else\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_LINK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH})\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url)\r\n fi\r\n fi\r\nelse\r\n echo -e \"Checking supplied download link\"\r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_LINK}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_LINK}\"\r\n else\r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\necho -e \"running: wget ${DOWNLOAD_LINK}\"\r\nwget ${DOWNLOAD_LINK}", + "container": "debian:buster-slim", + "entrypoint": "bash" } }, "variables": [ { "name": "Version", - "description": "The version to download, Example \"v96\" NOT \"4.0v96\"\r\n\r\nThis would also be the github tag for the release", + "description": "The version to download. Example \"v96\" NOT \"4.0v96\" (default is latest)\r\n\r\nThis would also be the github tag for the release", "env_variable": "VERSION", - "default_value": "v96", + "default_value": "latest", "user_viewable": 1, "user_editable": 1, "rules": "required" + }, + { + "name": "Server Name", + "description": "The server name that shows up in the server list\r\n\r\n(Default: Pterodactyl Testing Server)", + "env_variable": "SERVER_NAME", + "default_value": "A Pterodactyl Hosted Server", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string" + }, + { + "name": "Map Name", + "description": "Default Maps Available: Ancient Caldera, Fork, Fortress, Glacier, Islands, Labyrinth, Maze, Shattered, Tendrils, Triad, Veins, Wasteland.\r\n\r\n(Default: Tendrils)", + "env_variable": "MAPNAME", + "default_value": "Tendrils", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string" } ] } \ No newline at end of file From 3fc1528f815c5c6e632be07089d4c8f39dce9417 Mon Sep 17 00:00:00 2001 From: NgLoader Date: Fri, 28 Feb 2020 19:27:50 +0100 Subject: [PATCH 204/413] feat: added youtube and discord support --- bots/twitch/phantombot/egg-phantom-bot.json | 53 ++++++++++++++++----- 1 file changed, 40 insertions(+), 13 deletions(-) diff --git a/bots/twitch/phantombot/egg-phantom-bot.json b/bots/twitch/phantombot/egg-phantom-bot.json index 7720011c..3f0509fd 100644 --- a/bots/twitch/phantombot/egg-phantom-bot.json +++ b/bots/twitch/phantombot/egg-phantom-bot.json @@ -3,21 +3,21 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-02-27T19:00:56+01:00", + "exported_at": "2020-02-28T19:01:26+01:00", "name": "PhantomBot", "author": "mail@wuffy.eu", "description": "PhantomBot is an actively developed open source interactive Twitch bot with a vibrant community that provides entertainment and moderation for your channel, allowing you to focus on what matters the most to you - your game and your viewers.", - "image": "quay.io\/parkervcp\/pterodactyl-images:debian_openjdk-8-jre", + "image": "quay.io/parkervcp/pterodactyl-images:debian_openjdk-8", "startup": "java -Dinteractive -Xms1m -Dfile.encoding=UTF-8 -jar .\/PhantomBot.jar", "config": { - "files": "{\r\n \"config\/botlogin.txt\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"baseport\": \"{{server.build.default.port}}\",\r\n \"channel\": \"{{server.build.env.CHANNEL_NAME}}\",\r\n \"owner\": \"{{server.build.env.CHANNEL_OWNER}}\",\r\n \"apioauth\": \"{{server.build.env.USER_OAUTH_TOKEN}}\",\r\n \"oauth\": \"{{server.build.env.BOT_OAUTH_TOKEN}}\",\r\n \"paneluser\": \"{{server.build.env.WEBPANEL_USERNAME}}\",\r\n \"panelpassword\": \"{{server.build.env.WEBPANEL_PASSWORD}}\",\r\n \"user\": \"{{server.build.env.BOT_TWITCH_USERNAME}}\"\r\n }\r\n }\r\n}", + "files": "{\r\n \"config\/botlogin.txt\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"baseport\": \"{{server.build.default.port}}\",\r\n \"channel\": \"{{server.build.env.CHANNEL_NAME}}\",\r\n \"owner\": \"{{server.build.env.CHANNEL_OWNER}}\",\r\n \"apioauth\": \"{{server.build.env.USER_OAUTH_TOKEN}}\",\r\n \"oauth\": \"{{server.build.env.BOT_OAUTH_TOKEN}}\",\r\n \"paneluser\": \"{{server.build.env.WEBPANEL_USERNAME}}\",\r\n \"panelpassword\": \"{{server.build.env.WEBPANEL_PASSWORD}}\",\r\n \"user\": \"{{server.build.env.BOT_TWITCH_USERNAME}}\",\r\n \"youtubekey\": \"{{server.build.env.YOUTUBE_API_KEY}}\",\r\n \"discord_token\": \"{{server.build.env.DISCORD_BOT_TOKEN}}\"\r\n }\r\n }\r\n}", "startup": "{\r\n \"done\": \"Connecting to Twitch WS-IRC Server\",\r\n \"userInteraction\": []\r\n}", "logs": "{\r\n \"custom\": true,\r\n \"location\": \"latest.log\"\r\n}", "stop": "^C" }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# PhantomBot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt -y --no-install-recommends install curl ca-certificates unzip\r\n\r\ncd \/tmp\r\n\r\n# Fetching last github release\r\nif [ -z \"${RELEASE_VERSION}\" ] || [ \"${RELEASE_VERSION}\" == \"latest\" ]; then\r\n RELEASE_VERSION=$(curl -s \"https:\/\/github.com\/PhantomBot\/PhantomBot\/releases\/latest\" | grep -o '[0-9].[0-9].[0-9]')\r\nfi\r\necho \"Version: ${RELEASE_VERSION}\"\r\n\r\ncurl -LJO https:\/\/github.com\/PhantomBot\/PhantomBot\/releases\/download\/v${RELEASE_VERSION}\/PhantomBot-${RELEASE_VERSION}.zip\r\nunzip -o PhantomBot-*.zip\r\n\r\necho \"Unzip zip file\"\r\ncd .\/PhantomBot-${RELEASE_VERSION}\r\nmv .\/* \/mnt\/server\/\r\n\r\nif [ ! -f \/mnt\/server\/config\/botlogin.txt ]; then\r\n echo \"Creating config\/botlogin.txt\"\r\n cat << EOF > \/mnt\/server\/config\/botlogin.txt\r\n #PhantomBot Configuration File\r\n apioauth=\r\n baseport=\r\n channel=\r\n oauth=\r\n owner=\r\n panelpassword=\r\n paneluser=\r\n user=\r\nEOF\r\nfi", + "script": "#!\/bin\/bash\r\n# PhantomBot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt -y --no-install-recommends install curl ca-certificates unzip\r\n\r\ncd \/tmp\r\n\r\n# Fetching last github release\r\nif [ -n \"${DOWNLOAD_PATH}\" ]; then\r\n echo -e \"Using download url\"\r\n DOWNLOAD_URL=`eval echo $(echo ${DOWNLOAD_PATH} | sed -e 's\/{{\/${\/g' -e 's\/}}\/}\/g')`\r\nelse\r\n if [ -z \"${RELEASE_VERSION}\" ] || [ \"${RELEASE_VERSION}\" == \"latest\" ]; then\r\n echo -e \"Using latest release version\"\r\n RELEASE_VERSION=$(curl -s \"https:\/\/github.com\/PhantomBot\/PhantomBot\/releases\/latest\" | grep -o '[0-9].[0-9].[0-9]')\r\n else\r\n echo -e \"Using custom release version\"\r\n fi\r\n\r\n DOWNLOAD_URL=https:\/\/github.com\/PhantomBot\/PhantomBot\/releases\/download\/v${RELEASE_VERSION}\/PhantomBot-${RELEASE_VERSION}.zip\r\nfi\r\n\r\n# Downloading\r\ncurl -LJO ${DOWNLOAD_URL}\r\nunzip -o PhantomBot-*.zip\r\n\r\n# Moveing unziped files into the server folder\r\ncp -f -r .\/PhantomBot-*\/* \/mnt\/server\/\r\n\r\n# Creating default config\r\nif [ ! -f \/mnt\/server\/config\/botlogin.txt ]; then\r\n echo -e \"Creating config\/botlogin.txt\"\r\n cat << EOF > \/mnt\/server\/config\/botlogin.txt\r\n #PhantomBot Configuration File\r\n #\r\n # Here is a list wiht all config values:\r\n # https:\/\/community.phantom.bot\/t\/settings-for-botlogin-txt\/78\r\n #\r\n apioauth=\r\n baseport=\r\n channel=\r\n oauth=\r\n owner=\r\n panelpassword=\r\n paneluser=\r\n user=\r\n youtubekey=\r\n discord_token=\r\nEOF\r\nfi", "container": "ubuntu:16.04", "entrypoint": "bash" } @@ -32,6 +32,15 @@ "user_editable": 1, "rules": "max:9" }, + { + "name": "Download Path", + "description": "Using the latest nightly build:\r\nhttps:\/\/raw.githubusercontent.com\/PhantomBot\/nightly-build\/master\/PhantomBot-nightly-lin.zip\r\n\r\nWhen you use the latest nightly build you need to change the docker image to:\r\nquay.io\/parkervcp\/pterodactyl-images:debian_openjdk-13", + "env_variable": "DOWNLOAD_PATH", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "max:512" + }, { "name": "Twitch Channel Name", "description": "Please enter the bot's Twitch username", @@ -50,6 +59,15 @@ "user_editable": 1, "rules": "required|string|max:26" }, + { + "name": "Bot OAuth Token", + "description": "Please note, this OAuth token needs to be generated while you're logged in into the bot's Twitch account.\r\nIf you're not logged in as the bot, please go to https:\/\/twitch.tv\/ and login as the bot.\r\nGet the bot's OAuth token here: https:\/\/twitchapps.com\/tmi\/", + "env_variable": "BOT_OAUTH_TOKEN", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:64" + }, { "name": "Your OAuth Token", "description": "Please note, this OAuth token needs to be generated while you're logged in into your caster account.\r\nIf you're not logged in as the caster, please go to https:\/\/twitch.tv\/ and login as the caster.\r\nGet the your OAuth token here: https:\/\/phantombot.tv\/oauth\/", @@ -68,15 +86,6 @@ "user_editable": 1, "rules": "required|string|max:26" }, - { - "name": "Bot OAuth Token", - "description": "Please note, this OAuth token needs to be generated while you're logged in into the bot's Twitch account.\r\nIf you're not logged in as the bot, please go to https:\/\/twitch.tv\/ and login as the bot.\r\nGet the bot's OAuth token here: https:\/\/twitchapps.com\/tmi\/", - "env_variable": "BOT_OAUTH_TOKEN", - "default_value": "", - "user_viewable": 1, - "user_editable": 1, - "rules": "required|string|max:64" - }, { "name": "Webpanel Username", "description": "Please enter a custom username for the web panel", @@ -94,6 +103,24 @@ "user_viewable": 1, "user_editable": 1, "rules": "required|string|max:2000" + }, + { + "name": "Youtube API Key", + "description": "https:\/\/community.phantom.bot\/t\/acquire-youtube-api-key\/222", + "env_variable": "YOUTUBE_API_KEY", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "max:64" + }, + { + "name": "Discord Bot Token", + "description": "https:\/\/community.phantom.bot\/t\/discord-integration-setup\/64", + "env_variable": "DISCORD_BOT_TOKEN", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "max:64" } ] } \ No newline at end of file From 2c9d0e27fe85b3accb00072e8d8f85bdf67a5d3e Mon Sep 17 00:00:00 2001 From: NgLoader Date: Fri, 28 Feb 2020 19:29:28 +0100 Subject: [PATCH 205/413] fix: fixed docker image --- bots/twitch/phantombot/egg-phantom-bot.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bots/twitch/phantombot/egg-phantom-bot.json b/bots/twitch/phantombot/egg-phantom-bot.json index 3f0509fd..551849e0 100644 --- a/bots/twitch/phantombot/egg-phantom-bot.json +++ b/bots/twitch/phantombot/egg-phantom-bot.json @@ -7,7 +7,7 @@ "name": "PhantomBot", "author": "mail@wuffy.eu", "description": "PhantomBot is an actively developed open source interactive Twitch bot with a vibrant community that provides entertainment and moderation for your channel, allowing you to focus on what matters the most to you - your game and your viewers.", - "image": "quay.io/parkervcp/pterodactyl-images:debian_openjdk-8", + "image": "quay.io\/parkervcp\/pterodactyl-images:debian_openjdk-8-jre", "startup": "java -Dinteractive -Xms1m -Dfile.encoding=UTF-8 -jar .\/PhantomBot.jar", "config": { "files": "{\r\n \"config\/botlogin.txt\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"baseport\": \"{{server.build.default.port}}\",\r\n \"channel\": \"{{server.build.env.CHANNEL_NAME}}\",\r\n \"owner\": \"{{server.build.env.CHANNEL_OWNER}}\",\r\n \"apioauth\": \"{{server.build.env.USER_OAUTH_TOKEN}}\",\r\n \"oauth\": \"{{server.build.env.BOT_OAUTH_TOKEN}}\",\r\n \"paneluser\": \"{{server.build.env.WEBPANEL_USERNAME}}\",\r\n \"panelpassword\": \"{{server.build.env.WEBPANEL_PASSWORD}}\",\r\n \"user\": \"{{server.build.env.BOT_TWITCH_USERNAME}}\",\r\n \"youtubekey\": \"{{server.build.env.YOUTUBE_API_KEY}}\",\r\n \"discord_token\": \"{{server.build.env.DISCORD_BOT_TOKEN}}\"\r\n }\r\n }\r\n}", From 09faa83471d2a875874133584efb03ec524d379e Mon Sep 17 00:00:00 2001 From: NgLoader Date: Fri, 28 Feb 2020 20:03:48 +0100 Subject: [PATCH 206/413] feat: added a latest support Co-Authored-By: Daniel --- vintage_story/vintage_story/egg-vintage-story.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/vintage_story/vintage_story/egg-vintage-story.json b/vintage_story/vintage_story/egg-vintage-story.json index 626cda11..1f2ac2ee 100644 --- a/vintage_story/vintage_story/egg-vintage-story.json +++ b/vintage_story/vintage_story/egg-vintage-story.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-02-27T02:46:01+01:00", + "exported_at": "2020-02-28T20:02:42+01:00", "name": "Vintage Story", "author": "mail@wuffy.eu", "description": "Vintage Story is an uncompromising wilderness survival sandbox game inspired by lovecraftian horror themes. Find yourself in a ruined world reclaimed by nature and permeated by unnerving temporal disturbances. Relive the advent of human civilization, or take your own path.", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/ash\r\n# Vintage Story Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y screen wget curl\r\n\r\ncd mnt\/server\r\n\r\ncurl -o vs_server.tar.gz https:\/\/cdn.vintagestory.at\/gamefiles\/stable\/vs_server_${VERSION}.tar.gz\r\ntar -xzf vs_server.tar.gz", + "script": "#!\/bin\/ash\r\n# Vintage Story Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y screen wget curl\r\n\r\n# Fetching last github release\r\nif [ -z \"${RELEASE_VERSION}\" ] || [ \"${RELEASE_VERSION}\" == \"latest\" ]; then\r\n echo -e \"Using latest release version\"\r\n LATEST=`curl -s4 https:\/\/account.vintagestory.at\/files\/stable\/ | awk -F 'vs_server' '{print $2}' | sed -r '\/^\\s*$\/d' | sed -r 's\/_\/\/' | sed -r 's\/\"\/\/' | sed -r 's\/>\/\/' | grep \".tar.gz$\" | sort --version-sort | tail -n 1`;\r\n DOWNLOAD_URL=https:\/\/account.vintagestory.at\/files\/stable\/vs_server_${LATEST}\r\nelse\r\n echo -e \"Using custom release version\"\r\n DOWNLOAD_URL=https:\/\/account.vintagestory.at\/files\/stable\/vs_server_${RELEASE_VERSION}.tar.gz\r\nfi\r\n\r\ncd \/mnt\/server\/\r\n\r\ncurl -o vs_server.tar.gz ${DOWNLOAD_URL}\r\ntar -xzf vs_server.tar.gz\r\n\r\nrm vs_server.tar.gz", "container": "debian:buster-slim", "entrypoint": "bash" } @@ -35,8 +35,8 @@ { "name": "Version", "description": "", - "env_variable": "VERSION", - "default_value": "1.12.5", + "env_variable": "RELEASE_VERSION", + "default_value": "latest", "user_viewable": 1, "user_editable": 1, "rules": "required|string|max:20" From 57ab5ae695f6449737e9f1ffd2e3f11ba8da0bf4 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sun, 1 Mar 2020 10:23:38 -0500 Subject: [PATCH 207/413] fix port in startup --- mindustry/egg-mindustry.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mindustry/egg-mindustry.json b/mindustry/egg-mindustry.json index 86ecfbab..86b8c309 100644 --- a/mindustry/egg-mindustry.json +++ b/mindustry/egg-mindustry.json @@ -3,12 +3,12 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-02-28T11:43:12-05:00", + "exported_at": "2020-03-01T10:21:04-05:00", "name": "Mindustry", "author": "unknown@unknown.com", "description": "Mindustry is a hybrid tower-defense sandbox factory game. Create elaborate supply chains of conveyor belts to feed ammo into your turrets, produce materials to use for building, and defend your structures from waves of enemies.", "image": "quay.io\/parkervcp\/pterodactyl-image:debian_openjdk-11", - "startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar server-release.jar port {{SERVER_JARFILE}},name {{SERVER_NAME}},host {{MAPNAME}}", + "startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar server-release.jar port {{PORT}},name {{SERVER_NAME}},host {{MAPNAME}}", "config": { "files": "{}", "startup": "{\r\n \"done\": \"Server loaded. \"\r\n}", From 293be5a452b9a406e4726bdca7bb31d7e4d74c2b Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sun, 1 Mar 2020 10:26:26 -0500 Subject: [PATCH 208/413] use correct variable --- mindustry/egg-mindustry.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mindustry/egg-mindustry.json b/mindustry/egg-mindustry.json index 86b8c309..4af7902e 100644 --- a/mindustry/egg-mindustry.json +++ b/mindustry/egg-mindustry.json @@ -3,12 +3,12 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-03-01T10:21:04-05:00", + "exported_at": "2020-03-01T10:26:07-05:00", "name": "Mindustry", "author": "unknown@unknown.com", "description": "Mindustry is a hybrid tower-defense sandbox factory game. Create elaborate supply chains of conveyor belts to feed ammo into your turrets, produce materials to use for building, and defend your structures from waves of enemies.", "image": "quay.io\/parkervcp\/pterodactyl-image:debian_openjdk-11", - "startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar server-release.jar port {{PORT}},name {{SERVER_NAME}},host {{MAPNAME}}", + "startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar server-release.jar port {{SERVER_PORT}},name {{SERVER_NAME}},host {{MAPNAME}}", "config": { "files": "{}", "startup": "{\r\n \"done\": \"Server loaded. \"\r\n}", From d894628f510cdc498b4e2828e730b3e6e22c86fc Mon Sep 17 00:00:00 2001 From: ViViV_ Date: Mon, 2 Mar 2020 12:32:50 +0100 Subject: [PATCH 209/413] Update egg-stationeers .json -Remove server name variable -Change clear time default to 86400 --- .../Stationners/egg-stationeers .json | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/steamcmd_servers/Stationners/egg-stationeers .json b/steamcmd_servers/Stationners/egg-stationeers .json index a7382b09..c5a094d7 100644 --- a/steamcmd_servers/Stationners/egg-stationeers .json +++ b/steamcmd_servers/Stationners/egg-stationeers .json @@ -8,7 +8,7 @@ "author": "sysadmin@whiteshield.ch", "description": "Stationeers Server\r\n\r\ndefault.ini will be created once you start game. Command parameters override default.ini parameters\r\nDon't forget to change the RCON Password !!\r\n\r\nRemote Administrator:\r\nYou can send commands on web browser.\r\nLink : http:\/\/[dedicated server address]:[GamePort]\r\n\r\nDedicated Server Wiki ==> https:\/\/stationeers-wiki.com\/Dedicated_Server_Guide\r\n\r\nStopping the server don't save the game, for manual save use the Remote Administrator.", "image": "quay.io\/pterodactyl\/core:source", - "startup": ".\/rocketstation_DedicatedServer.x86_64 -batchmode -nographics -autostart -autosaveinterval={{SAVE_INTERVAL}} -clearallinterval={{CLEAR_INTERVAL}} -worldtype={{SERVER_MAP}} -worldname={{SAVE_NAME}} -loadworld={{SAVE_NAME}} -basedirectory=\/home\/container -updateport={{UPDATE_PORT}} -gameport={{GAME_PORT}} -servername=\"{{HOSTNAME}}\"", + "startup": ".\/rocketstation_DedicatedServer.x86_64 -batchmode -nographics -autostart -autosaveinterval={{SAVE_INTERVAL}} -clearallinterval={{CLEAR_INTERVAL}} -worldtype={{SERVER_MAP}} -worldname={{SAVE_NAME}} -loadworld={{SAVE_NAME}} -basedirectory=\/home\/container -updateport={{UPDATE_PORT}} -gameport={{GAME_PORT}}", "config": { "files": "{}", "startup": "{\r\n \"done\": \"Dedicated Server Started\",\r\n \"userInteraction\": []\r\n}", @@ -25,7 +25,7 @@ "variables": [ { "name": "Server Map", - "description": "Available Maps: Moon, Mars, Europa, Vulkcain, Space, Mimas, Loulan", + "description": "Available Maps: Moon, Mars, Europa, Vulcan, Space, Mimas, Loulan", "env_variable": "SERVER_MAP", "default_value": "Moon", "user_viewable": 1, @@ -45,7 +45,7 @@ "name": "Auto Clear Disconnected Player", "description": "Clear disconnected player interval in seconds", "env_variable": "CLEAR_INTERVAL", - "default_value": "900", + "default_value": "86400", "user_viewable": 1, "user_editable": 1, "rules": "required|integer" @@ -76,15 +76,6 @@ "user_viewable": 1, "user_editable": 1, "rules": "required|integer" - }, - { - "name": "Server Name", - "description": "The name of your server in the public server list.", - "env_variable": "HOSTNAME", - "default_value": "Stationeers Pterodactyl Server", - "user_viewable": 1, - "user_editable": 1, - "rules": "required|string|max:30" } ] } \ No newline at end of file From aa16af40fcfb519ec46f4e0bab4923cb9cd15b36 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Mon, 2 Mar 2020 18:48:48 -0500 Subject: [PATCH 210/413] add postgres This adds a postgres egg. Needs heavy testing. resolves #447 --- database/postgres/egg-postgres.json | 63 +++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 database/postgres/egg-postgres.json diff --git a/database/postgres/egg-postgres.json b/database/postgres/egg-postgres.json new file mode 100644 index 00000000..bf68fbe4 --- /dev/null +++ b/database/postgres/egg-postgres.json @@ -0,0 +1,63 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2020-03-02T18:46:11-05:00", + "name": "Postgres", + "author": "parker@parkervcp.com", + "description": "A default Postgres install that is not really editable.", + "image": "quay.io\/parkervcp\/pterodactyl-images:db_postgres", + "startup": "postgres -D \/home\/container\/postgres_db\/", + "config": { + "files": "{\r\n \"postgres_db\/postgresql.conf\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n\t\t \"#port =\": \"port = {{server.build.default.port}}\",\r\n \"#external_pid_file =\": \"external_pid_file = '\/home\/container\/postgres_db\/run\/postgres.pid'\",\r\n \"#unix_socket_directories =\": \"unix_socket_directories = '\/home\/container\/postgres_db\/run\/'\"\r\n }\r\n }\r\n}", + "startup": "{\r\n \"done\": \"database system is ready to accept connections\"\r\n}", + "logs": "{}", + "stop": "^C" + }, + "scripts": { + "installation": { + "script": "#! \/bin\/ash\r\nadduser -D -h \/home\/container container\r\n\r\necho $POSTGRES_PASSWORD > .passwd\r\n\r\nchown -R container: \/mnt\/server\/\r\n\r\ncat .passwd\r\n\r\nsu container -c 'initdb -D \/mnt\/server\/postgres_db\/ -A md5 -U container --pwfile .passwd'\r\n\r\nmkdir -p \/mnt\/server\/postgres_db\/run\/\r\n\r\necho -e \"Done\"", + "container": "postgres:11-alpine", + "entrypoint": "ash" + } + }, + "variables": [ + { + "name": "Database Password", + "description": "The Postgres user password that can be changed and should change on server restart.", + "env_variable": "PGPASSWORD", + "default_value": "P@55word", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:20" + }, + { + "name": "SuperUser Password", + "description": "The postgres super user password with a strong default.\r\nYou should be generating new ones for each server.\r\nIf you don't then users can hit other users DB's", + "env_variable": "PGROOT", + "default_value": "ZPWgpMN4hETqjXAV", + "user_viewable": 1, + "user_editable": 0, + "rules": "required|string|max:20" + }, + { + "name": "Postgres User", + "description": "The user for the postgres database", + "env_variable": "PGUSER", + "default_value": "pterodactyl", + "user_viewable": 1, + "user_editable": 0, + "rules": "required|string|max:20" + }, + { + "name": "Postgres Database", + "description": "The postgres databas the user will have access too.", + "env_variable": "PGDATABASE", + "default_value": "pterodactyl", + "user_viewable": 1, + "user_editable": 0, + "rules": "required|string|max:20" + } + ] +} \ No newline at end of file From 5d71f035f999d633f2f07634794bdb671ad4cbf5 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Mon, 2 Mar 2020 18:55:41 -0500 Subject: [PATCH 211/413] update readme files adds postgres readme --- README.md | 1 + database/postgres/README.md | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 database/postgres/README.md diff --git a/README.md b/README.md index d5d9d4b7..e22f5f51 100644 --- a/README.md +++ b/README.md @@ -41,6 +41,7 @@ If you are reading this it looks like you are looking to add an egg to your serv ## Database Eggs [MariaDB](/database/mariadb/) +[PostgreSQL](/database/postgres/) ## Game Eggs diff --git a/database/postgres/README.md b/database/postgres/README.md new file mode 100644 index 00000000..68feb186 --- /dev/null +++ b/database/postgres/README.md @@ -0,0 +1,16 @@ +# PostgreSQL +### From their [Website](https://www.postgresql.org/) +The World's Most Advanced Open Source Relational Database + +### Minimum RAM warning +2 Gigabytes minimum recommended + +See here https://www.commandprompt.com/blog/postgresql_mininum_requirements/ + + +### Server Ports +Ports required to run the server in a table format. + +| Port | default | +|---------|---------| +| Server | 5432 | From 11517b0001d1414bfd8a064ca09b053db9ad17db Mon Sep 17 00:00:00 2001 From: NgLoader Date: Tue, 3 Mar 2020 02:02:41 +0100 Subject: [PATCH 212/413] feat: removed version support (first) feat: added nightly build use for default feat: updated to java 11 --- bots/twitch/phantombot/egg-phantom-bot.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bots/twitch/phantombot/egg-phantom-bot.json b/bots/twitch/phantombot/egg-phantom-bot.json index 551849e0..b072c94d 100644 --- a/bots/twitch/phantombot/egg-phantom-bot.json +++ b/bots/twitch/phantombot/egg-phantom-bot.json @@ -3,11 +3,11 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-02-28T19:01:26+01:00", + "exported_at": "2020-03-03T02:01:35+01:00", "name": "PhantomBot", "author": "mail@wuffy.eu", "description": "PhantomBot is an actively developed open source interactive Twitch bot with a vibrant community that provides entertainment and moderation for your channel, allowing you to focus on what matters the most to you - your game and your viewers.", - "image": "quay.io\/parkervcp\/pterodactyl-images:debian_openjdk-8-jre", + "image": "quay.io\/parkervcp\/pterodactyl-images:debian_openjdk-11", "startup": "java -Dinteractive -Xms1m -Dfile.encoding=UTF-8 -jar .\/PhantomBot.jar", "config": { "files": "{\r\n \"config\/botlogin.txt\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"baseport\": \"{{server.build.default.port}}\",\r\n \"channel\": \"{{server.build.env.CHANNEL_NAME}}\",\r\n \"owner\": \"{{server.build.env.CHANNEL_OWNER}}\",\r\n \"apioauth\": \"{{server.build.env.USER_OAUTH_TOKEN}}\",\r\n \"oauth\": \"{{server.build.env.BOT_OAUTH_TOKEN}}\",\r\n \"paneluser\": \"{{server.build.env.WEBPANEL_USERNAME}}\",\r\n \"panelpassword\": \"{{server.build.env.WEBPANEL_PASSWORD}}\",\r\n \"user\": \"{{server.build.env.BOT_TWITCH_USERNAME}}\",\r\n \"youtubekey\": \"{{server.build.env.YOUTUBE_API_KEY}}\",\r\n \"discord_token\": \"{{server.build.env.DISCORD_BOT_TOKEN}}\"\r\n }\r\n }\r\n}", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# PhantomBot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt -y --no-install-recommends install curl ca-certificates unzip\r\n\r\ncd \/tmp\r\n\r\n# Fetching last github release\r\nif [ -n \"${DOWNLOAD_PATH}\" ]; then\r\n echo -e \"Using download url\"\r\n DOWNLOAD_URL=`eval echo $(echo ${DOWNLOAD_PATH} | sed -e 's\/{{\/${\/g' -e 's\/}}\/}\/g')`\r\nelse\r\n if [ -z \"${RELEASE_VERSION}\" ] || [ \"${RELEASE_VERSION}\" == \"latest\" ]; then\r\n echo -e \"Using latest release version\"\r\n RELEASE_VERSION=$(curl -s \"https:\/\/github.com\/PhantomBot\/PhantomBot\/releases\/latest\" | grep -o '[0-9].[0-9].[0-9]')\r\n else\r\n echo -e \"Using custom release version\"\r\n fi\r\n\r\n DOWNLOAD_URL=https:\/\/github.com\/PhantomBot\/PhantomBot\/releases\/download\/v${RELEASE_VERSION}\/PhantomBot-${RELEASE_VERSION}.zip\r\nfi\r\n\r\n# Downloading\r\ncurl -LJO ${DOWNLOAD_URL}\r\nunzip -o PhantomBot-*.zip\r\n\r\n# Moveing unziped files into the server folder\r\ncp -f -r .\/PhantomBot-*\/* \/mnt\/server\/\r\n\r\n# Creating default config\r\nif [ ! -f \/mnt\/server\/config\/botlogin.txt ]; then\r\n echo -e \"Creating config\/botlogin.txt\"\r\n cat << EOF > \/mnt\/server\/config\/botlogin.txt\r\n #PhantomBot Configuration File\r\n #\r\n # Here is a list wiht all config values:\r\n # https:\/\/community.phantom.bot\/t\/settings-for-botlogin-txt\/78\r\n #\r\n apioauth=\r\n baseport=\r\n channel=\r\n oauth=\r\n owner=\r\n panelpassword=\r\n paneluser=\r\n user=\r\n youtubekey=\r\n discord_token=\r\nEOF\r\nfi", + "script": "#!\/bin\/bash\r\n# PhantomBot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt -y --no-install-recommends install curl ca-certificates unzip\r\n\r\ncd \/tmp\r\n\r\n# Fetching last github release\r\nif [ -n \"${DOWNLOAD_PATH}\" ]; then\r\n echo -e \"Using download url\"\r\n DOWNLOAD_URL=`eval echo $(echo ${DOWNLOAD_PATH} | sed -e 's\/{{\/${\/g' -e 's\/}}\/}\/g')`\r\nelse\r\n if [ -z \"${RELEASE_VERSION}\" ] || [ \"${RELEASE_VERSION}\" == \"latest\" ]; then\r\n echo -e \"Using latest release version\"\r\n RELEASE_VERSION=$(curl -s \"https:\/\/github.com\/PhantomBot\/PhantomBot\/releases\/latest\" | grep -o '[0-9].[0-9].[0-9]')\r\n else\r\n echo -e \"Using custom release version\"\r\n fi\r\n\r\n# DOWNLOAD_URL=https:\/\/github.com\/PhantomBot\/PhantomBot\/releases\/download\/v${RELEASE_VERSION}\/PhantomBot-${RELEASE_VERSION}.zip\r\n DOWNLOAD_URL=https:\/\/raw.githubusercontent.com\/PhantomBot\/nightly-build\/master\/PhantomBot-nightly-lin.zip\r\nfi\r\n\r\n# Downloading\r\ncurl -LJO ${DOWNLOAD_URL}\r\nunzip -o PhantomBot-*.zip\r\n\r\n# Moveing unziped files into the server folder\r\ncp -f -r .\/PhantomBot-*\/* \/mnt\/server\/\r\n\r\n# Creating default config\r\nif [ ! -f \/mnt\/server\/config\/botlogin.txt ]; then\r\n echo -e \"Creating config\/botlogin.txt\"\r\n cat << EOF > \/mnt\/server\/config\/botlogin.txt\r\n #PhantomBot Configuration File\r\n #\r\n # Here is a list wiht all config values:\r\n # https:\/\/community.phantom.bot\/t\/settings-for-botlogin-txt\/78\r\n #\r\n apioauth=\r\n baseport=\r\n channel=\r\n oauth=\r\n owner=\r\n panelpassword=\r\n paneluser=\r\n user=\r\n youtubekey=\r\n discord_token=\r\nEOF\r\nfi", "container": "ubuntu:16.04", "entrypoint": "bash" } From 0ee1fa2e598dcff272076d3b5e337c4396cff3e3 Mon Sep 17 00:00:00 2001 From: NgLoader Date: Tue, 3 Mar 2020 02:43:07 +0100 Subject: [PATCH 213/413] fix: shutdown command --- bots/twitch/phantombot/egg-phantom-bot.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bots/twitch/phantombot/egg-phantom-bot.json b/bots/twitch/phantombot/egg-phantom-bot.json index b072c94d..bd9dd640 100644 --- a/bots/twitch/phantombot/egg-phantom-bot.json +++ b/bots/twitch/phantombot/egg-phantom-bot.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-03-03T02:01:35+01:00", + "exported_at": "2020-03-03T02:42:59+01:00", "name": "PhantomBot", "author": "mail@wuffy.eu", "description": "PhantomBot is an actively developed open source interactive Twitch bot with a vibrant community that provides entertainment and moderation for your channel, allowing you to focus on what matters the most to you - your game and your viewers.", @@ -13,7 +13,7 @@ "files": "{\r\n \"config\/botlogin.txt\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"baseport\": \"{{server.build.default.port}}\",\r\n \"channel\": \"{{server.build.env.CHANNEL_NAME}}\",\r\n \"owner\": \"{{server.build.env.CHANNEL_OWNER}}\",\r\n \"apioauth\": \"{{server.build.env.USER_OAUTH_TOKEN}}\",\r\n \"oauth\": \"{{server.build.env.BOT_OAUTH_TOKEN}}\",\r\n \"paneluser\": \"{{server.build.env.WEBPANEL_USERNAME}}\",\r\n \"panelpassword\": \"{{server.build.env.WEBPANEL_PASSWORD}}\",\r\n \"user\": \"{{server.build.env.BOT_TWITCH_USERNAME}}\",\r\n \"youtubekey\": \"{{server.build.env.YOUTUBE_API_KEY}}\",\r\n \"discord_token\": \"{{server.build.env.DISCORD_BOT_TOKEN}}\"\r\n }\r\n }\r\n}", "startup": "{\r\n \"done\": \"Connecting to Twitch WS-IRC Server\",\r\n \"userInteraction\": []\r\n}", "logs": "{\r\n \"custom\": true,\r\n \"location\": \"latest.log\"\r\n}", - "stop": "^C" + "stop": "exit" }, "scripts": { "installation": { From 5d2811387589a293033b109f3cb3716ae5f6bf51 Mon Sep 17 00:00:00 2001 From: NgLoader Date: Tue, 3 Mar 2020 02:52:09 +0100 Subject: [PATCH 214/413] feat: updated startup command --- bots/twitch/phantombot/egg-phantom-bot.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bots/twitch/phantombot/egg-phantom-bot.json b/bots/twitch/phantombot/egg-phantom-bot.json index bd9dd640..0ea82b12 100644 --- a/bots/twitch/phantombot/egg-phantom-bot.json +++ b/bots/twitch/phantombot/egg-phantom-bot.json @@ -3,12 +3,12 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-03-03T02:42:59+01:00", + "exported_at": "2020-03-03T02:51:46+01:00", "name": "PhantomBot", "author": "mail@wuffy.eu", "description": "PhantomBot is an actively developed open source interactive Twitch bot with a vibrant community that provides entertainment and moderation for your channel, allowing you to focus on what matters the most to you - your game and your viewers.", "image": "quay.io\/parkervcp\/pterodactyl-images:debian_openjdk-11", - "startup": "java -Dinteractive -Xms1m -Dfile.encoding=UTF-8 -jar .\/PhantomBot.jar", + "startup": "java --add-opens java.base\/java.lang=ALL-UNNAMED -Djava.security.policy=config\/security -Dinteractive -Xms1m -Dfile.encoding=UTF-8 -jar PhantomBot.jar", "config": { "files": "{\r\n \"config\/botlogin.txt\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"baseport\": \"{{server.build.default.port}}\",\r\n \"channel\": \"{{server.build.env.CHANNEL_NAME}}\",\r\n \"owner\": \"{{server.build.env.CHANNEL_OWNER}}\",\r\n \"apioauth\": \"{{server.build.env.USER_OAUTH_TOKEN}}\",\r\n \"oauth\": \"{{server.build.env.BOT_OAUTH_TOKEN}}\",\r\n \"paneluser\": \"{{server.build.env.WEBPANEL_USERNAME}}\",\r\n \"panelpassword\": \"{{server.build.env.WEBPANEL_PASSWORD}}\",\r\n \"user\": \"{{server.build.env.BOT_TWITCH_USERNAME}}\",\r\n \"youtubekey\": \"{{server.build.env.YOUTUBE_API_KEY}}\",\r\n \"discord_token\": \"{{server.build.env.DISCORD_BOT_TOKEN}}\"\r\n }\r\n }\r\n}", "startup": "{\r\n \"done\": \"Connecting to Twitch WS-IRC Server\",\r\n \"userInteraction\": []\r\n}", From 4857c63f9f7b5751695da740cf18c854804ab095 Mon Sep 17 00:00:00 2001 From: Elias Knodel Date: Tue, 3 Mar 2020 15:34:49 +0100 Subject: [PATCH 215/413] Update CONTRIBUTING.md --- CONTRIBUTING.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9662ccc9..6f1cd8ca 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -36,11 +36,11 @@ The Pterodactyl install process is fairly simple once you know. Make sure your install process is rock solid as I will be testing eggs before they ever hit my repo. -I will make sugestions and changes at will. +I will make suggestions and changes at will. This is to maintain a clean repo that others can pull and be fully aware of what is being done. ## Step 3. #### Make a branch and do your work in there. -I have been getting messy PR's due to people always PRing from their master branch. Please make a branch and PR from there, +I have been getting messy PR's due to people always PRing from their master branch. Please make a branch and PR from there. From a3d305ed7d470b5207daa20d8917507989e2f929 Mon Sep 17 00:00:00 2001 From: Elias Knodel Date: Tue, 3 Mar 2020 15:43:34 +0100 Subject: [PATCH 216/413] Update CONTRIBUTING.md --- CONTRIBUTING.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6f1cd8ca..7628dda1 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -12,7 +12,7 @@ If you need something in a container PR it to [my image repo](https://github.com/parkervcp/images) where I can review and pull up to the main repo. 4. Don't be afraid to submit PR's to the egg repo. - I dont bite. I will work with you on the egg and the required things to run it. + I don't bite. I will work with you on the egg and the required things to run it. ## Step 1. #### Be aware of the pterodactyl install process. @@ -43,4 +43,4 @@ This is to maintain a clean repo that others can pull and be fully aware of what ## Step 3. #### Make a branch and do your work in there. -I have been getting messy PR's due to people always PRing from their master branch. Please make a branch and PR from there. +I have been getting messy PR's due to people always PRing from their master branch. Please make a seperate branch and PR from there. From c8f2b3a73ceca93db98d3d9372b77722f0c64fc7 Mon Sep 17 00:00:00 2001 From: "Michael (Parker) Parker" Date: Wed, 4 Mar 2020 09:54:41 -0500 Subject: [PATCH 217/413] update installer version to postgres 12.2 --- database/postgres/egg-postgres.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/database/postgres/egg-postgres.json b/database/postgres/egg-postgres.json index bf68fbe4..59368cf9 100644 --- a/database/postgres/egg-postgres.json +++ b/database/postgres/egg-postgres.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-03-02T18:46:11-05:00", + "exported_at": "2020-03-04T09:53:34-05:00", "name": "Postgres", "author": "parker@parkervcp.com", "description": "A default Postgres install that is not really editable.", @@ -18,7 +18,7 @@ "scripts": { "installation": { "script": "#! \/bin\/ash\r\nadduser -D -h \/home\/container container\r\n\r\necho $POSTGRES_PASSWORD > .passwd\r\n\r\nchown -R container: \/mnt\/server\/\r\n\r\ncat .passwd\r\n\r\nsu container -c 'initdb -D \/mnt\/server\/postgres_db\/ -A md5 -U container --pwfile .passwd'\r\n\r\nmkdir -p \/mnt\/server\/postgres_db\/run\/\r\n\r\necho -e \"Done\"", - "container": "postgres:11-alpine", + "container": "postgres:12.2-alpine", "entrypoint": "ash" } }, From 00f3a4f080f9d5e4aacb16b09fbc2b53f211398e Mon Sep 17 00:00:00 2001 From: "Michael (Parker) Parker" Date: Wed, 4 Mar 2020 13:24:17 -0500 Subject: [PATCH 218/413] add redis egg --- README.md | 2 +- database/README.md | 9 ++++++--- database/redis/README.md | 16 ++++++++++++++++ database/redis/egg-redis.json | 36 +++++++++++++++++++++++++++++++++++ 4 files changed, 59 insertions(+), 4 deletions(-) create mode 100644 database/redis/README.md create mode 100644 database/redis/egg-redis.json diff --git a/README.md b/README.md index f72a5a75..5387aae8 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,7 @@ If you are reading this it looks like you are looking to add an egg to your serv ## Database Eggs [MariaDB](/database/mariadb/) - +[Redis](/database/redis/) ## Game Eggs [ET Legacy](/enemy_territory/etlegacy/) diff --git a/database/README.md b/database/README.md index 66e60c2b..c040f047 100644 --- a/database/README.md +++ b/database/README.md @@ -2,8 +2,11 @@ ## sql DBs -### [mariadb](/database/mariadb/) +### [mariadb](/mariadb/) https://mariadb.org/ -### [postgres](/database/postgres/) - https://www.postgresql.org/ \ No newline at end of file +### [postgres](/postgres/) + https://www.postgresql.org/ + +### [redis](/redis/) + https://redis.io/ \ No newline at end of file diff --git a/database/redis/README.md b/database/redis/README.md new file mode 100644 index 00000000..4c89fc87 --- /dev/null +++ b/database/redis/README.md @@ -0,0 +1,16 @@ +# Redis +### From their [Website](https://redis.io/) +Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. + +### Minimum RAM warning +It's recommended to have 4gb of RAM for redis + +See here https://docs.redislabs.com/latest/rs/administering/designing-production/hardware-requirements/ + + +### Server Ports +Ports required to run the server in a table format. + +| Port | default | +|---------|---------| +| Server | 6379 | diff --git a/database/redis/egg-redis.json b/database/redis/egg-redis.json new file mode 100644 index 00000000..6ac93d66 --- /dev/null +++ b/database/redis/egg-redis.json @@ -0,0 +1,36 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2020-03-04T11:05:29-05:00", + "name": "Redis", + "author": "parker@parkervcp.com", + "description": "Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes with radius queries and streams.", + "image": "quay.io\/parkervcp\/pterodactyl-images:db_redis", + "startup": "redis-server --bind 0.0.0.0 --port {{SERVER_PORT}} --requirepass {{SERVER_PASSWORD}} --maxmemory {{SERVER_MEMORY}}mb --daemonize yes && redis-cli -p {{SERVER_PORT}} -a {{SERVER_PASSWORD}} && redis-cli -p {{SERVER_PORT}} -a {{SERVER_PASSWORD}} shutdown save", + "config": { + "files": "{}", + "startup": "{\r\n \"done\": \"Configuration loaded\"\r\n}", + "logs": "{}", + "stop": "exit" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/ash\r\n# Redis Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\nsleep 5\r\necho -e \"Install complete. Made this to not have issues.\"", + "container": "alpine:3.10", + "entrypoint": "ash" + } + }, + "variables": [ + { + "name": "Redis Password", + "description": "The password redis should use to secure the server.", + "env_variable": "SERVER_PASSWORD", + "default_value": "P@55w0rd", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string" + } + ] +} \ No newline at end of file From ea75734ba54865373dbd409637bfb3218cb1d514 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sun, 8 Mar 2020 22:55:56 -0400 Subject: [PATCH 219/413] update readme files --- README.md | 1 + minecraft_java/README.md | 4 ++++ minecraft_java/magma/README.md | 11 +++++++++++ 3 files changed, 16 insertions(+) create mode 100644 minecraft_java/magma/README.md diff --git a/README.md b/README.md index f72a5a75..bef4cabd 100644 --- a/README.md +++ b/README.md @@ -68,6 +68,7 @@ If you are reading this it looks like you are looking to add an egg to your serv * [Cuberite](/minecraft_java/cuberite/) * [Forge](/minecraft_java/forge/) * [Feed The Beast](/minecraft_java/ftb/) +* [Magma](/minecraft/magma/) * [Paper](/minecraft_java/paper) * [Spigot](/minecraft_java/spigot/) * [spongeforge](/minecraft_java/spongeforge/) diff --git a/minecraft_java/README.md b/minecraft_java/README.md index 68d2b300..a3e9ed34 100644 --- a/minecraft_java/README.md +++ b/minecraft_java/README.md @@ -29,6 +29,10 @@ Supply values to 2 variables to use [FTB Revelation](https://www.feed-the-beast.com/projects/ftb-revelation) Revelation is a general all-purpose modpack with optimal FPS, server performance and stability. +## Magma +[Magma](https://magmafoundation.org/) +Magma is most powerful Forge server providing you with Forge mods and Bukkit Plugins using Spigot and Paper for Performance Optimization and Stability. + ## Paper Currently the default on pterodactyl for many reasons. First being that you don't need to build the jar. diff --git a/minecraft_java/magma/README.md b/minecraft_java/magma/README.md new file mode 100644 index 00000000..51847897 --- /dev/null +++ b/minecraft_java/magma/README.md @@ -0,0 +1,11 @@ +# Magma + +Magma is most powerful Forge server providing you with Forge mods and Bukkit Plugins using Spigot and Paper for Performance Optimization and Stability. + +## 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 | \ No newline at end of file From 2b9fa70addec226a83dcc30d426c285129957c93 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sun, 8 Mar 2020 22:57:01 -0400 Subject: [PATCH 220/413] add egg files --- minecraft_java/magma/egg-magma.json | 63 +++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 minecraft_java/magma/egg-magma.json diff --git a/minecraft_java/magma/egg-magma.json b/minecraft_java/magma/egg-magma.json new file mode 100644 index 00000000..3d9a39bd --- /dev/null +++ b/minecraft_java/magma/egg-magma.json @@ -0,0 +1,63 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2020-03-08T22:56:37-04:00", + "name": "Magma", + "author": "support@pterodactyl.io", + "description": "Magma is most powerful Forge server providing you with Forge mods and Bukkit Plugins using Spigot and Paper for Performance Optimization and Stability.", + "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 }\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": "## this is a simple script to use the github API for release versions.\r\n## this requires the egg has a variable for GITHUB_PACKAGE, VERSION and MATCH (match is to match the filename in some way)\r\n## this supports using oauth\/personal access tokens via GITHUB_USER and GITHUB_OAUTH_TOKEN (both are required.)\r\n## if you are getting hit with GitHub API limit issues then you need to have the user and token set.\r\n\r\napk add --no-cache curl\r\n\r\n## get latest download link\r\necho -e \"Set to download the ${BUILD} build\"\r\nif [ ${BUILD} == \"dev\" ]; then\r\n echo -e \"dev tag is ${tag}\"\r\nfi\r\n\r\ncase EXPRES${BUILD}SION in\r\n\r\n \"recommended\" | \"stable\" | \"latest\")\r\n DOWNLOAD_URL=$(https:\/\/api.magmafoundation.org\/api\/resources\/magma\/${VANILLA_VERSION}\/stable\/latest\/download)\r\n ;;\r\n\r\n \"dev\")\r\n DOWNLOAD_URL=$(https:\/\/api.magmafoundation.org\/api\/resources\/magma\/${VANILLA_VERSION}\/dev\/${TAG}\/download)\r\n ;;\r\n\r\n *)\r\n DOWNLOAD_URL=$(https:\/\/api.magmafoundation.org\/api\/resources\/magma\/${VANILLA_VERSION}\/stable\/latest\/download)\r\n ;;\r\nesac\r\n\r\n## validate download link\r\nif [ ! -z \"${DOWNLOAD_URL}\"] ; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_URL}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n DOWNLOAD_LINK=${DOWNLOAD_URL}\r\n else \r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\n# Adding '.jar' if it isn't part of the file name\r\nif [[ ! ${SERVER_JARFILE} = *\\.jar ]]; then\r\n SERVER_JARFILE=\"${SERVER_JARFILE}.jar\"\r\nfi\r\n\r\n## mv old server files\r\nif [ -f ${SERVER_JARFILE} ]; then\r\n mv ${SERVER_JARFILE} ${SERVER_JARFILE}.old\r\nfi\r\n\r\n## download files\r\necho -e \"running: curl -sSL -o ${SERVER_JARFILE} ${DOWNLOAD_LINK}\"\r\ncurl -sSL -o ${SERVER_JARFILE} ${DOWNLOAD_LINK}\r\n\r\necho -e \"Install Complete\"", + "container": "alpine:3.10", + "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.\r\n\r\nOnly version currently supported is 1.12.2 as that is all there are builds for.", + "env_variable": "VANILLA_VERSION", + "default_value": "1.12.2", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|between:3,15" + }, + { + "name": "Magma Build", + "description": "What version of magma to download.\r\n\r\nrecommended, stable, latest = current stable\r\ndev = latest dev build", + "env_variable": "BUILD", + "default_value": "latest", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:20" + }, + { + "name": "Magma Dev Tag", + "description": "The dev tagged version to download. default is latest.", + "env_variable": "TAG", + "default_value": "latest", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:20" + } + ] +} \ No newline at end of file From af7b4309a1bc851c94a39d22a389105461602b2f Mon Sep 17 00:00:00 2001 From: wisty Date: Mon, 9 Mar 2020 02:02:29 -0400 Subject: [PATCH 221/413] replace scpsl egg with new egg --- .../scpsl-dedicated/egg-scpsl.json | 41 +++++++++++-------- 1 file changed, 25 insertions(+), 16 deletions(-) diff --git a/steamcmd_servers/scpsl-dedicated/egg-scpsl.json b/steamcmd_servers/scpsl-dedicated/egg-scpsl.json index fff58d92..aa82175e 100644 --- a/steamcmd_servers/scpsl-dedicated/egg-scpsl.json +++ b/steamcmd_servers/scpsl-dedicated/egg-scpsl.json @@ -3,34 +3,43 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-01-29T19:54:33+01:00", - "name": "SCP:SL", - "author": "info@goover.de", - "description": "Egg for SCP: Secret Laboratory Dedicated Linux Server", + "exported_at": "2020-03-09T01:05:52-04:00", + "name": "SCP: Secret Laboratory", + "author": "lumi@hedr.al", + "description": "The latest vanilla version of SCP:SL running through MultiAdmin for compatibility. LocalAdmin does not work. No SMod2.", "image": "quay.io\/parkervcp\/pterodactyl-images:debian_mono-5-complete", - "startup": ".\/LocalAdmin {{SERVER_PORT}}", + "startup": "mono MultiAdmin.exe --port {{SERVER_PORT}}", "config": { - "files": "{\r\n \"config_gameplay.txt\": {\r\n \"parser\": \"yaml\",\r\n \"find\": {\r\n \"server_ip\": \"0.0.0.0\",\r\n \"forward_ports\": \"false\"\r\n }\r\n }\r\n}", - "startup": "{\r\n \"done\": \"Waiting for players..\",\r\n \"userInteraction\": []\r\n}", + "files": "{\r\n \"scp_multiadmin.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"use_new_input_system: true\": \"use_new_input_system: false\",\r\n \"max_players:\": \"max_players: {{server.build.env.MAX_PLAYERS}}\"\r\n }\r\n },\r\n \".config\/SCP Secret Laboratory\/config\/{{SERVER_PORT}}\/config_gameplay.txt\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"server_ip:\": \"server_ip: 0.0.0.0\",\r\n \"forward_ports: true\": \"forward_ports: false\",\r\n \"contact_email:\": \"contact_email: {{server.build.env.CONTACT_EMAIL}}\",\r\n \"max_players:\": \"max_players: {{server.build.env.MAX_PLAYERS}}\"\r\n }\r\n }\r\n}", + "startup": "{\r\n \"done\": \"Waiting for players\",\r\n \"userInteraction\": []\r\n}", "logs": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}", - "stop": "^C" + "stop": "EXIT" }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'debian:buster-slim'\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n#echo 'gamedir_for_configs: true' >> \/mnt\/server\/hoster_policy.txt\r\n#chmod +x \/mnt\/server\/hoster_policy.txt\r\n\r\n#URL=$(curl https:\/\/api.github.com\/repos\/Grover-c13\/MultiAdmin\/releases\/latest | grep browser_download_url | cut -d '\"' -f 4)\r\n#wget -P \/mnt\/server\/ $URL\r\n#chmod +x \/mnt\/server\/MultiAdmin.exe\r\n\r\n#SmodVersion=$(curl https:\/\/api.github.com\/repos\/Grover-c13\/Smod2\/releases\/latest | grep tag_name | cut -d '\"' -f 4)\r\n#AssemblyURL=\"https:\/\/github.com\/Grover-c13\/Smod2\/releases\/download\/${SmodVersion}\/Assembly-CSharp.dll\"\r\n#SmodURL=\"https:\/\/github.com\/Grover-c13\/Smod2\/releases\/download\/${SmodVersion}\/Smod2.dll\"\r\n#wget -O \/mnt\/server\/SCPSL_Data\/Managed\/Smod2.dll $SmodURL\r\n#wget -O \/mnt\/server\/SCPSL_Data\/Managed\/Assembly-CSharp.dll $AssemblyURL\r\n#chmod +x \/mnt\/server\/SCPSL_Data\/Managed\/Smod2.dll\r\n#chmod +x \/mnt\/server\/SCPSL_Data\/Managed\/Assembly-CSharp.dll", - "container": "debian:buster-slim", + "script": "# Downloads SteamCMD\r\napt update\r\napt -y --no-install-recommends install curl unzip lib32gcc1 ca-certificates wget\r\ncd \/tmp\r\ncurl -sSL -o steamcmd.tar.gz http:\/\/media.steampowered.com\/installer\/steamcmd_linux.tar.gz\r\n\r\n# Extracts SteamCMD\r\nmkdir -p \/mnt\/server\/steam\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steam\r\ncd \/mnt\/server\/steam\r\nchown -R root:root \/mnt\r\n\r\n# Downloads the server\r\nexport HOME=\/mnt\/server\r\n.\/steamcmd.sh +login anonymous +force_install_dir \/mnt\/server +app_update 996560 +quit\r\n\r\n# Hoster policy\r\necho 'gamedir_for_configs: true' >> \/mnt\/server\/hoster_policy.txt\r\nchmod +x \/mnt\/server\/hoster_policy.txt\r\n\r\n# Downloads MultiAdmin\r\nURL=$(curl https:\/\/api.github.com\/repos\/Grover-c13\/MultiAdmin\/releases\/latest | grep browser_download_url | cut -d '\"' -f 4)\r\nwget -P \/mnt\/server\/ $URL\r\nchmod +x \/mnt\/server\/MultiAdmin.exe\r\n\r\n# Compatibility fix for MultiAdmin\r\necho \"use_new_input_system: false\" >> \/mnt\/server\/scp_multiadmin.cfg\r\necho \"max_players: 20\" >> \/mnt\/server\/scp_multiadmin.cfg", + "container": "ubuntu:latest", "entrypoint": "bash" } }, "variables": [ { - "name": "SRCDS_APPID", - "description": "", - "env_variable": "SRCDS_APPID", - "default_value": "996560", - "user_viewable": 1, + "name": "Contact Email", + "description": "A contact email is required for this server to show up on the public server list. Leave \"default\" to opt out.", + "env_variable": "CONTACT_EMAIL", + "default_value": "default", + "user_viewable": 0, "user_editable": 0, - "rules": "required|string|max:20" + "rules": "required|string|max:254" + }, + { + "name": "Max Players", + "description": "This will change the maximum player count.", + "env_variable": "MAX_PLAYERS", + "default_value": "20", + "user_viewable": 0, + "user_editable": 0, + "rules": "required|integer" } ] } \ No newline at end of file From 7d018e6f3b5057260f5d1f265a92cad7cfb4036c Mon Sep 17 00:00:00 2001 From: wisty Date: Mon, 9 Mar 2020 02:03:15 -0400 Subject: [PATCH 222/413] Update README.md --- steamcmd_servers/scpsl-dedicated/README.md | 34 ++++++++++------------ 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/steamcmd_servers/scpsl-dedicated/README.md b/steamcmd_servers/scpsl-dedicated/README.md index 60411e1b..f5529fb9 100644 --- a/steamcmd_servers/scpsl-dedicated/README.md +++ b/steamcmd_servers/scpsl-dedicated/README.md @@ -1,31 +1,29 @@ # SCP: Secret Laboratory -SCP: Secret Laboratory Dedicated Linux Server AddID: [996560](https://steamdb.info/app/996560/) +SCP: Secret Laboratory Pterodactyl egg. Works with MP2. Steam AppID: [996560](https://steamdb.info/app/996560/) -This Server is NOT compatible with ServerMod2 or MultiAdmin +This server is **NOT** compatible with SMod2 due to it not being updated for MP2. + +This server is **NOT** compatible with LocalAdmin due to server input causing it to crash. MultiAdmin with a config option is used instead. -### Minimum RAM warning -Minimum required memory to run the server: 3096 MB +### Minimum RAM +Minimum memory required to run the server: 3096 MB -### Server Ports -Ports required to run the server in a table format. +### Server Port +Default port required to run the server. -| Port | default | +| Port | Default | |---------|---------| | Game | 7777 | + ### Verification -The server must be verified to be visible in the Server Browser. +The server must be verified with the SCP:SL developers in order for it to be visible in the server browser. -Before requesting verification make sure your server follows the [Verified Server Rules](https://scpslgame.com/Verified_server_rules.pdf). - -#### Requesting Verification -Once ready send an email to server.verification@scpslgame.com with the following info: - -* The server's external IPv4 address -* The port used by the server -* If the server IP is static or dynamic - -#### Mods/Plugins may require ports to be added to the server. +Instructions are as follows: +* Make sure your server complies with the [Verified Server Rules](https://scpslgame.com/Verified_server_rules.pdf). +* Send an email to `server.verification@scpslgame.com` from your configured contact email with the following information: + 1. The **public** IPv4 address of your server, with port. e.g. `69.69.69.69:7777` + 2. If the server's IP is static or dynamic. From cb71f9478da9e04e01a7cdc5599440b94ae36466 Mon Sep 17 00:00:00 2001 From: wisty Date: Mon, 9 Mar 2020 22:19:54 -0400 Subject: [PATCH 223/413] move to different egg --- steamcmd_servers/{scpsl-dedicated => scpsl-multiadmin}/README.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename steamcmd_servers/{scpsl-dedicated => scpsl-multiadmin}/README.md (100%) diff --git a/steamcmd_servers/scpsl-dedicated/README.md b/steamcmd_servers/scpsl-multiadmin/README.md similarity index 100% rename from steamcmd_servers/scpsl-dedicated/README.md rename to steamcmd_servers/scpsl-multiadmin/README.md From 3051211492238896b21d2f753b0abfdf55ed0fde Mon Sep 17 00:00:00 2001 From: wisty Date: Mon, 9 Mar 2020 22:20:27 -0400 Subject: [PATCH 224/413] move to different egg --- .../{scpsl-dedicated => scpsl-multiadmin}/egg-scpsl.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename steamcmd_servers/{scpsl-dedicated => scpsl-multiadmin}/egg-scpsl.json (99%) diff --git a/steamcmd_servers/scpsl-dedicated/egg-scpsl.json b/steamcmd_servers/scpsl-multiadmin/egg-scpsl.json similarity index 99% rename from steamcmd_servers/scpsl-dedicated/egg-scpsl.json rename to steamcmd_servers/scpsl-multiadmin/egg-scpsl.json index aa82175e..d60f3a3f 100644 --- a/steamcmd_servers/scpsl-dedicated/egg-scpsl.json +++ b/steamcmd_servers/scpsl-multiadmin/egg-scpsl.json @@ -42,4 +42,4 @@ "rules": "required|integer" } ] -} \ No newline at end of file +} From 0ea697ff4d2b84473599b11fe8bcb263d355a00b Mon Sep 17 00:00:00 2001 From: wisty Date: Mon, 9 Mar 2020 22:21:31 -0400 Subject: [PATCH 225/413] restore old egg --- steamcmd_servers/scpsl-dedicated/a | 1 + 1 file changed, 1 insertion(+) create mode 100644 steamcmd_servers/scpsl-dedicated/a diff --git a/steamcmd_servers/scpsl-dedicated/a b/steamcmd_servers/scpsl-dedicated/a new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/steamcmd_servers/scpsl-dedicated/a @@ -0,0 +1 @@ + From bb64abdb0a8f5ec9f82ed737bb97d6b8117499f6 Mon Sep 17 00:00:00 2001 From: wisty Date: Mon, 9 Mar 2020 22:24:08 -0400 Subject: [PATCH 226/413] restore old egg --- steamcmd_servers/scpsl-dedicated/README.md | 31 ++++++++++++++++ .../scpsl-dedicated/egg-scpsl.json | 36 +++++++++++++++++++ 2 files changed, 67 insertions(+) create mode 100644 steamcmd_servers/scpsl-dedicated/README.md create mode 100644 steamcmd_servers/scpsl-dedicated/egg-scpsl.json diff --git a/steamcmd_servers/scpsl-dedicated/README.md b/steamcmd_servers/scpsl-dedicated/README.md new file mode 100644 index 00000000..60411e1b --- /dev/null +++ b/steamcmd_servers/scpsl-dedicated/README.md @@ -0,0 +1,31 @@ +# SCP: Secret Laboratory +SCP: Secret Laboratory Dedicated Linux Server AddID: [996560](https://steamdb.info/app/996560/) + +This Server is NOT compatible with ServerMod2 or MultiAdmin + + +### Minimum RAM warning +Minimum required memory to run the server: 3096 MB + + +### Server Ports +Ports required to run the server in a table format. + +| Port | default | +|---------|---------| +| Game | 7777 | + +### Verification + +The server must be verified to be visible in the Server Browser. + +Before requesting verification make sure your server follows the [Verified Server Rules](https://scpslgame.com/Verified_server_rules.pdf). + +#### Requesting Verification +Once ready send an email to server.verification@scpslgame.com with the following info: + +* The server's external IPv4 address +* The port used by the server +* If the server IP is static or dynamic + +#### Mods/Plugins may require ports to be added to the server. diff --git a/steamcmd_servers/scpsl-dedicated/egg-scpsl.json b/steamcmd_servers/scpsl-dedicated/egg-scpsl.json new file mode 100644 index 00000000..fff58d92 --- /dev/null +++ b/steamcmd_servers/scpsl-dedicated/egg-scpsl.json @@ -0,0 +1,36 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2020-01-29T19:54:33+01:00", + "name": "SCP:SL", + "author": "info@goover.de", + "description": "Egg for SCP: Secret Laboratory Dedicated Linux Server", + "image": "quay.io\/parkervcp\/pterodactyl-images:debian_mono-5-complete", + "startup": ".\/LocalAdmin {{SERVER_PORT}}", + "config": { + "files": "{\r\n \"config_gameplay.txt\": {\r\n \"parser\": \"yaml\",\r\n \"find\": {\r\n \"server_ip\": \"0.0.0.0\",\r\n \"forward_ports\": \"false\"\r\n }\r\n }\r\n}", + "startup": "{\r\n \"done\": \"Waiting for players..\",\r\n \"userInteraction\": []\r\n}", + "logs": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}", + "stop": "^C" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'debian:buster-slim'\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n#echo 'gamedir_for_configs: true' >> \/mnt\/server\/hoster_policy.txt\r\n#chmod +x \/mnt\/server\/hoster_policy.txt\r\n\r\n#URL=$(curl https:\/\/api.github.com\/repos\/Grover-c13\/MultiAdmin\/releases\/latest | grep browser_download_url | cut -d '\"' -f 4)\r\n#wget -P \/mnt\/server\/ $URL\r\n#chmod +x \/mnt\/server\/MultiAdmin.exe\r\n\r\n#SmodVersion=$(curl https:\/\/api.github.com\/repos\/Grover-c13\/Smod2\/releases\/latest | grep tag_name | cut -d '\"' -f 4)\r\n#AssemblyURL=\"https:\/\/github.com\/Grover-c13\/Smod2\/releases\/download\/${SmodVersion}\/Assembly-CSharp.dll\"\r\n#SmodURL=\"https:\/\/github.com\/Grover-c13\/Smod2\/releases\/download\/${SmodVersion}\/Smod2.dll\"\r\n#wget -O \/mnt\/server\/SCPSL_Data\/Managed\/Smod2.dll $SmodURL\r\n#wget -O \/mnt\/server\/SCPSL_Data\/Managed\/Assembly-CSharp.dll $AssemblyURL\r\n#chmod +x \/mnt\/server\/SCPSL_Data\/Managed\/Smod2.dll\r\n#chmod +x \/mnt\/server\/SCPSL_Data\/Managed\/Assembly-CSharp.dll", + "container": "debian:buster-slim", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "SRCDS_APPID", + "description": "", + "env_variable": "SRCDS_APPID", + "default_value": "996560", + "user_viewable": 1, + "user_editable": 0, + "rules": "required|string|max:20" + } + ] +} \ No newline at end of file From aed2df31048af708f5381de89f78a684b7dcf044 Mon Sep 17 00:00:00 2001 From: wisty Date: Mon, 9 Mar 2020 22:24:43 -0400 Subject: [PATCH 227/413] remove this bc i use github web and it sucks --- steamcmd_servers/scpsl-dedicated/a | 1 - 1 file changed, 1 deletion(-) delete mode 100644 steamcmd_servers/scpsl-dedicated/a diff --git a/steamcmd_servers/scpsl-dedicated/a b/steamcmd_servers/scpsl-dedicated/a deleted file mode 100644 index 8b137891..00000000 --- a/steamcmd_servers/scpsl-dedicated/a +++ /dev/null @@ -1 +0,0 @@ - From 2d8ffe0f6a8f090c1ec8346133c04d0d2e4e2d8e Mon Sep 17 00:00:00 2001 From: Julian LADJANI Date: Fri, 13 Mar 2020 22:56:48 +0100 Subject: [PATCH 228/413] fix: jts3servermod egg ubuntu version --- bots/teamspeak3/jts3servermod/egg-j-t-s3-server-mod.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bots/teamspeak3/jts3servermod/egg-j-t-s3-server-mod.json b/bots/teamspeak3/jts3servermod/egg-j-t-s3-server-mod.json index c6094ad2..8bdf21d3 100644 --- a/bots/teamspeak3/jts3servermod/egg-j-t-s3-server-mod.json +++ b/bots/teamspeak3/jts3servermod/egg-j-t-s3-server-mod.json @@ -18,7 +18,7 @@ "scripts": { "installation": { "script": "#!\/bin\/bash\r\n# JTS3ServerMod\r\n#\r\n# Server Files: \/mnt\/server\r\napt -y update\r\napt -y install wget unzip\r\n\r\ncd \/tmp\r\n\r\nif [ -z \"$SERVER_VERSION\" ] || [ \"$SERVER_VERSION\" == \"latest\" ]; then\r\n wget -q -O JTS3ServerMod.zip 'https:\/\/www.stefan1200.de\/dlrequest.php?file=jts3servermod&type=.zip'\r\nelse\r\n wget -q -O JTS3ServerMod.zip 'https:\/\/www.stefan1200.de\/downloads\/JTS3ServerMod_$SERVER_VERSION.zip'\r\nfi\r\n\r\nunzip JTS3ServerMod.zip\r\n\r\nmkdir -p \/mnt\/server\r\nexport HOME=\/mnt\/server\r\n\r\nmv \/tmp\/JTS3ServerMod\/* \/mnt\/server\/", - "container": "ubuntu:18.10", + "container": "ubuntu:18.04", "entrypoint": "bash" } }, @@ -33,4 +33,4 @@ "rules": "required|string|max:20" } ] -} \ No newline at end of file +} From 55125be8016ecf3424ea865488f1b1a70dbf31ce Mon Sep 17 00:00:00 2001 From: Daniel Date: Sat, 21 Mar 2020 00:11:26 +0100 Subject: [PATCH 229/413] Fixed latest version fetch I talked about the latest version fetch with the main dev of the game and he told me the index at 'account.vintagestory.at' was not intended so he disabled it. He gave me the link to an official version API and i changed the install script to use it :) --- vintage_story/vintage_story/egg-vintage-story.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/vintage_story/vintage_story/egg-vintage-story.json b/vintage_story/vintage_story/egg-vintage-story.json index 1f2ac2ee..7dd9f18d 100644 --- a/vintage_story/vintage_story/egg-vintage-story.json +++ b/vintage_story/vintage_story/egg-vintage-story.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-02-28T20:02:42+01:00", + "exported_at": "2020-03-20T23:54:00+01:00", "name": "Vintage Story", "author": "mail@wuffy.eu", "description": "Vintage Story is an uncompromising wilderness survival sandbox game inspired by lovecraftian horror themes. Find yourself in a ruined world reclaimed by nature and permeated by unnerving temporal disturbances. Relive the advent of human civilization, or take your own path.", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/ash\r\n# Vintage Story Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y screen wget curl\r\n\r\n# Fetching last github release\r\nif [ -z \"${RELEASE_VERSION}\" ] || [ \"${RELEASE_VERSION}\" == \"latest\" ]; then\r\n echo -e \"Using latest release version\"\r\n LATEST=`curl -s4 https:\/\/account.vintagestory.at\/files\/stable\/ | awk -F 'vs_server' '{print $2}' | sed -r '\/^\\s*$\/d' | sed -r 's\/_\/\/' | sed -r 's\/\"\/\/' | sed -r 's\/>\/\/' | grep \".tar.gz$\" | sort --version-sort | tail -n 1`;\r\n DOWNLOAD_URL=https:\/\/account.vintagestory.at\/files\/stable\/vs_server_${LATEST}\r\nelse\r\n echo -e \"Using custom release version\"\r\n DOWNLOAD_URL=https:\/\/account.vintagestory.at\/files\/stable\/vs_server_${RELEASE_VERSION}.tar.gz\r\nfi\r\n\r\ncd \/mnt\/server\/\r\n\r\ncurl -o vs_server.tar.gz ${DOWNLOAD_URL}\r\ntar -xzf vs_server.tar.gz\r\n\r\nrm vs_server.tar.gz", + "script": "#!\/bin\/ash\r\n# Vintage Story Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y screen wget curl jq\r\n\r\n# Fetching latest stable server release\r\nif [ -z \"${RELEASE_VERSION}\" ] || [ \"${RELEASE_VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_URL=`curl -s 'http:\/\/api.vintagestory.at\/stable.json' | jq '[.[]] | .[0].server.urls.cdn' | sed -r 's\/\"\/\/g'`;\r\n# Use specified server release\r\nelse\r\n DOWNLOAD_URL=https:\/\/cdn.vintagestory.at\/gamefiles\/stable\/vs_server_${RELEASE_VERSION}.tar.gz\r\nfi\r\n\r\ncd \/mnt\/server\/\r\n\r\ncurl -o vs_server.tar.gz ${DOWNLOAD_URL}\r\ntar -xzf vs_server.tar.gz\r\n\r\nrm vs_server.tar.gz", "container": "debian:buster-slim", "entrypoint": "bash" } @@ -51,4 +51,4 @@ "rules": "required|integer|max:2000" } ] -} \ No newline at end of file +} From 056a1d817accee7a96beb0eec8bcd5f329fa66cd Mon Sep 17 00:00:00 2001 From: Daniel Date: Sat, 21 Mar 2020 02:24:21 +0100 Subject: [PATCH 230/413] Removed unnecessary sed --- vintage_story/vintage_story/egg-vintage-story.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vintage_story/vintage_story/egg-vintage-story.json b/vintage_story/vintage_story/egg-vintage-story.json index 7dd9f18d..0538ec60 100644 --- a/vintage_story/vintage_story/egg-vintage-story.json +++ b/vintage_story/vintage_story/egg-vintage-story.json @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/ash\r\n# Vintage Story Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y screen wget curl jq\r\n\r\n# Fetching latest stable server release\r\nif [ -z \"${RELEASE_VERSION}\" ] || [ \"${RELEASE_VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_URL=`curl -s 'http:\/\/api.vintagestory.at\/stable.json' | jq '[.[]] | .[0].server.urls.cdn' | sed -r 's\/\"\/\/g'`;\r\n# Use specified server release\r\nelse\r\n DOWNLOAD_URL=https:\/\/cdn.vintagestory.at\/gamefiles\/stable\/vs_server_${RELEASE_VERSION}.tar.gz\r\nfi\r\n\r\ncd \/mnt\/server\/\r\n\r\ncurl -o vs_server.tar.gz ${DOWNLOAD_URL}\r\ntar -xzf vs_server.tar.gz\r\n\r\nrm vs_server.tar.gz", + "script": "#!\/bin\/ash\r\n# Vintage Story Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y screen wget curl jq\r\n\r\n# Fetching latest stable server release\r\nif [ -z \"${RELEASE_VERSION}\" ] || [ \"${RELEASE_VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_URL=`curl -s 'http:\/\/api.vintagestory.at\/stable.json' | jq -r '[.[]] | .[0].server.urls.cdn'`;\r\n# Use specified server release\r\nelse\r\n DOWNLOAD_URL=https:\/\/cdn.vintagestory.at\/gamefiles\/stable\/vs_server_${RELEASE_VERSION}.tar.gz\r\nfi\r\n\r\ncd \/mnt\/server\/\r\n\r\ncurl -o vs_server.tar.gz ${DOWNLOAD_URL}\r\ntar -xzf vs_server.tar.gz\r\n\r\nrm vs_server.tar.gz", "container": "debian:buster-slim", "entrypoint": "bash" } From 8672fe028186ad6a3840f21785027a73dc0a7f89 Mon Sep 17 00:00:00 2001 From: Alhassan Raad <23234466+alhassanv@users.noreply.github.com> Date: Sat, 21 Mar 2020 22:01:27 +0300 Subject: [PATCH 231/413] Update required port number Displays 3 ports but says its only 2. --- steamcmd_servers/unturned/unturned/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/steamcmd_servers/unturned/unturned/README.md b/steamcmd_servers/unturned/unturned/README.md index 209522f2..32b69f98 100644 --- a/steamcmd_servers/unturned/unturned/README.md +++ b/steamcmd_servers/unturned/unturned/README.md @@ -7,10 +7,10 @@ You're one of the few not yet turned zombie. Keeping it that way will be a chall - Confront and learn to counter special abilities ranging from invisibility to fire breathing to lightning attacks. ### Server Ports -Rocketmod requires 2 ports to run properly. +Rocketmod requires 3 ports to run properly. | Port | default | |---------|---------| | Game | 27015 | | Game +1 | 27016 | -| Game +2 | 27017 | \ No newline at end of file +| Game +2 | 27017 | From fb54fe317f3dd247cebc1523f642773baa69eb04 Mon Sep 17 00:00:00 2001 From: SheppeR Date: Tue, 24 Mar 2020 13:07:13 +0100 Subject: [PATCH 232/413] Update egg-ark--survival-evolved.json Fix mods loading problem Use default SERVER_PORT variable --- .../egg-ark--survival-evolved.json | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/steamcmd_servers/ark_survival_evolved/egg-ark--survival-evolved.json b/steamcmd_servers/ark_survival_evolved/egg-ark--survival-evolved.json index 48cb562d..a18be460 100644 --- a/steamcmd_servers/ark_survival_evolved/egg-ark--survival-evolved.json +++ b/steamcmd_servers/ark_survival_evolved/egg-ark--survival-evolved.json @@ -8,7 +8,7 @@ "author": "dev@shepper.fr", "description": "As a man or woman stranded, naked, freezing, and starving on the unforgiving shores of a mysterious island called ARK, use your skill and cunning to kill or tame and ride the plethora of leviathan dinosaurs and other primeval creatures roaming the land. Hunt, harvest resources, craft items, grow crops, research technologies, and build shelters to withstand the elements and store valuables, all while teaming up with (or preying upon) hundreds of other players to survive, dominate... and escape! \u2014 Gamepedia: ARK", "image": "quay.io\/pterodactyl\/core:source", - "startup": "\"cd ShooterGame\/Binaries\/Linux && .\/ShooterGameServer {{SERVER_MAP}}?listen?SessionName='{{SESSION_NAME}}'?ServerPassword={{ARK_PASSWORD}}?ServerAdminPassword={{ARK_ADMIN_PASSWORD}}?Port={{PORT}}?RCONPort={{RCON_PORT}}?QueryPort={{QUERY_PORT}}?RCONEnabled={{ENABLE_RCON}} -server -log\"", + "startup": "\"cd ShooterGame\/Binaries\/Linux && .\/ShooterGameServer {{SERVER_MAP}}?listen?SessionName='{{SESSION_NAME}}'?ServerPassword={{ARK_PASSWORD}}?ServerAdminPassword={{ARK_ADMIN_PASSWORD}}?Port={{SERVER_PORT}}?RCONPort={{RCON_PORT}}?QueryPort={{QUERY_PORT}}?RCONEnabled={{ENABLE_RCON}} -server -log\"", "config": { "files": "{}", "startup": "{\r\n \"done\": \"Setting breakpad minidump AppID = 346110\",\r\n \"userInteraction\": []\r\n}", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ubuntu:18.04'\r\napt -y update\r\napt -y --no-install-recommends --no-install-suggests install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## ARK specific setup.\r\n## copy steamcmd folder to the thirdparty folder for ark\r\ncp -r $(pwd) \/mnt\/server\/Engine\/Binaries\/ThirdParty\/SteamCMD\/Linux", + "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ubuntu:18.04'\r\napt -y update\r\napt -y --no-install-recommends --no-install-suggests install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\n\r\nmkdir -p \/mnt\/server\/Engine\/Binaries\/ThirdParty\/SteamCMD\/Linux\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/Engine\/Binaries\/ThirdParty\/SteamCMD\/Linux\r\n\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## create a symbolic link for loading mods\r\ncd \/mnt\/server\/Engine\/Binaries\/ThirdParty\/SteamCMD\/Linux\r\nln -sf ..\/..\/..\/..\/..\/Steam\/steamapps steamapps\r\ncd \/mnt\/server", "container": "ubuntu:18.04", "entrypoint": "bash" } @@ -59,15 +59,6 @@ "user_editable": 1, "rules": "nullable|alpha_dash|between:1,100" }, - { - "name": "Server Port", - "description": "ARK server port used by client.", - "env_variable": "PORT", - "default_value": "7777", - "user_viewable": 1, - "user_editable": 1, - "rules": "required|numeric" - }, { "name": "Use Rcon", "description": "Enable or disable rcon system. (true or false)", @@ -97,7 +88,7 @@ }, { "name": "Server Map", - "description": "Available Maps: TheIsland, TheCenter, Ragnarok, ScorchedEarth_P, Aberration_P, Extinction", + "description": "Available Maps: TheIsland, TheCenter, Ragnarok, ScorchedEarth_P, Aberration_P, Extinction, Valguero_P, Genesis", "env_variable": "SERVER_MAP", "default_value": "TheIsland", "user_viewable": 1, From 251e626fb3ef0a5ca023487ff48b3efb13279508 Mon Sep 17 00:00:00 2001 From: Alexander Harkness Date: Wed, 25 Mar 2020 19:47:32 +0000 Subject: [PATCH 233/413] Update download link for Cuberite to generic source. Now this download location is robust against changes to the buildserver or main project URL. --- minecraft_java/cuberite/egg-cuberite.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/minecraft_java/cuberite/egg-cuberite.json b/minecraft_java/cuberite/egg-cuberite.json index e6c6e0e7..97949398 100644 --- a/minecraft_java/cuberite/egg-cuberite.json +++ b/minecraft_java/cuberite/egg-cuberite.json @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/ash\r\n# Cuberite\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y wget\r\n\r\ncd \/mnt\/server\r\n\r\nwget https:\/\/builds.cuberite.org\/job\/Cuberite%20Linux%20x64%20Master\/lastSuccessfulBuild\/artifact\/Cuberite.tar.gz\r\n\r\ntar --strip-components=1 -xf Cuberite.tar.gz", + "script": "#!\/bin\/ash\r\n# Cuberite\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y wget\r\n\r\ncd \/mnt\/server\r\n\r\nwget https:\/\/download.cuberite.org\/linux-x86_64\/Cuberite.tar.gz\r\n\r\ntar --strip-components=1 -xf Cuberite.tar.gz", "container": "debian:buster-slim", "entrypoint": "bash" } @@ -51,4 +51,4 @@ "rules": "required|integer|between:1,65535" } ] -} \ No newline at end of file +} From b348fe4f18315aa59879cedb2d6b6bf692f3e038 Mon Sep 17 00:00:00 2001 From: Lucas van Beek <29404838+lucasvbeek@users.noreply.github.com> Date: Thu, 26 Mar 2020 16:17:05 +0100 Subject: [PATCH 234/413] Update discordjs generic egg to node 12 New discordjs update requires nodejs v12, so I updated the egg --- 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 6d16fcf6..a10e1502 100644 --- a/bots/discord/discord.js/egg-discord-js-generic.json +++ b/bots/discord/discord.js/egg-discord-js-generic.json @@ -3,11 +3,11 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-02-01T21:36:43-05:00", + "exported_at": "2020-03-26T16:10:33+01: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:debian_nodejs-10", + "image": "quay.io\/parkervcp\/pterodactyl-images:debian_nodejs-12", "startup": "if [[ -d .git ]] && [[ {{AUTO_UPDATE}} == \"1\" ]]; then git pull; fi && \/usr\/local\/bin\/npm install --production && \/usr\/local\/bin\/node \/home\/container\/{{BOT_JS_FILE}}", "config": { "files": "{}", @@ -69,4 +69,4 @@ "rules": "required|string" } ] -} \ No newline at end of file +} From c0bd6225795cb441dedb6b4c17457475f860d81f Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Thu, 26 Mar 2020 11:45:31 -0400 Subject: [PATCH 235/413] add teaspeak Resolves #464 --- voice_servers/teaspeak/README.md | 12 ++++ voice_servers/teaspeak/egg-tea-speak.json | 81 +++++++++++++++++++++++ 2 files changed, 93 insertions(+) create mode 100644 voice_servers/teaspeak/README.md create mode 100644 voice_servers/teaspeak/egg-tea-speak.json diff --git a/voice_servers/teaspeak/README.md b/voice_servers/teaspeak/README.md new file mode 100644 index 00000000..b3a8ee56 --- /dev/null +++ b/voice_servers/teaspeak/README.md @@ -0,0 +1,12 @@ +# TeaSpeak +### From their [Website](https://teaspeak.de/) +Because a license fee is not my cup of tea! + +### Server Ports +Ports required to run the server in a table format. + +| Port | default | +|---------|---------| +| Voice | 9987 | +| Query | 10101 | +| File | 30303 | \ No newline at end of file diff --git a/voice_servers/teaspeak/egg-tea-speak.json b/voice_servers/teaspeak/egg-tea-speak.json new file mode 100644 index 00000000..4802d232 --- /dev/null +++ b/voice_servers/teaspeak/egg-tea-speak.json @@ -0,0 +1,81 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2020-03-26T11:44:42-04:00", + "name": "TeaSpeak", + "author": "parker@parkervcp.com", + "description": "TeaSpeak is a free to use client and server software for VoIP communication.\r\n\r\nIts the ideal deal software for everyone who is annoyed about limits and restrictions.", + "image": "quay.io\/parkervcp\/pterodactyl-images:base_debian", + "startup": ".\/TeaSpeakServer --property:binding.query.port={{server.build.env.QUERY_PORT}} --property:binding.file.port={{server.build.env.FILE_PORT}} --property:voice.default_port={{server.build.default.port}}", + "config": { + "files": "{\r\n \"config.yml\": {\r\n \"parser\": \"yaml\",\r\n \"find\": {\r\n \"voice.default_port\": \"{{server.build.default.port}}\",\r\n \"query.port\": \"{{server.build.env.QUERY_PORT}}\",\r\n \"file.port\": \"{{server.build.env.FILE_PORT}}\",\r\n \"query.motd\": \"\\\"{{server.build.env.SERVER_MOTD}}\\\"\"\r\n }\r\n }\r\n}", + "startup": "{\r\n \"done\": \"Started server on \"\r\n}", + "logs": "{}", + "stop": "shutdown now" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash\r\n \r\n## install required packages\r\napt update\r\napt upgrade -y\r\napt install curl -y\r\n\r\n## make and change to directory\r\nmkdir \/mnt\/server\r\ncd \/mnt\/server\/\r\n\r\n## get download link\r\nif [ \"${VERSION}\" == \"\" ] || [ \"${VERSION}\" == \"latest\"]; then\r\n DOWNLOAD_URL=$(echo \"https:\/\/repo.teaspeak.de\/server\/linux\/amd64\/TeaSpeak-$(curl -sSLk https:\/\/repo.teaspeak.de\/server\/linux\/amd64\/latest).tar.gz\")\r\nelse\r\n DOWNLOAD_URL=$(echo \"https:\/\/repo.teaspeak.de\/server\/linux\/amd64\/TeaSpeak-${VERSION}.tar.gz\")\r\nfi\r\n\r\nif [ ! -z \"${DOWNLOAD_URL}\" ]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_URL}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n DOWNLOAD_LINK=${DOWNLOAD_URL}\r\n else \r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\n## download files\r\necho -e \"running: curl -sSL -o teaspeak.tar.gz ${DOWNLOAD_LINK}\"\r\ncurl -sSL -o teaspeak.tar.gz ${DOWNLOAD_LINK}\r\n\r\n## unpack files\r\necho -e \"unpacking files\"\r\ntar xzvf teaspeak.tar.gz\r\n\r\necho -e \"install complete\"", + "container": "debian:buster-slim", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "Query Port", + "description": "The query port for TeaSpeak", + "env_variable": "QUERY_PORT", + "default_value": "10101", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|numeric|max:65535" + }, + { + "name": "File Transfer Port", + "description": "The TeaSpeak File Transfer Port", + "env_variable": "FILE_PORT", + "default_value": "30303", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|numeric|max:65535" + }, + { + "name": "Server MOTD", + "description": "The TeaSpeak Server MOTD", + "env_variable": "SERVER_MOTD", + "default_value": "TeaSpeak\\n\\rHosted on pterodactyl!", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:128" + }, + { + "name": "ld library path", + "description": "Don't touch this if you want the server to start", + "env_variable": "LD_LIBRARY_PATH", + "default_value": ".\/libs\/", + "user_viewable": 0, + "user_editable": 0, + "rules": "required|string|max:20" + }, + { + "name": "ld preload", + "description": "Don't touch this if you want the server to start", + "env_variable": "LD_PRELOAD", + "default_value": ".\/libs\/libjemalloc.so.2", + "user_viewable": 0, + "user_editable": 0, + "rules": "required|string|max:20" + }, + { + "name": "Teaspeak Version", + "description": "What version of teaspeak to install", + "env_variable": "VERSION", + "default_value": "latest", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:20" + } + ] +} \ No newline at end of file From 3f515b98ecd538a4820d1c905ec146189521630c Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Thu, 26 Mar 2020 12:01:29 -0400 Subject: [PATCH 236/413] fix variable length --- voice_servers/teaspeak/egg-tea-speak.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/voice_servers/teaspeak/egg-tea-speak.json b/voice_servers/teaspeak/egg-tea-speak.json index 4802d232..855df219 100644 --- a/voice_servers/teaspeak/egg-tea-speak.json +++ b/voice_servers/teaspeak/egg-tea-speak.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-03-26T11:44:42-04:00", + "exported_at": "2020-03-26T12:00:56-04:00", "name": "TeaSpeak", "author": "parker@parkervcp.com", "description": "TeaSpeak is a free to use client and server software for VoIP communication.\r\n\r\nIts the ideal deal software for everyone who is annoyed about limits and restrictions.", @@ -57,7 +57,7 @@ "default_value": ".\/libs\/", "user_viewable": 0, "user_editable": 0, - "rules": "required|string|max:20" + "rules": "required|string" }, { "name": "ld preload", @@ -66,7 +66,7 @@ "default_value": ".\/libs\/libjemalloc.so.2", "user_viewable": 0, "user_editable": 0, - "rules": "required|string|max:20" + "rules": "required|string" }, { "name": "Teaspeak Version", From 8505a97f3e23804e07606fb69661ee2a19f24ecc Mon Sep 17 00:00:00 2001 From: synocx <62736272+synocx@users.noreply.github.com> Date: Fri, 27 Mar 2020 13:06:19 +0800 Subject: [PATCH 237/413] Create .gitignore --- minecraft_java/tuinity/.gitignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 minecraft_java/tuinity/.gitignore diff --git a/minecraft_java/tuinity/.gitignore b/minecraft_java/tuinity/.gitignore new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/minecraft_java/tuinity/.gitignore @@ -0,0 +1 @@ + From 6b75d76040a6689ddeeec763c256b21ea8b55433 Mon Sep 17 00:00:00 2001 From: synocx <62736272+synocx@users.noreply.github.com> Date: Fri, 27 Mar 2020 13:08:43 +0800 Subject: [PATCH 238/413] Add files via upload --- minecraft_java/tuinity/egg-tuinity.json | 36 +++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 minecraft_java/tuinity/egg-tuinity.json diff --git a/minecraft_java/tuinity/egg-tuinity.json b/minecraft_java/tuinity/egg-tuinity.json new file mode 100644 index 00000000..8585f1d3 --- /dev/null +++ b/minecraft_java/tuinity/egg-tuinity.json @@ -0,0 +1,36 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2020-03-27T00:25:53-04:00", + "name": "Tuinity", + "author": "unknown@unknown.com", + "description": "Fork of Paper aimed at improving server performance at high playercounts.", + "image": "quay.io\/parkervcp\/pterodactyl-images:debian_openjdk-11", + "startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -Dterminal.jline=false -Dterminal.ansi=true -jar {{SERVER_JARFILE}}", + "config": { + "files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-ip\": \"0.0.0.0\",\r\n \"server-port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}", + "startup": "{\r\n \"done\": \")! For help, type \",\r\n \"userInteraction\": [\r\n \"Go to eula.txt for more info.\"\r\n ]\r\n}", + "logs": "{}", + "stop": "^C" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash\r\n# Tuinity Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\napt update\r\napt -y install curl\r\ncd \/mnt\/server\r\n\r\nif [ ! -f server.properties ]; then\r\ncurl -o server.properties https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft_java\/server.properties\r\nfi\r\n\r\ncurl -o ${SERVER_JARFILE} https:\/\/ci.codemc.io\/job\/Spottedleaf\/job\/Tuinity\/lastStableBuild\/artifact\/tuinity-paperclip.jar", + "container": "debian:buster-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|string|max:20" + } + ] +} \ No newline at end of file From 13b41f20a33f966fdf42b870f32fa322fc6d44a8 Mon Sep 17 00:00:00 2001 From: synocx <62736272+synocx@users.noreply.github.com> Date: Fri, 27 Mar 2020 13:10:13 +0800 Subject: [PATCH 239/413] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9264bf6c..e009f7b1 100644 --- a/README.md +++ b/README.md @@ -77,6 +77,7 @@ If you are reading this it looks like you are looking to add an egg to your serv * [SpongeVanilla](/minecraft_java/spongevanilla/) * [Technic](/minecraft_java/technic/) * [VanillaCord](/minecraft_java/vanillacord/) +* [Tuinity] (/minecraft_java/tuinity/) [Minecraft Proxies](/minecraft_proxy/) (these are for the java version of minecraft) * [Waterfall](/minecraft_proxy/waterfall/) From b933db894e4e34a722dd63c355707bb79ce2a8cf Mon Sep 17 00:00:00 2001 From: synocx <62736272+synocx@users.noreply.github.com> Date: Fri, 27 Mar 2020 13:11:01 +0800 Subject: [PATCH 240/413] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e009f7b1..4a66f8e1 100644 --- a/README.md +++ b/README.md @@ -77,7 +77,7 @@ If you are reading this it looks like you are looking to add an egg to your serv * [SpongeVanilla](/minecraft_java/spongevanilla/) * [Technic](/minecraft_java/technic/) * [VanillaCord](/minecraft_java/vanillacord/) -* [Tuinity] (/minecraft_java/tuinity/) +* [Tuinity](/minecraft_java/tuinity/) [Minecraft Proxies](/minecraft_proxy/) (these are for the java version of minecraft) * [Waterfall](/minecraft_proxy/waterfall/) From 2b89e8ab052e767c67a850d1d041c5c9c94708e2 Mon Sep 17 00:00:00 2001 From: synocx <62736272+synocx@users.noreply.github.com> Date: Fri, 27 Mar 2020 13:15:07 +0800 Subject: [PATCH 241/413] Update README.md --- minecraft_java/README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/minecraft_java/README.md b/minecraft_java/README.md index 68d2b300..59968490 100644 --- a/minecraft_java/README.md +++ b/minecraft_java/README.md @@ -55,4 +55,8 @@ Gear up and set forth on a campaign worthy of legend, for Hexxit has been uneart Blightfall is a combination modpack and adventure map about surviving on an alien planet. [Tekkit Legends](https://www.technicpack.net/modpack/tekkit-legends) -The ancient power of Tekkits past return in this legendary pack! \ No newline at end of file +The ancient power of Tekkits past return in this legendary pack! + +## Tuinity +Fork of Paper aimed at improving server performance at high playercounts. +[Tuinity GitHub](https://github.com/Spottedleaf/Tuinity) From a5e96bb2ca94bde9af955ffa329d715250859411 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sat, 28 Mar 2020 13:52:10 -0400 Subject: [PATCH 242/413] update teaspeak egg Fix install script Fix startup command --- voice_servers/teaspeak/egg-tea-speak.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/voice_servers/teaspeak/egg-tea-speak.json b/voice_servers/teaspeak/egg-tea-speak.json index 855df219..fe395b61 100644 --- a/voice_servers/teaspeak/egg-tea-speak.json +++ b/voice_servers/teaspeak/egg-tea-speak.json @@ -3,12 +3,12 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-03-26T12:00:56-04:00", + "exported_at": "2020-03-28T13:50:13-04:00", "name": "TeaSpeak", "author": "parker@parkervcp.com", "description": "TeaSpeak is a free to use client and server software for VoIP communication.\r\n\r\nIts the ideal deal software for everyone who is annoyed about limits and restrictions.", "image": "quay.io\/parkervcp\/pterodactyl-images:base_debian", - "startup": ".\/TeaSpeakServer --property:binding.query.port={{server.build.env.QUERY_PORT}} --property:binding.file.port={{server.build.env.FILE_PORT}} --property:voice.default_port={{server.build.default.port}}", + "startup": ".\/TeaSpeakServer --property:binding.query.port={{QUERY_PORT}} --property:binding.file.port={{FILE_PORT}} --property:voice.default_port={{SERVER_PORT}}", "config": { "files": "{\r\n \"config.yml\": {\r\n \"parser\": \"yaml\",\r\n \"find\": {\r\n \"voice.default_port\": \"{{server.build.default.port}}\",\r\n \"query.port\": \"{{server.build.env.QUERY_PORT}}\",\r\n \"file.port\": \"{{server.build.env.FILE_PORT}}\",\r\n \"query.motd\": \"\\\"{{server.build.env.SERVER_MOTD}}\\\"\"\r\n }\r\n }\r\n}", "startup": "{\r\n \"done\": \"Started server on \"\r\n}", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n \r\n## install required packages\r\napt update\r\napt upgrade -y\r\napt install curl -y\r\n\r\n## make and change to directory\r\nmkdir \/mnt\/server\r\ncd \/mnt\/server\/\r\n\r\n## get download link\r\nif [ \"${VERSION}\" == \"\" ] || [ \"${VERSION}\" == \"latest\"]; then\r\n DOWNLOAD_URL=$(echo \"https:\/\/repo.teaspeak.de\/server\/linux\/amd64\/TeaSpeak-$(curl -sSLk https:\/\/repo.teaspeak.de\/server\/linux\/amd64\/latest).tar.gz\")\r\nelse\r\n DOWNLOAD_URL=$(echo \"https:\/\/repo.teaspeak.de\/server\/linux\/amd64\/TeaSpeak-${VERSION}.tar.gz\")\r\nfi\r\n\r\nif [ ! -z \"${DOWNLOAD_URL}\" ]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_URL}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n DOWNLOAD_LINK=${DOWNLOAD_URL}\r\n else \r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\n## download files\r\necho -e \"running: curl -sSL -o teaspeak.tar.gz ${DOWNLOAD_LINK}\"\r\ncurl -sSL -o teaspeak.tar.gz ${DOWNLOAD_LINK}\r\n\r\n## unpack files\r\necho -e \"unpacking files\"\r\ntar xzvf teaspeak.tar.gz\r\n\r\necho -e \"install complete\"", + "script": "#!\/bin\/bash\r\n \r\n## install required packages\r\napt update\r\napt upgrade -y\r\napt install curl -y\r\n\r\n## make and change to directory\r\nmkdir \/mnt\/server\r\ncd \/mnt\/server\/\r\n\r\n## get download link\r\nif [ \"${VERSION}\" == \"\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_URL=$(echo \"https:\/\/repo.teaspeak.de\/server\/linux\/amd64\/TeaSpeak-$(curl -sSLk https:\/\/repo.teaspeak.de\/server\/linux\/amd64\/latest).tar.gz\")\r\nelse\r\n DOWNLOAD_URL=$(echo \"https:\/\/repo.teaspeak.de\/server\/linux\/amd64\/TeaSpeak-${VERSION}.tar.gz\")\r\nfi\r\n\r\nif [ ! -z \"${DOWNLOAD_URL}\" ]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_URL}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n DOWNLOAD_LINK=${DOWNLOAD_URL}\r\n else \r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\n## download files\r\necho -e \"running: curl -sSL -o teaspeak.tar.gz ${DOWNLOAD_LINK}\"\r\ncurl -sSL -o teaspeak.tar.gz ${DOWNLOAD_LINK}\r\n\r\n## unpack files\r\necho -e \"unpacking files\"\r\ntar xzvf teaspeak.tar.gz\r\n\r\necho -e \"install complete\"", "container": "debian:buster-slim", "entrypoint": "bash" } From cc2ffd872c09ab53d9289a41b8beea156ccc70c9 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sat, 28 Mar 2020 14:09:51 -0400 Subject: [PATCH 243/413] update readmes --- README.md | 7 +++++-- database/README.md | 5 +++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 5387aae8..4c392d5b 100644 --- a/README.md +++ b/README.md @@ -40,10 +40,13 @@ If you are reading this it looks like you are looking to add an egg to your serv * [JTS3ServerMod](/bots/teamspeak3/jts3servermod/) ## Database Eggs +### SQL Databases [MariaDB](/database/mariadb/) -[Redis](/database/redis/) -## Game Eggs +### In-Memory Databases +[Redis](/database/redis/) + +## Game Eggs [ET Legacy](/enemy_territory/etlegacy/) [Factorio](/factorio/factorio/) diff --git a/database/README.md b/database/README.md index c040f047..a8b5ed95 100644 --- a/database/README.md +++ b/database/README.md @@ -1,12 +1,13 @@ # databases -## sql DBs - +## SQL Databases ### [mariadb](/mariadb/) https://mariadb.org/ ### [postgres](/postgres/) https://www.postgresql.org/ + +## In-Memory Databases ### [redis](/redis/) https://redis.io/ \ No newline at end of file From 41b32d72be4f557a5a01d54b630ff33c52baae0e Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sat, 28 Mar 2020 14:55:04 -0400 Subject: [PATCH 244/413] fix install script. --- minecraft_java/magma/egg-magma.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/minecraft_java/magma/egg-magma.json b/minecraft_java/magma/egg-magma.json index 3d9a39bd..52d31ba4 100644 --- a/minecraft_java/magma/egg-magma.json +++ b/minecraft_java/magma/egg-magma.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-03-08T22:56:37-04:00", + "exported_at": "2020-03-28T14:53:55-04:00", "name": "Magma", "author": "support@pterodactyl.io", "description": "Magma is most powerful Forge server providing you with Forge mods and Bukkit Plugins using Spigot and Paper for Performance Optimization and Stability.", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "## this is a simple script to use the github API for release versions.\r\n## this requires the egg has a variable for GITHUB_PACKAGE, VERSION and MATCH (match is to match the filename in some way)\r\n## this supports using oauth\/personal access tokens via GITHUB_USER and GITHUB_OAUTH_TOKEN (both are required.)\r\n## if you are getting hit with GitHub API limit issues then you need to have the user and token set.\r\n\r\napk add --no-cache curl\r\n\r\n## get latest download link\r\necho -e \"Set to download the ${BUILD} build\"\r\nif [ ${BUILD} == \"dev\" ]; then\r\n echo -e \"dev tag is ${tag}\"\r\nfi\r\n\r\ncase EXPRES${BUILD}SION in\r\n\r\n \"recommended\" | \"stable\" | \"latest\")\r\n DOWNLOAD_URL=$(https:\/\/api.magmafoundation.org\/api\/resources\/magma\/${VANILLA_VERSION}\/stable\/latest\/download)\r\n ;;\r\n\r\n \"dev\")\r\n DOWNLOAD_URL=$(https:\/\/api.magmafoundation.org\/api\/resources\/magma\/${VANILLA_VERSION}\/dev\/${TAG}\/download)\r\n ;;\r\n\r\n *)\r\n DOWNLOAD_URL=$(https:\/\/api.magmafoundation.org\/api\/resources\/magma\/${VANILLA_VERSION}\/stable\/latest\/download)\r\n ;;\r\nesac\r\n\r\n## validate download link\r\nif [ ! -z \"${DOWNLOAD_URL}\"] ; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_URL}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n DOWNLOAD_LINK=${DOWNLOAD_URL}\r\n else \r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\n# Adding '.jar' if it isn't part of the file name\r\nif [[ ! ${SERVER_JARFILE} = *\\.jar ]]; then\r\n SERVER_JARFILE=\"${SERVER_JARFILE}.jar\"\r\nfi\r\n\r\n## mv old server files\r\nif [ -f ${SERVER_JARFILE} ]; then\r\n mv ${SERVER_JARFILE} ${SERVER_JARFILE}.old\r\nfi\r\n\r\n## download files\r\necho -e \"running: curl -sSL -o ${SERVER_JARFILE} ${DOWNLOAD_LINK}\"\r\ncurl -sSL -o ${SERVER_JARFILE} ${DOWNLOAD_LINK}\r\n\r\necho -e \"Install Complete\"", + "script": "## this is a simple script to use the github API for release versions.\r\n## this requires the egg has a variable for GITHUB_PACKAGE, VERSION and MATCH (match is to match the filename in some way)\r\n## this supports using oauth\/personal access tokens via GITHUB_USER and GITHUB_OAUTH_TOKEN (both are required.)\r\n## if you are getting hit with GitHub API limit issues then you need to have the user and token set.\r\n\r\napk add --no-cache curl\r\n\r\nif [ ! -d \/mnt\/server\/ ]; then\r\n mkdir \/mnt\/server\r\nfi\r\n\r\ncd \/mnt\/server\/\r\n\r\n## get latest download link\r\necho -e \"Set to download the ${BUILD} build\"\r\nif [ \"${BUILD}\" == \"dev\" ]; then\r\n echo -e \"dev tag is ${tag}\"\r\nfi\r\n\r\ncase ${BUILD} in\r\n\r\n \"recommended\" | \"stable\" | \"latest\")\r\n DOWNLOAD_URL=\"https:\/\/api.magmafoundation.org\/api\/resources\/magma\/${VANILLA_VERSION}\/stable\/latest\/download\"\r\n ;;\r\n\r\n \"dev\")\r\n DOWNLOAD_URL=\"https:\/\/api.magmafoundation.org\/api\/resources\/magma\/${VANILLA_VERSION}\/dev\/${TAG}\/download\"\r\n ;;\r\n\r\n *)\r\n DOWNLOAD_URL=\"https:\/\/api.magmafoundation.org\/api\/resources\/magma\/${VANILLA_VERSION}\/stable\/latest\/download\"\r\n ;;\r\nesac\r\n\r\necho -e \"Download URL is ${DOWNLOAD_URL}\"\r\n\r\n## validate download link\r\nif [ ! -z \"${DOWNLOAD_URL}\" ] ; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_URL}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n DOWNLOAD_LINK=${DOWNLOAD_URL}\r\n else \r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\n# Adding '.jar' if it isn't part of the file name\r\nif [[ ${SERVER_JARFILE} == *\\.jar ]]; then\r\n echo -e \"adding.jar to server file name\"\r\n SERVER_JARFILE=\"${SERVER_JARFILE}.jar\"\r\nfi\r\n\r\n## mv old server files\r\nif [ -f ${SERVER_JARFILE} ]; then\r\n echo -e \"moving old server.jar\"\r\n mv ${SERVER_JARFILE} ${SERVER_JARFILE}.old\r\nfi\r\n\r\n## download files\r\necho -e \"running: curl -sSL -o ${SERVER_JARFILE} ${DOWNLOAD_LINK}\"\r\ncurl -sSL -o ${SERVER_JARFILE} ${DOWNLOAD_LINK}\r\n\r\necho -e \"Install Complete\"", "container": "alpine:3.10", "entrypoint": "ash" } From 053489e704d2ad9a6f97019788a7e46da4bf3540 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sat, 28 Mar 2020 15:25:43 -0400 Subject: [PATCH 245/413] update curseforge installer will account for when a file is not a server file. "should" work for all packs. --- .../forge/curseforge-generic/egg-curseforge-generic.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json b/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json index 99325559..78d93f7e 100644 --- a/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json +++ b/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-11-17T11:02:14-05:00", + "exported_at": "2020-03-28T15:24:38-04:00", "name": "Curseforge Generic", "author": "parker@parkervcp.com", "description": "A generic egg for a forge modpack", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nmkdir -p \/mnt\/server\r\n\r\nfunction install_required {\r\n apt update\r\n apt install -y curl jq unzip\r\n}\r\n\r\nfunction get_download {\r\n # get json data to work with\r\n echo -e \"Curling the json for the modpack\"\r\n echo -e \"running: curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\"\r\n JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID})\r\n\r\n # if no modpack version is set or is set to latest\r\n if [ -z ${MODPACK_VERSION} ] || [ \"${MODPACK_VERSION}\" = \"latest\" ]; then\r\n echo -e \"Getting latest download url\"\r\n # parse data to get the download url\r\n FILE_ID=$(echo -e ${JSON_DATA} | jq -r .defaultFileId)\r\n DOWNLOAD_URL=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/file\/${FILE_ID}\/download-url)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n else\r\n echo -e \"Looking for download url for version ${MODPACK_VERSION}\"\r\n # parse files for version match\r\n FILES_JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/files)\r\n # get element number to get the exact location in the json\r\n FILES_JSON_ELEMENT=$(echo -e ${FILES_JSON_DATA} | jq --arg VERSION \"${MODPACK_VERSION}\" '.[] | select(.displayName) | .displayName | contains($VERSION)' | grep -n true | cut -f1 -d: | tail -1)\r\n # if there wasn't a match default to latest\r\n if [ ! -z ${FILES_JSON_ELEMENT} ]; then\r\n echo -e \"No matching version found\"\r\n echo -e \"defaulting to latest\"\r\n DOWNLOAD_URL=$(echo -e ${FILES_JSON_DATA} | jq --arg ELEMENT \"${FILES_JSON_ELEMENT}\" '.[$ELEMENT|tonumber-1] | .downloadUrl')\r\n else\r\n echo -e \"Version match found\"\r\n DOWNLOAD_URL=$(echo -e ${JSON_DATA} | jq -r .latestFiles[0].downloadUrl)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n fi\r\n fi\r\n\r\n ## download modpack files\r\n cd \/mnt\/server\r\n echo \"Executing curl -L ${DOWNLOAD_URL} -o server.zip\"\r\n curl -L \"${DOWNLOAD_URL}\" -o server.zip\r\n unzip -o server.zip\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 if [ -f \/mnt\/server\/*installer.jar ]; then\r\n java -jar *installer.jar --installServer\r\n else\r\n echo \"No forge installer found moving on.\"\r\n fi\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 if [ ! -f \/mnt\/server\/*universal.jar ]; then\r\n mv -v \/mnt\/server\/*\/* \/mnt\/server\/\r\n mv *universal.jar server.jar\r\n else\r\n mv *universal.jar server.jar\r\n fi\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=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${projID}\/file\/${fileID}\/download-url)\r\n # this is saving everything as \/mnt\/server\/mods\/download\r\n echo \"Mod direct url: ${URL}\"\r\n curl -JLO \"${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", + "script": "#!\/bin\/bash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir -p \/mnt\/server\r\nfi \r\n\r\nfunction install_required {\r\n apt update\r\n apt install -y curl jq unzip\r\n}\r\n\r\nfunction get_latest {\r\n FILE_ID=$(echo -e ${JSON_DATA} | jq -r .defaultFileId)\r\n if [ \"$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .isServerPack\")\" == \"false\" ]; then\r\n FILE_ID=$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .serverPackFileId\")\r\n curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/file\/${FILE_ID}\/download-url\r\n else\r\n curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/file\/${FILE_ID}\/download-url\r\n fi\r\n}\r\n\r\nfunction get_download {\r\n # get json data to work with\r\n echo -e \"Curling the json for the modpack\"\r\n echo -e \"running: curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\"\r\n JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID})\r\n\r\n # if no modpack version is set or is set to latest\r\n if [ -z ${MODPACK_VERSION} ] || [ \"${MODPACK_VERSION}\" = \"latest\" ]; then\r\n echo -e \"Getting latest download url\"\r\n # parse data to get the download url\r\n DOWNLOAD_URL=$(get_latest $JSON_DATA)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n else\r\n echo -e \"Looking for download url for version ${MODPACK_VERSION}\"\r\n # parse files for version match\r\n FILES_JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/files)\r\n # get element number to get the exact location in the json\r\n FILES_JSON_ELEMENT=$(echo -e ${FILES_JSON_DATA} | jq --arg VERSION \"${MODPACK_VERSION}\" '.[] | select(.displayName) | .displayName | contains($VERSION)' | grep -n true | cut -f1 -d: | tail -1)\r\n # if there wasn't a match default to latest\r\n if [ ! -z ${FILES_JSON_ELEMENT} ]; then\r\n echo -e \"No matching version found\"\r\n echo -e \"defaulting to latest\"\r\n DOWNLOAD_URL=$(echo -e ${FILES_JSON_DATA} | jq --arg ELEMENT \"${FILES_JSON_ELEMENT}\" '.[$ELEMENT|tonumber-1] | .downloadUrl')\r\n else\r\n echo -e \"Version match found\"\r\n DOWNLOAD_URL=$(echo -e ${JSON_DATA} | jq -r .latestFiles[0].downloadUrl)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n fi\r\n fi\r\n\r\n ## download modpack files\r\n cd \/mnt\/server\r\n echo \"Executing curl -L ${DOWNLOAD_URL} -o server.zip\"\r\n curl -L \"${DOWNLOAD_URL}\" -o server.zip\r\n unzip -o server.zip\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 if [ -f \/mnt\/server\/*installer.jar ]; then\r\n java -jar *installer.jar --installServer\r\n else\r\n echo \"No forge installer found moving on.\"\r\n fi\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 if [ ! -f \/mnt\/server\/*universal.jar ]; then\r\n mv -v \/mnt\/server\/*\/* \/mnt\/server\/\r\n mv *universal.jar server.jar\r\n else\r\n mv *universal.jar server.jar\r\n fi\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=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${projID}\/file\/${fileID}\/download-url)\r\n # this is saving everything as \/mnt\/server\/mods\/download\r\n echo \"Mod direct url: ${URL}\"\r\n curl -JLO \"${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-jdk-slim", "entrypoint": "bash" } @@ -36,7 +36,7 @@ "name": "Modpack Version", "description": "Version of the modpack to use.", "env_variable": "MODPACK_VERSION", - "default_value": "", + "default_value": "latest", "user_viewable": 1, "user_editable": 1, "rules": "required|string|max:20" From 76e2345cc6d94c80553f322da5070aef9981cd7f Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Wed, 2 Oct 2019 20:24:41 -0400 Subject: [PATCH 246/413] add feather toml config base file --- minecraft_java/feather/feather.toml | 47 +++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 minecraft_java/feather/feather.toml diff --git a/minecraft_java/feather/feather.toml b/minecraft_java/feather/feather.toml new file mode 100644 index 00000000..ee4ebe9d --- /dev/null +++ b/minecraft_java/feather/feather.toml @@ -0,0 +1,47 @@ +# Configuration for the Feather server. + +# Most of the options here are unimplented and have no effect. +# Those that are unimplemted have been labeled so. + +[io] +# Packets with a size more than or equal to this value will be sent compressed. +# Compressing packets reduces bandwidth usage but increases CPU activity. +compression_threshold = 256 +# The number of worker threads used for asynchronous IO. +# Set to the number of cores on your CPU for optimal performance. +io_worker_threads = 8 + +[proxy] +# IP forwarding using either "bungee" (BungeeCord/Waterfall/Travertine) or "velocity" (Velocity) +proxy_mode = "none" # Unimplemented + +[server] +online_mode = true +motd = "A Feather server" +max_players = 16 +default_gamemode = "survival" +difficulty = "none" # Unimplemented +view_distance = 6 +address = "127.0.0.1" +port = 25565 + +[gameplay] +monster_spawning = true # Unimplemented +animal_spawning = true # Unimplemented +pvp = true # Unimplemented +nerf_spawner_mobs = false # Unimplemented +# Either "classic" for 1.8 PvP or "new" for 1.9 +pvp_style = "classic" # Unimplemented + +[log] +# If you prefer less verbose logs, switch this to "info." +# If you want to hurt your eyes while looking at the +# server console, set it to "trace." +level = "debug" + +[resource_pack] +# Server resource pack which is sent to players +# upon joining. Set this to an empty string to disable. +url = "" +# Optional SHA1 hash of the resource pack file. +hash = "" \ No newline at end of file From f3b112e31721add96593589d5f9998d6b43ba0e7 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Fri, 4 Oct 2019 11:53:43 -0400 Subject: [PATCH 247/413] add feather json file --- minecraft_java/feather/egg-feather.json | 36 +++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 minecraft_java/feather/egg-feather.json diff --git a/minecraft_java/feather/egg-feather.json b/minecraft_java/feather/egg-feather.json new file mode 100644 index 00000000..5fc29887 --- /dev/null +++ b/minecraft_java/feather/egg-feather.json @@ -0,0 +1,36 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2019-10-04T11:53:24-04:00", + "name": "Feather", + "author": "parker@parkervcp.com", + "description": "An experimental Minecraft server implementation written in Rust.", + "image": "quay.io\/parkervcp\/pterodactyl-images:base_debian", + "startup": ".\/feather-server", + "config": { + "files": "{\r\n \"feather.toml\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"port\": \"port = {{server.build.default.port}}\",\r\n \"address\": \"address = \\\"0.0.0.0\\\"\"\r\n }\r\n }\r\n}", + "startup": "{\r\n \"done\": \"Server started\"\r\n}", + "logs": "{}", + "stop": "^C" + }, + "scripts": { + "installation": { + "script": "#!\/usr\/bin\/env bash\r\napt update\r\napt install -y 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=\"caelunshun\/feather\"\r\nVERSION=`get_latest_release \"${PACKAGE}\"`\r\necho \"Latest version=${VERSION}\"\r\n\r\ncd \/mnt\/server\r\n\r\ncurl -SLo feather.tar.gz https:\/\/github.com\/caelunshun\/feather\/releases\/download\/${VERSION}\/feather-${VERSION}-linux.tar.gz\r\n\r\ntar --strip-components=1 -xzvf feather.tar.gz\r\n\r\nrm feather.tar.gz", + "container": "debian:stable-slim", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "Generate World", + "description": "Do you want the installer to generate a world you you?", + "env_variable": "GEN_WORLD", + "default_value": "0", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|boolean" + } + ] +} \ No newline at end of file From 9815bcf1827b8f2a4c7760e691be25f71e275192 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sun, 8 Mar 2020 20:23:18 -0400 Subject: [PATCH 248/413] fix feather version curl This fixes the curl for getting versions. There was a change to the location. --- minecraft_java/feather/egg-feather.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/minecraft_java/feather/egg-feather.json b/minecraft_java/feather/egg-feather.json index 5fc29887..955ef46f 100644 --- a/minecraft_java/feather/egg-feather.json +++ b/minecraft_java/feather/egg-feather.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-10-04T11:53:24-04:00", + "exported_at": "2020-03-08T20:22:10-04:00", "name": "Feather", "author": "parker@parkervcp.com", "description": "An experimental Minecraft server implementation written in Rust.", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/usr\/bin\/env bash\r\napt update\r\napt install -y curl\r\n\r\nget_latest_release() {\r\n curl --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=\"caelunshun\/feather\"\r\nVERSION=`get_latest_release \"${PACKAGE}\"`\r\necho \"Latest version=${VERSION}\"\r\n\r\ncd \/mnt\/server\r\n\r\ncurl -SLo feather.tar.gz https:\/\/github.com\/caelunshun\/feather\/releases\/download\/${VERSION}\/feather-${VERSION}-linux.tar.gz\r\n\r\ntar --strip-components=1 -xzvf feather.tar.gz\r\n\r\nrm feather.tar.gz", + "script": "#!\/usr\/bin\/env bash\r\napt update\r\napt install -y curl\r\n\r\nget_latest_release() {\r\n curl -sSL \"https:\/\/api.github.com\/repos\/$1\/releases\/latest\" |\r\n grep '\"tag_name\":' |\r\n sed -E 's\/.*\"([^\"]+)\".*\/\\1\/'\r\n}\r\n\r\nPACKAGE=\"caelunshun\/feather\"\r\nVERSION=`get_latest_release \"${PACKAGE}\"`\r\necho \"Latest version=${VERSION}\"\r\n\r\ncd \/mnt\/server\r\n\r\ncurl -sSLo feather.tar.gz https:\/\/github.com\/caelunshun\/feather\/releases\/download\/${VERSION}\/feather-${VERSION}-linux.tar.gz\r\n\r\ntar --strip-components=1 -xzvf feather.tar.gz\r\n\r\nrm feather.tar.gz", "container": "debian:stable-slim", "entrypoint": "bash" } From 582f96fcc1cd80075f391e17c55bd5efd4eb2d24 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sun, 8 Mar 2020 20:36:11 -0400 Subject: [PATCH 249/413] update feather repo in install script --- minecraft_java/feather/egg-feather.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/minecraft_java/feather/egg-feather.json b/minecraft_java/feather/egg-feather.json index 955ef46f..63672323 100644 --- a/minecraft_java/feather/egg-feather.json +++ b/minecraft_java/feather/egg-feather.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-03-08T20:22:10-04:00", + "exported_at": "2020-03-08T20:35:40-04:00", "name": "Feather", "author": "parker@parkervcp.com", "description": "An experimental Minecraft server implementation written in Rust.", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/usr\/bin\/env bash\r\napt update\r\napt install -y curl\r\n\r\nget_latest_release() {\r\n curl -sSL \"https:\/\/api.github.com\/repos\/$1\/releases\/latest\" |\r\n grep '\"tag_name\":' |\r\n sed -E 's\/.*\"([^\"]+)\".*\/\\1\/'\r\n}\r\n\r\nPACKAGE=\"caelunshun\/feather\"\r\nVERSION=`get_latest_release \"${PACKAGE}\"`\r\necho \"Latest version=${VERSION}\"\r\n\r\ncd \/mnt\/server\r\n\r\ncurl -sSLo feather.tar.gz https:\/\/github.com\/caelunshun\/feather\/releases\/download\/${VERSION}\/feather-${VERSION}-linux.tar.gz\r\n\r\ntar --strip-components=1 -xzvf feather.tar.gz\r\n\r\nrm feather.tar.gz", + "script": "#!\/usr\/bin\/env bash\r\napt update\r\napt install -y curl\r\n\r\nget_latest_release() {\r\n curl -sSL \"https:\/\/api.github.com\/repos\/$1\/releases\/latest\" |\r\n grep '\"tag_name\":' |\r\n sed -E 's\/.*\"([^\"]+)\".*\/\\1\/'\r\n}\r\n\r\nPACKAGE=\"feather-rs\/feather\"\r\nVERSION=`get_latest_release \"${PACKAGE}\"`\r\necho \"Latest version=${VERSION}\"\r\n\r\ncd \/mnt\/server\r\n\r\ncurl -sSLo feather.tar.gz https:\/\/github.com\/caelunshun\/feather\/releases\/download\/${VERSION}\/feather-${VERSION}-linux.tar.gz\r\n\r\ntar --strip-components=1 -xzvf feather.tar.gz\r\n\r\nrm feather.tar.gz", "container": "debian:stable-slim", "entrypoint": "bash" } From c54226ff978ce08b71d08cfc983d998ed779bc0f Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sun, 8 Mar 2020 20:36:43 -0400 Subject: [PATCH 250/413] update README files --- README.md | 5 +++-- minecraft_java/README.md | 4 ++++ minecraft_java/feather/README.md | 11 +++++++++++ 3 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 minecraft_java/feather/README.md diff --git a/README.md b/README.md index 4a66f8e1..bd65a6ae 100644 --- a/README.md +++ b/README.md @@ -69,8 +69,9 @@ If you are reading this it looks like you are looking to add an egg to your serv [Minecraft Java](/minecraft_java/) Servers for Java Minecraft * [Cuberite](/minecraft_java/cuberite/) -* [Forge](/minecraft_java/forge/) -* [Feed The Beast](/minecraft_java/ftb/) +* [feather](/minecraft/feather/) +* [Feed The Beast](/minecraft_java/ftb/) +* [Forge](/minecraft_java/forge/) * [Paper](/minecraft_java/paper) * [Spigot](/minecraft_java/spigot/) * [spongeforge](/minecraft_java/spongeforge/) diff --git a/minecraft_java/README.md b/minecraft_java/README.md index 59968490..32b45dc0 100644 --- a/minecraft_java/README.md +++ b/minecraft_java/README.md @@ -11,6 +11,10 @@ The minecraft server requires a single port for access (default 25565) but plugi A lightweight, fast and extensible game server for Minecraft [Cuberite](https://cuberite.org/) +## Feather +[Feather](https://github.com/feather-rs/feather) +An experimental Minecraft server implementation in Rust + ## Forge [Forge MC](https://files.minecraftforge.net/) This is a direct fork of the default forge service diff --git a/minecraft_java/feather/README.md b/minecraft_java/feather/README.md new file mode 100644 index 00000000..927f8d84 --- /dev/null +++ b/minecraft_java/feather/README.md @@ -0,0 +1,11 @@ +# Feather + +An experimental Minecraft server implementation written in Rust. + +## 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 | \ No newline at end of file From 0de831a9510161c4616dada04053e1619f3ab88f Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sun, 29 Mar 2020 01:35:22 -0400 Subject: [PATCH 251/413] add dos2unix adds missing dos2unix for servers that use a server.cfg for some reason. --- .../forge/curseforge-generic/egg-curseforge-generic.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json b/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json index 78d93f7e..0cad6da7 100644 --- a/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json +++ b/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-03-28T15:24:38-04:00", + "exported_at": "2020-03-29T01:33:42-04:00", "name": "Curseforge Generic", "author": "parker@parkervcp.com", "description": "A generic egg for a forge modpack", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir -p \/mnt\/server\r\nfi \r\n\r\nfunction install_required {\r\n apt update\r\n apt install -y curl jq unzip\r\n}\r\n\r\nfunction get_latest {\r\n FILE_ID=$(echo -e ${JSON_DATA} | jq -r .defaultFileId)\r\n if [ \"$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .isServerPack\")\" == \"false\" ]; then\r\n FILE_ID=$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .serverPackFileId\")\r\n curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/file\/${FILE_ID}\/download-url\r\n else\r\n curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/file\/${FILE_ID}\/download-url\r\n fi\r\n}\r\n\r\nfunction get_download {\r\n # get json data to work with\r\n echo -e \"Curling the json for the modpack\"\r\n echo -e \"running: curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\"\r\n JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID})\r\n\r\n # if no modpack version is set or is set to latest\r\n if [ -z ${MODPACK_VERSION} ] || [ \"${MODPACK_VERSION}\" = \"latest\" ]; then\r\n echo -e \"Getting latest download url\"\r\n # parse data to get the download url\r\n DOWNLOAD_URL=$(get_latest $JSON_DATA)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n else\r\n echo -e \"Looking for download url for version ${MODPACK_VERSION}\"\r\n # parse files for version match\r\n FILES_JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/files)\r\n # get element number to get the exact location in the json\r\n FILES_JSON_ELEMENT=$(echo -e ${FILES_JSON_DATA} | jq --arg VERSION \"${MODPACK_VERSION}\" '.[] | select(.displayName) | .displayName | contains($VERSION)' | grep -n true | cut -f1 -d: | tail -1)\r\n # if there wasn't a match default to latest\r\n if [ ! -z ${FILES_JSON_ELEMENT} ]; then\r\n echo -e \"No matching version found\"\r\n echo -e \"defaulting to latest\"\r\n DOWNLOAD_URL=$(echo -e ${FILES_JSON_DATA} | jq --arg ELEMENT \"${FILES_JSON_ELEMENT}\" '.[$ELEMENT|tonumber-1] | .downloadUrl')\r\n else\r\n echo -e \"Version match found\"\r\n DOWNLOAD_URL=$(echo -e ${JSON_DATA} | jq -r .latestFiles[0].downloadUrl)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n fi\r\n fi\r\n\r\n ## download modpack files\r\n cd \/mnt\/server\r\n echo \"Executing curl -L ${DOWNLOAD_URL} -o server.zip\"\r\n curl -L \"${DOWNLOAD_URL}\" -o server.zip\r\n unzip -o server.zip\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 if [ -f \/mnt\/server\/*installer.jar ]; then\r\n java -jar *installer.jar --installServer\r\n else\r\n echo \"No forge installer found moving on.\"\r\n fi\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 if [ ! -f \/mnt\/server\/*universal.jar ]; then\r\n mv -v \/mnt\/server\/*\/* \/mnt\/server\/\r\n mv *universal.jar server.jar\r\n else\r\n mv *universal.jar server.jar\r\n fi\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=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${projID}\/file\/${fileID}\/download-url)\r\n # this is saving everything as \/mnt\/server\/mods\/download\r\n echo \"Mod direct url: ${URL}\"\r\n curl -JLO \"${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", + "script": "#!\/bin\/bash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir -p \/mnt\/server\r\nfi \r\n\r\nfunction install_required {\r\n apt update\r\n apt install -y curl jq unzip dos2unix\r\n}\r\n\r\nfunction get_latest {\r\n FILE_ID=$(echo -e ${JSON_DATA} | jq -r .defaultFileId)\r\n if [ \"$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .isServerPack\")\" == \"false\" ]; then\r\n FILE_ID=$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .serverPackFileId\")\r\n curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/file\/${FILE_ID}\/download-url\r\n else\r\n curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/file\/${FILE_ID}\/download-url\r\n fi\r\n}\r\n\r\nfunction get_download {\r\n # get json data to work with\r\n echo -e \"Curling the json for the modpack\"\r\n echo -e \"running: curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\"\r\n JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID})\r\n\r\n # if no modpack version is set or is set to latest\r\n if [ -z ${MODPACK_VERSION} ] || [ \"${MODPACK_VERSION}\" = \"latest\" ]; then\r\n echo -e \"Getting latest download url\"\r\n # parse data to get the download url\r\n DOWNLOAD_URL=$(get_latest $JSON_DATA)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n else\r\n echo -e \"Looking for download url for version ${MODPACK_VERSION}\"\r\n # parse files for version match\r\n FILES_JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/files)\r\n # get element number to get the exact location in the json\r\n FILES_JSON_ELEMENT=$(echo -e ${FILES_JSON_DATA} | jq --arg VERSION \"${MODPACK_VERSION}\" '.[] | select(.displayName) | .displayName | contains($VERSION)' | grep -n true | cut -f1 -d: | tail -1)\r\n # if there wasn't a match default to latest\r\n if [ ! -z ${FILES_JSON_ELEMENT} ]; then\r\n echo -e \"No matching version found\"\r\n echo -e \"defaulting to latest\"\r\n DOWNLOAD_URL=$(echo -e ${FILES_JSON_DATA} | jq --arg ELEMENT \"${FILES_JSON_ELEMENT}\" '.[$ELEMENT|tonumber-1] | .downloadUrl')\r\n else\r\n echo -e \"Version match found\"\r\n DOWNLOAD_URL=$(echo -e ${JSON_DATA} | jq -r .latestFiles[0].downloadUrl)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n fi\r\n fi\r\n\r\n ## download modpack files\r\n cd \/mnt\/server\r\n echo \"Executing curl -L ${DOWNLOAD_URL} -o server.zip\"\r\n curl -L \"${DOWNLOAD_URL}\" -o server.zip\r\n unzip -o server.zip\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 if [ -f \/mnt\/server\/*installer.jar ]; then\r\n java -jar *installer.jar --installServer\r\n else\r\n echo \"No forge installer found moving on.\"\r\n fi\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 if [ ! -f \/mnt\/server\/*universal.jar ]; then\r\n mv -v \/mnt\/server\/*\/* \/mnt\/server\/\r\n mv *universal.jar server.jar\r\n else\r\n mv *universal.jar server.jar\r\n fi\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=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${projID}\/file\/${fileID}\/download-url)\r\n # this is saving everything as \/mnt\/server\/mods\/download\r\n echo \"Mod direct url: ${URL}\"\r\n curl -JLO \"${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 -e \"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 -e \"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 -e \"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 -e \"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-jdk-slim", "entrypoint": "bash" } From 9f32614bbc3fb65c579031daa5b89cd70769b1f0 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Mon, 30 Mar 2020 13:58:10 -0400 Subject: [PATCH 252/413] update don't starve together Uses new install script adds srcds_appid variable --- .../egg-don-t-starve-together.json | 54 +++++++++++++++++++ .../dont_starve/egg-don-t-starve.json | 45 ---------------- 2 files changed, 54 insertions(+), 45 deletions(-) create mode 100644 steamcmd_servers/dont_starve/egg-don-t-starve-together.json delete mode 100644 steamcmd_servers/dont_starve/egg-don-t-starve.json diff --git a/steamcmd_servers/dont_starve/egg-don-t-starve-together.json b/steamcmd_servers/dont_starve/egg-don-t-starve-together.json new file mode 100644 index 00000000..c294629c --- /dev/null +++ b/steamcmd_servers/dont_starve/egg-don-t-starve-together.json @@ -0,0 +1,54 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2020-03-30T13:56:41-04:00", + "name": "Don't Starve Together", + "author": "parker@parkervcp.com", + "description": "Don\u2019t Starve Together is an uncompromising wilderness survival game full of science and magic.", + "image": "quay.io\/parkervcp\/pterodactyl-images:source", + "startup": "'cd bin && .\/dontstarve_dedicated_server_nullrenderer -bind_ip 0.0.0.0 -port {{SERVER_PORT}} -console -persistent_storage_root \/home\/container\/DoNotStarveTogether -conf_dir config -cluster server -players {{MAX_PLAYERS}}'", + "config": { + "files": "{}", + "startup": "{\r\n \"done\": \"Setting breakpad minidump AppID\",\r\n \"userInteraction\": []\r\n}", + "logs": "{}", + "stop": "^C" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'debian:buster-slim'\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## DST specific\r\nmkdir -p ~\/DoNotStarveTogether\/config\/server\/\r\necho \"${SERVER_TOKEN}\" >> ~\/DoNotStarveTogether\/config\/server\/cluster_token.txt", + "container": "debian:buster-slim", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "Max Players", + "description": "Set the maximum number of players that will be allowed to join the game. This option overrides the [GAMEPLAY] \/ max_players setting in cluster.ini.", + "env_variable": "MAX_PLAYERS", + "default_value": "4", + "user_viewable": 1, + "user_editable": 0, + "rules": "required|integer|between:1,31" + }, + { + "name": "Server Token", + "description": "Required to run a public server. This needs to be generated from in game.", + "env_variable": "SERVER_TOKEN", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:64" + }, + { + "name": "App ID", + "description": "Steam Server App ID", + "env_variable": "SRCDS_APPID", + "default_value": "343050", + "user_viewable": 1, + "user_editable": 0, + "rules": "required|string|max:20" + } + ] +} \ No newline at end of file diff --git a/steamcmd_servers/dont_starve/egg-don-t-starve.json b/steamcmd_servers/dont_starve/egg-don-t-starve.json deleted file mode 100644 index e5c44d3f..00000000 --- a/steamcmd_servers/dont_starve/egg-don-t-starve.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", - "meta": { - "version": "PTDL_v1" - }, - "exported_at": "2018-10-06T20:21:42-04:00", - "name": "Don't Starve", - "author": "parker@parkervcp.com", - "description": "Don\u2019t Starve is an uncompromising wilderness survival game full of science and magic.", - "image": "quay.io\/parkervcp\/pterodactyl-images:source", - "startup": "'cd bin && .\/dontstarve_dedicated_server_nullrenderer -bind_ip 0.0.0.0 -port {{SERVER_PORT}} -console -persistent_storage_root \/home\/container\/DoNotStarveTogether -conf_dir config -cluster server -players {{MAX_PLAYERS}}'", - "config": { - "files": "{}", - "startup": "{\r\n \"done\": \"Setting breakpad minidump AppID\",\r\n \"userInteraction\": []\r\n}", - "logs": "{}", - "stop": "^C" - }, - "scripts": { - "installation": { - "script": "#!\/bin\/bash\r\n# Don't Starve 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 \/mnt\/server\/logs\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\n\r\nexport HOME=\/mnt\/server\r\n\r\n.\/steamcmd.sh +login anonymous +force_install_dir \/mnt\/server +app_update 343050 +quit\r\n\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\nmkdir -p ~\/DoNotStarveTogether\/config\/server\/\r\necho \"${SERVER_TOKEN}\" >> ~\/DoNotStarveTogether\/config\/server\/cluster_token.txt", - "container": "ubuntu:18.04", - "entrypoint": "bash" - } - }, - "variables": [ - { - "name": "Max Players", - "description": "Set the maximum number of players that will be allowed to join the game. This option overrides the [GAMEPLAY] \/ max_players setting in cluster.ini.", - "env_variable": "MAX_PLAYERS", - "default_value": "4", - "user_viewable": 1, - "user_editable": 0, - "rules": "required|integer|between:1,31" - }, - { - "name": "Server Token", - "description": "Required to run a public server. This needs to be generated from in game.", - "env_variable": "SERVER_TOKEN", - "default_value": "", - "user_viewable": 1, - "user_editable": 1, - "rules": "required|string|max:64" - } - ] -} \ No newline at end of file From edb17018d996827b55fd91027c068fd7c3e1b201 Mon Sep 17 00:00:00 2001 From: Callum Morris Date: Wed, 1 Apr 2020 20:51:28 +0100 Subject: [PATCH 253/413] Update TShock to v4.3.26 Update TShock to v4.3.26 - Released 2019-04-01 https://github.com/Pryaxis/TShock/releases --- terraria/tshock/egg-tshock.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/terraria/tshock/egg-tshock.json b/terraria/tshock/egg-tshock.json index a13bf77f..b47c2157 100644 --- a/terraria/tshock/egg-tshock.json +++ b/terraria/tshock/egg-tshock.json @@ -54,7 +54,7 @@ "name": "Tshock Version", "description": "The version on tshock that will be installed.", "env_variable": "TSHOCK_VERSION", - "default_value": "4.3.25", + "default_value": "4.3.26", "user_viewable": 1, "user_editable": 0, "rules": "required|string|max:20" From ff1cee4a0a071b7aa2b1e54ada9913c64fe6acb2 Mon Sep 17 00:00:00 2001 From: James76931 Date: Thu, 2 Apr 2020 19:38:33 +0100 Subject: [PATCH 254/413] Make Tuinity stop gracefully --- minecraft_java/tuinity/egg-tuinity.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/minecraft_java/tuinity/egg-tuinity.json b/minecraft_java/tuinity/egg-tuinity.json index 8585f1d3..d18404cb 100644 --- a/minecraft_java/tuinity/egg-tuinity.json +++ b/minecraft_java/tuinity/egg-tuinity.json @@ -13,7 +13,7 @@ "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": "^C" + "stop": "stop" }, "scripts": { "installation": { @@ -33,4 +33,4 @@ "rules": "required|string|max:20" } ] -} \ No newline at end of file +} From 7a87ac173d6222d15c5c978cdbd43f80c8faee75 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Fri, 3 Apr 2020 12:52:11 -0400 Subject: [PATCH 255/413] update parkertron egg --- bots/discord/parkertron/egg-parkertron.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bots/discord/parkertron/egg-parkertron.json b/bots/discord/parkertron/egg-parkertron.json index 8be2cbec..ce098ba8 100644 --- a/bots/discord/parkertron/egg-parkertron.json +++ b/bots/discord/parkertron/egg-parkertron.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-02-17T12:34:32-05:00", + "exported_at": "2020-04-03T12:50:58-04:00", "name": "parkertron", "author": "parker@parkervcp.com", "description": "The stupid chatbot parkertron by Parkervcp.\r\n\r\nhttps:\/\/github.com\/parkervcp\/parkertron", @@ -13,12 +13,12 @@ "files": "{}", "startup": "{\r\n \"done\": \"Bot is now running\"\r\n}", "logs": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}", - "stop": "^C" + "stop": "shutdown" }, "scripts": { "installation": { - "script": "#!\/bin\/ash\r\n# parkertron Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nexport GOPATH=$HOME\/go\r\nexport PATH=$GOROOT\/bin:$GOPATH\/bin:$PATH\r\n\r\ncd\r\n\r\napk add --no-cache --update git curl lua-stdlib lua musl-dev g++ libc-dev tesseract-ocr tesseract-ocr-dev\r\n\r\necho \"pulling the parkertron pterodactyl branch\"\r\n\r\ngit clone https:\/\/github.com\/parkervcp\/parkertron.git\r\n\r\ncd parkertron\/\r\n\r\necho \"building parkertron\"\r\n\r\ngo build \r\n\r\necho \"build complete copying parkertron and example configs over\"\r\n\r\ncp parkertron \/mnt\/server\/\r\n\r\nif [ -d \"$DIRECTORY\" ]; then\r\n echo \"Files exist already\"\r\nelse\r\n cp configs\/ \/mnt\/server\/\r\nfi\r\n\r\necho \"Install complete. If you watched this. Congrats.\"", - "container": "golang:1.11-alpine", + "script": "#!\/bin\/ash\r\n# parkertron Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nexport GOPATH=$HOME\/go\r\nexport PATH=$GOROOT\/bin:$GOPATH\/bin:$PATH\r\n\r\ncd\r\n\r\napk add --no-cache --update git curl lua-stdlib lua musl-dev g++ libc-dev tesseract-ocr tesseract-ocr-dev\r\n\r\necho \"pulling the parkertron pterodactyl branch\"\r\n\r\ngit clone https:\/\/github.com\/parkervcp\/parkertron.git\r\n\r\ncd parkertron\/\r\n\r\ngo mod download\r\n\r\necho \"building parkertron\"\r\n\r\ngo build \r\n\r\necho \"build complete copying parkertron and example configs over\"\r\n\r\ncp parkertron \/mnt\/server\/\r\n\r\nif [ -d \/mnt\/server\/configs ]; then\r\n echo \"Files exist already\"\r\nelse\r\n cp -r \/root\/parkertron\/configs\/ \/mnt\/server\/\r\nfi\r\n\r\necho \"Install complete. If you watched this. Congrats.\"", + "container": "golang:1.14-alpine", "entrypoint": "ash" } }, From 136479ff0c46c207947f121b2e52d8fea643cdff Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sat, 11 Apr 2020 00:17:48 -0400 Subject: [PATCH 256/413] add ftb logic --- .../forge/curseforge-generic/egg-curseforge-generic.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json b/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json index 0cad6da7..a57d7ff8 100644 --- a/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json +++ b/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-03-29T01:33:42-04:00", + "exported_at": "2020-04-11T00:10:43-04:00", "name": "Curseforge Generic", "author": "parker@parkervcp.com", "description": "A generic egg for a forge modpack", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir -p \/mnt\/server\r\nfi \r\n\r\nfunction install_required {\r\n apt update\r\n apt install -y curl jq unzip dos2unix\r\n}\r\n\r\nfunction get_latest {\r\n FILE_ID=$(echo -e ${JSON_DATA} | jq -r .defaultFileId)\r\n if [ \"$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .isServerPack\")\" == \"false\" ]; then\r\n FILE_ID=$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .serverPackFileId\")\r\n curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/file\/${FILE_ID}\/download-url\r\n else\r\n curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/file\/${FILE_ID}\/download-url\r\n fi\r\n}\r\n\r\nfunction get_download {\r\n # get json data to work with\r\n echo -e \"Curling the json for the modpack\"\r\n echo -e \"running: curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\"\r\n JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID})\r\n\r\n # if no modpack version is set or is set to latest\r\n if [ -z ${MODPACK_VERSION} ] || [ \"${MODPACK_VERSION}\" = \"latest\" ]; then\r\n echo -e \"Getting latest download url\"\r\n # parse data to get the download url\r\n DOWNLOAD_URL=$(get_latest $JSON_DATA)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n else\r\n echo -e \"Looking for download url for version ${MODPACK_VERSION}\"\r\n # parse files for version match\r\n FILES_JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/files)\r\n # get element number to get the exact location in the json\r\n FILES_JSON_ELEMENT=$(echo -e ${FILES_JSON_DATA} | jq --arg VERSION \"${MODPACK_VERSION}\" '.[] | select(.displayName) | .displayName | contains($VERSION)' | grep -n true | cut -f1 -d: | tail -1)\r\n # if there wasn't a match default to latest\r\n if [ ! -z ${FILES_JSON_ELEMENT} ]; then\r\n echo -e \"No matching version found\"\r\n echo -e \"defaulting to latest\"\r\n DOWNLOAD_URL=$(echo -e ${FILES_JSON_DATA} | jq --arg ELEMENT \"${FILES_JSON_ELEMENT}\" '.[$ELEMENT|tonumber-1] | .downloadUrl')\r\n else\r\n echo -e \"Version match found\"\r\n DOWNLOAD_URL=$(echo -e ${JSON_DATA} | jq -r .latestFiles[0].downloadUrl)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n fi\r\n fi\r\n\r\n ## download modpack files\r\n cd \/mnt\/server\r\n echo \"Executing curl -L ${DOWNLOAD_URL} -o server.zip\"\r\n curl -L \"${DOWNLOAD_URL}\" -o server.zip\r\n unzip -o server.zip\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 if [ -f \/mnt\/server\/*installer.jar ]; then\r\n java -jar *installer.jar --installServer\r\n else\r\n echo \"No forge installer found moving on.\"\r\n fi\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 if [ ! -f \/mnt\/server\/*universal.jar ]; then\r\n mv -v \/mnt\/server\/*\/* \/mnt\/server\/\r\n mv *universal.jar server.jar\r\n else\r\n mv *universal.jar server.jar\r\n fi\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=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${projID}\/file\/${fileID}\/download-url)\r\n # this is saving everything as \/mnt\/server\/mods\/download\r\n echo \"Mod direct url: ${URL}\"\r\n curl -JLO \"${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 -e \"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 -e \"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 -e \"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 -e \"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\/bash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir -p \/mnt\/server\r\nfi \r\n\r\nMODPACK_ID=227724\r\n\r\nfunction install_required {\r\n apt update\r\n apt install -y curl jq unzip dos2unix\r\n}\r\n\r\nfunction get_latest {\r\n FILE_ID=$(echo -e ${JSON_DATA} | jq -r .defaultFileId)\r\n if [ \"$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .isServerPack\")\" == \"false\" ]; then\r\n FILE_ID=$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .serverPackFileId\")\r\n curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/file\/${FILE_ID}\/download-url\r\n else\r\n curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/file\/${FILE_ID}\/download-url\r\n fi\r\n}\r\n\r\nfunction get_download {\r\n # get json data to work with\r\n echo -e \"Curling the json for the modpack\"\r\n echo -e \"running: curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\"\r\n JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID})\r\n\r\n # if no modpack version is set or is set to latest\r\n if [ -z ${MODPACK_VERSION} ] || [ \"${MODPACK_VERSION}\" = \"latest\" ]; then\r\n echo -e \"Getting latest download url\"\r\n # parse data to get the download url\r\n DOWNLOAD_URL=$(get_latest $JSON_DATA)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n else\r\n echo -e \"Looking for download url for version ${MODPACK_VERSION}\"\r\n # parse files for version match\r\n FILES_JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/files)\r\n # get element number to get the exact location in the json\r\n FILES_JSON_ELEMENT=$(echo -e ${FILES_JSON_DATA} | jq --arg VERSION \"${MODPACK_VERSION}\" '.[] | select(.displayName) | .displayName | contains($VERSION)' | grep -n true | cut -f1 -d: | tail -1)\r\n # if there wasn't a match default to latest\r\n if [ ! -z ${FILES_JSON_ELEMENT} ]; then\r\n echo -e \"No matching version found\"\r\n echo -e \"defaulting to latest\"\r\n DOWNLOAD_URL=$(echo -e ${FILES_JSON_DATA} | jq --arg ELEMENT \"${FILES_JSON_ELEMENT}\" '.[$ELEMENT|tonumber-1] | .downloadUrl')\r\n else\r\n echo -e \"Version match found\"\r\n DOWNLOAD_URL=$(echo -e ${JSON_DATA} | jq -r .latestFiles[0].downloadUrl)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n fi\r\n fi\r\n\r\n ## download modpack files\r\n cd \/mnt\/server\r\n echo \"Executing curl -L ${DOWNLOAD_URL} -o server.zip\"\r\n curl -L \"${DOWNLOAD_URL}\" -o server.zip\r\n unzip -o server.zip\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 if [ -f \/mnt\/server\/*installer.jar ]; then\r\n java -jar *installer.jar --installServer\r\n else\r\n echo \"No forge installer found moving on.\"\r\n fi\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 if [ ! -f \/mnt\/server\/*universal.jar ]; then\r\n mv -v \/mnt\/server\/*\/* \/mnt\/server\/\r\n mv *universal.jar server.jar\r\n else\r\n mv *universal.jar server.jar\r\n fi\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=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${projID}\/file\/${fileID}\/download-url)\r\n # this is saving everything as \/mnt\/server\/mods\/download\r\n echo \"Mod direct url: ${URL}\"\r\n curl -JLO \"${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 -e \"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 -e \"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 -e \"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 -e \"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 ftb_install {\r\n chmod +x \/mnt\/server\/settings.sh \r\n . \/mnt\/server\/settings.sh \r\n curl https:\/\/s3.amazonaws.com\/Minecraft.Download\/versions\/${MCVER}\/minecraft_server.${MCVER}.jar -o ${JARFILE} \r\n curl https:\/\/libraries.minecraft.net\/${LAUNCHWRAPPER} -o \/mnt\/server\/libraries\/${LAUNCHWRAPPER}\r\n}\r\n\r\ninstall_required\r\nget_download\r\n\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\nelif [ -f \/mnt\/server\/version.json ]; then\r\n if [ \"$(cat \/mnt\/server\/version.json | jq -r '.packID | contains(\"FTB\")')\" == \"true\" ]; then\r\n ftb_install\r\n fi\r\nelse\r\n forge_install\r\n forge_cleanup\r\nfi", "container": "openjdk:8-jdk-slim", "entrypoint": "bash" } From c3e6e4098f6e27436cf23e31905b1d3b174fd94f Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sat, 11 Apr 2020 00:30:08 -0400 Subject: [PATCH 257/413] remove modpack id Don't have modpack id in install script. --- .../forge/curseforge-generic/egg-curseforge-generic.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json b/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json index a57d7ff8..3efb9d67 100644 --- a/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json +++ b/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-04-11T00:10:43-04:00", + "exported_at": "2020-04-11T00:29:09-04:00", "name": "Curseforge Generic", "author": "parker@parkervcp.com", "description": "A generic egg for a forge modpack", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir -p \/mnt\/server\r\nfi \r\n\r\nMODPACK_ID=227724\r\n\r\nfunction install_required {\r\n apt update\r\n apt install -y curl jq unzip dos2unix\r\n}\r\n\r\nfunction get_latest {\r\n FILE_ID=$(echo -e ${JSON_DATA} | jq -r .defaultFileId)\r\n if [ \"$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .isServerPack\")\" == \"false\" ]; then\r\n FILE_ID=$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .serverPackFileId\")\r\n curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/file\/${FILE_ID}\/download-url\r\n else\r\n curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/file\/${FILE_ID}\/download-url\r\n fi\r\n}\r\n\r\nfunction get_download {\r\n # get json data to work with\r\n echo -e \"Curling the json for the modpack\"\r\n echo -e \"running: curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\"\r\n JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID})\r\n\r\n # if no modpack version is set or is set to latest\r\n if [ -z ${MODPACK_VERSION} ] || [ \"${MODPACK_VERSION}\" = \"latest\" ]; then\r\n echo -e \"Getting latest download url\"\r\n # parse data to get the download url\r\n DOWNLOAD_URL=$(get_latest $JSON_DATA)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n else\r\n echo -e \"Looking for download url for version ${MODPACK_VERSION}\"\r\n # parse files for version match\r\n FILES_JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/files)\r\n # get element number to get the exact location in the json\r\n FILES_JSON_ELEMENT=$(echo -e ${FILES_JSON_DATA} | jq --arg VERSION \"${MODPACK_VERSION}\" '.[] | select(.displayName) | .displayName | contains($VERSION)' | grep -n true | cut -f1 -d: | tail -1)\r\n # if there wasn't a match default to latest\r\n if [ ! -z ${FILES_JSON_ELEMENT} ]; then\r\n echo -e \"No matching version found\"\r\n echo -e \"defaulting to latest\"\r\n DOWNLOAD_URL=$(echo -e ${FILES_JSON_DATA} | jq --arg ELEMENT \"${FILES_JSON_ELEMENT}\" '.[$ELEMENT|tonumber-1] | .downloadUrl')\r\n else\r\n echo -e \"Version match found\"\r\n DOWNLOAD_URL=$(echo -e ${JSON_DATA} | jq -r .latestFiles[0].downloadUrl)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n fi\r\n fi\r\n\r\n ## download modpack files\r\n cd \/mnt\/server\r\n echo \"Executing curl -L ${DOWNLOAD_URL} -o server.zip\"\r\n curl -L \"${DOWNLOAD_URL}\" -o server.zip\r\n unzip -o server.zip\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 if [ -f \/mnt\/server\/*installer.jar ]; then\r\n java -jar *installer.jar --installServer\r\n else\r\n echo \"No forge installer found moving on.\"\r\n fi\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 if [ ! -f \/mnt\/server\/*universal.jar ]; then\r\n mv -v \/mnt\/server\/*\/* \/mnt\/server\/\r\n mv *universal.jar server.jar\r\n else\r\n mv *universal.jar server.jar\r\n fi\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=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${projID}\/file\/${fileID}\/download-url)\r\n # this is saving everything as \/mnt\/server\/mods\/download\r\n echo \"Mod direct url: ${URL}\"\r\n curl -JLO \"${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 -e \"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 -e \"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 -e \"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 -e \"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 ftb_install {\r\n chmod +x \/mnt\/server\/settings.sh \r\n . \/mnt\/server\/settings.sh \r\n curl https:\/\/s3.amazonaws.com\/Minecraft.Download\/versions\/${MCVER}\/minecraft_server.${MCVER}.jar -o ${JARFILE} \r\n curl https:\/\/libraries.minecraft.net\/${LAUNCHWRAPPER} -o \/mnt\/server\/libraries\/${LAUNCHWRAPPER}\r\n}\r\n\r\ninstall_required\r\nget_download\r\n\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\nelif [ -f \/mnt\/server\/version.json ]; then\r\n if [ \"$(cat \/mnt\/server\/version.json | jq -r '.packID | contains(\"FTB\")')\" == \"true\" ]; then\r\n ftb_install\r\n fi\r\nelse\r\n forge_install\r\n forge_cleanup\r\nfi", + "script": "#!\/bin\/bash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir -p \/mnt\/server\r\nfi\r\n\r\nfunction install_required {\r\n apt update\r\n apt install -y curl jq unzip dos2unix\r\n}\r\n\r\nfunction get_latest {\r\n FILE_ID=$(echo -e ${JSON_DATA} | jq -r .defaultFileId)\r\n if [ \"$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .isServerPack\")\" == \"false\" ]; then\r\n FILE_ID=$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .serverPackFileId\")\r\n curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/file\/${FILE_ID}\/download-url\r\n else\r\n curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/file\/${FILE_ID}\/download-url\r\n fi\r\n}\r\n\r\nfunction get_download {\r\n # get json data to work with\r\n echo -e \"Curling the json for the modpack\"\r\n echo -e \"running: curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\"\r\n JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID})\r\n\r\n # if no modpack version is set or is set to latest\r\n if [ -z ${MODPACK_VERSION} ] || [ \"${MODPACK_VERSION}\" = \"latest\" ]; then\r\n echo -e \"Getting latest download url\"\r\n # parse data to get the download url\r\n DOWNLOAD_URL=$(get_latest $JSON_DATA)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n else\r\n echo -e \"Looking for download url for version ${MODPACK_VERSION}\"\r\n # parse files for version match\r\n FILES_JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/files)\r\n # get element number to get the exact location in the json\r\n FILES_JSON_ELEMENT=$(echo -e ${FILES_JSON_DATA} | jq --arg VERSION \"${MODPACK_VERSION}\" '.[] | select(.displayName) | .displayName | contains($VERSION)' | grep -n true | cut -f1 -d: | tail -1)\r\n # if there wasn't a match default to latest\r\n if [ ! -z ${FILES_JSON_ELEMENT} ]; then\r\n echo -e \"No matching version found\"\r\n echo -e \"defaulting to latest\"\r\n DOWNLOAD_URL=$(echo -e ${FILES_JSON_DATA} | jq --arg ELEMENT \"${FILES_JSON_ELEMENT}\" '.[$ELEMENT|tonumber-1] | .downloadUrl')\r\n else\r\n echo -e \"Version match found\"\r\n DOWNLOAD_URL=$(echo -e ${JSON_DATA} | jq -r .latestFiles[0].downloadUrl)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n fi\r\n fi\r\n\r\n ## download modpack files\r\n cd \/mnt\/server\r\n echo \"Executing curl -L ${DOWNLOAD_URL} -o server.zip\"\r\n curl -L \"${DOWNLOAD_URL}\" -o server.zip\r\n unzip -o server.zip\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 if [ -f \/mnt\/server\/*installer.jar ]; then\r\n java -jar *installer.jar --installServer\r\n else\r\n echo \"No forge installer found moving on.\"\r\n fi\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 if [ ! -f \/mnt\/server\/*universal.jar ]; then\r\n mv -v \/mnt\/server\/*\/* \/mnt\/server\/\r\n mv *universal.jar server.jar\r\n else\r\n mv *universal.jar server.jar\r\n fi\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=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${projID}\/file\/${fileID}\/download-url)\r\n # this is saving everything as \/mnt\/server\/mods\/download\r\n echo \"Mod direct url: ${URL}\"\r\n curl -JLO \"${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 -e \"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 -e \"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 -e \"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 -e \"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 ftb_install {\r\n chmod +x \/mnt\/server\/settings.sh \r\n . \/mnt\/server\/settings.sh \r\n curl https:\/\/s3.amazonaws.com\/Minecraft.Download\/versions\/${MCVER}\/minecraft_server.${MCVER}.jar -o ${JARFILE} \r\n curl https:\/\/libraries.minecraft.net\/${LAUNCHWRAPPER} -o \/mnt\/server\/libraries\/${LAUNCHWRAPPER}\r\n}\r\n\r\ninstall_required\r\nget_download\r\n\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\nelif [ -f \/mnt\/server\/version.json ]; then\r\n if [ \"$(cat \/mnt\/server\/version.json | jq -r '.packID | contains(\"FTB\")')\" == \"true\" ]; then\r\n ftb_install\r\n fi\r\nelse\r\n forge_install\r\n forge_cleanup\r\nfi", "container": "openjdk:8-jdk-slim", "entrypoint": "bash" } From eeba42fb18ac42cb37b9ce9d33067a8c0f8d3393 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sat, 11 Apr 2020 22:20:11 -0400 Subject: [PATCH 258/413] fix FTBServer moves the FTBServer.jar to the server.jar configed in the variables --- .../forge/curseforge-generic/egg-curseforge-generic.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json b/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json index 3efb9d67..227eb609 100644 --- a/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json +++ b/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-04-11T00:29:09-04:00", + "exported_at": "2020-04-11T22:18:49-04:00", "name": "Curseforge Generic", "author": "parker@parkervcp.com", "description": "A generic egg for a forge modpack", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir -p \/mnt\/server\r\nfi\r\n\r\nfunction install_required {\r\n apt update\r\n apt install -y curl jq unzip dos2unix\r\n}\r\n\r\nfunction get_latest {\r\n FILE_ID=$(echo -e ${JSON_DATA} | jq -r .defaultFileId)\r\n if [ \"$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .isServerPack\")\" == \"false\" ]; then\r\n FILE_ID=$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .serverPackFileId\")\r\n curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/file\/${FILE_ID}\/download-url\r\n else\r\n curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/file\/${FILE_ID}\/download-url\r\n fi\r\n}\r\n\r\nfunction get_download {\r\n # get json data to work with\r\n echo -e \"Curling the json for the modpack\"\r\n echo -e \"running: curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\"\r\n JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID})\r\n\r\n # if no modpack version is set or is set to latest\r\n if [ -z ${MODPACK_VERSION} ] || [ \"${MODPACK_VERSION}\" = \"latest\" ]; then\r\n echo -e \"Getting latest download url\"\r\n # parse data to get the download url\r\n DOWNLOAD_URL=$(get_latest $JSON_DATA)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n else\r\n echo -e \"Looking for download url for version ${MODPACK_VERSION}\"\r\n # parse files for version match\r\n FILES_JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/files)\r\n # get element number to get the exact location in the json\r\n FILES_JSON_ELEMENT=$(echo -e ${FILES_JSON_DATA} | jq --arg VERSION \"${MODPACK_VERSION}\" '.[] | select(.displayName) | .displayName | contains($VERSION)' | grep -n true | cut -f1 -d: | tail -1)\r\n # if there wasn't a match default to latest\r\n if [ ! -z ${FILES_JSON_ELEMENT} ]; then\r\n echo -e \"No matching version found\"\r\n echo -e \"defaulting to latest\"\r\n DOWNLOAD_URL=$(echo -e ${FILES_JSON_DATA} | jq --arg ELEMENT \"${FILES_JSON_ELEMENT}\" '.[$ELEMENT|tonumber-1] | .downloadUrl')\r\n else\r\n echo -e \"Version match found\"\r\n DOWNLOAD_URL=$(echo -e ${JSON_DATA} | jq -r .latestFiles[0].downloadUrl)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n fi\r\n fi\r\n\r\n ## download modpack files\r\n cd \/mnt\/server\r\n echo \"Executing curl -L ${DOWNLOAD_URL} -o server.zip\"\r\n curl -L \"${DOWNLOAD_URL}\" -o server.zip\r\n unzip -o server.zip\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 if [ -f \/mnt\/server\/*installer.jar ]; then\r\n java -jar *installer.jar --installServer\r\n else\r\n echo \"No forge installer found moving on.\"\r\n fi\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 if [ ! -f \/mnt\/server\/*universal.jar ]; then\r\n mv -v \/mnt\/server\/*\/* \/mnt\/server\/\r\n mv *universal.jar server.jar\r\n else\r\n mv *universal.jar server.jar\r\n fi\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=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${projID}\/file\/${fileID}\/download-url)\r\n # this is saving everything as \/mnt\/server\/mods\/download\r\n echo \"Mod direct url: ${URL}\"\r\n curl -JLO \"${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 -e \"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 -e \"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 -e \"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 -e \"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 ftb_install {\r\n chmod +x \/mnt\/server\/settings.sh \r\n . \/mnt\/server\/settings.sh \r\n curl https:\/\/s3.amazonaws.com\/Minecraft.Download\/versions\/${MCVER}\/minecraft_server.${MCVER}.jar -o ${JARFILE} \r\n curl https:\/\/libraries.minecraft.net\/${LAUNCHWRAPPER} -o \/mnt\/server\/libraries\/${LAUNCHWRAPPER}\r\n}\r\n\r\ninstall_required\r\nget_download\r\n\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\nelif [ -f \/mnt\/server\/version.json ]; then\r\n if [ \"$(cat \/mnt\/server\/version.json | jq -r '.packID | contains(\"FTB\")')\" == \"true\" ]; then\r\n ftb_install\r\n fi\r\nelse\r\n forge_install\r\n forge_cleanup\r\nfi", + "script": "#!\/bin\/bash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir -p \/mnt\/server\r\nfi\r\n\r\nfunction install_required {\r\n apt update\r\n apt install -y curl jq unzip dos2unix\r\n}\r\n\r\nfunction get_latest {\r\n FILE_ID=$(echo -e ${JSON_DATA} | jq -r .defaultFileId)\r\n if [ \"$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .isServerPack\")\" == \"false\" ]; then\r\n FILE_ID=$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .serverPackFileId\")\r\n curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/file\/${FILE_ID}\/download-url\r\n else\r\n curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/file\/${FILE_ID}\/download-url\r\n fi\r\n}\r\n\r\nfunction get_download {\r\n # get json data to work with\r\n echo -e \"Curling the json for the modpack\"\r\n echo -e \"running: curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\"\r\n JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID})\r\n\r\n # if no modpack version is set or is set to latest\r\n if [ -z ${MODPACK_VERSION} ] || [ \"${MODPACK_VERSION}\" = \"latest\" ]; then\r\n echo -e \"Getting latest download url\"\r\n # parse data to get the download url\r\n DOWNLOAD_URL=$(get_latest $JSON_DATA)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n else\r\n echo -e \"Looking for download url for version ${MODPACK_VERSION}\"\r\n # parse files for version match\r\n FILES_JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/files)\r\n # get element number to get the exact location in the json\r\n FILES_JSON_ELEMENT=$(echo -e ${FILES_JSON_DATA} | jq --arg VERSION \"${MODPACK_VERSION}\" '.[] | select(.displayName) | .displayName | contains($VERSION)' | grep -n true | cut -f1 -d: | tail -1)\r\n # if there wasn't a match default to latest\r\n if [ ! -z ${FILES_JSON_ELEMENT} ]; then\r\n echo -e \"No matching version found\"\r\n echo -e \"defaulting to latest\"\r\n DOWNLOAD_URL=$(echo -e ${FILES_JSON_DATA} | jq --arg ELEMENT \"${FILES_JSON_ELEMENT}\" '.[$ELEMENT|tonumber-1] | .downloadUrl')\r\n else\r\n echo -e \"Version match found\"\r\n DOWNLOAD_URL=$(echo -e ${JSON_DATA} | jq -r .latestFiles[0].downloadUrl)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n fi\r\n fi\r\n\r\n ## download modpack files\r\n cd \/mnt\/server\r\n echo \"Executing curl -L ${DOWNLOAD_URL} -o server.zip\"\r\n curl -L \"${DOWNLOAD_URL}\" -o server.zip\r\n unzip -o server.zip\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 if [ -f \/mnt\/server\/*installer.jar ]; then\r\n java -jar *installer.jar --installServer\r\n else\r\n echo \"No forge installer found moving on.\"\r\n fi\r\n mv FTBServer.jar ${JARFILE}\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 if [ ! -f \/mnt\/server\/*universal.jar ]; then\r\n mv -v \/mnt\/server\/*\/* \/mnt\/server\/\r\n mv *universal.jar server.jar\r\n else\r\n mv *universal.jar server.jar\r\n fi\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=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${projID}\/file\/${fileID}\/download-url)\r\n # this is saving everything as \/mnt\/server\/mods\/download\r\n echo \"Mod direct url: ${URL}\"\r\n curl -JLO \"${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 -e \"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 -e \"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 -e \"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 -e \"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 ftb_install {\r\n chmod +x \/mnt\/server\/settings.sh \r\n . \/mnt\/server\/settings.sh \r\n curl https:\/\/s3.amazonaws.com\/Minecraft.Download\/versions\/${MCVER}\/minecraft_server.${MCVER}.jar -o ${JARFILE} \r\n curl https:\/\/libraries.minecraft.net\/${LAUNCHWRAPPER} -o \/mnt\/server\/libraries\/${LAUNCHWRAPPER}\r\n}\r\n\r\ninstall_required\r\nget_download\r\n\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\nelif [ -f \/mnt\/server\/version.json ]; then\r\n if [ \"$(cat \/mnt\/server\/version.json | jq -r '.packID | contains(\"FTB\")')\" == \"true\" ]; then\r\n ftb_install\r\n fi\r\nelse\r\n forge_install\r\n forge_cleanup\r\nfi", "container": "openjdk:8-jdk-slim", "entrypoint": "bash" } From 5b46a508ebe7daf1fb9aef30b5ed748c93ccc15d Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sat, 11 Apr 2020 22:40:22 -0400 Subject: [PATCH 259/413] fix the ftbserver fix --- .../forge/curseforge-generic/egg-curseforge-generic.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json b/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json index 227eb609..34811056 100644 --- a/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json +++ b/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-04-11T22:18:49-04:00", + "exported_at": "2020-04-11T22:37:27-04:00", "name": "Curseforge Generic", "author": "parker@parkervcp.com", "description": "A generic egg for a forge modpack", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir -p \/mnt\/server\r\nfi\r\n\r\nfunction install_required {\r\n apt update\r\n apt install -y curl jq unzip dos2unix\r\n}\r\n\r\nfunction get_latest {\r\n FILE_ID=$(echo -e ${JSON_DATA} | jq -r .defaultFileId)\r\n if [ \"$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .isServerPack\")\" == \"false\" ]; then\r\n FILE_ID=$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .serverPackFileId\")\r\n curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/file\/${FILE_ID}\/download-url\r\n else\r\n curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/file\/${FILE_ID}\/download-url\r\n fi\r\n}\r\n\r\nfunction get_download {\r\n # get json data to work with\r\n echo -e \"Curling the json for the modpack\"\r\n echo -e \"running: curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\"\r\n JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID})\r\n\r\n # if no modpack version is set or is set to latest\r\n if [ -z ${MODPACK_VERSION} ] || [ \"${MODPACK_VERSION}\" = \"latest\" ]; then\r\n echo -e \"Getting latest download url\"\r\n # parse data to get the download url\r\n DOWNLOAD_URL=$(get_latest $JSON_DATA)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n else\r\n echo -e \"Looking for download url for version ${MODPACK_VERSION}\"\r\n # parse files for version match\r\n FILES_JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/files)\r\n # get element number to get the exact location in the json\r\n FILES_JSON_ELEMENT=$(echo -e ${FILES_JSON_DATA} | jq --arg VERSION \"${MODPACK_VERSION}\" '.[] | select(.displayName) | .displayName | contains($VERSION)' | grep -n true | cut -f1 -d: | tail -1)\r\n # if there wasn't a match default to latest\r\n if [ ! -z ${FILES_JSON_ELEMENT} ]; then\r\n echo -e \"No matching version found\"\r\n echo -e \"defaulting to latest\"\r\n DOWNLOAD_URL=$(echo -e ${FILES_JSON_DATA} | jq --arg ELEMENT \"${FILES_JSON_ELEMENT}\" '.[$ELEMENT|tonumber-1] | .downloadUrl')\r\n else\r\n echo -e \"Version match found\"\r\n DOWNLOAD_URL=$(echo -e ${JSON_DATA} | jq -r .latestFiles[0].downloadUrl)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n fi\r\n fi\r\n\r\n ## download modpack files\r\n cd \/mnt\/server\r\n echo \"Executing curl -L ${DOWNLOAD_URL} -o server.zip\"\r\n curl -L \"${DOWNLOAD_URL}\" -o server.zip\r\n unzip -o server.zip\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 if [ -f \/mnt\/server\/*installer.jar ]; then\r\n java -jar *installer.jar --installServer\r\n else\r\n echo \"No forge installer found moving on.\"\r\n fi\r\n mv FTBServer.jar ${JARFILE}\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 if [ ! -f \/mnt\/server\/*universal.jar ]; then\r\n mv -v \/mnt\/server\/*\/* \/mnt\/server\/\r\n mv *universal.jar server.jar\r\n else\r\n mv *universal.jar server.jar\r\n fi\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=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${projID}\/file\/${fileID}\/download-url)\r\n # this is saving everything as \/mnt\/server\/mods\/download\r\n echo \"Mod direct url: ${URL}\"\r\n curl -JLO \"${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 -e \"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 -e \"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 -e \"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 -e \"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 ftb_install {\r\n chmod +x \/mnt\/server\/settings.sh \r\n . \/mnt\/server\/settings.sh \r\n curl https:\/\/s3.amazonaws.com\/Minecraft.Download\/versions\/${MCVER}\/minecraft_server.${MCVER}.jar -o ${JARFILE} \r\n curl https:\/\/libraries.minecraft.net\/${LAUNCHWRAPPER} -o \/mnt\/server\/libraries\/${LAUNCHWRAPPER}\r\n}\r\n\r\ninstall_required\r\nget_download\r\n\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\nelif [ -f \/mnt\/server\/version.json ]; then\r\n if [ \"$(cat \/mnt\/server\/version.json | jq -r '.packID | contains(\"FTB\")')\" == \"true\" ]; then\r\n ftb_install\r\n fi\r\nelse\r\n forge_install\r\n forge_cleanup\r\nfi", + "script": "#!\/bin\/bash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir -p \/mnt\/server\r\nfi\r\n\r\nfunction install_required {\r\n apt update\r\n apt install -y curl jq unzip dos2unix\r\n}\r\n\r\nfunction get_latest {\r\n FILE_ID=$(echo -e ${JSON_DATA} | jq -r .defaultFileId)\r\n if [ \"$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .isServerPack\")\" == \"false\" ]; then\r\n FILE_ID=$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .serverPackFileId\")\r\n curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/file\/${FILE_ID}\/download-url\r\n else\r\n curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/file\/${FILE_ID}\/download-url\r\n fi\r\n}\r\n\r\nfunction get_download {\r\n # get json data to work with\r\n echo -e \"Curling the json for the modpack\"\r\n echo -e \"running: curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\"\r\n JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID})\r\n\r\n # if no modpack version is set or is set to latest\r\n if [ -z ${MODPACK_VERSION} ] || [ \"${MODPACK_VERSION}\" = \"latest\" ]; then\r\n echo -e \"Getting latest download url\"\r\n # parse data to get the download url\r\n DOWNLOAD_URL=$(get_latest $JSON_DATA)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n else\r\n echo -e \"Looking for download url for version ${MODPACK_VERSION}\"\r\n # parse files for version match\r\n FILES_JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/files)\r\n # get element number to get the exact location in the json\r\n FILES_JSON_ELEMENT=$(echo -e ${FILES_JSON_DATA} | jq --arg VERSION \"${MODPACK_VERSION}\" '.[] | select(.displayName) | .displayName | contains($VERSION)' | grep -n true | cut -f1 -d: | tail -1)\r\n # if there wasn't a match default to latest\r\n if [ ! -z ${FILES_JSON_ELEMENT} ]; then\r\n echo -e \"No matching version found\"\r\n echo -e \"defaulting to latest\"\r\n DOWNLOAD_URL=$(echo -e ${FILES_JSON_DATA} | jq --arg ELEMENT \"${FILES_JSON_ELEMENT}\" '.[$ELEMENT|tonumber-1] | .downloadUrl')\r\n else\r\n echo -e \"Version match found\"\r\n DOWNLOAD_URL=$(echo -e ${JSON_DATA} | jq -r .latestFiles[0].downloadUrl)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n fi\r\n fi\r\n\r\n ## download modpack files\r\n cd \/mnt\/server\r\n echo \"Executing curl -L ${DOWNLOAD_URL} -o server.zip\"\r\n curl -L \"${DOWNLOAD_URL}\" -o server.zip\r\n unzip -o server.zip\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 if [ -f \/mnt\/server\/*installer.jar ]; then\r\n java -jar *installer.jar --installServer\r\n else\r\n echo \"No forge installer found moving on.\"\r\n fi\r\n mv FTBServer.jar server.jar\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 if [ ! -f \/mnt\/server\/*universal.jar ]; then\r\n mv -v \/mnt\/server\/*\/* \/mnt\/server\/\r\n mv *universal.jar server.jar\r\n else\r\n mv *universal.jar server.jar\r\n fi\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=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${projID}\/file\/${fileID}\/download-url)\r\n # this is saving everything as \/mnt\/server\/mods\/download\r\n echo \"Mod direct url: ${URL}\"\r\n curl -JLO \"${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 -e \"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 -e \"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 -e \"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 -e \"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 ftb_install {\r\n chmod +x \/mnt\/server\/settings.sh \r\n . \/mnt\/server\/settings.sh \r\n curl https:\/\/s3.amazonaws.com\/Minecraft.Download\/versions\/${MCVER}\/minecraft_server.${MCVER}.jar -o ${JARFILE} \r\n curl https:\/\/libraries.minecraft.net\/${LAUNCHWRAPPER} -o \/mnt\/server\/libraries\/${LAUNCHWRAPPER}\r\n}\r\n\r\ninstall_required\r\nget_download\r\n\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\nelif [ -f \/mnt\/server\/version.json ]; then\r\n if [ \"$(cat \/mnt\/server\/version.json | jq -r '.packID | contains(\"FTB\")')\" == \"true\" ]; then\r\n ftb_install\r\n fi\r\nelse\r\n forge_install\r\n forge_cleanup\r\nfi", "container": "openjdk:8-jdk-slim", "entrypoint": "bash" } From d219e04d28a7b8cd67272bdaa638041c72e5328b Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Tue, 14 Apr 2020 13:23:46 -0400 Subject: [PATCH 260/413] fix download link for forge Fixes corrupted jar issue --- minecraft_java/forge/forge/egg-forge-enhanced.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/minecraft_java/forge/forge/egg-forge-enhanced.json b/minecraft_java/forge/forge/egg-forge-enhanced.json index c97fa8a6..c3071ab0 100644 --- a/minecraft_java/forge/forge/egg-forge-enhanced.json +++ b/minecraft_java/forge/forge/egg-forge-enhanced.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-12-01T20:05:28-05:00", + "exported_at": "2020-04-14T13:21:38-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.", @@ -17,7 +17,7 @@ }, "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 jq\r\n\r\necho -e \"minecraft version: ${MC_VERSION}\"\r\necho -e \"build type: ${BUILD_TYPE}\"\r\n\r\nJSON_DATA=$(curl -sSL https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/promotions_slim.json)\r\n\r\nif [ \"${MC_VERSION}\" == \"latest\" ] || [ \"${MC_VERSION}\" == \"\" ] ; then\r\n echo -e \"getting latest recommended version of forge.\"\r\n MC_VERSION=$(echo -e ${JSON_DATA} | jq -r '.promos | del(.\"latest-1.7.10\") | del(.\"1.7.10-latest-1.7.10\") | to_entries[] | .key | select(contains(\"recommended\")) | split(\"-\")[0]' | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n | tail -1)\r\n\tBUILD_TYPE=recommended\r\n\t\r\n\techo -e \"minecraft version: ${MC_VERSION}\"\r\n\techo -e \"build type: ${BUILD_TYPE}\"\r\nfi\r\n\r\n## some variables for getting versions and things\r\nFILE_SITE=$(echo -e ${JSON_DATA} | jq -r '.homepage')\r\nVERSION_KEY=$(echo -e ${JSON_DATA} | jq -r --arg MC_VERSION \"${MC_VERSION}\" --arg BUILD_TYPE \"${BUILD_TYPE}\" '.promos | to_entries[] | .key | select(contains($MC_VERSION)) | select(contains($BUILD_TYPE))')\r\n\r\n## locating the forge version\r\nif [ \"${VERSION_KEY}\" == \"\" ] && [ \"${BUILD_TYPE}\" == \"recommended\" ]; then\r\n echo -e \"dropping back to latest from recommended due to there not being a recommended version of forge for the mc version requested.\"\r\n VERSION_KEY=$(echo -e ${JSON_DATA} | jq -r --arg MC_VERSION \"${MC_VERSION}\" '.promos | to_entries[] | .key | select(contains($MC_VERSION)) | select(contains(\"latest\"))')\r\nfi\r\n\r\n## Error if the mc version set wasn't valid.\r\nif [ \"${VERSION_KEY}\" == \"\" ]; then\r\n\techo -e \"The install failed because there is no valid version of forge for the version on minecraft selected.\"\r\n\texit 1\r\nfi\r\n\r\nFORGE_VERSION=$(echo -e ${JSON_DATA} | jq -r --arg VERSION_KEY \"$VERSION_KEY\" '.promos | .[$VERSION_KEY]')\r\n\r\nif [ \"${MC_VERSION}\" == \"1.7.10\" ] || [ \"${MC_VERSION}\" == \"1.8.9\" ]; then\r\n DOWNLOAD_LINK=${FILE_SITE}${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}\/forge-${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}\r\nelse\r\n DOWNLOAD_LINK=${FILE_SITE}${MC_VERSION}-${FORGE_VERSION}\/forge-${MC_VERSION}-${FORGE_VERSION}\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 ${FORGE_VERSION}\"\r\nif [ ! -z \"${DOWNLOAD_LINK}\" ]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_LINK}-installer.jar; then\r\n echo -e \"installer jar download link is valid.\"\r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_LINK}-universal.jar; then\r\n echo -e \"universal jar download link is valid.\"\r\n else\r\n echo -e \"link is invalid closing out\"\r\n exit 3\r\n fi\r\n else\r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\ncurl -s -o installer.jar -sS ${DOWNLOAD_LINK}-installer.jar\r\ncurl -s -o $SERVER_JARFILE -sS ${DOWNLOAD_LINK}-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 ${FORGE_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", + "script": "#!\/bin\/bash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y curl jq\r\n\r\necho -e \"minecraft version: ${MC_VERSION}\"\r\necho -e \"build type: ${BUILD_TYPE}\"\r\n\r\nJSON_DATA=$(curl -sSL https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/promotions_slim.json)\r\n\r\nif [ \"${MC_VERSION}\" == \"latest\" ] || [ \"${MC_VERSION}\" == \"\" ] ; then\r\n echo -e \"getting latest recommended version of forge.\"\r\n MC_VERSION=$(echo -e ${JSON_DATA} | jq -r '.promos | del(.\"latest-1.7.10\") | del(.\"1.7.10-latest-1.7.10\") | to_entries[] | .key | select(contains(\"recommended\")) | split(\"-\")[0]' | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n | tail -1)\r\n\tBUILD_TYPE=recommended\r\n\t\r\n\techo -e \"minecraft version: ${MC_VERSION}\"\r\n\techo -e \"build type: ${BUILD_TYPE}\"\r\nfi\r\n\r\n## some variables for getting versions and things\r\nFILE_SITE=$(echo -e ${JSON_DATA} | jq -r '.homepage' | sed \"s\/http:\/https:\/g\")\r\nVERSION_KEY=$(echo -e ${JSON_DATA} | jq -r --arg MC_VERSION \"${MC_VERSION}\" --arg BUILD_TYPE \"${BUILD_TYPE}\" '.promos | to_entries[] | .key | select(contains($MC_VERSION)) | select(contains($BUILD_TYPE))')\r\n\r\n## locating the forge version\r\nif [ \"${VERSION_KEY}\" == \"\" ] && [ \"${BUILD_TYPE}\" == \"recommended\" ]; then\r\n echo -e \"dropping back to latest from recommended due to there not being a recommended version of forge for the mc version requested.\"\r\n VERSION_KEY=$(echo -e ${JSON_DATA} | jq -r --arg MC_VERSION \"${MC_VERSION}\" '.promos | to_entries[] | .key | select(contains($MC_VERSION)) | select(contains(\"latest\"))')\r\nfi\r\n\r\n## Error if the mc version set wasn't valid.\r\nif [ \"${VERSION_KEY}\" == \"\" ]; then\r\n\techo -e \"The install failed because there is no valid version of forge for the version on minecraft selected.\"\r\n\texit 1\r\nfi\r\n\r\nFORGE_VERSION=$(echo -e ${JSON_DATA} | jq -r --arg VERSION_KEY \"$VERSION_KEY\" '.promos | .[$VERSION_KEY]')\r\n\r\n\r\n\r\nif [ \"${MC_VERSION}\" == \"1.7.10\" ] || [ \"${MC_VERSION}\" == \"1.8.9\" ]; then\r\n DOWNLOAD_LINK=${FILE_SITE}${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}\/forge-${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}\r\nelse\r\n DOWNLOAD_LINK=${FILE_SITE}${MC_VERSION}-${FORGE_VERSION}\/forge-${MC_VERSION}-${FORGE_VERSION}\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 ${FORGE_VERSION}\"\r\nif [ ! -z \"${DOWNLOAD_LINK}\" ]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_LINK}-installer.jar; then\r\n echo -e \"installer jar download link is valid.\"\r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_LINK}-universal.jar; then\r\n echo -e \"universal jar download link is valid.\"\r\n else\r\n echo -e \"link is invalid closing out\"\r\n exit 3\r\n fi\r\n else\r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\ncurl -s -o installer.jar -sS ${DOWNLOAD_LINK}-installer.jar\r\ncurl -s -o $SERVER_JARFILE -sS ${DOWNLOAD_LINK}-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 ${FORGE_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-jdk-slim", "entrypoint": "bash" } From 0110a94ca28203133ca9c8cb6d5446c3d56bf3d2 Mon Sep 17 00:00:00 2001 From: Sean McRobbie Date: Thu, 16 Apr 2020 18:28:54 +0200 Subject: [PATCH 261/413] fix openttd install fails due to missing curl command --- tycoon_games/openttd/egg-open-t-t-d-server.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tycoon_games/openttd/egg-open-t-t-d-server.json b/tycoon_games/openttd/egg-open-t-t-d-server.json index 89b5bb1b..2f7a89fd 100644 --- a/tycoon_games/openttd/egg-open-t-t-d-server.json +++ b/tycoon_games/openttd/egg-open-t-t-d-server.json @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/ash\r\n\r\napk add --no-cache wget binutils xz\r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"getting file from: https:\/\/proxy.binaries.openttd.org\/openttd-releases\/${OPENTTD_VERSION}\/openttd-${OPENTTD_VERSION}-linux-ubuntu-bionic-amd64.deb\"\r\n\r\nwget https:\/\/proxy.binaries.openttd.org\/openttd-releases\/${OPENTTD_VERSION}\/openttd-${OPENTTD_VERSION}-linux-ubuntu-bionic-amd64.deb -O openttd.deb\r\n\r\nar -x openttd.deb\r\n\r\ntar -xvf data.tar.xz\r\n\r\nmv usr\/share\/games\/openttd\/* .\/\r\n\r\nmv usr\/games\/openttd .\/\r\n\r\nchmod +x openttd\r\n\r\nwget https:\/\/binaries.openttd.org\/extra\/opengfx\/${OPENGFX_VERSION}\/opengfx-${OPENGFX_VERSION}-all.zip -O opengfx.zip\r\n\r\nunzip opengfx.zip \r\n\r\ntar --strip-components=1 -C baseset\/ -xvf opengfx*.tar\r\n\r\nrm open*zip open*tar open*gz debian-binary open*deb\r\n\r\n[ -f \/home\/container\/openttd.cfg ] || curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/tycoon_games\/openttd\/openttd.cfg > openttd.cfg", + "script": "#!\/bin\/ash\r\n\r\napk add --no-cache wget binutils xz curl\r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"getting file from: https:\/\/proxy.binaries.openttd.org\/openttd-releases\/${OPENTTD_VERSION}\/openttd-${OPENTTD_VERSION}-linux-ubuntu-bionic-amd64.deb\"\r\n\r\nwget https:\/\/proxy.binaries.openttd.org\/openttd-releases\/${OPENTTD_VERSION}\/openttd-${OPENTTD_VERSION}-linux-ubuntu-bionic-amd64.deb -O openttd.deb\r\n\r\nar -x openttd.deb\r\n\r\ntar -xvf data.tar.xz\r\n\r\nmv usr\/share\/games\/openttd\/* .\/\r\n\r\nmv usr\/games\/openttd .\/\r\n\r\nchmod +x openttd\r\n\r\nwget https:\/\/binaries.openttd.org\/extra\/opengfx\/${OPENGFX_VERSION}\/opengfx-${OPENGFX_VERSION}-all.zip -O opengfx.zip\r\n\r\nunzip opengfx.zip \r\n\r\ntar --strip-components=1 -C baseset\/ -xvf opengfx*.tar\r\n\r\nrm open*zip open*tar open*gz debian-binary open*deb\r\n\r\n[ -f \/home\/container\/openttd.cfg ] || curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/tycoon_games\/openttd\/openttd.cfg > openttd.cfg", "container": "alpine:3.10", "entrypoint": "ash" } From 67033a431f9a16ba25ee4d4f563dd9a3ebd877cd Mon Sep 17 00:00:00 2001 From: Sean McRobbie Date: Thu, 16 Apr 2020 18:31:24 +0200 Subject: [PATCH 262/413] fix openttd opengfx url has changed --- tycoon_games/openttd/egg-open-t-t-d-server.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tycoon_games/openttd/egg-open-t-t-d-server.json b/tycoon_games/openttd/egg-open-t-t-d-server.json index 2f7a89fd..f2dcb036 100644 --- a/tycoon_games/openttd/egg-open-t-t-d-server.json +++ b/tycoon_games/openttd/egg-open-t-t-d-server.json @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/ash\r\n\r\napk add --no-cache wget binutils xz curl\r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"getting file from: https:\/\/proxy.binaries.openttd.org\/openttd-releases\/${OPENTTD_VERSION}\/openttd-${OPENTTD_VERSION}-linux-ubuntu-bionic-amd64.deb\"\r\n\r\nwget https:\/\/proxy.binaries.openttd.org\/openttd-releases\/${OPENTTD_VERSION}\/openttd-${OPENTTD_VERSION}-linux-ubuntu-bionic-amd64.deb -O openttd.deb\r\n\r\nar -x openttd.deb\r\n\r\ntar -xvf data.tar.xz\r\n\r\nmv usr\/share\/games\/openttd\/* .\/\r\n\r\nmv usr\/games\/openttd .\/\r\n\r\nchmod +x openttd\r\n\r\nwget https:\/\/binaries.openttd.org\/extra\/opengfx\/${OPENGFX_VERSION}\/opengfx-${OPENGFX_VERSION}-all.zip -O opengfx.zip\r\n\r\nunzip opengfx.zip \r\n\r\ntar --strip-components=1 -C baseset\/ -xvf opengfx*.tar\r\n\r\nrm open*zip open*tar open*gz debian-binary open*deb\r\n\r\n[ -f \/home\/container\/openttd.cfg ] || curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/tycoon_games\/openttd\/openttd.cfg > openttd.cfg", + "script": "#!\/bin\/ash\r\n\r\napk add --no-cache wget binutils xz curl\r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"getting file from: https:\/\/proxy.binaries.openttd.org\/openttd-releases\/${OPENTTD_VERSION}\/openttd-${OPENTTD_VERSION}-linux-ubuntu-bionic-amd64.deb\"\r\n\r\nwget https:\/\/proxy.binaries.openttd.org\/openttd-releases\/${OPENTTD_VERSION}\/openttd-${OPENTTD_VERSION}-linux-ubuntu-bionic-amd64.deb -O openttd.deb\r\n\r\nar -x openttd.deb\r\n\r\ntar -xvf data.tar.xz\r\n\r\nmv usr\/share\/games\/openttd\/* .\/\r\n\r\nmv usr\/games\/openttd .\/\r\n\r\nchmod +x openttd\r\n\r\nwget https:\/\/cdn.openttd.org\/opengfx-releases\/${OPENGFX_VERSION}\/opengfx-${OPENGFX_VERSION}-all.zip -O opengfx.zip\r\n\r\nunzip opengfx.zip \r\n\r\ntar --strip-components=1 -C baseset\/ -xvf opengfx*.tar\r\n\r\nrm open*zip open*tar open*gz debian-binary open*deb\r\n\r\n[ -f \/home\/container\/openttd.cfg ] || curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/tycoon_games\/openttd\/openttd.cfg > openttd.cfg", "container": "alpine:3.10", "entrypoint": "ash" } From 4d53e2acfd29124c48a75015a6bcfff24a210ad6 Mon Sep 17 00:00:00 2001 From: Sean McRobbie Date: Thu, 16 Apr 2020 18:32:01 +0200 Subject: [PATCH 263/413] update openttd to 1.10.1 and opengfx to 0.6.0 --- tycoon_games/openttd/egg-open-t-t-d-server.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tycoon_games/openttd/egg-open-t-t-d-server.json b/tycoon_games/openttd/egg-open-t-t-d-server.json index f2dcb036..c2b4f8a0 100644 --- a/tycoon_games/openttd/egg-open-t-t-d-server.json +++ b/tycoon_games/openttd/egg-open-t-t-d-server.json @@ -43,18 +43,18 @@ }, { "name": "OpenTTD Version", - "description": "The version of OpenTTD i.e. 1.9.1", + "description": "The version of OpenTTD i.e. 1.10.1", "env_variable": "OPENTTD_VERSION", - "default_value": "1.9.1", + "default_value": "1.10.1", "user_viewable": 1, "user_editable": 0, "rules": "required|string|max:20" }, { "name": "OpenGFX Version", - "description": "The OpenGFX Version i.e. 0.5.5", + "description": "The OpenGFX Version i.e. 0.6.0", "env_variable": "OPENGFX_VERSION", - "default_value": "0.5.5", + "default_value": "0.6.0", "user_viewable": 1, "user_editable": 0, "rules": "required|string|max:20" From 6f0004ee9b22e8eb6fe2c70a7fb9ffdeec48f2ca Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Thu, 16 Apr 2020 20:32:37 -0400 Subject: [PATCH 264/413] update forge install script Update to use https all the time --- minecraft_java/forge/forge/egg-forge-enhanced.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/minecraft_java/forge/forge/egg-forge-enhanced.json b/minecraft_java/forge/forge/egg-forge-enhanced.json index c97fa8a6..b104b7ed 100644 --- a/minecraft_java/forge/forge/egg-forge-enhanced.json +++ b/minecraft_java/forge/forge/egg-forge-enhanced.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-12-01T20:05:28-05:00", + "exported_at": "2020-04-16T20:29:22-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.", @@ -17,7 +17,7 @@ }, "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 jq\r\n\r\necho -e \"minecraft version: ${MC_VERSION}\"\r\necho -e \"build type: ${BUILD_TYPE}\"\r\n\r\nJSON_DATA=$(curl -sSL https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/promotions_slim.json)\r\n\r\nif [ \"${MC_VERSION}\" == \"latest\" ] || [ \"${MC_VERSION}\" == \"\" ] ; then\r\n echo -e \"getting latest recommended version of forge.\"\r\n MC_VERSION=$(echo -e ${JSON_DATA} | jq -r '.promos | del(.\"latest-1.7.10\") | del(.\"1.7.10-latest-1.7.10\") | to_entries[] | .key | select(contains(\"recommended\")) | split(\"-\")[0]' | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n | tail -1)\r\n\tBUILD_TYPE=recommended\r\n\t\r\n\techo -e \"minecraft version: ${MC_VERSION}\"\r\n\techo -e \"build type: ${BUILD_TYPE}\"\r\nfi\r\n\r\n## some variables for getting versions and things\r\nFILE_SITE=$(echo -e ${JSON_DATA} | jq -r '.homepage')\r\nVERSION_KEY=$(echo -e ${JSON_DATA} | jq -r --arg MC_VERSION \"${MC_VERSION}\" --arg BUILD_TYPE \"${BUILD_TYPE}\" '.promos | to_entries[] | .key | select(contains($MC_VERSION)) | select(contains($BUILD_TYPE))')\r\n\r\n## locating the forge version\r\nif [ \"${VERSION_KEY}\" == \"\" ] && [ \"${BUILD_TYPE}\" == \"recommended\" ]; then\r\n echo -e \"dropping back to latest from recommended due to there not being a recommended version of forge for the mc version requested.\"\r\n VERSION_KEY=$(echo -e ${JSON_DATA} | jq -r --arg MC_VERSION \"${MC_VERSION}\" '.promos | to_entries[] | .key | select(contains($MC_VERSION)) | select(contains(\"latest\"))')\r\nfi\r\n\r\n## Error if the mc version set wasn't valid.\r\nif [ \"${VERSION_KEY}\" == \"\" ]; then\r\n\techo -e \"The install failed because there is no valid version of forge for the version on minecraft selected.\"\r\n\texit 1\r\nfi\r\n\r\nFORGE_VERSION=$(echo -e ${JSON_DATA} | jq -r --arg VERSION_KEY \"$VERSION_KEY\" '.promos | .[$VERSION_KEY]')\r\n\r\nif [ \"${MC_VERSION}\" == \"1.7.10\" ] || [ \"${MC_VERSION}\" == \"1.8.9\" ]; then\r\n DOWNLOAD_LINK=${FILE_SITE}${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}\/forge-${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}\r\nelse\r\n DOWNLOAD_LINK=${FILE_SITE}${MC_VERSION}-${FORGE_VERSION}\/forge-${MC_VERSION}-${FORGE_VERSION}\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 ${FORGE_VERSION}\"\r\nif [ ! -z \"${DOWNLOAD_LINK}\" ]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_LINK}-installer.jar; then\r\n echo -e \"installer jar download link is valid.\"\r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_LINK}-universal.jar; then\r\n echo -e \"universal jar download link is valid.\"\r\n else\r\n echo -e \"link is invalid closing out\"\r\n exit 3\r\n fi\r\n else\r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\ncurl -s -o installer.jar -sS ${DOWNLOAD_LINK}-installer.jar\r\ncurl -s -o $SERVER_JARFILE -sS ${DOWNLOAD_LINK}-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 ${FORGE_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", + "script": "#!\/bin\/bash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y curl jq\r\n\r\necho -e \"minecraft version: ${MC_VERSION}\"\r\necho -e \"build type: ${BUILD_TYPE}\"\r\n\r\nJSON_DATA=$(curl -sSL https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/promotions_slim.json)\r\n\r\nif [ \"${MC_VERSION}\" == \"latest\" ] || [ \"${MC_VERSION}\" == \"\" ] ; then\r\n echo -e \"getting latest recommended version of forge.\"\r\n MC_VERSION=$(echo -e ${JSON_DATA} | jq -r '.promos | del(.\"latest-1.7.10\") | del(.\"1.7.10-latest-1.7.10\") | to_entries[] | .key | select(contains(\"recommended\")) | split(\"-\")[0]' | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n | tail -1)\r\n\tBUILD_TYPE=recommended\r\n\t\r\n\techo -e \"minecraft version: ${MC_VERSION}\"\r\n\techo -e \"build type: ${BUILD_TYPE}\"\r\nfi\r\n\r\n## some variables for getting versions and things\r\nFILE_SITE=$(echo -e ${JSON_DATA} | jq -r '.homepage' | sed \"s\/http:\/https:\/g\")\r\nVERSION_KEY=$(echo -e ${JSON_DATA} | jq -r --arg MC_VERSION \"${MC_VERSION}\" --arg BUILD_TYPE \"${BUILD_TYPE}\" '.promos | to_entries[] | .key | select(contains($MC_VERSION)) | select(contains($BUILD_TYPE))')\r\n\r\n## locating the forge version\r\nif [ \"${VERSION_KEY}\" == \"\" ] && [ \"${BUILD_TYPE}\" == \"recommended\" ]; then\r\n echo -e \"dropping back to latest from recommended due to there not being a recommended version of forge for the mc version requested.\"\r\n VERSION_KEY=$(echo -e ${JSON_DATA} | jq -r --arg MC_VERSION \"${MC_VERSION}\" '.promos | to_entries[] | .key | select(contains($MC_VERSION)) | select(contains(\"latest\"))')\r\nfi\r\n\r\n## Error if the mc version set wasn't valid.\r\nif [ \"${VERSION_KEY}\" == \"\" ]; then\r\n\techo -e \"The install failed because there is no valid version of forge for the version on minecraft selected.\"\r\n\texit 1\r\nfi\r\n\r\nFORGE_VERSION=$(echo -e ${JSON_DATA} | jq -r --arg VERSION_KEY \"$VERSION_KEY\" '.promos | .[$VERSION_KEY]')\r\n\r\n\r\n\r\nif [ \"${MC_VERSION}\" == \"1.7.10\" ] || [ \"${MC_VERSION}\" == \"1.8.9\" ]; then\r\n DOWNLOAD_LINK=${FILE_SITE}${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}\/forge-${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}\r\nelse\r\n DOWNLOAD_LINK=${FILE_SITE}${MC_VERSION}-${FORGE_VERSION}\/forge-${MC_VERSION}-${FORGE_VERSION}\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 ${FORGE_VERSION}\"\r\nif [ ! -z \"${DOWNLOAD_LINK}\" ]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_LINK}-installer.jar; then\r\n echo -e \"installer jar download link is valid.\"\r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_LINK}-universal.jar; then\r\n echo -e \"universal jar download link is valid.\"\r\n else\r\n echo -e \"link is invalid closing out\"\r\n exit 3\r\n fi\r\n else\r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\ncurl -s -o installer.jar -sS ${DOWNLOAD_LINK}-installer.jar\r\ncurl -s -o $SERVER_JARFILE -sS ${DOWNLOAD_LINK}-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 ${FORGE_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-jdk-slim", "entrypoint": "bash" } From 61bc8b83089e16f0bf4555cc0d84f8a3cf160cce Mon Sep 17 00:00:00 2001 From: Stijn Bannink <27051051+stijnb1234@users.noreply.github.com> Date: Fri, 17 Apr 2020 11:30:45 +0200 Subject: [PATCH 265/413] Fixed magma url in readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ffb821d1..b4ccfbee 100644 --- a/README.md +++ b/README.md @@ -74,7 +74,7 @@ If you are reading this it looks like you are looking to add an egg to your serv * [Cuberite](/minecraft_java/cuberite/) * [Forge](/minecraft_java/forge/) * [Feed The Beast](/minecraft_java/ftb/) -* [Magma](/minecraft/magma/) +* [Magma](/minecraft_java/magma/) * [Paper](/minecraft_java/paper) * [Spigot](/minecraft_java/spigot/) * [spongeforge](/minecraft_java/spongeforge/) From 83cffa378f1ef16af94a8bb5557c63ad3864c01a Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sat, 18 Apr 2020 11:54:25 -0400 Subject: [PATCH 266/413] add basic hurtworld support The game doesn't have a usable console as far as I can tell. --- README.md | 1 + steamcmd_servers/README.md | 3 + steamcmd_servers/hurtworld/README.md | 15 +++++ steamcmd_servers/hurtworld/egg-hurtworld.json | 63 +++++++++++++++++++ 4 files changed, 82 insertions(+) create mode 100644 steamcmd_servers/hurtworld/README.md create mode 100644 steamcmd_servers/hurtworld/egg-hurtworld.json diff --git a/README.md b/README.md index b4ccfbee..99de4998 100644 --- a/README.md +++ b/README.md @@ -101,6 +101,7 @@ If you are reading this it looks like you are looking to add an egg to your serv * [Don't Starve](/steamcmd_servers/dont_starve) * [ECO](/steamcmd_servers/eco/) * [HLDS server](/steamcmd_servers/hlds_server) +* [Hurtworld](/steamcmd_servers/hurtworld) * [Mordhau](/steamcmd_servers/mordhau) * [Onset](/steamcmd_servers/onset) * [PixARK](/steamcmd_servers/pixark/) diff --git a/steamcmd_servers/README.md b/steamcmd_servers/README.md index 5cef5d34..f793e9ba 100644 --- a/steamcmd_servers/README.md +++ b/steamcmd_servers/README.md @@ -25,6 +25,9 @@ This is a collection of servers that use steamcmd to install. ## HLDS Server [hlds](hlds_server/) +## Hurtworld +[hurtworld](hurtworld/) + ## Mordhau [mordhau](mordhau/) diff --git a/steamcmd_servers/hurtworld/README.md b/steamcmd_servers/hurtworld/README.md new file mode 100644 index 00000000..eb62c64e --- /dev/null +++ b/steamcmd_servers/hurtworld/README.md @@ -0,0 +1,15 @@ +# Hurtworld +### From their [website](http://hurtworld.com/) + +### Install notes +Due to rate limiting the console on the panel cannot keep up with the game console and the build will complete before the panel console may show it. Reloading the console will load it to the latest part of the log. + +### Server Ports +These are the servers required ports + +| Port | default | +|---------|---------| +| Game | 12871 | +| Query | 13871 | + +#### Mods/Plugins may require ports to be added to the server. diff --git a/steamcmd_servers/hurtworld/egg-hurtworld.json b/steamcmd_servers/hurtworld/egg-hurtworld.json new file mode 100644 index 00000000..5db3022f --- /dev/null +++ b/steamcmd_servers/hurtworld/egg-hurtworld.json @@ -0,0 +1,63 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2020-04-16T20:41:27-04:00", + "name": "Hurtworld", + "author": "brycea@rapidnetworks.org", + "description": "Hurtworld is a hardcore multiplayer survival FPS with a focus on deep survival progression that doesn't become trivial once you establish some basic needs. Built for hardcore gamers, Hurtworld aims to punish.", + "image": "quay.io\/parkervcp\/pterodactyl-images:debian_source", + "startup": ".\/Hurtworld.x86_64 -batchmode -nographics -exec \"host {{SERVER_PORT}};queryport {{QUERY_PORT}};maxplayers {{MAX_PLAYERS}};servername {{HOSTNAME}};creativemode ${CREATIVE_MODE};${ADMINS}\" -logfile $1", + "config": { + "files": "{}", + "startup": "{\r\n \"done\": \"orphaned items\"\r\n}", + "logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/latest.log\"\r\n}", + "stop": "^C" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'debian:buster-slim'\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so", + "container": "debian:buster-slim", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "Game ID", + "description": "The ID corresponding to the game to download and run using SRCDS.", + "env_variable": "SRCDS_APPID", + "default_value": "405100", + "user_viewable": 1, + "user_editable": 0, + "rules": "required|regex:\/^(405100)$\/" + }, + { + "name": "Query Port", + "description": "Server Query Default Port", + "env_variable": "QUERY_PORT", + "default_value": "13871", + "user_viewable": 1, + "user_editable": 0, + "rules": "required|string" + }, + { + "name": "Max Players", + "description": "Max players allowed on the server at one time.", + "env_variable": "MAX_PLAYERS", + "default_value": "60", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:60" + }, + { + "name": "Server Name", + "description": "The name of your server in the public server list.", + "env_variable": "HOSTNAME", + "default_value": "A Hurtworld Server", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:50" + } + ] +} \ No newline at end of file From 2e3b244230fc3d1c63207fdddeabdbc2ebbc7bae Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sat, 18 Apr 2020 15:34:09 -0400 Subject: [PATCH 267/413] add corpbot adds corp bot resolves #444 --- README.md | 1 + bots/discord/corpbot/README.md | 8 +++++ bots/discord/corpbot/egg-corp-bot.json | 45 +++++++++++++++++++++++++ bots/discord/corpbot/settings_dict.json | 4 +++ 4 files changed, 58 insertions(+) create mode 100644 bots/discord/corpbot/README.md create mode 100644 bots/discord/corpbot/egg-corp-bot.json create mode 100644 bots/discord/corpbot/settings_dict.json diff --git a/README.md b/README.md index b4ccfbee..d9b768ca 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,7 @@ If you are reading this it looks like you are looking to add an egg to your serv [Discord](/bots/discord/) * [ATL Bot](/bots/discord/atlbot/) Node JS * [Bastion](/bots/discord/bastion/) +* [CorpBot](/bots/discord/corpbot/) Python * [discord.js](bots/discord/discord.js/) Node JS generic * [fragbot](/bots/discord/fragbot/) Golang * [jmusicbot](/bots/discord/jmusicbot) Java diff --git a/bots/discord/corpbot/README.md b/bots/discord/corpbot/README.md new file mode 100644 index 00000000..2853d335 --- /dev/null +++ b/bots/discord/corpbot/README.md @@ -0,0 +1,8 @@ +# CorpBot.py +### From their [Github](https://github.com/corpnewt/CorpBot.py) +A very clumsy python bot for discord + +### Server Ports +No ports are required to run Big Brother Bot. You can assign a random port to the bot. + +#### Mods/Plugins may require ports to be added to the server. diff --git a/bots/discord/corpbot/egg-corp-bot.json b/bots/discord/corpbot/egg-corp-bot.json new file mode 100644 index 00000000..7bb94ea4 --- /dev/null +++ b/bots/discord/corpbot/egg-corp-bot.json @@ -0,0 +1,45 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2020-04-18T15:33:17-04:00", + "name": "CorpBot", + "author": "parker@parkervcp.com", + "description": "A very clumsy python bot for discord \r\n\r\nhttps:\/\/github.com\/corpnewt\/CorpBot.py", + "image": "quay.io\/parkervcp\/pterodactyl-images:alpine_python-3", + "startup": "python Main.py", + "config": { + "files": "{\r\n \"settings_dict.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"token\": \"{{server.build.env.TOKEN}}\",\r\n \"prefix\": \"{{server.build.env.PREFIX}}\"\r\n }\r\n }\r\n}", + "startup": "{\r\n \"done\": \"Logged in as\"\r\n}", + "logs": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}", + "stop": "^C" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash\r\n# CoprBot Install Script\r\n#\r\n## create dir is it doesn't exist\r\nif [ ! -d \/mnt\/server\/ ]; then\r\n mkdir \/mnt\/server\/\r\nfi\r\n\r\n## move to directory\r\ncd \/mnt\/server\/\r\n\r\n## install deps\r\napt update\r\napt install git gcc\r\n\r\n## git clone \r\ngit clone https:\/\/github.com\/corpnewt\/CorpBot.py.git .\r\n\r\n## Modify Install.py to work properly in egg format\r\nmv Install.py Install.py.orig\r\nsed -n '\/press enter to exit\/q;p' Install.py.orig > Install.py\r\nsed -i 's\/\"-U\"\/\"-U\", \"--target\", \"\\\/mnt\\\/server\\\/\"\/g' Install.py\r\n\r\n## run Install.py script\r\npython Install.py\r\n\r\n## get config during install\r\nif [ ! -f \/mnt\/server\/settings_dict.json ]; then\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/bots\/discord\/corpbot\/settings_dict.json\r\nfi", + "container": "python:3.8-slim", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "Discord Bot Token", + "description": "Get your own token here - https:\/\/discordapp.com\/developers\/applications\/", + "env_variable": "TOKEN", + "default_value": "GET_YOUR_OWN", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string" + }, + { + "name": "Command Prefix", + "description": "The prefix for commands from the bot.", + "env_variable": "PREFIX", + "default_value": ".", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string" + } + ] +} \ No newline at end of file diff --git a/bots/discord/corpbot/settings_dict.json b/bots/discord/corpbot/settings_dict.json new file mode 100644 index 00000000..b876cabe --- /dev/null +++ b/bots/discord/corpbot/settings_dict.json @@ -0,0 +1,4 @@ +{ + "token": "your_token_here", + "prefix": "your_custom_prefix_here" +} \ No newline at end of file From fe7a59a5ee472f9ef75a2877cb020d25ff4669d2 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sat, 18 Apr 2020 15:37:05 -0400 Subject: [PATCH 268/413] fix install script. --- bots/discord/corpbot/egg-corp-bot.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bots/discord/corpbot/egg-corp-bot.json b/bots/discord/corpbot/egg-corp-bot.json index 7bb94ea4..1561ca58 100644 --- a/bots/discord/corpbot/egg-corp-bot.json +++ b/bots/discord/corpbot/egg-corp-bot.json @@ -3,11 +3,11 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-04-18T15:33:17-04:00", + "exported_at": "2020-04-18T15:36:40-04:00", "name": "CorpBot", "author": "parker@parkervcp.com", "description": "A very clumsy python bot for discord \r\n\r\nhttps:\/\/github.com\/corpnewt\/CorpBot.py", - "image": "quay.io\/parkervcp\/pterodactyl-images:alpine_python-3", + "image": "quay.io\/parkervcp\/pterodactyl-images:debian_python-3.8", "startup": "python Main.py", "config": { "files": "{\r\n \"settings_dict.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"token\": \"{{server.build.env.TOKEN}}\",\r\n \"prefix\": \"{{server.build.env.PREFIX}}\"\r\n }\r\n }\r\n}", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# CoprBot Install Script\r\n#\r\n## create dir is it doesn't exist\r\nif [ ! -d \/mnt\/server\/ ]; then\r\n mkdir \/mnt\/server\/\r\nfi\r\n\r\n## move to directory\r\ncd \/mnt\/server\/\r\n\r\n## install deps\r\napt update\r\napt install git gcc\r\n\r\n## git clone \r\ngit clone https:\/\/github.com\/corpnewt\/CorpBot.py.git .\r\n\r\n## Modify Install.py to work properly in egg format\r\nmv Install.py Install.py.orig\r\nsed -n '\/press enter to exit\/q;p' Install.py.orig > Install.py\r\nsed -i 's\/\"-U\"\/\"-U\", \"--target\", \"\\\/mnt\\\/server\\\/\"\/g' Install.py\r\n\r\n## run Install.py script\r\npython Install.py\r\n\r\n## get config during install\r\nif [ ! -f \/mnt\/server\/settings_dict.json ]; then\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/bots\/discord\/corpbot\/settings_dict.json\r\nfi", + "script": "#!\/bin\/bash\r\n# CoprBot Install Script\r\n#\r\n## create dir is it doesn't exist\r\nif [ ! -d \/mnt\/server\/ ]; then\r\n mkdir \/mnt\/server\/\r\nfi\r\n\r\n## move to directory\r\ncd \/mnt\/server\/\r\n\r\n## install deps\r\napt update\r\napt install git gcc\r\n\r\n## git clone \r\ngit clone https:\/\/github.com\/corpnewt\/CorpBot.py.git .\r\n\r\n## Modify Install.py to work properly in egg format\r\nmv Install.py Install.py.orig\r\nsed -n '\/press enter to exit\/q;p' Install.py.orig > Install.py\r\nsed -i 's\/\"-U\"\/\"-U\", \"--target\", \"\\\/mnt\\\/server\\\/\"\/g' Install.py\r\n\r\n## run Install.py script\r\npython Install.py\r\n\r\n## get config during install\r\nif [ ! -f \/mnt\/server\/settings_dict.json ]; then\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/bots\/discord\/corpbot\/settings_dict.json -o settings_dict.json\r\nfi", "container": "python:3.8-slim", "entrypoint": "bash" } From 85f7d6849641cca1f7c074819ccb6d91f645d481 Mon Sep 17 00:00:00 2001 From: gOOvER Date: Sun, 19 Apr 2020 13:32:07 +0200 Subject: [PATCH 269/413] Initial Comit --- README.md | 3 +- steamcmd_servers/README.md | 5 +- steamcmd_servers/citadel/Game.ini | 9 +++ steamcmd_servers/citadel/README.md | 9 +++ .../egg-citadel--forged-with-fire.json | 72 +++++++++++++++++++ 5 files changed, 96 insertions(+), 2 deletions(-) create mode 100644 steamcmd_servers/citadel/Game.ini create mode 100644 steamcmd_servers/citadel/README.md create mode 100644 steamcmd_servers/citadel/egg-citadel--forged-with-fire.json diff --git a/README.md b/README.md index b4ccfbee..16b61b77 100644 --- a/README.md +++ b/README.md @@ -81,7 +81,7 @@ If you are reading this it looks like you are looking to add an egg to your serv * [SpongeVanilla](/minecraft_java/spongevanilla/) * [Technic](/minecraft_java/technic/) * [VanillaCord](/minecraft_java/vanillacord/) -* [Tuinity](/minecraft_java/tuinity/) +* [Tuinity](/minecraft_java/tuinity/) [Minecraft Proxies](/minecraft_proxy/) (these are for the java version of minecraft) * [Waterfall](/minecraft_proxy/waterfall/) @@ -97,6 +97,7 @@ If you are reading this it looks like you are looking to add an egg to your serv * [Arma](/steamcmd_servers/arma/) * [Arma 3](/steamcmd_servers/arma/arma3/) * [Arma 3 HC](/steamcmd_servers/arma/arma3_headless_client/) +* [Citadel: Forged with Fire](/steamcmd_servers/citadel) * [Conan Exiles](/steamcmd_servers/conan_exiles) * [Don't Starve](/steamcmd_servers/dont_starve) * [ECO](/steamcmd_servers/eco/) diff --git a/steamcmd_servers/README.md b/steamcmd_servers/README.md index 5cef5d34..7142d22d 100644 --- a/steamcmd_servers/README.md +++ b/steamcmd_servers/README.md @@ -13,6 +13,9 @@ This is a collection of servers that use steamcmd to install. * [arma 3](arma/arma3/) * [arma 3 headless](arma/arma3_headless_client/) +## Citadel: Forged with Fire +[citadel](citadel/) + ## Conan Exiles [conan_exiles](conan_exiles/) @@ -51,4 +54,4 @@ This is a collection of servers that use steamcmd to install. ## Unturned * [RocketMod](rocketmod) - * [Unturned](unturned) \ No newline at end of file + * [Unturned](unturned) diff --git a/steamcmd_servers/citadel/Game.ini b/steamcmd_servers/citadel/Game.ini new file mode 100644 index 00000000..4c481c71 --- /dev/null +++ b/steamcmd_servers/citadel/Game.ini @@ -0,0 +1,9 @@ +[UWorks] +ConnectionPort=27015 +QueryPort=7777 + +[/Script/Citadel.SocialManager] +Password=changeme + +[/Script/Citadel.CitadelGameInstance] +WorldCreationSettings=(ServerName="My Private Server",Password="",ServerType=PVP,PlayerLimit=40,bPrivate=true,ExperienceMultiplier=1.000000,InventoryCapacityMultipler=1.000000,KnowledgePointEarnedMultiplier=1.000000,CharacterPointEarnedMultiplier=1.000000,bUnlimitedResources=false,PlayerDamageMultiplier=1.000000,ArmorMultiplier=1.000000,BaseManaRegen=1.000000,bInventoryWeightRestrictions=true,MagicFindMultiplier=1.000000,CraftingMagicFindChanceMultiplier=1.000000,FlyingCostMultiplier=1.000000,FlyingSpeedMultiplier=1.000000,ResourceCollectionMultiplier=1.000000,StructureDamageMultiplier=1.000000,bRespectNoBuildZones=true,MagicStructureManaRegenerationMultiplier=1.000000,MagicStructureManaConsumptionMultiplier=0.000000,bFreeBuildMode=false,TimeOfDayLock=Auto,NPCPopulationMultiplier=1.000000) diff --git a/steamcmd_servers/citadel/README.md b/steamcmd_servers/citadel/README.md new file mode 100644 index 00000000..7204eedc --- /dev/null +++ b/steamcmd_servers/citadel/README.md @@ -0,0 +1,9 @@ +# Citadel: Forged with fire +Citadel: Forged With Fire is a massive online sandbox RPG set in the mystical world of Ignus. Featuring magic, spellcasting, building, exploring and crafting as you fight to make a name for yourself and achieve notoriety across the land. + +## Server Ports + +| Port | default | +|-------|---------| +| Game | 27015 | +| Query | 7777 | diff --git a/steamcmd_servers/citadel/egg-citadel--forged-with-fire.json b/steamcmd_servers/citadel/egg-citadel--forged-with-fire.json new file mode 100644 index 00000000..43e2592d --- /dev/null +++ b/steamcmd_servers/citadel/egg-citadel--forged-with-fire.json @@ -0,0 +1,72 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2020-04-19T13:27:09+02:00", + "name": "Citadel: Forged with Fire", + "author": "info@goover.de", + "description": "Citadel: Forged With Fire is a massive online sandbox RPG set in the mystical world of Ignus. Featuring magic, spellcasting, building, exploring and crafting as you fight to make a name for yourself and achieve notoriety across the land.", + "image": "quay.io\/parkervcp\/pterodactyl-images:base_debian", + "startup": ".\/CitadelServer.sh", + "config": { + "files": "{\r\n \"Config\/Game.ini\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"Password=\": \"Password={{server.build.env.ADMIN_PASSWD}}\",\r\n \"WorldCreationSettings=\": \"WorldCreationSettings={{server.build.env.WORLD_CREATION_SETTINGS}}\"\r\n }\r\n }\r\n}", + "startup": "{\r\n \"done\": \"Steam Server initialized and registered with UWorks\",\r\n \"userInteraction\": []\r\n}", + "logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/latest.log\"\r\n}", + "stop": "^C" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ubuntu:18.04'\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\nmkdir -p \/mnt\/server\/Citadel\/Plugins\/UWorks\/Source\/ThirdParty\/Linux\r\nchmod -R a+w,a+x mnt\/server\/Citadel\/Plugins\/UWorks\/Source\/ThirdParty\/Linux\r\nif [[ ! -f \/mnt\/server\/Citadel\/Plugins\/UWorks\/Source\/ThirdParty\/Linux\/steamclient.so ]]; then \r\n\tln -s ..\/..\/..\/..\/..\/..\/linux64\/steamclient.so \/mnt\/server\/Citadel\/Plugins\/UWorks\/Source\/ThirdParty\/Linux\/steamclient.so\r\n\r\nfi\r\n\r\nchmod +x \/mnt\/server\/CitadelServer.sh", + "container": "debian:buster-slim", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "Game ID", + "description": "ID", + "env_variable": "SRCDS_APPID", + "default_value": "489650", + "user_viewable": 1, + "user_editable": 0, + "rules": "required|numeric|digits_between:1,6" + }, + { + "name": "Connection Port", + "description": "port", + "env_variable": "CON_PORT", + "default_value": "7777", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:100" + }, + { + "name": "Query Port", + "description": "Query Port", + "env_variable": "QUERY_PORT", + "default_value": "27015", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:20" + }, + { + "name": "Admin Password", + "description": "", + "env_variable": "ADMIN_PASSWD", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:100" + }, + { + "name": "WorldCreationSettings", + "description": "Standard Setting. Change to your needs", + "env_variable": "WORLD_CREATION_SETTINGS", + "default_value": "(ServerName=\"My Citadel Server\",Password=\"YourServerPassword\",ServerType=PVP,PlayerLimit=40,bPrivate=true,ExperienceMultiplier=1.000000,InventoryCapacityMultipler=1.000000,KnowledgePointEarnedMultiplier=1.000000,CharacterPointEarnedMultiplier=1.000000,bUnlimitedResources=false,PlayerDamageMultiplier=1.000000,ArmorMultiplier=1.000000,BaseManaRegen=1.000000,bInventoryWeightRestrictions=true,MagicFindMultiplier=1.000000,CraftingMagicFindChanceMultiplier=1.000000,FlyingCostMultiplier=1.000000,FlyingSpeedMultiplier=1.000000,ResourceCollectionMultiplier=1.000000,StructureDamageMultiplier=1.000000,bRespectNoBuildZones=true,MagicStructureManaRegenerationMultiplier=1.000000,MagicStructureManaConsumptionMultiplier=0.000000,bFreeBuildMode=false,TimeOfDayLock=Auto,NPCPopulationMultiplier=1.000000)", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string" + } + ] +} \ No newline at end of file From 394160b31523863f215f3cb0f4c2d40ac734105b Mon Sep 17 00:00:00 2001 From: gOOvER Date: Sun, 19 Apr 2020 13:58:52 +0200 Subject: [PATCH 270/413] Updated Egg --- steamcmd_servers/citadel/Game.ini | 9 --------- .../citadel/egg-citadel--forged-with-fire.json | 6 +++--- 2 files changed, 3 insertions(+), 12 deletions(-) delete mode 100644 steamcmd_servers/citadel/Game.ini diff --git a/steamcmd_servers/citadel/Game.ini b/steamcmd_servers/citadel/Game.ini deleted file mode 100644 index 4c481c71..00000000 --- a/steamcmd_servers/citadel/Game.ini +++ /dev/null @@ -1,9 +0,0 @@ -[UWorks] -ConnectionPort=27015 -QueryPort=7777 - -[/Script/Citadel.SocialManager] -Password=changeme - -[/Script/Citadel.CitadelGameInstance] -WorldCreationSettings=(ServerName="My Private Server",Password="",ServerType=PVP,PlayerLimit=40,bPrivate=true,ExperienceMultiplier=1.000000,InventoryCapacityMultipler=1.000000,KnowledgePointEarnedMultiplier=1.000000,CharacterPointEarnedMultiplier=1.000000,bUnlimitedResources=false,PlayerDamageMultiplier=1.000000,ArmorMultiplier=1.000000,BaseManaRegen=1.000000,bInventoryWeightRestrictions=true,MagicFindMultiplier=1.000000,CraftingMagicFindChanceMultiplier=1.000000,FlyingCostMultiplier=1.000000,FlyingSpeedMultiplier=1.000000,ResourceCollectionMultiplier=1.000000,StructureDamageMultiplier=1.000000,bRespectNoBuildZones=true,MagicStructureManaRegenerationMultiplier=1.000000,MagicStructureManaConsumptionMultiplier=0.000000,bFreeBuildMode=false,TimeOfDayLock=Auto,NPCPopulationMultiplier=1.000000) diff --git a/steamcmd_servers/citadel/egg-citadel--forged-with-fire.json b/steamcmd_servers/citadel/egg-citadel--forged-with-fire.json index 43e2592d..77fabc57 100644 --- a/steamcmd_servers/citadel/egg-citadel--forged-with-fire.json +++ b/steamcmd_servers/citadel/egg-citadel--forged-with-fire.json @@ -3,21 +3,21 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-04-19T13:27:09+02:00", + "exported_at": "2020-04-19T13:58:24+02:00", "name": "Citadel: Forged with Fire", "author": "info@goover.de", "description": "Citadel: Forged With Fire is a massive online sandbox RPG set in the mystical world of Ignus. Featuring magic, spellcasting, building, exploring and crafting as you fight to make a name for yourself and achieve notoriety across the land.", "image": "quay.io\/parkervcp\/pterodactyl-images:base_debian", "startup": ".\/CitadelServer.sh", "config": { - "files": "{\r\n \"Config\/Game.ini\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"Password=\": \"Password={{server.build.env.ADMIN_PASSWD}}\",\r\n \"WorldCreationSettings=\": \"WorldCreationSettings={{server.build.env.WORLD_CREATION_SETTINGS}}\"\r\n }\r\n }\r\n}", + "files": "{\r\n \"Citadel\/Saved\/Config\/LinuxServer\/Game.ini\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"Password=\": \"Password={{server.build.env.ADMIN_PASSWD}}\",\r\n \"WorldCreationSettings=\": \"WorldCreationSettings={{server.build.env.WORLD_CREATION_SETTINGS}}\"\r\n }\r\n }\r\n}", "startup": "{\r\n \"done\": \"Steam Server initialized and registered with UWorks\",\r\n \"userInteraction\": []\r\n}", "logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/latest.log\"\r\n}", "stop": "^C" }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ubuntu:18.04'\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\nmkdir -p \/mnt\/server\/Citadel\/Plugins\/UWorks\/Source\/ThirdParty\/Linux\r\nchmod -R a+w,a+x mnt\/server\/Citadel\/Plugins\/UWorks\/Source\/ThirdParty\/Linux\r\nif [[ ! -f \/mnt\/server\/Citadel\/Plugins\/UWorks\/Source\/ThirdParty\/Linux\/steamclient.so ]]; then \r\n\tln -s ..\/..\/..\/..\/..\/..\/linux64\/steamclient.so \/mnt\/server\/Citadel\/Plugins\/UWorks\/Source\/ThirdParty\/Linux\/steamclient.so\r\n\r\nfi\r\n\r\nchmod +x \/mnt\/server\/CitadelServer.sh", + "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ubuntu:18.04'\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\nmkdir -p \/mnt\/server\/Citadel\/Plugins\/UWorks\/Source\/ThirdParty\/Linux\r\nchmod -R a+w,a+x mnt\/server\/Citadel\/Plugins\/UWorks\/Source\/ThirdParty\/Linux\r\nif [[ ! -f \/mnt\/server\/Citadel\/Plugins\/UWorks\/Source\/ThirdParty\/Linux\/steamclient.so ]]; then \r\n\tln -s ..\/..\/..\/..\/..\/..\/linux64\/steamclient.so \/mnt\/server\/Citadel\/Plugins\/UWorks\/Source\/ThirdParty\/Linux\/steamclient.so\r\n\r\nfi\r\n\r\n# Create Game.ini\r\nrm -rf \/mnt\/server\/Citadel\/Saved\/Config\/LinuxServer\/Game.ini\r\ncat <> \/mnt\/server\/Citadel\/Saved\/Config\/LinuxServer\/Game.ini\r\n[UWorks]\r\nConnectionPort=27015\r\nQueryPort=7777\r\n\r\n[\/Script\/Citadel.SocialManager]\r\nPassword=changeme\r\n\r\n[\/Script\/Citadel.CitadelGameInstance]\r\nWorldCreationSettings=(ServerName=\"My Private Server\",Password=\"\",ServerType=PVP,PlayerLimit=40,bPrivate=true,ExperienceMultiplier=1.000000,InventoryCapacityMultipler=1.000000,KnowledgePointEarnedMultiplier=1.000000,CharacterPointEarnedMultiplier=1.000000,bUnlimitedResources=false,PlayerDamageMultiplier=1.000000,ArmorMultiplier=1.000000,BaseManaRegen=1.000000,bInventoryWeightRestrictions=true,MagicFindMultiplier=1.000000,CraftingMagicFindChanceMultiplier=1.000000,FlyingCostMultiplier=1.000000,FlyingSpeedMultiplier=1.000000,ResourceCollectionMultiplier=1.000000,StructureDamageMultiplier=1.000000,bRespectNoBuildZones=true,MagicStructureManaRegenerationMultiplier=1.000000,MagicStructureManaConsumptionMultiplier=0.000000,bFreeBuildMode=false,TimeOfDayLock=Auto,NPCPopulationMultiplier=1.000000)\r\nEOT\r\n\r\nchmod +x \/mnt\/server\/CitadelServer.sh", "container": "debian:buster-slim", "entrypoint": "bash" } From bdd786b62725a5dcaac789e50f5f4cd6423fef62 Mon Sep 17 00:00:00 2001 From: gOOvER Date: Mon, 20 Apr 2020 08:04:21 +0200 Subject: [PATCH 271/413] Updated String --- .../egg-citadel--forged-with-fire.json | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/steamcmd_servers/citadel/egg-citadel--forged-with-fire.json b/steamcmd_servers/citadel/egg-citadel--forged-with-fire.json index 77fabc57..4ebdcf73 100644 --- a/steamcmd_servers/citadel/egg-citadel--forged-with-fire.json +++ b/steamcmd_servers/citadel/egg-citadel--forged-with-fire.json @@ -3,21 +3,21 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-04-19T13:58:24+02:00", + "exported_at": "2020-04-20T08:03:00+02:00", "name": "Citadel: Forged with Fire", "author": "info@goover.de", "description": "Citadel: Forged With Fire is a massive online sandbox RPG set in the mystical world of Ignus. Featuring magic, spellcasting, building, exploring and crafting as you fight to make a name for yourself and achieve notoriety across the land.", "image": "quay.io\/parkervcp\/pterodactyl-images:base_debian", "startup": ".\/CitadelServer.sh", "config": { - "files": "{\r\n \"Citadel\/Saved\/Config\/LinuxServer\/Game.ini\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"Password=\": \"Password={{server.build.env.ADMIN_PASSWD}}\",\r\n \"WorldCreationSettings=\": \"WorldCreationSettings={{server.build.env.WORLD_CREATION_SETTINGS}}\"\r\n }\r\n }\r\n}", + "files": "{\r\n \"Citadel\/Saved\/Config\/LinuxServer\/Game.ini\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"Password=\": \"Password={{server.build.env.ADMIN_PASSWD}}\",\r\n \"WorldCreationSettings=\": \"WorldCreationSettings=({{server.build.env.WORLD_CREATION_SETTINGS}})\"\r\n }\r\n }\r\n}", "startup": "{\r\n \"done\": \"Steam Server initialized and registered with UWorks\",\r\n \"userInteraction\": []\r\n}", "logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/latest.log\"\r\n}", "stop": "^C" }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ubuntu:18.04'\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\nmkdir -p \/mnt\/server\/Citadel\/Plugins\/UWorks\/Source\/ThirdParty\/Linux\r\nchmod -R a+w,a+x mnt\/server\/Citadel\/Plugins\/UWorks\/Source\/ThirdParty\/Linux\r\nif [[ ! -f \/mnt\/server\/Citadel\/Plugins\/UWorks\/Source\/ThirdParty\/Linux\/steamclient.so ]]; then \r\n\tln -s ..\/..\/..\/..\/..\/..\/linux64\/steamclient.so \/mnt\/server\/Citadel\/Plugins\/UWorks\/Source\/ThirdParty\/Linux\/steamclient.so\r\n\r\nfi\r\n\r\n# Create Game.ini\r\nrm -rf \/mnt\/server\/Citadel\/Saved\/Config\/LinuxServer\/Game.ini\r\ncat <> \/mnt\/server\/Citadel\/Saved\/Config\/LinuxServer\/Game.ini\r\n[UWorks]\r\nConnectionPort=27015\r\nQueryPort=7777\r\n\r\n[\/Script\/Citadel.SocialManager]\r\nPassword=changeme\r\n\r\n[\/Script\/Citadel.CitadelGameInstance]\r\nWorldCreationSettings=(ServerName=\"My Private Server\",Password=\"\",ServerType=PVP,PlayerLimit=40,bPrivate=true,ExperienceMultiplier=1.000000,InventoryCapacityMultipler=1.000000,KnowledgePointEarnedMultiplier=1.000000,CharacterPointEarnedMultiplier=1.000000,bUnlimitedResources=false,PlayerDamageMultiplier=1.000000,ArmorMultiplier=1.000000,BaseManaRegen=1.000000,bInventoryWeightRestrictions=true,MagicFindMultiplier=1.000000,CraftingMagicFindChanceMultiplier=1.000000,FlyingCostMultiplier=1.000000,FlyingSpeedMultiplier=1.000000,ResourceCollectionMultiplier=1.000000,StructureDamageMultiplier=1.000000,bRespectNoBuildZones=true,MagicStructureManaRegenerationMultiplier=1.000000,MagicStructureManaConsumptionMultiplier=0.000000,bFreeBuildMode=false,TimeOfDayLock=Auto,NPCPopulationMultiplier=1.000000)\r\nEOT\r\n\r\nchmod +x \/mnt\/server\/CitadelServer.sh", + "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ubuntu:18.04'\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\nmkdir -p $HOME\/Citadel\/Plugins\/UWorks\/Source\/ThirdParty\/Linux\r\nchmod -R a+w,a+x $HOME\/Citadel\/Plugins\/UWorks\/Source\/ThirdParty\/Linux\r\nif [[ ! -f $HOME\/Citadel\/Plugins\/UWorks\/Source\/ThirdParty\/Linux\/steamclient.so ]]; then \r\n\tln -s ..\/..\/..\/..\/..\/..\/linux64\/steamclient.so $HOME\/Citadel\/Plugins\/UWorks\/Source\/ThirdParty\/Linux\/steamclient.so\r\n\r\nfi\r\n\r\n# Create Game.ini\r\nrm -rf $HOME\/Citadel\/Saved\/Config\/LinuxServer\/Game.ini\r\ncat < $HOME\/Citadel\/Saved\/Config\/LinuxServer\/Game.ini\r\n[UWorks]\r\nConnectionPort=27015\r\nQueryPort=7777\r\n\r\n[\/Script\/Citadel.SocialManager]\r\nPassword=changeme\r\n\r\n[\/Script\/Citadel.CitadelGameInstance]\r\nWorldCreationSettings=(ServerName=\"My Private Server\",Password=\"\",ServerType=PVP,PlayerLimit=40,bPrivate=true,ExperienceMultiplier=1.000000,InventoryCapacityMultipler=1.000000,KnowledgePointEarnedMultiplier=1.000000,CharacterPointEarnedMultiplier=1.000000,bUnlimitedResources=false,PlayerDamageMultiplier=1.000000,ArmorMultiplier=1.000000,BaseManaRegen=1.000000,bInventoryWeightRestrictions=true,MagicFindMultiplier=1.000000,CraftingMagicFindChanceMultiplier=1.000000,FlyingCostMultiplier=1.000000,FlyingSpeedMultiplier=1.000000,ResourceCollectionMultiplier=1.000000,StructureDamageMultiplier=1.000000,bRespectNoBuildZones=true,MagicStructureManaRegenerationMultiplier=1.000000,MagicStructureManaConsumptionMultiplier=0.000000,bFreeBuildMode=false,TimeOfDayLock=Auto,NPCPopulationMultiplier=1.000000)\r\nEOT\r\n\r\nchmod +x $HOME\/CitadelServer.sh", "container": "debian:buster-slim", "entrypoint": "bash" } @@ -39,7 +39,7 @@ "default_value": "7777", "user_viewable": 1, "user_editable": 1, - "rules": "required|string|max:100" + "rules": "required|string|max:5" }, { "name": "Query Port", @@ -48,7 +48,7 @@ "default_value": "27015", "user_viewable": 1, "user_editable": 1, - "rules": "required|string|max:20" + "rules": "required|string|max:5" }, { "name": "Admin Password", @@ -57,16 +57,16 @@ "default_value": "", "user_viewable": 1, "user_editable": 1, - "rules": "required|string|max:100" + "rules": "required|string|max:20" }, { - "name": "WorldCreationSettings", - "description": "Standard Setting. Change to your needs", + "name": "World Creation Settings", + "description": "Pls define SERVERNAME, PASSWORT to join Server, MAX PLAYERS and SERVER MODE !!!", "env_variable": "WORLD_CREATION_SETTINGS", - "default_value": "(ServerName=\"My Citadel Server\",Password=\"YourServerPassword\",ServerType=PVP,PlayerLimit=40,bPrivate=true,ExperienceMultiplier=1.000000,InventoryCapacityMultipler=1.000000,KnowledgePointEarnedMultiplier=1.000000,CharacterPointEarnedMultiplier=1.000000,bUnlimitedResources=false,PlayerDamageMultiplier=1.000000,ArmorMultiplier=1.000000,BaseManaRegen=1.000000,bInventoryWeightRestrictions=true,MagicFindMultiplier=1.000000,CraftingMagicFindChanceMultiplier=1.000000,FlyingCostMultiplier=1.000000,FlyingSpeedMultiplier=1.000000,ResourceCollectionMultiplier=1.000000,StructureDamageMultiplier=1.000000,bRespectNoBuildZones=true,MagicStructureManaRegenerationMultiplier=1.000000,MagicStructureManaConsumptionMultiplier=0.000000,bFreeBuildMode=false,TimeOfDayLock=Auto,NPCPopulationMultiplier=1.000000)", + "default_value": "WorldCreationSettings=(ServerName=\"My Private Server\",Password=\"\",ServerType=PVP,PlayerLimit=40,bPrivate=true,ExperienceMultiplier=1.000000,InventoryCapacityMultipler=1.000000,KnowledgePointEarnedMultiplier=1.000000,CharacterPointEarnedMultiplier=1.000000,bUnlimitedResources=false,PlayerDamageMultiplier=1.000000,ArmorMultiplier=1.000000,BaseManaRegen=1.000000,bInventoryWeightRestrictions=true,MagicFindMultiplier=1.000000,CraftingMagicFindChanceMultiplier=1.000000,FlyingCostMultiplier=1.000000,FlyingSpeedMultiplier=1.000000,ResourceCollectionMultiplier=1.000000,StructureDamageMultiplier=1.000000,bRespectNoBuildZones=true,MagicStructureManaRegenerationMultiplier=1.000000,MagicStructureManaConsumptionMultiplier=0.000000,bFreeBuildMode=false,TimeOfDayLock=Auto,NPCPopulationMultiplier=1.000000)", "user_viewable": 1, "user_editable": 1, - "rules": "required|string" + "rules": "required" } ] } \ No newline at end of file From 86f6c3a36bb9f05bbc72b7a984b70d7fe3312ae5 Mon Sep 17 00:00:00 2001 From: gOOvER Date: Mon, 20 Apr 2020 08:14:29 +0200 Subject: [PATCH 272/413] small fix --- .../citadel/egg-citadel--forged-with-fire.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/steamcmd_servers/citadel/egg-citadel--forged-with-fire.json b/steamcmd_servers/citadel/egg-citadel--forged-with-fire.json index 4ebdcf73..48ab9871 100644 --- a/steamcmd_servers/citadel/egg-citadel--forged-with-fire.json +++ b/steamcmd_servers/citadel/egg-citadel--forged-with-fire.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-04-20T08:03:00+02:00", + "exported_at": "2020-04-20T08:14:02+02:00", "name": "Citadel: Forged with Fire", "author": "info@goover.de", "description": "Citadel: Forged With Fire is a massive online sandbox RPG set in the mystical world of Ignus. Featuring magic, spellcasting, building, exploring and crafting as you fight to make a name for yourself and achieve notoriety across the land.", @@ -36,7 +36,7 @@ "name": "Connection Port", "description": "port", "env_variable": "CON_PORT", - "default_value": "7777", + "default_value": "27105", "user_viewable": 1, "user_editable": 1, "rules": "required|string|max:5" @@ -45,7 +45,7 @@ "name": "Query Port", "description": "Query Port", "env_variable": "QUERY_PORT", - "default_value": "27015", + "default_value": "7777", "user_viewable": 1, "user_editable": 1, "rules": "required|string|max:5" @@ -63,7 +63,7 @@ "name": "World Creation Settings", "description": "Pls define SERVERNAME, PASSWORT to join Server, MAX PLAYERS and SERVER MODE !!!", "env_variable": "WORLD_CREATION_SETTINGS", - "default_value": "WorldCreationSettings=(ServerName=\"My Private Server\",Password=\"\",ServerType=PVP,PlayerLimit=40,bPrivate=true,ExperienceMultiplier=1.000000,InventoryCapacityMultipler=1.000000,KnowledgePointEarnedMultiplier=1.000000,CharacterPointEarnedMultiplier=1.000000,bUnlimitedResources=false,PlayerDamageMultiplier=1.000000,ArmorMultiplier=1.000000,BaseManaRegen=1.000000,bInventoryWeightRestrictions=true,MagicFindMultiplier=1.000000,CraftingMagicFindChanceMultiplier=1.000000,FlyingCostMultiplier=1.000000,FlyingSpeedMultiplier=1.000000,ResourceCollectionMultiplier=1.000000,StructureDamageMultiplier=1.000000,bRespectNoBuildZones=true,MagicStructureManaRegenerationMultiplier=1.000000,MagicStructureManaConsumptionMultiplier=0.000000,bFreeBuildMode=false,TimeOfDayLock=Auto,NPCPopulationMultiplier=1.000000)", + "default_value": "WorldCreationSettings=(ServerName=\"My Private Server\",Password=\"\",ServerType=PVP,PlayerLimit=40,bPrivate=false,ExperienceMultiplier=1.000000,InventoryCapacityMultipler=1.000000,KnowledgePointEarnedMultiplier=1.000000,CharacterPointEarnedMultiplier=1.000000,bUnlimitedResources=false,PlayerDamageMultiplier=1.000000,ArmorMultiplier=1.000000,BaseManaRegen=1.000000,bInventoryWeightRestrictions=true,MagicFindMultiplier=1.000000,CraftingMagicFindChanceMultiplier=1.000000,FlyingCostMultiplier=1.000000,FlyingSpeedMultiplier=1.000000,ResourceCollectionMultiplier=1.000000,StructureDamageMultiplier=1.000000,bRespectNoBuildZones=true,MagicStructureManaRegenerationMultiplier=1.000000,MagicStructureManaConsumptionMultiplier=0.000000,bFreeBuildMode=false,TimeOfDayLock=Auto,NPCPopulationMultiplier=1.000000)", "user_viewable": 1, "user_editable": 1, "rules": "required" From 8a02f2de644c9000988c115dfe82db74eb7697f0 Mon Sep 17 00:00:00 2001 From: gOOvER Date: Mon, 20 Apr 2020 08:39:11 +0200 Subject: [PATCH 273/413] Small Fixes, butt still WIP. --- .../citadel/egg-citadel--forged-with-fire.json | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/steamcmd_servers/citadel/egg-citadel--forged-with-fire.json b/steamcmd_servers/citadel/egg-citadel--forged-with-fire.json index 48ab9871..510e8990 100644 --- a/steamcmd_servers/citadel/egg-citadel--forged-with-fire.json +++ b/steamcmd_servers/citadel/egg-citadel--forged-with-fire.json @@ -3,14 +3,14 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-04-20T08:14:02+02:00", + "exported_at": "2020-04-20T08:38:47+02:00", "name": "Citadel: Forged with Fire", "author": "info@goover.de", "description": "Citadel: Forged With Fire is a massive online sandbox RPG set in the mystical world of Ignus. Featuring magic, spellcasting, building, exploring and crafting as you fight to make a name for yourself and achieve notoriety across the land.", "image": "quay.io\/parkervcp\/pterodactyl-images:base_debian", "startup": ".\/CitadelServer.sh", "config": { - "files": "{\r\n \"Citadel\/Saved\/Config\/LinuxServer\/Game.ini\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"Password=\": \"Password={{server.build.env.ADMIN_PASSWD}}\",\r\n \"WorldCreationSettings=\": \"WorldCreationSettings=({{server.build.env.WORLD_CREATION_SETTINGS}})\"\r\n }\r\n }\r\n}", + "files": "{\r\n \"Citadel\/Saved\/Config\/LinuxServer\/Game.ini\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"ConnectionPort=\": \"ConnectionPort={{server.build.default.port}}\",\r\n \"QueryPort=\": \"QueryPort={{server.build.env.QPORT}}\",\r\n \"Password=\": \"Password={{server.build.env.ADMIN_PASSWD}}\",\r\n \"WorldCreationSettings=\": \"WorldCreationSettings=({{server.build.env.WORLD_CREATION_SETTINGS}})\"\r\n }\r\n }\r\n}", "startup": "{\r\n \"done\": \"Steam Server initialized and registered with UWorks\",\r\n \"userInteraction\": []\r\n}", "logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/latest.log\"\r\n}", "stop": "^C" @@ -32,19 +32,10 @@ "user_editable": 0, "rules": "required|numeric|digits_between:1,6" }, - { - "name": "Connection Port", - "description": "port", - "env_variable": "CON_PORT", - "default_value": "27105", - "user_viewable": 1, - "user_editable": 1, - "rules": "required|string|max:5" - }, { "name": "Query Port", "description": "Query Port", - "env_variable": "QUERY_PORT", + "env_variable": "QPORT", "default_value": "7777", "user_viewable": 1, "user_editable": 1, From 460827d64c5278335743b628b11d7eef5820d42b Mon Sep 17 00:00:00 2001 From: gOOvER Date: Mon, 20 Apr 2020 08:58:20 +0200 Subject: [PATCH 274/413] Now it works :) --- .../citadel/egg-citadel--forged-with-fire.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/steamcmd_servers/citadel/egg-citadel--forged-with-fire.json b/steamcmd_servers/citadel/egg-citadel--forged-with-fire.json index 510e8990..53dc9bc4 100644 --- a/steamcmd_servers/citadel/egg-citadel--forged-with-fire.json +++ b/steamcmd_servers/citadel/egg-citadel--forged-with-fire.json @@ -3,14 +3,14 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-04-20T08:38:47+02:00", + "exported_at": "2020-04-20T08:58:00+02:00", "name": "Citadel: Forged with Fire", "author": "info@goover.de", "description": "Citadel: Forged With Fire is a massive online sandbox RPG set in the mystical world of Ignus. Featuring magic, spellcasting, building, exploring and crafting as you fight to make a name for yourself and achieve notoriety across the land.", "image": "quay.io\/parkervcp\/pterodactyl-images:base_debian", "startup": ".\/CitadelServer.sh", "config": { - "files": "{\r\n \"Citadel\/Saved\/Config\/LinuxServer\/Game.ini\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"ConnectionPort=\": \"ConnectionPort={{server.build.default.port}}\",\r\n \"QueryPort=\": \"QueryPort={{server.build.env.QPORT}}\",\r\n \"Password=\": \"Password={{server.build.env.ADMIN_PASSWD}}\",\r\n \"WorldCreationSettings=\": \"WorldCreationSettings=({{server.build.env.WORLD_CREATION_SETTINGS}})\"\r\n }\r\n }\r\n}", + "files": "{\r\n \"Citadel\/Saved\/Config\/LinuxServer\/Game.ini\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"ConnectionPort=\": \"ConnectionPort={{server.build.env.CPORT}}\",\r\n \"QueryPort=\": \"QueryPort={{server.build.default.port}}\",\r\n \"Password=\": \"Password={{server.build.env.ADMIN_PASSWD}}\",\r\n \"WorldCreationSettings=\": \"WorldCreationSettings=({{server.build.env.WORLD_CREATION_SETTINGS}})\"\r\n }\r\n }\r\n}", "startup": "{\r\n \"done\": \"Steam Server initialized and registered with UWorks\",\r\n \"userInteraction\": []\r\n}", "logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/latest.log\"\r\n}", "stop": "^C" @@ -33,9 +33,9 @@ "rules": "required|numeric|digits_between:1,6" }, { - "name": "Query Port", + "name": "Connection Port", "description": "Query Port", - "env_variable": "QPORT", + "env_variable": "CPORT", "default_value": "7777", "user_viewable": 1, "user_editable": 1, From b0b1ca98e9ce76ef45f8ec4304ff778387f6c8b8 Mon Sep 17 00:00:00 2001 From: gOOvER Date: Mon, 20 Apr 2020 09:00:18 +0200 Subject: [PATCH 275/413] Update Readme --- steamcmd_servers/citadel/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/steamcmd_servers/citadel/README.md b/steamcmd_servers/citadel/README.md index 7204eedc..38185635 100644 --- a/steamcmd_servers/citadel/README.md +++ b/steamcmd_servers/citadel/README.md @@ -5,5 +5,5 @@ Citadel: Forged With Fire is a massive online sandbox RPG set in the mystical wo | Port | default | |-------|---------| -| Game | 27015 | -| Query | 7777 | +| Game | 7777 | +| Query | 27015 | From ce6d9306ab6e504f79010451186fbac7b59067e4 Mon Sep 17 00:00:00 2001 From: gOOvER Date: Mon, 20 Apr 2020 12:21:29 +0200 Subject: [PATCH 276/413] Initial Commit --- README.md | 5 +- minecraft_bedrock/README.md | 4 ++ minecraft_bedrock/dragon_proxy/README.md | 15 +++++ .../dragon_proxy/egg-dragon-proxy.json | 63 +++++++++++++++++++ 4 files changed, 85 insertions(+), 2 deletions(-) create mode 100644 minecraft_bedrock/dragon_proxy/README.md create mode 100644 minecraft_bedrock/dragon_proxy/egg-dragon-proxy.json diff --git a/README.md b/README.md index 99de4998..de878e52 100644 --- a/README.md +++ b/README.md @@ -66,7 +66,8 @@ If you are reading this it looks like you are looking to add an egg to your serv [Mindusrty](/mindustry/) [Minecraft Bedrock](/minecraft_bedrock/) -* [Bedrock](/minecraft_bedrock/bedrock/) +* [Bedrock](/minecraft_bedrock/bedrock/) +* [DragonProxy](/minecraft_bedrock/dragonproxy/) * [Nukkit](/minecraft_bedrock/nukkit/) * [PocketMine MP](/minecraft_bedrock/pocketmine_mp/) @@ -81,7 +82,7 @@ If you are reading this it looks like you are looking to add an egg to your serv * [SpongeVanilla](/minecraft_java/spongevanilla/) * [Technic](/minecraft_java/technic/) * [VanillaCord](/minecraft_java/vanillacord/) -* [Tuinity](/minecraft_java/tuinity/) +* [Tuinity](/minecraft_java/tuinity/) [Minecraft Proxies](/minecraft_proxy/) (these are for the java version of minecraft) * [Waterfall](/minecraft_proxy/waterfall/) diff --git a/minecraft_bedrock/README.md b/minecraft_bedrock/README.md index 5dd20afa..62935699 100644 --- a/minecraft_bedrock/README.md +++ b/minecraft_bedrock/README.md @@ -4,6 +4,10 @@ [Minecraft Bedrock Server](https://minecraft.net/en-us/download/server/bedrock/) The official Minecraft Bedrock (Formerly Minecraft Pocket Edition) server. +#### DragonProxy +[DragonProxy Github](https://github.com/DragonetMC/DragonProxy) +A proxy to allow Minecraft: Bedrock clients to connect to Minecraft: Java Edition servers. + #### Nukkit [Nukkit GitHub](https://github.com/Nukkit/Nukkit) Nukkit is a Nuclear-Powered Server Software For Minecraft: Pocket Edition diff --git a/minecraft_bedrock/dragon_proxy/README.md b/minecraft_bedrock/dragon_proxy/README.md new file mode 100644 index 00000000..05889c65 --- /dev/null +++ b/minecraft_bedrock/dragon_proxy/README.md @@ -0,0 +1,15 @@ +# DragonProxy + +A proxy to allow Minecraft: Bedrock clients to connect to Minecraft: Java Edition servers. + +### Server Ports + +DragonProxy need 2 port (default 19132) + +| Port | default | +|---------|----------| +| Bind | 19132 | +| Remote | 25565 | + +### Known Issues +Also see the [DragonProxy Github](https://github.com/DragonetMC/DragonProxy) diff --git a/minecraft_bedrock/dragon_proxy/egg-dragon-proxy.json b/minecraft_bedrock/dragon_proxy/egg-dragon-proxy.json new file mode 100644 index 00000000..0dcfcd27 --- /dev/null +++ b/minecraft_bedrock/dragon_proxy/egg-dragon-proxy.json @@ -0,0 +1,63 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2020-04-20T12:13:53+02:00", + "name": "DragonProxy", + "author": "info@goover.de", + "description": "A proxy made to allow Minecraft: Bedrock Edition clients to connect to Minecraft: Java Edition servers.", + "image": "quay.io\/pterodactyl\/core:java", + "startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar DragonProxy.jar", + "config": { + "files": "{\r\n \"config.yml\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"bind-port:\": \"bind-port: {{server.build.default.port}}\",\r\n \"max-players:\": \"max-players: {{server.build.env.MAX_PLAYERS}}\",\r\n \"remote-port:\": \"remote-port: {{server.build.env.RPORT}}\",\r\n \"remote-auth:\": \"remote-auth: {{server.build.env.REMOTE_AUTH}}\",\r\n \"xbox-auth:\": \"xbox-auth: {{server.build.env.XBOX_AUTH}}\"\r\n }\r\n }\r\n}", + "startup": "{\r\n \"done\": \"Done\",\r\n \"userInteraction\": []\r\n}", + "logs": "[]", + "stop": "stop" + }, + "scripts": { + "installation": { + "script": "apk update\r\napk --no-cache --update add curl jq wget\r\n\r\ncd \/mnt\/server\r\nrm -rf DragonProxy.jar\r\nwget https:\/\/ci.codemc.io\/job\/DragonetMC\/job\/DragonProxy\/lastBuild\/artifact\/bootstrap\/standalone\/target\/DragonProxy.jar\r\n\r\nrm -rf \/mnt\/server\/config.yml\r\ncat < \/mnt\/server\/config.yml\r\n# -----------------------------------------------\r\n# DragonProxy Configuration (25\/03\/20)\r\n# https:\/\/github.com\/DragonetMC\/DragonProxy\r\n# -----------------------------------------------\r\n# DO NOT CHANGE THIS VARIABLE!!!!!!\r\nconfig-version: 2\r\n# DO NOT CHANGE THIS VARIABLE!!!!!!\r\n\r\nlocale: 'EN'\r\n\r\n# The IP and port the proxy will listen for connections on\r\n# '0.0.0.0' will bind to all IP addresses available on your device\r\nbind-address: '0.0.0.0'\r\nbind-port: 19132\r\n\r\n# The MOTD that will be shown on the MCPE server list\r\nmotd: 'DragonProxy'\r\nmotd2: 'https:\/\/github.com\/DragonetMC\/DragonProxy'\r\n\r\n# The maximum amount of players that can join the proxy\r\nmax-players: 1\r\n\r\n# The IP and port of the remote server to connect to\r\nremote-address: '127.0.0.1'\r\nremote-port: 25565\r\n\r\n# The authentication method used for connecting to the remote server.\r\n# Accepted values:\r\n# credentials : This will display a form when you join the proxy asking you to enter your Mojang credentials\r\n# offline : No authentication, cant join premium servers such as Hypixel\r\nremote-auth: credentials\r\n\r\n# Whether or not Bedrock clients should be authenticated with xbox live\r\nxbox-auth: false\r\n\r\n# Whether or not to use the motd and player count of the primary remote server\r\nping-passthrough: true\r\n\r\n# Player gameplay related settings\r\nplayer-settings:\r\n # Whether or not to translate commands sent from the remote server and display\r\n # them on the Bedrock client. This is currently experimental.\r\n enable-commands: false\r\n\r\n # Whether or not to enable auto jump\r\n auto-jump: true\r\n\r\n # Whether or not to fetch skins from Mojang's servers\r\n fetch-skins: true\r\n\r\nmetrics:\r\n enabled: true\r\n # DO NOT CHANGE\r\n server-uuid: donotchange_serveruuid\r\n\r\n# The amount of threads that will be used.\r\n# Only change if you know what you are doing\r\nthread-pool-size: 8\r\nEOT", + "container": "openjdk:8-jre-alpine", + "entrypoint": "ash" + } + }, + "variables": [ + { + "name": "Remote Port", + "description": "", + "env_variable": "RPORT", + "default_value": "25565", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:20" + }, + { + "name": "Remote Auth", + "description": "The authentication method used for connecting to the remote server.\r\nAccepted values:\r\ncredentials : This will display a form when you join the proxy asking you to enter your Mojang credentials\r\noffline : No authentication, cant join premium servers such as Hypixel", + "env_variable": "REMOTE_AUTH", + "default_value": "credentials", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:20" + }, + { + "name": "XBox Auth", + "description": "Whether or not Bedrock clients should be authenticated with xbox live\r\n\r\nTRUE or FALSE", + "env_variable": "XBOX_AUTH", + "default_value": "false", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:20" + }, + { + "name": "Max Players", + "description": "The maximum amount of players that can join the proxy", + "env_variable": "MAX_PLAYERS", + "default_value": "1", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:20" + } + ] +} \ No newline at end of file From 0196f44d04eb0d16e02e59be7239c6edc37b5c56 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Mon, 20 Apr 2020 23:08:30 -0400 Subject: [PATCH 277/413] add red-discordbot This adds the red discordbot --- bots/discord/redbot/config.json | 9 +++++++ bots/discord/redbot/egg-red.json | 45 ++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 bots/discord/redbot/config.json create mode 100644 bots/discord/redbot/egg-red.json diff --git a/bots/discord/redbot/config.json b/bots/discord/redbot/config.json new file mode 100644 index 00000000..86b5e0a0 --- /dev/null +++ b/bots/discord/redbot/config.json @@ -0,0 +1,9 @@ +{ + "pterodactyl": { + "DATA_PATH": "/home/container/.local/share/Red-DiscordBot/data/pterodactyl", + "COG_PATH_APPEND": "cogs", + "CORE_PATH_APPEND": "core", + "STORAGE_TYPE": "JSON", + "STORAGE_DETAILS": {} + } +} \ No newline at end of file diff --git a/bots/discord/redbot/egg-red.json b/bots/discord/redbot/egg-red.json new file mode 100644 index 00000000..499dded3 --- /dev/null +++ b/bots/discord/redbot/egg-red.json @@ -0,0 +1,45 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2020-04-20T23:06:14-04:00", + "name": "Red", + "author": "parker@parkervcp.com", + "description": "A multifunction Discord bot \r\n\r\nhttps:\/\/github.com\/Cog-Creators\/Red-DiscordBot", + "image": "quay.io\/parkervcp\/pterodactyl-images:bot_red", + "startup": "PATH=$PATH:\/home\/container\/.local\/bin redbot pterodactyl --token {{TOKEN}} --prefix {{PREFIX}}", + "config": { + "files": "{}", + "startup": "{\r\n \"done\": \"Invite URL:\"\r\n}", + "logs": "{}", + "stop": "^C" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash\r\n# red-discordbot install script\r\n\r\n## install deps\r\nmkdir -p \/usr\/share\/man\/man1\r\napt update\r\napt -y install git ca-certificates dnsutils iproute2 make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev libgdbm-dev uuid-dev git openjdk-11-jre\r\n\r\n## config folder layouts\r\necho -e \"generating config folder layout\"\r\nmkdir -p \/mnt\/server\/.config\/{Red-DiscordBot,share}\/ \/mnt\/server\/.local\/share\/Red-DiscordBot\/data\/pterodactyl\/\r\ncd \/mnt\/server\/\r\nln -s .local\/share\/Red-DiscordBot\/data\/pterodactyl\/ .\/configs\r\n\r\n## install red\r\necho -e \"add container user to install\"\r\nln -s \/mnt\/server\/ \/home\/container\r\nuseradd -m -d \/home\/container container\r\nchown -R container \/mnt\/server\/\r\necho -e \"install red locally as user\"\r\nsu - container -c 'pip install -U Red-DiscordBot'\r\n\r\n## ensure the config is in place if it doesn't exist\r\nif [ ! -f \/mnt\/server\/.config\/Red-DiscordBot\/config.json ]; then\r\n curl https:\/\/gist.githubusercontent.com\/parkervcp\/4a5a68aec5a26b35e4315b22dd6d6748\/raw\/a776b1610949dd242ff8ce5cdc8ad7d43e4f7dad\/config.json -o \/mnt\/server\/.config\/Red-DiscordBot\/config.json\r\nfi\r\n\r\necho -e \"install finished\"", + "container": "python:3.8-slim", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "Discord Bot Token", + "description": "Get your own token here - https:\/\/discordapp.com\/developers\/applications\/", + "env_variable": "TOKEN", + "default_value": "GET_YOUR_OWN", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string" + }, + { + "name": "Command Prefix", + "description": "The prefix for commands from the bot.", + "env_variable": "PREFIX", + "default_value": ".", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string" + } + ] +} \ No newline at end of file From 44e58a75a8740e9b867edc326eb17700f8f766b1 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Mon, 20 Apr 2020 23:18:25 -0400 Subject: [PATCH 278/413] add readme files --- README.md | 1 + bots/discord/redbot/README.md | 8 ++++++++ 2 files changed, 9 insertions(+) create mode 100644 bots/discord/redbot/README.md diff --git a/README.md b/README.md index b4ccfbee..b6e9c5e3 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,7 @@ If you are reading this it looks like you are looking to add an egg to your serv * [jmusicbot](/bots/discord/jmusicbot) Java * [parkertron](/bots/discord/parkertron/) Golang * [pixel-bot](/bots/discord/pixelbot/) Python +* [Red](/bots/discord/redbot/) Python * [Sinusbot](/bots/discord/sinusbot/) [Twitch](/bots/twitch) diff --git a/bots/discord/redbot/README.md b/bots/discord/redbot/README.md new file mode 100644 index 00000000..d4f3c036 --- /dev/null +++ b/bots/discord/redbot/README.md @@ -0,0 +1,8 @@ +# Red-DiscordBot +### From their [Github](https://github.com/Cog-Creators/Red-DiscordBot) +A multifunction Discord bot + +### Server Ports +No port are required to run Red. + +#### Mods/Plugins may require ports to be added to the server. From 42bc15fd1d155dcc8e7c11ce03c0351e054027d7 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Mon, 20 Apr 2020 23:43:23 -0400 Subject: [PATCH 279/413] fix conan updates the conan desc --- steamcmd_servers/conan_exiles/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/steamcmd_servers/conan_exiles/README.md b/steamcmd_servers/conan_exiles/README.md index 28d4024b..4ec44fe6 100644 --- a/steamcmd_servers/conan_exiles/README.md +++ b/steamcmd_servers/conan_exiles/README.md @@ -1,5 +1,5 @@ ### From their [Site](https://conanexiles.com/) -Experience true combat gameplay in a massive military sandbox. Deploying a wide variety of single- and multiplayer content, over 20 vehicles and 40 weapons, and limitless opportunities for content creation, this is the PC’s premier military game. Authentic, diverse, open - Arma 3 sends you to war. +Conan Exiles is online multiplayer survival game set in the lands of Conan the Barbarian ### Minimum RAM warning This server requires about 4096m to run properly. From 717149ee335ac84cfeb7af3097e6a6612b404272 Mon Sep 17 00:00:00 2001 From: gOOvER Date: Tue, 21 Apr 2020 09:36:31 +0200 Subject: [PATCH 280/413] New try. I hope it works now --- .../egg-citadel--forged-with-fire.json | 63 ------------------- .../citadel/egg-citadel-forged-with-fire.json | 54 ++++++++++++++++ 2 files changed, 54 insertions(+), 63 deletions(-) delete mode 100644 steamcmd_servers/citadel/egg-citadel--forged-with-fire.json create mode 100644 steamcmd_servers/citadel/egg-citadel-forged-with-fire.json diff --git a/steamcmd_servers/citadel/egg-citadel--forged-with-fire.json b/steamcmd_servers/citadel/egg-citadel--forged-with-fire.json deleted file mode 100644 index 53dc9bc4..00000000 --- a/steamcmd_servers/citadel/egg-citadel--forged-with-fire.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", - "meta": { - "version": "PTDL_v1" - }, - "exported_at": "2020-04-20T08:58:00+02:00", - "name": "Citadel: Forged with Fire", - "author": "info@goover.de", - "description": "Citadel: Forged With Fire is a massive online sandbox RPG set in the mystical world of Ignus. Featuring magic, spellcasting, building, exploring and crafting as you fight to make a name for yourself and achieve notoriety across the land.", - "image": "quay.io\/parkervcp\/pterodactyl-images:base_debian", - "startup": ".\/CitadelServer.sh", - "config": { - "files": "{\r\n \"Citadel\/Saved\/Config\/LinuxServer\/Game.ini\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"ConnectionPort=\": \"ConnectionPort={{server.build.env.CPORT}}\",\r\n \"QueryPort=\": \"QueryPort={{server.build.default.port}}\",\r\n \"Password=\": \"Password={{server.build.env.ADMIN_PASSWD}}\",\r\n \"WorldCreationSettings=\": \"WorldCreationSettings=({{server.build.env.WORLD_CREATION_SETTINGS}})\"\r\n }\r\n }\r\n}", - "startup": "{\r\n \"done\": \"Steam Server initialized and registered with UWorks\",\r\n \"userInteraction\": []\r\n}", - "logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/latest.log\"\r\n}", - "stop": "^C" - }, - "scripts": { - "installation": { - "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ubuntu:18.04'\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\nmkdir -p $HOME\/Citadel\/Plugins\/UWorks\/Source\/ThirdParty\/Linux\r\nchmod -R a+w,a+x $HOME\/Citadel\/Plugins\/UWorks\/Source\/ThirdParty\/Linux\r\nif [[ ! -f $HOME\/Citadel\/Plugins\/UWorks\/Source\/ThirdParty\/Linux\/steamclient.so ]]; then \r\n\tln -s ..\/..\/..\/..\/..\/..\/linux64\/steamclient.so $HOME\/Citadel\/Plugins\/UWorks\/Source\/ThirdParty\/Linux\/steamclient.so\r\n\r\nfi\r\n\r\n# Create Game.ini\r\nrm -rf $HOME\/Citadel\/Saved\/Config\/LinuxServer\/Game.ini\r\ncat < $HOME\/Citadel\/Saved\/Config\/LinuxServer\/Game.ini\r\n[UWorks]\r\nConnectionPort=27015\r\nQueryPort=7777\r\n\r\n[\/Script\/Citadel.SocialManager]\r\nPassword=changeme\r\n\r\n[\/Script\/Citadel.CitadelGameInstance]\r\nWorldCreationSettings=(ServerName=\"My Private Server\",Password=\"\",ServerType=PVP,PlayerLimit=40,bPrivate=true,ExperienceMultiplier=1.000000,InventoryCapacityMultipler=1.000000,KnowledgePointEarnedMultiplier=1.000000,CharacterPointEarnedMultiplier=1.000000,bUnlimitedResources=false,PlayerDamageMultiplier=1.000000,ArmorMultiplier=1.000000,BaseManaRegen=1.000000,bInventoryWeightRestrictions=true,MagicFindMultiplier=1.000000,CraftingMagicFindChanceMultiplier=1.000000,FlyingCostMultiplier=1.000000,FlyingSpeedMultiplier=1.000000,ResourceCollectionMultiplier=1.000000,StructureDamageMultiplier=1.000000,bRespectNoBuildZones=true,MagicStructureManaRegenerationMultiplier=1.000000,MagicStructureManaConsumptionMultiplier=0.000000,bFreeBuildMode=false,TimeOfDayLock=Auto,NPCPopulationMultiplier=1.000000)\r\nEOT\r\n\r\nchmod +x $HOME\/CitadelServer.sh", - "container": "debian:buster-slim", - "entrypoint": "bash" - } - }, - "variables": [ - { - "name": "Game ID", - "description": "ID", - "env_variable": "SRCDS_APPID", - "default_value": "489650", - "user_viewable": 1, - "user_editable": 0, - "rules": "required|numeric|digits_between:1,6" - }, - { - "name": "Connection Port", - "description": "Query Port", - "env_variable": "CPORT", - "default_value": "7777", - "user_viewable": 1, - "user_editable": 1, - "rules": "required|string|max:5" - }, - { - "name": "Admin Password", - "description": "", - "env_variable": "ADMIN_PASSWD", - "default_value": "", - "user_viewable": 1, - "user_editable": 1, - "rules": "required|string|max:20" - }, - { - "name": "World Creation Settings", - "description": "Pls define SERVERNAME, PASSWORT to join Server, MAX PLAYERS and SERVER MODE !!!", - "env_variable": "WORLD_CREATION_SETTINGS", - "default_value": "WorldCreationSettings=(ServerName=\"My Private Server\",Password=\"\",ServerType=PVP,PlayerLimit=40,bPrivate=false,ExperienceMultiplier=1.000000,InventoryCapacityMultipler=1.000000,KnowledgePointEarnedMultiplier=1.000000,CharacterPointEarnedMultiplier=1.000000,bUnlimitedResources=false,PlayerDamageMultiplier=1.000000,ArmorMultiplier=1.000000,BaseManaRegen=1.000000,bInventoryWeightRestrictions=true,MagicFindMultiplier=1.000000,CraftingMagicFindChanceMultiplier=1.000000,FlyingCostMultiplier=1.000000,FlyingSpeedMultiplier=1.000000,ResourceCollectionMultiplier=1.000000,StructureDamageMultiplier=1.000000,bRespectNoBuildZones=true,MagicStructureManaRegenerationMultiplier=1.000000,MagicStructureManaConsumptionMultiplier=0.000000,bFreeBuildMode=false,TimeOfDayLock=Auto,NPCPopulationMultiplier=1.000000)", - "user_viewable": 1, - "user_editable": 1, - "rules": "required" - } - ] -} \ No newline at end of file diff --git a/steamcmd_servers/citadel/egg-citadel-forged-with-fire.json b/steamcmd_servers/citadel/egg-citadel-forged-with-fire.json new file mode 100644 index 00000000..d8f8e048 --- /dev/null +++ b/steamcmd_servers/citadel/egg-citadel-forged-with-fire.json @@ -0,0 +1,54 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2020-04-21T09:35:15+02:00", + "name": "Citadel: Forged with Fire", + "author": "info@goover.de", + "description": "Citadel: Forged With Fire is a massive online sandbox RPG set in the mystical world of Ignus. Featuring magic, spellcasting, building, exploring and crafting as you fight to make a name for yourself and achieve notoriety across the land.", + "image": "quay.io\/parkervcp\/pterodactyl-images:base_debian", + "startup": ".\/CitadelServer.sh", + "config": { + "files": "{\r\n \"Config\/Game.ini\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"ConnectionPort=\": \"ConnectionPort={{server.build.default.port}}\",\r\n \"QueryPort=\": \"QueryPort={{server.build.env.QPORT}}\",\r\n \"Password\": \"Password={{server.build.env.ADMIN_PASSWD}}\"\r\n }\r\n }\r\n}", + "startup": "{\r\n \"done\": \"Steam Server initialized and registered with UWorks\",\r\n \"userInteraction\": []\r\n}", + "logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/latest.log\"\r\n}", + "stop": "^C" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ubuntu:18.04'\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n##Copy steamclient.so to correct Dir\r\nmkdir -p $HOME\/Citadel\/Plugins\/UWorks\/Source\/ThirdParty\/Linux\r\nchmod -R a+w,a+x $HOME\/Citadel\/Plugins\/UWorks\/Source\/ThirdParty\/Linux\r\nif [[ ! -f $HOME\/Citadel\/Plugins\/UWorks\/Source\/ThirdParty\/Linux\/steamclient.so ]]; then \r\n\tln -s ..\/..\/..\/..\/..\/..\/linux64\/steamclient.so $HOME\/Citadel\/Plugins\/UWorks\/Source\/ThirdParty\/Linux\/steamclient.so\r\n\r\nfi\r\n\r\n## Create Game.ini\r\nmkdir $HOME\/Config\r\n\r\nif [[ -d $HOME\/Citadel\/Saved\/Config\/LinuxServer ]]; then \r\n\trm -rf $HOME\/Citadel\/Saved\/Config\/LinuxServer\r\nfi\r\n\r\nif [[ -d $HOME\/Engine\/Saved\/Config\/LinuxServer ]]; then \r\n\trm -rf $HOME\/Engine\/Saved\/Config\/LinuxServer\r\nfi\r\n\r\nmkdir -p $HOME\/Citadel\/Saved\/Config\r\nmkdir -p $HOME\/Engine\/Saved\/Config\r\n\r\nln -s ..\/..\/..\/Config $HOME\/Citadel\/Saved\/Config\/LinuxServer\r\nln -s ..\/..\/..\/Config $HOME\/Engine\/Saved\/Config\/LinuxServer\r\n\r\n#rm -fR $HOME\/Citadel\/Saved\/Config\/LinuxServer\/Game.ini\r\ncat < $HOME\/Config\/Game.ini\r\n[UWorks]\r\nConnectionPort=7777\r\nQueryPort=27015\r\n\r\n[\/Script\/Citadel.SocialManager]\r\nPassword=changeme\r\n\r\n[\/Script\/Citadel.CitadelGameInstance]\r\nWorldCreationSettings=(ServerName=\"CitadelServer\",Password=\"YourServerPassword\",ServerType=PVP,PlayerLimit=20,bPrivate=true,ExperienceMultiplier=1.000000,InventoryCapacityMultipler=1.000000,KnowledgePointEarnedMultiplier=1.000000,CharacterPointEarnedMultiplier=1.000000,bUnlimitedResources=false,PlayerDamageMultiplier=1.000000,ArmorMultiplier=1.000000,BaseManaRegen=1.000000,bInventoryWeightRestrictions=true,MagicFindMultiplier=1.000000,CraftingMagicFindChanceMultiplier=1.000000,FlyingCostMultiplier=1.000000,FlyingSpeedMultiplier=1.000000,ResourceCollectionMultiplier=1.000000,StructureDamageMultiplier=1.000000,bRespectNoBuildZones=true,MagicStructureManaRegenerationMultiplier=1.000000,MagicStructureManaConsumptionMultiplier=0.000000,bFreeBuildMode=false,TimeOfDayLock=Auto,NPCPopulationMultiplier=1.000000,StructureDecayMultiplier=2.000000,bThronesDecay=true)\r\nEOT\r\n\r\nchmod +x $HOME\/CitadelServer.sh", + "container": "debian:buster-slim", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "Game ID", + "description": "ID", + "env_variable": "SRCDS_APPID", + "default_value": "489650", + "user_viewable": 1, + "user_editable": 0, + "rules": "required|numeric|digits_between:1,6" + }, + { + "name": "Query Port", + "description": "port", + "env_variable": "QPORT", + "default_value": "27015", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:100" + }, + { + "name": "Admin Password", + "description": "", + "env_variable": "ADMIN_PASSWD", + "default_value": "changeme", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:100" + } + ] +} \ No newline at end of file From c0c5f975bd1451c86686f1e63f467348f8f6b141 Mon Sep 17 00:00:00 2001 From: gOOvER Date: Tue, 21 Apr 2020 09:41:35 +0200 Subject: [PATCH 281/413] Update Readme --- steamcmd_servers/citadel/README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/steamcmd_servers/citadel/README.md b/steamcmd_servers/citadel/README.md index 38185635..e85ca5c1 100644 --- a/steamcmd_servers/citadel/README.md +++ b/steamcmd_servers/citadel/README.md @@ -7,3 +7,10 @@ Citadel: Forged With Fire is a massive online sandbox RPG set in the mystical wo |-------|---------| | Game | 7777 | | Query | 27015 | + +## Notes + +You need to setup the Config of the Server in +/Config/Game.ini + +-> WorldCreationSettings From e351b7d1c01dbd8aced5a764b24c86461c6e2e49 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Tue, 21 Apr 2020 08:25:35 -0400 Subject: [PATCH 282/413] fix for servers with no server pack defined --- .../forge/curseforge-generic/egg-curseforge-generic.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json b/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json index 34811056..b2230056 100644 --- a/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json +++ b/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-04-11T22:37:27-04:00", + "exported_at": "2020-04-21T08:24:19-04:00", "name": "Curseforge Generic", "author": "parker@parkervcp.com", "description": "A generic egg for a forge modpack", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir -p \/mnt\/server\r\nfi\r\n\r\nfunction install_required {\r\n apt update\r\n apt install -y curl jq unzip dos2unix\r\n}\r\n\r\nfunction get_latest {\r\n FILE_ID=$(echo -e ${JSON_DATA} | jq -r .defaultFileId)\r\n if [ \"$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .isServerPack\")\" == \"false\" ]; then\r\n FILE_ID=$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .serverPackFileId\")\r\n curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/file\/${FILE_ID}\/download-url\r\n else\r\n curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/file\/${FILE_ID}\/download-url\r\n fi\r\n}\r\n\r\nfunction get_download {\r\n # get json data to work with\r\n echo -e \"Curling the json for the modpack\"\r\n echo -e \"running: curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\"\r\n JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID})\r\n\r\n # if no modpack version is set or is set to latest\r\n if [ -z ${MODPACK_VERSION} ] || [ \"${MODPACK_VERSION}\" = \"latest\" ]; then\r\n echo -e \"Getting latest download url\"\r\n # parse data to get the download url\r\n DOWNLOAD_URL=$(get_latest $JSON_DATA)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n else\r\n echo -e \"Looking for download url for version ${MODPACK_VERSION}\"\r\n # parse files for version match\r\n FILES_JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/files)\r\n # get element number to get the exact location in the json\r\n FILES_JSON_ELEMENT=$(echo -e ${FILES_JSON_DATA} | jq --arg VERSION \"${MODPACK_VERSION}\" '.[] | select(.displayName) | .displayName | contains($VERSION)' | grep -n true | cut -f1 -d: | tail -1)\r\n # if there wasn't a match default to latest\r\n if [ ! -z ${FILES_JSON_ELEMENT} ]; then\r\n echo -e \"No matching version found\"\r\n echo -e \"defaulting to latest\"\r\n DOWNLOAD_URL=$(echo -e ${FILES_JSON_DATA} | jq --arg ELEMENT \"${FILES_JSON_ELEMENT}\" '.[$ELEMENT|tonumber-1] | .downloadUrl')\r\n else\r\n echo -e \"Version match found\"\r\n DOWNLOAD_URL=$(echo -e ${JSON_DATA} | jq -r .latestFiles[0].downloadUrl)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n fi\r\n fi\r\n\r\n ## download modpack files\r\n cd \/mnt\/server\r\n echo \"Executing curl -L ${DOWNLOAD_URL} -o server.zip\"\r\n curl -L \"${DOWNLOAD_URL}\" -o server.zip\r\n unzip -o server.zip\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 if [ -f \/mnt\/server\/*installer.jar ]; then\r\n java -jar *installer.jar --installServer\r\n else\r\n echo \"No forge installer found moving on.\"\r\n fi\r\n mv FTBServer.jar server.jar\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 if [ ! -f \/mnt\/server\/*universal.jar ]; then\r\n mv -v \/mnt\/server\/*\/* \/mnt\/server\/\r\n mv *universal.jar server.jar\r\n else\r\n mv *universal.jar server.jar\r\n fi\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=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${projID}\/file\/${fileID}\/download-url)\r\n # this is saving everything as \/mnt\/server\/mods\/download\r\n echo \"Mod direct url: ${URL}\"\r\n curl -JLO \"${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 -e \"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 -e \"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 -e \"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 -e \"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 ftb_install {\r\n chmod +x \/mnt\/server\/settings.sh \r\n . \/mnt\/server\/settings.sh \r\n curl https:\/\/s3.amazonaws.com\/Minecraft.Download\/versions\/${MCVER}\/minecraft_server.${MCVER}.jar -o ${JARFILE} \r\n curl https:\/\/libraries.minecraft.net\/${LAUNCHWRAPPER} -o \/mnt\/server\/libraries\/${LAUNCHWRAPPER}\r\n}\r\n\r\ninstall_required\r\nget_download\r\n\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\nelif [ -f \/mnt\/server\/version.json ]; then\r\n if [ \"$(cat \/mnt\/server\/version.json | jq -r '.packID | contains(\"FTB\")')\" == \"true\" ]; then\r\n ftb_install\r\n fi\r\nelse\r\n forge_install\r\n forge_cleanup\r\nfi", + "script": "#!\/bin\/bash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir -p \/mnt\/server\r\nfi\r\n\r\nfunction install_required {\r\n apt update\r\n apt install -y curl jq unzip dos2unix\r\n}\r\n\r\nfunction get_download {\r\n # get json data to work with\r\n echo -e \"Curling the json for the modpack\"\r\n echo -e \"running: curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\"\r\n JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID})\r\n\r\n # if no modpack version is set or is set to latest\r\n if [ -z ${MODPACK_VERSION} ] || [ \"${MODPACK_VERSION}\" = \"latest\" ]; then\r\n echo -e \"Getting latest download url\"\r\n # parse data to get the download url\r\n FILE_ID=$(echo -e ${JSON_DATA} | jq -r .defaultFileId)\r\n echo -e \"File ID is: ${FILE_ID}\"\r\n if [ \"$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .isServerPack\")\" == \"false\" ] && [ \"$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .serverPackFileId\")\" != \"null\" ]; then\r\n FILE_ID=$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .serverPackFileId\")\r\n DOWNLOAD_URL=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/file\/${FILE_ID}\/download-url)\r\n else\r\n DOWNLOAD_URL=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/file\/${FILE_ID}\/download-url)\r\n fi\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n else\r\n echo -e \"Looking for download url for version ${MODPACK_VERSION}\"\r\n # parse files for version match\r\n FILES_JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/files)\r\n # get element number to get the exact location in the json\r\n FILES_JSON_ELEMENT=$(echo -e ${FILES_JSON_DATA} | jq --arg VERSION \"${MODPACK_VERSION}\" '.[] | select(.displayName) | .displayName | contains($VERSION)' | grep -n true | cut -f1 -d: | tail -1)\r\n # if there wasn't a match default to latest\r\n if [ ! -z ${FILES_JSON_ELEMENT} ]; then\r\n echo -e \"No matching version found\"\r\n echo -e \"defaulting to latest\"\r\n DOWNLOAD_URL=$(echo -e ${FILES_JSON_DATA} | jq --arg ELEMENT \"${FILES_JSON_ELEMENT}\" '.[$ELEMENT|tonumber-1] | .downloadUrl')\r\n else\r\n echo -e \"Version match found\"\r\n DOWNLOAD_URL=$(echo -e ${JSON_DATA} | jq -r .latestFiles[0].downloadUrl)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n fi\r\n fi\r\n\r\n ## download modpack files\r\n cd \/mnt\/server\r\n echo \"Executing curl -L ${DOWNLOAD_URL} -o server.zip\"\r\n curl -L \"${DOWNLOAD_URL}\" -o server.zip\r\n unzip -o server.zip\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 if [ -f \/mnt\/server\/*installer.jar ]; then\r\n java -jar *installer.jar --installServer\r\n else\r\n echo \"No forge installer found moving on.\"\r\n fi\r\n mv FTBServer.jar server.jar\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 if [ ! -f \/mnt\/server\/*universal.jar ]; then\r\n mv -v \/mnt\/server\/*\/* \/mnt\/server\/\r\n mv *universal.jar server.jar\r\n else\r\n mv *universal.jar server.jar\r\n fi\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=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${projID}\/file\/${fileID}\/download-url)\r\n # this is saving everything as \/mnt\/server\/mods\/download\r\n echo \"Mod direct url: ${URL}\"\r\n curl -JLO \"${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 -e \"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 -e \"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 -e \"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 -e \"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 ftb_install {\r\n chmod +x \/mnt\/server\/settings.sh \r\n . \/mnt\/server\/settings.sh \r\n curl https:\/\/s3.amazonaws.com\/Minecraft.Download\/versions\/${MCVER}\/minecraft_server.${MCVER}.jar -o ${JARFILE} \r\n curl https:\/\/libraries.minecraft.net\/${LAUNCHWRAPPER} -o \/mnt\/server\/libraries\/${LAUNCHWRAPPER}\r\n}\r\n\r\ninstall_required\r\nget_download\r\n\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\nelif [ -f \/mnt\/server\/version.json ]; then\r\n if [ \"$(cat \/mnt\/server\/version.json | jq -r '.packID | contains(\"FTB\")')\" == \"true\" ]; then\r\n ftb_install\r\n fi\r\nelse\r\n forge_install\r\n forge_cleanup\r\nfi", "container": "openjdk:8-jdk-slim", "entrypoint": "bash" } From a7b87da7aa2779474fab0f77311b8038dc247f71 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Tue, 21 Apr 2020 22:49:24 -0400 Subject: [PATCH 283/413] fix forge install fixes the forge install --- minecraft_java/forge/forge/egg-forge-enhanced.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/minecraft_java/forge/forge/egg-forge-enhanced.json b/minecraft_java/forge/forge/egg-forge-enhanced.json index b104b7ed..9695b009 100644 --- a/minecraft_java/forge/forge/egg-forge-enhanced.json +++ b/minecraft_java/forge/forge/egg-forge-enhanced.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-04-16T20:29:22-04:00", + "exported_at": "2020-04-21T22:47:03-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.", @@ -17,7 +17,7 @@ }, "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 jq\r\n\r\necho -e \"minecraft version: ${MC_VERSION}\"\r\necho -e \"build type: ${BUILD_TYPE}\"\r\n\r\nJSON_DATA=$(curl -sSL https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/promotions_slim.json)\r\n\r\nif [ \"${MC_VERSION}\" == \"latest\" ] || [ \"${MC_VERSION}\" == \"\" ] ; then\r\n echo -e \"getting latest recommended version of forge.\"\r\n MC_VERSION=$(echo -e ${JSON_DATA} | jq -r '.promos | del(.\"latest-1.7.10\") | del(.\"1.7.10-latest-1.7.10\") | to_entries[] | .key | select(contains(\"recommended\")) | split(\"-\")[0]' | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n | tail -1)\r\n\tBUILD_TYPE=recommended\r\n\t\r\n\techo -e \"minecraft version: ${MC_VERSION}\"\r\n\techo -e \"build type: ${BUILD_TYPE}\"\r\nfi\r\n\r\n## some variables for getting versions and things\r\nFILE_SITE=$(echo -e ${JSON_DATA} | jq -r '.homepage' | sed \"s\/http:\/https:\/g\")\r\nVERSION_KEY=$(echo -e ${JSON_DATA} | jq -r --arg MC_VERSION \"${MC_VERSION}\" --arg BUILD_TYPE \"${BUILD_TYPE}\" '.promos | to_entries[] | .key | select(contains($MC_VERSION)) | select(contains($BUILD_TYPE))')\r\n\r\n## locating the forge version\r\nif [ \"${VERSION_KEY}\" == \"\" ] && [ \"${BUILD_TYPE}\" == \"recommended\" ]; then\r\n echo -e \"dropping back to latest from recommended due to there not being a recommended version of forge for the mc version requested.\"\r\n VERSION_KEY=$(echo -e ${JSON_DATA} | jq -r --arg MC_VERSION \"${MC_VERSION}\" '.promos | to_entries[] | .key | select(contains($MC_VERSION)) | select(contains(\"latest\"))')\r\nfi\r\n\r\n## Error if the mc version set wasn't valid.\r\nif [ \"${VERSION_KEY}\" == \"\" ]; then\r\n\techo -e \"The install failed because there is no valid version of forge for the version on minecraft selected.\"\r\n\texit 1\r\nfi\r\n\r\nFORGE_VERSION=$(echo -e ${JSON_DATA} | jq -r --arg VERSION_KEY \"$VERSION_KEY\" '.promos | .[$VERSION_KEY]')\r\n\r\n\r\n\r\nif [ \"${MC_VERSION}\" == \"1.7.10\" ] || [ \"${MC_VERSION}\" == \"1.8.9\" ]; then\r\n DOWNLOAD_LINK=${FILE_SITE}${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}\/forge-${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}\r\nelse\r\n DOWNLOAD_LINK=${FILE_SITE}${MC_VERSION}-${FORGE_VERSION}\/forge-${MC_VERSION}-${FORGE_VERSION}\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 ${FORGE_VERSION}\"\r\nif [ ! -z \"${DOWNLOAD_LINK}\" ]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_LINK}-installer.jar; then\r\n echo -e \"installer jar download link is valid.\"\r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_LINK}-universal.jar; then\r\n echo -e \"universal jar download link is valid.\"\r\n else\r\n echo -e \"link is invalid closing out\"\r\n exit 3\r\n fi\r\n else\r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\ncurl -s -o installer.jar -sS ${DOWNLOAD_LINK}-installer.jar\r\ncurl -s -o $SERVER_JARFILE -sS ${DOWNLOAD_LINK}-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 ${FORGE_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", + "script": "#!\/bin\/bash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y curl jq\r\n\r\nSERVER_JARFILE=server.jar\r\n\r\n#Go into main direction\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir \/mnt\/server\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"minecraft version: ${MC_VERSION}\"\r\necho -e \"build type: ${BUILD_TYPE}\"\r\n\r\nJSON_DATA=$(curl -sSL https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/promotions_slim.json)\r\n\r\nif [ \"${MC_VERSION}\" == \"latest\" ] || [ \"${MC_VERSION}\" == \"\" ] ; then\r\n echo -e \"getting latest recommended version of forge.\"\r\n MC_VERSION=$(echo -e ${JSON_DATA} | jq -r '.promos | del(.\"latest-1.7.10\") | del(.\"1.7.10-latest-1.7.10\") | to_entries[] | .key | select(contains(\"recommended\")) | split(\"-\")[0]' | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n | tail -1)\r\n\tBUILD_TYPE=recommended\r\n\t\r\n\techo -e \"minecraft version: ${MC_VERSION}\"\r\n\techo -e \"build type: ${BUILD_TYPE}\"\r\nfi\r\n\r\n## some variables for getting versions and things\r\nFILE_SITE=$(echo -e ${JSON_DATA} | jq -r '.homepage' | sed \"s\/http:\/https:\/g\")\r\nVERSION_KEY=$(echo -e ${JSON_DATA} | jq -r --arg MC_VERSION \"${MC_VERSION}\" --arg BUILD_TYPE \"${BUILD_TYPE}\" '.promos | to_entries[] | .key | select(contains($MC_VERSION)) | select(contains($BUILD_TYPE))')\r\n\r\n## locating the forge version\r\nif [ \"${VERSION_KEY}\" == \"\" ] && [ \"${BUILD_TYPE}\" == \"recommended\" ]; then\r\n echo -e \"dropping back to latest from recommended due to there not being a recommended version of forge for the mc version requested.\"\r\n VERSION_KEY=$(echo -e ${JSON_DATA} | jq -r --arg MC_VERSION \"${MC_VERSION}\" '.promos | to_entries[] | .key | select(contains($MC_VERSION)) | select(contains(\"latest\"))')\r\nfi\r\n\r\n## Error if the mc version set wasn't valid.\r\nif [ \"${VERSION_KEY}\" == \"\" ]; then\r\n\techo -e \"The install failed because there is no valid version of forge for the version on minecraft selected.\"\r\n\texit 1\r\nfi\r\n\r\nFORGE_VERSION=$(echo -e ${JSON_DATA} | jq -r --arg VERSION_KEY \"$VERSION_KEY\" '.promos | .[$VERSION_KEY]')\r\n\r\nif [ \"${MC_VERSION}\" == \"1.7.10\" ] || [ \"${MC_VERSION}\" == \"1.8.9\" ]; then\r\n DOWNLOAD_LINK=${FILE_SITE}${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}\/forge-${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}\r\n FORGE_JAR=forge-${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}.jar\r\nelse\r\n DOWNLOAD_LINK=${FILE_SITE}${MC_VERSION}-${FORGE_VERSION}\/forge-${MC_VERSION}-${FORGE_VERSION}\r\n FORGE_JAR=forge-${MC_VERSION}-${FORGE_VERSION}.jar\r\nfi\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 ${FORGE_VERSION}\"\r\nif [ ! -z \"${DOWNLOAD_LINK}\" ]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_LINK}-installer.jar; then\r\n echo -e \"installer jar download link is valid.\"\r\n else\r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\ncurl -s -o installer.jar -sS ${DOWNLOAD_LINK}-installer.jar\r\n\r\n#Checking if downloaded jars exist\r\nif [ ! -f .\/installer.jar ]; then\r\n echo \"!!! Error by downloading forge version ${FORGE_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## move server jar to the correct place.\r\nmv $FORGE_JAR $SERVER_JARFILE\r\n\r\n#Deleting installer.jar\r\necho -e \"Deleting installer.jar file.\\n\"\r\nrm -rf installer.jar", "container": "openjdk:8-jdk-slim", "entrypoint": "bash" } From 05b883c5bb5ebda2b7e2ad8ae08d126c895d11ec Mon Sep 17 00:00:00 2001 From: gOOvER Date: Wed, 22 Apr 2020 15:13:27 +0200 Subject: [PATCH 284/413] Removed cutom URl, because not needed Only latest and Master now integrated Set Tokens away from requiered for Hosting --- bots/twitch/phantombot/egg-phantom-bot.json | 29 +++++++-------------- 1 file changed, 10 insertions(+), 19 deletions(-) diff --git a/bots/twitch/phantombot/egg-phantom-bot.json b/bots/twitch/phantombot/egg-phantom-bot.json index 0ea82b12..68f30cfa 100644 --- a/bots/twitch/phantombot/egg-phantom-bot.json +++ b/bots/twitch/phantombot/egg-phantom-bot.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-03-03T02:51:46+01:00", + "exported_at": "2020-04-22T15:12:03+02:00", "name": "PhantomBot", "author": "mail@wuffy.eu", "description": "PhantomBot is an actively developed open source interactive Twitch bot with a vibrant community that provides entertainment and moderation for your channel, allowing you to focus on what matters the most to you - your game and your viewers.", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# PhantomBot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt -y --no-install-recommends install curl ca-certificates unzip\r\n\r\ncd \/tmp\r\n\r\n# Fetching last github release\r\nif [ -n \"${DOWNLOAD_PATH}\" ]; then\r\n echo -e \"Using download url\"\r\n DOWNLOAD_URL=`eval echo $(echo ${DOWNLOAD_PATH} | sed -e 's\/{{\/${\/g' -e 's\/}}\/}\/g')`\r\nelse\r\n if [ -z \"${RELEASE_VERSION}\" ] || [ \"${RELEASE_VERSION}\" == \"latest\" ]; then\r\n echo -e \"Using latest release version\"\r\n RELEASE_VERSION=$(curl -s \"https:\/\/github.com\/PhantomBot\/PhantomBot\/releases\/latest\" | grep -o '[0-9].[0-9].[0-9]')\r\n else\r\n echo -e \"Using custom release version\"\r\n fi\r\n\r\n# DOWNLOAD_URL=https:\/\/github.com\/PhantomBot\/PhantomBot\/releases\/download\/v${RELEASE_VERSION}\/PhantomBot-${RELEASE_VERSION}.zip\r\n DOWNLOAD_URL=https:\/\/raw.githubusercontent.com\/PhantomBot\/nightly-build\/master\/PhantomBot-nightly-lin.zip\r\nfi\r\n\r\n# Downloading\r\ncurl -LJO ${DOWNLOAD_URL}\r\nunzip -o PhantomBot-*.zip\r\n\r\n# Moveing unziped files into the server folder\r\ncp -f -r .\/PhantomBot-*\/* \/mnt\/server\/\r\n\r\n# Creating default config\r\nif [ ! -f \/mnt\/server\/config\/botlogin.txt ]; then\r\n echo -e \"Creating config\/botlogin.txt\"\r\n cat << EOF > \/mnt\/server\/config\/botlogin.txt\r\n #PhantomBot Configuration File\r\n #\r\n # Here is a list wiht all config values:\r\n # https:\/\/community.phantom.bot\/t\/settings-for-botlogin-txt\/78\r\n #\r\n apioauth=\r\n baseport=\r\n channel=\r\n oauth=\r\n owner=\r\n panelpassword=\r\n paneluser=\r\n user=\r\n youtubekey=\r\n discord_token=\r\nEOF\r\nfi", + "script": "#!\/bin\/bash\r\n# PhantomBot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt -y --no-install-recommends install curl ca-certificates unzip\r\n\r\ncd \/tmp\r\n\r\n# Fetching last github release\r\nif [ -z \"${RELEASE_VERSION}\" ] || [ \"${RELEASE_VERSION}\" == \"master\" ]; then\r\n echo -e \"Using latest Github Master version\"\r\n DOWNLOAD_URL=https:\/\/raw.githubusercontent.com\/PhantomBot\/nightly-build\/master\/PhantomBot-nightly-lin.zip\r\nelse\r\n if [ -z \"${RELEASE_VERSION}\" ] || [ \"${RELEASE_VERSION}\" == \"latest\" ]; then\r\n echo -e \"Using latest release version\"\r\n RELEASE_VERSION=$(curl -s \"https:\/\/github.com\/PhantomBot\/PhantomBot\/releases\/latest\" | grep -o '[0-9].[0-9].[0-9]')\r\n fi\r\n DOWNLOAD_URL=https:\/\/github.com\/PhantomBot\/PhantomBot\/releases\/download\/v${RELEASE_VERSION}\/PhantomBot-${RELEASE_VERSION}.zip\r\nfi\r\n\r\n# Downloading\r\ncurl -LJO ${DOWNLOAD_URL}\r\nunzip -o PhantomBot-*.zip\r\n\r\n# Moveing unziped files into the server folder\r\ncp -f -r .\/PhantomBot-*\/* \/mnt\/server\/\r\n\r\n# Creating default config\r\nif [ ! -f \/mnt\/server\/config\/botlogin.txt ]; then\r\n echo -e \"Creating config\/botlogin.txt\"\r\n cat << EOF > \/mnt\/server\/config\/botlogin.txt\r\n #PhantomBot Configuration File\r\n #\r\n # Here is a list wiht all config values:\r\n # https:\/\/community.phantom.bot\/t\/settings-for-botlogin-txt\/78\r\n #\r\n apioauth=\r\n baseport=\r\n channel=\r\n oauth=\r\n owner=\r\n panelpassword=\r\n paneluser=\r\n user=\r\n youtubekey=\r\n discord_token=\r\nEOF\r\nfi", "container": "ubuntu:16.04", "entrypoint": "bash" } @@ -25,22 +25,13 @@ "variables": [ { "name": "Version", - "description": "", + "description": "latest = Latest Stable\r\nmaster = latest Github", "env_variable": "RELEASE_VERSION", "default_value": "latest", "user_viewable": 1, "user_editable": 1, "rules": "max:9" }, - { - "name": "Download Path", - "description": "Using the latest nightly build:\r\nhttps:\/\/raw.githubusercontent.com\/PhantomBot\/nightly-build\/master\/PhantomBot-nightly-lin.zip\r\n\r\nWhen you use the latest nightly build you need to change the docker image to:\r\nquay.io\/parkervcp\/pterodactyl-images:debian_openjdk-13", - "env_variable": "DOWNLOAD_PATH", - "default_value": "", - "user_viewable": 1, - "user_editable": 1, - "rules": "max:512" - }, { "name": "Twitch Channel Name", "description": "Please enter the bot's Twitch username", @@ -48,7 +39,7 @@ "default_value": "", "user_viewable": 1, "user_editable": 1, - "rules": "required|string|max:26" + "rules": "string|max:26" }, { "name": "Channel Owner", @@ -57,7 +48,7 @@ "default_value": "", "user_viewable": 1, "user_editable": 1, - "rules": "required|string|max:26" + "rules": "string|max:26" }, { "name": "Bot OAuth Token", @@ -66,7 +57,7 @@ "default_value": "", "user_viewable": 1, "user_editable": 1, - "rules": "required|string|max:64" + "rules": "string|max:64" }, { "name": "Your OAuth Token", @@ -75,7 +66,7 @@ "default_value": "", "user_viewable": 1, "user_editable": 1, - "rules": "required|string|max:64" + "rules": "string|max:64" }, { "name": "Bot Twitch Username", @@ -84,7 +75,7 @@ "default_value": "", "user_viewable": 1, "user_editable": 1, - "rules": "required|string|max:26" + "rules": "string|max:26" }, { "name": "Webpanel Username", @@ -93,7 +84,7 @@ "default_value": "", "user_viewable": 1, "user_editable": 1, - "rules": "required|string|max:64" + "rules": "string|max:64" }, { "name": "Webpanel Password", @@ -102,7 +93,7 @@ "default_value": "", "user_viewable": 1, "user_editable": 1, - "rules": "required|string|max:2000" + "rules": "string|max:2000" }, { "name": "Youtube API Key", From 2593f2fb1a24f215907b24627004f89730c590ba Mon Sep 17 00:00:00 2001 From: gOOvER Date: Wed, 22 Apr 2020 15:27:19 +0200 Subject: [PATCH 285/413] Updated Readme --- bots/twitch/README.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/bots/twitch/README.md b/bots/twitch/README.md index b1b7b7a4..bc5062a8 100644 --- a/bots/twitch/README.md +++ b/bots/twitch/README.md @@ -5,3 +5,16 @@ #### PhantomBot [Homepage](https://phantombot.tv) [Egg](/bots/twitch/phantombot/) PhantomBot is an actively developed open source interactive Twitch bot with a vibrant community that provides entertainment and moderation for your channel, allowing you to focus on what matters the most to you - your game and your viewers. + +### Server Ports +Factorio requires a single port + +| Port | default | +|-----------------|---------| +| Web Server | 25000 | +| YouTubeSocket | 25003 | +| WebSocketServer | 25004 | + + +### Notes +Token fields are set to not required. Bot will NOT start, when Token fields are emty From 3ae45118e225aae2a42ce89592918cac545b59ef Mon Sep 17 00:00:00 2001 From: gOOvER Date: Wed, 22 Apr 2020 15:31:17 +0200 Subject: [PATCH 286/413] haha, c&p :D fixed :D --- bots/twitch/README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/bots/twitch/README.md b/bots/twitch/README.md index bc5062a8..1bf9d332 100644 --- a/bots/twitch/README.md +++ b/bots/twitch/README.md @@ -7,7 +7,6 @@ PhantomBot is an actively developed open source interactive Twitch bot with a vibrant community that provides entertainment and moderation for your channel, allowing you to focus on what matters the most to you - your game and your viewers. ### Server Ports -Factorio requires a single port | Port | default | |-----------------|---------| From f31d7079bb0cae597b94f7f18b1688cd0cec76a5 Mon Sep 17 00:00:00 2001 From: gOOvER Date: Wed, 22 Apr 2020 15:32:00 +0200 Subject: [PATCH 287/413] typo --- bots/twitch/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bots/twitch/README.md b/bots/twitch/README.md index 1bf9d332..c61917cf 100644 --- a/bots/twitch/README.md +++ b/bots/twitch/README.md @@ -16,4 +16,4 @@ PhantomBot is an actively developed open source interactive Twitch bot with a vi ### Notes -Token fields are set to not required. Bot will NOT start, when Token fields are emty +Token fields are set to not required. Bot will NOT start, when Token fields are empty From f8d86036811e4f784ebeee24c3b623d801efcc98 Mon Sep 17 00:00:00 2001 From: Roman-Sangemino <60158230+Roman-Sangemino@users.noreply.github.com> Date: Wed, 22 Apr 2020 11:51:16 -0400 Subject: [PATCH 288/413] Added Linux Bridge --- gta/ragemp/egg-rage--m-p.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gta/ragemp/egg-rage--m-p.json b/gta/ragemp/egg-rage--m-p.json index 4c9ea78a..289ffa89 100644 --- a/gta/ragemp/egg-rage--m-p.json +++ b/gta/ragemp/egg-rage--m-p.json @@ -3,10 +3,10 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-09-04T17:31:10-04:00", - "name": "Rage.MP", + "exported_at": "2020-04-22T09:18:34-04:00", + "name": "RAGE:MP Plug and Play", "author": "noreply.waypointhosting@gmail.com", - "description": "https:\/\/rage.mp\/\r\n\r\nThis server requires 2 ports to be added for the server. the main port and the next (port+1) as ports for the server.", + "description": "https:\/\/rage.mp\/\r\n\r\nModified to work with the latest version of RAGE:MP\r\nWill automatically install linux bridge.\r\n**This server requires 2 ports to be added for the server. the main port and the next (port+1) as ports for the server.", "image": "quay.io\/parkervcp\/pterodactyl-images:base_debian", "startup": ".\/server", "config": { @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "apt update\r\napt -y install curl tar\r\n\r\ncd \/mnt\/server\r\n\r\necho \"Downloading rage.mp\"\r\ncurl -sSL -o ragemp-srv.tar.gz https:\/\/cdn.rage.mp\/lin\/ragemp-srv.tar.gz\r\n\r\ntar -xzvf ragemp-srv.tar.gz --strip 1 -C \/mnt\/server\r\n\r\nrm ragemp-srv.tar.gz\r\n\r\nchmod +x .\/server\r\n\r\nif [ -e conf.json ]; then\r\n echo \"server config file exists\"\r\nelse\r\n echo \"Downloading default rage.mp config\"\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/GTA\/RageMP\/conf.json >> conf.json\r\nfi\r\n\r\necho \"install complete\"\r\n\r\nexit 0", + "script": "apt update\r\napt -y install curl tar\r\n\r\ncd \/mnt\/server\r\n\r\necho \"Downloading rage.mp\"\r\ncurl -sSL -o ragemp-srv-037.tar.gz https:\/\/cdn.rage.mp\/lin\/ragemp-srv-037.tar.gz\r\ncurl -sSL -o bridge-linux-037.tar.gz https:\/\/cdn.rage.mp\/lin\/bridge-linux-037.tar.gz\r\n\r\ntar -xzvf ragemp-srv-037.tar.gz --strip 1 -C \/mnt\/server\r\ntar -xzvf bridge-linux-037.tar.gz --strip 1 -C \/mnt\/server\r\n\r\nrm ragemp-srv-037.tar.gz\r\nrm bridge-linux-037.tar.gz\r\n\r\nchmod +x .\/server\r\n\r\nif [ -e conf.json ]; then\r\n echo \"server config file exists\"\r\nelse\r\n echo \"Downloading default rage.mp config\"\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/gta\/ragemp\/conf.json >> conf.json\r\nfi\r\n\r\necho \"install complete\"\r\n\r\nexit 0", "container": "debian:stable-slim", "entrypoint": "bash" } @@ -51,4 +51,4 @@ "rules": "required|boolean" } ] -} \ No newline at end of file +} From d3ad66d58901fe96e135e3040cbcb59262c8937f Mon Sep 17 00:00:00 2001 From: Roman-Sangemino <60158230+Roman-Sangemino@users.noreply.github.com> Date: Wed, 22 Apr 2020 11:57:26 -0400 Subject: [PATCH 289/413] Update egg-rage--m-p.json --- gta/ragemp/egg-rage--m-p.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gta/ragemp/egg-rage--m-p.json b/gta/ragemp/egg-rage--m-p.json index 289ffa89..6ce7769b 100644 --- a/gta/ragemp/egg-rage--m-p.json +++ b/gta/ragemp/egg-rage--m-p.json @@ -4,7 +4,7 @@ "version": "PTDL_v1" }, "exported_at": "2020-04-22T09:18:34-04:00", - "name": "RAGE:MP Plug and Play", + "name": "Rage.MP", "author": "noreply.waypointhosting@gmail.com", "description": "https:\/\/rage.mp\/\r\n\r\nModified to work with the latest version of RAGE:MP\r\nWill automatically install linux bridge.\r\n**This server requires 2 ports to be added for the server. the main port and the next (port+1) as ports for the server.", "image": "quay.io\/parkervcp\/pterodactyl-images:base_debian", From 67af14221db609e3d887db4279f9310e7393c114 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Wed, 22 Apr 2020 19:50:27 -0400 Subject: [PATCH 290/413] Update forge installer Updating forge installer again --- minecraft_java/forge/forge/egg-forge-enhanced.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/minecraft_java/forge/forge/egg-forge-enhanced.json b/minecraft_java/forge/forge/egg-forge-enhanced.json index 9695b009..73e8fca0 100644 --- a/minecraft_java/forge/forge/egg-forge-enhanced.json +++ b/minecraft_java/forge/forge/egg-forge-enhanced.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-04-21T22:47:03-04:00", + "exported_at": "2020-04-22T19:49:57-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.", @@ -17,7 +17,7 @@ }, "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 jq\r\n\r\nSERVER_JARFILE=server.jar\r\n\r\n#Go into main direction\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir \/mnt\/server\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"minecraft version: ${MC_VERSION}\"\r\necho -e \"build type: ${BUILD_TYPE}\"\r\n\r\nJSON_DATA=$(curl -sSL https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/promotions_slim.json)\r\n\r\nif [ \"${MC_VERSION}\" == \"latest\" ] || [ \"${MC_VERSION}\" == \"\" ] ; then\r\n echo -e \"getting latest recommended version of forge.\"\r\n MC_VERSION=$(echo -e ${JSON_DATA} | jq -r '.promos | del(.\"latest-1.7.10\") | del(.\"1.7.10-latest-1.7.10\") | to_entries[] | .key | select(contains(\"recommended\")) | split(\"-\")[0]' | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n | tail -1)\r\n\tBUILD_TYPE=recommended\r\n\t\r\n\techo -e \"minecraft version: ${MC_VERSION}\"\r\n\techo -e \"build type: ${BUILD_TYPE}\"\r\nfi\r\n\r\n## some variables for getting versions and things\r\nFILE_SITE=$(echo -e ${JSON_DATA} | jq -r '.homepage' | sed \"s\/http:\/https:\/g\")\r\nVERSION_KEY=$(echo -e ${JSON_DATA} | jq -r --arg MC_VERSION \"${MC_VERSION}\" --arg BUILD_TYPE \"${BUILD_TYPE}\" '.promos | to_entries[] | .key | select(contains($MC_VERSION)) | select(contains($BUILD_TYPE))')\r\n\r\n## locating the forge version\r\nif [ \"${VERSION_KEY}\" == \"\" ] && [ \"${BUILD_TYPE}\" == \"recommended\" ]; then\r\n echo -e \"dropping back to latest from recommended due to there not being a recommended version of forge for the mc version requested.\"\r\n VERSION_KEY=$(echo -e ${JSON_DATA} | jq -r --arg MC_VERSION \"${MC_VERSION}\" '.promos | to_entries[] | .key | select(contains($MC_VERSION)) | select(contains(\"latest\"))')\r\nfi\r\n\r\n## Error if the mc version set wasn't valid.\r\nif [ \"${VERSION_KEY}\" == \"\" ]; then\r\n\techo -e \"The install failed because there is no valid version of forge for the version on minecraft selected.\"\r\n\texit 1\r\nfi\r\n\r\nFORGE_VERSION=$(echo -e ${JSON_DATA} | jq -r --arg VERSION_KEY \"$VERSION_KEY\" '.promos | .[$VERSION_KEY]')\r\n\r\nif [ \"${MC_VERSION}\" == \"1.7.10\" ] || [ \"${MC_VERSION}\" == \"1.8.9\" ]; then\r\n DOWNLOAD_LINK=${FILE_SITE}${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}\/forge-${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}\r\n FORGE_JAR=forge-${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}.jar\r\nelse\r\n DOWNLOAD_LINK=${FILE_SITE}${MC_VERSION}-${FORGE_VERSION}\/forge-${MC_VERSION}-${FORGE_VERSION}\r\n FORGE_JAR=forge-${MC_VERSION}-${FORGE_VERSION}.jar\r\nfi\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 ${FORGE_VERSION}\"\r\nif [ ! -z \"${DOWNLOAD_LINK}\" ]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_LINK}-installer.jar; then\r\n echo -e \"installer jar download link is valid.\"\r\n else\r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\ncurl -s -o installer.jar -sS ${DOWNLOAD_LINK}-installer.jar\r\n\r\n#Checking if downloaded jars exist\r\nif [ ! -f .\/installer.jar ]; then\r\n echo \"!!! Error by downloading forge version ${FORGE_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## move server jar to the correct place.\r\nmv $FORGE_JAR $SERVER_JARFILE\r\n\r\n#Deleting installer.jar\r\necho -e \"Deleting installer.jar file.\\n\"\r\nrm -rf installer.jar", + "script": "#!\/bin\/bash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y curl jq\r\n\r\n#Go into main direction\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir \/mnt\/server\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\nJSON_DATA=$(curl -sSL https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/promotions_slim.json)\r\n\r\nif [ \"${MC_VERSION}\" == \"latest\" ] || [ \"${MC_VERSION}\" == \"\" ] ; then\r\n echo -e \"getting latest recommended version of forge.\"\r\n MC_VERSION=$(echo -e ${JSON_DATA} | jq -r '.promos | del(.\"latest-1.7.10\") | del(.\"1.7.10-latest-1.7.10\") | to_entries[] | .key | select(contains(\"recommended\")) | split(\"-\")[0]' | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n | tail -1)\r\n\tBUILD_TYPE=recommended\r\nfi\r\n\r\nif [ \"${BUILD_TYPE}\" != \"recommended\" ] && [ \"${BUILD_TYPE}\" != \"latest\" ]; then\r\n BUILD_TYPE=recommended\r\nfi\r\n\r\necho -e \"minecraft version: ${MC_VERSION}\"\r\necho -e \"build type: ${BUILD_TYPE}\"\r\n\r\n## some variables for getting versions and things\r\nFILE_SITE=$(echo -e ${JSON_DATA} | jq -r '.homepage' | sed \"s\/http:\/https:\/g\")\r\nVERSION_KEY=$(echo -e ${JSON_DATA} | jq -r --arg MC_VERSION \"${MC_VERSION}\" --arg BUILD_TYPE \"${BUILD_TYPE}\" '.promos | del(.\"latest-1.7.10\") | del(.\"1.7.10-latest-1.7.10\") | to_entries[] | .key | select(contains($MC_VERSION)) | select(contains($BUILD_TYPE))')\r\n\r\n## locating the forge version\r\nif [ \"${VERSION_KEY}\" == \"\" ] && [ \"${BUILD_TYPE}\" == \"recommended\" ]; then\r\n echo -e \"dropping back to latest from recommended due to there not being a recommended version of forge for the mc version requested.\"\r\n VERSION_KEY=$(echo -e ${JSON_DATA} | jq -r --arg MC_VERSION \"${MC_VERSION}\" '.promos | del(.\"latest-1.7.10\") | del(.\"1.7.10-latest-1.7.10\") | to_entries[] | .key | select(contains($MC_VERSION)) | select(contains(\"recommended\"))')\r\nfi\r\n\r\n## Error if the mc version set wasn't valid.\r\nif [ \"${VERSION_KEY}\" == \"\" ] || [ \"${VERSION_KEY}\" == \"null\" ]; then\r\n\techo -e \"The install failed because there is no valid version of forge for the version on minecraft selected.\"\r\n\texit 1\r\nfi\r\n\r\nFORGE_VERSION=$(echo -e ${JSON_DATA} | jq -r --arg VERSION_KEY \"$VERSION_KEY\" '.promos | .[$VERSION_KEY]')\r\n\r\nif [ \"${MC_VERSION}\" == \"1.7.10\" ] || [ \"${MC_VERSION}\" == \"1.8.9\" ]; then\r\n DOWNLOAD_LINK=${FILE_SITE}${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}\/forge-${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}\r\n FORGE_JAR=forge-${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}.jar\r\n if [ \"${MC_VERSION}\" == \"1.7.10\" ]; then\r\n FORGE_JAR=forge-${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}-universal.jar\r\n fi\r\nelse\r\n DOWNLOAD_LINK=${FILE_SITE}${MC_VERSION}-${FORGE_VERSION}\/forge-${MC_VERSION}-${FORGE_VERSION}\r\n FORGE_JAR=forge-${MC_VERSION}-${FORGE_VERSION}.jar\r\nfi\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 ${FORGE_VERSION}\"\r\nif [ ! -z \"${DOWNLOAD_LINK}\" ]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_LINK}-installer.jar; then\r\n echo -e \"installer jar download link is valid.\"\r\n else\r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\ncurl -s -o installer.jar -sS ${DOWNLOAD_LINK}-installer.jar\r\n\r\n#Checking if downloaded jars exist\r\nif [ ! -f .\/installer.jar ]; then\r\n echo \"!!! Error by downloading forge version ${FORGE_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\nmv $FORGE_JAR $SERVER_JARFILE\r\n\r\n#Deleting installer.jar\r\necho -e \"Deleting installer.jar file.\\n\"\r\nrm -rf installer.jar", "container": "openjdk:8-jdk-slim", "entrypoint": "bash" } From 1ce06a18ea21f1d4333c3fdef2f1bbea76d3430f Mon Sep 17 00:00:00 2001 From: lucatunes <61157271+lucatunes@users.noreply.github.com> Date: Thu, 23 Apr 2020 00:40:19 -0500 Subject: [PATCH 291/413] Fixed the musicbot title --- bots/discord/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bots/discord/README.md b/bots/discord/README.md index 66ab5d3b..32e7f28b 100644 --- a/bots/discord/README.md +++ b/bots/discord/README.md @@ -18,7 +18,7 @@ Give awesome perks to your Discord server! [discord.js](https://discord.js.org/) A generic discord.js egg for running discord bots. -#### fragbot +#### MusicBot [jagrosh/MusicBot](https://github.com/jagrosh/MusicBot) A Discord music bot that's easy to set up and run yourself! @@ -37,4 +37,4 @@ Was used to test python services. #### SinusBot [SinusBot](https://www.sinusbot.com/) -Please Check their site for an in depth on the bot. \ No newline at end of file +Please Check their site for an in depth on the bot. From 5686a22941249e5c9f512b1620a17c8e71e8451c Mon Sep 17 00:00:00 2001 From: gOOvER Date: Fri, 24 Apr 2020 11:38:25 +0200 Subject: [PATCH 292/413] Added Soldat Server --- README.md | 1 + steamcmd_servers/README.md | 3 ++ steamcmd_servers/soldat/README.md | 9 ++++ steamcmd_servers/soldat/egg-soldat.json | 72 +++++++++++++++++++++++++ 4 files changed, 85 insertions(+) create mode 100644 steamcmd_servers/soldat/README.md create mode 100644 steamcmd_servers/soldat/egg-soldat.json diff --git a/README.md b/README.md index f9eabdf9..015e365d 100644 --- a/README.md +++ b/README.md @@ -109,6 +109,7 @@ If you are reading this it looks like you are looking to add an egg to your serv * [PixARK](/steamcmd_servers/pixark/) * [Rust Staging Branch](/steamcmd_servers/rust_staging/) * [SCP: Secret Laboratory](/steamcmd_servers/scpsl/) +* [SSoldat](/steamcmd_servers/soldat/) * [Starbound](/steamcmd_servers/starbound) * [Stationeers](/steamcmd_servers/Stationeers/) * [Sven Co-op](/steamcmd_servers/svencoop) diff --git a/steamcmd_servers/README.md b/steamcmd_servers/README.md index 7a749b9d..13714993 100644 --- a/steamcmd_servers/README.md +++ b/steamcmd_servers/README.md @@ -43,6 +43,9 @@ This is a collection of servers that use steamcmd to install. ## SCP: Secret Laboratory [SCP: Secret Laboratory](/scpsl/) +## Soldat +[soldat](soldat/) + ## Squad [squad](squad/) diff --git a/steamcmd_servers/soldat/README.md b/steamcmd_servers/soldat/README.md new file mode 100644 index 00000000..d1fc670e --- /dev/null +++ b/steamcmd_servers/soldat/README.md @@ -0,0 +1,9 @@ +# Soldat +Soldat is a unique 2D (side-view) multiplayer action game. It has been influenced by the best of games such as Liero, Worms, Quake, and Counter-Strike and provides a fast-paced gaming experience with tons of blood and flesh. Soldiers fight against each other in 2D battle arenas using a deadly arsenal of military weapons, across 7 default game modes. It features 18 different weapons and 60 maps to frag away on, with full support for user created content. + +## Server Ports + +| Port | default | +|-------|---------| +| Game | 23073 | +| Query | 23083 | diff --git a/steamcmd_servers/soldat/egg-soldat.json b/steamcmd_servers/soldat/egg-soldat.json new file mode 100644 index 00000000..d5a57cd2 --- /dev/null +++ b/steamcmd_servers/soldat/egg-soldat.json @@ -0,0 +1,72 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2020-04-24T11:32:12+02:00", + "name": "Soldat", + "author": "info@goover.de", + "description": "Soldat is a unique 2D (side-view) multiplayer action game. It has been influenced by the best of games such as Liero, Worms, Quake, and Counter-Strike and provides a fast-paced gaming experience with tons of blood and flesh. Soldiers fight against each other in 2D battle arenas using a deadly arsenal of military weapons, across 7 default game modes. It features 18 different weapons and 60 maps to frag away on, with full support for user created content.\r\n\r\nSteam: https:\/\/store.steampowered.com\/app\/638490\/Soldat\/", + "image": "quay.io\/goover\/debian_base:base_debian", + "startup": ".\/soldatserver", + "config": { + "files": "{\r\n \"soldat.ini\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"Port=\": \"Port={{server.build.default.port}}\",\r\n \"Max_Players=\": \"Max_Players={{server.build.env.MAX_PLAYERS}}\",\r\n \"Game_Password=\": \"Game_Password={{server.build.env.SRV_PWD}}\",\r\n \"Admin_Password=\": \"Admin_Password={{server.build.env.ADMIN_PASSWD}}\",\r\n \"Server_Name=\": \"Server_Name={{server.build.env.SRV_NAME}}\"\r\n }\r\n }\r\n}", + "startup": "{\r\n \"done\": \"Done\",\r\n \"userInteraction\": []\r\n}", + "logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/latest.log\"\r\n}", + "stop": "^C" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'debian:buster-slim'\r\ndpkg --add-architecture i386\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates libstdc++6 lib32stdc++6 util-linux\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\ncd \/mnt\/server\r\nchmod +x soldatserver", + "container": "debian:buster-slim", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "Admin Passwort", + "description": "Admin Password for the Server", + "env_variable": "ADMIN_PASSWD", + "default_value": "changeme", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:20" + }, + { + "name": "Server Password", + "description": "Password to join Server", + "env_variable": "SRV_PWD", + "default_value": "chageme", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:20" + }, + { + "name": "Server Name", + "description": "Name of the Server", + "env_variable": "SRV_NAME", + "default_value": "MySoldatServer", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:100" + }, + { + "name": "Max Players", + "description": "Max Players can join", + "env_variable": "MAX_PLAYERS", + "default_value": "10", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:20" + }, + { + "name": "ADD IP", + "description": "Steam APP ID", + "env_variable": "SRCDS_APPID", + "default_value": "638500", + "user_viewable": 1, + "user_editable": 0, + "rules": "required|string|max:20" + } + ] +} \ No newline at end of file From 94c00a651a42943cf7f2f1675b949ec7b89f733a Mon Sep 17 00:00:00 2001 From: gOOvER Date: Fri, 24 Apr 2020 16:04:41 +0200 Subject: [PATCH 293/413] Update egg-soldat.json --- steamcmd_servers/soldat/egg-soldat.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/steamcmd_servers/soldat/egg-soldat.json b/steamcmd_servers/soldat/egg-soldat.json index d5a57cd2..b9b60fae 100644 --- a/steamcmd_servers/soldat/egg-soldat.json +++ b/steamcmd_servers/soldat/egg-soldat.json @@ -3,11 +3,11 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-04-24T11:32:12+02:00", + "exported_at": "2020-04-24T16:03:28+02:00", "name": "Soldat", "author": "info@goover.de", "description": "Soldat is a unique 2D (side-view) multiplayer action game. It has been influenced by the best of games such as Liero, Worms, Quake, and Counter-Strike and provides a fast-paced gaming experience with tons of blood and flesh. Soldiers fight against each other in 2D battle arenas using a deadly arsenal of military weapons, across 7 default game modes. It features 18 different weapons and 60 maps to frag away on, with full support for user created content.\r\n\r\nSteam: https:\/\/store.steampowered.com\/app\/638490\/Soldat\/", - "image": "quay.io\/goover\/debian_base:base_debian", + "image": "quay.io\/parkervcp\/pterodactyl-images:base_debian", "startup": ".\/soldatserver", "config": { "files": "{\r\n \"soldat.ini\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"Port=\": \"Port={{server.build.default.port}}\",\r\n \"Max_Players=\": \"Max_Players={{server.build.env.MAX_PLAYERS}}\",\r\n \"Game_Password=\": \"Game_Password={{server.build.env.SRV_PWD}}\",\r\n \"Admin_Password=\": \"Admin_Password={{server.build.env.ADMIN_PASSWD}}\",\r\n \"Server_Name=\": \"Server_Name={{server.build.env.SRV_NAME}}\"\r\n }\r\n }\r\n}", From 7e1c7325767868397e989fbfbd816a65739e857d Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sat, 25 Apr 2020 10:41:37 -0400 Subject: [PATCH 294/413] fix install script adds a missing -y I had in my copy. --- bots/discord/corpbot/egg-corp-bot.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bots/discord/corpbot/egg-corp-bot.json b/bots/discord/corpbot/egg-corp-bot.json index 1561ca58..f7e46d52 100644 --- a/bots/discord/corpbot/egg-corp-bot.json +++ b/bots/discord/corpbot/egg-corp-bot.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-04-18T15:36:40-04:00", + "exported_at": "2020-04-25T10:31:48-04:00", "name": "CorpBot", "author": "parker@parkervcp.com", "description": "A very clumsy python bot for discord \r\n\r\nhttps:\/\/github.com\/corpnewt\/CorpBot.py", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# CoprBot Install Script\r\n#\r\n## create dir is it doesn't exist\r\nif [ ! -d \/mnt\/server\/ ]; then\r\n mkdir \/mnt\/server\/\r\nfi\r\n\r\n## move to directory\r\ncd \/mnt\/server\/\r\n\r\n## install deps\r\napt update\r\napt install git gcc\r\n\r\n## git clone \r\ngit clone https:\/\/github.com\/corpnewt\/CorpBot.py.git .\r\n\r\n## Modify Install.py to work properly in egg format\r\nmv Install.py Install.py.orig\r\nsed -n '\/press enter to exit\/q;p' Install.py.orig > Install.py\r\nsed -i 's\/\"-U\"\/\"-U\", \"--target\", \"\\\/mnt\\\/server\\\/\"\/g' Install.py\r\n\r\n## run Install.py script\r\npython Install.py\r\n\r\n## get config during install\r\nif [ ! -f \/mnt\/server\/settings_dict.json ]; then\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/bots\/discord\/corpbot\/settings_dict.json -o settings_dict.json\r\nfi", + "script": "#!\/bin\/bash\r\n# CoprBot Install Script\r\n#\r\n## create dir is it doesn't exist\r\nif [ ! -d \/mnt\/server\/ ]; then\r\n mkdir \/mnt\/server\/\r\nfi\r\n\r\n## move to directory\r\ncd \/mnt\/server\/\r\n\r\n## install deps\r\napt update\r\napt install -y git gcc curl\r\n\r\n## git clone \r\ngit clone https:\/\/github.com\/corpnewt\/CorpBot.py.git .\r\n\r\n## Modify Install.py to work properly in egg format\r\nmv Install.py Install.py.orig\r\nsed -n '\/press enter to exit\/q;p' Install.py.orig > Install.py\r\nsed -i 's\/\"-U\"\/\"-U\", \"--target\", \"\\\/mnt\\\/server\\\/\"\/g' Install.py\r\n\r\n## run Install.py script\r\npython Install.py\r\n\r\n## get config during install\r\nif [ ! -f \/mnt\/server\/settings_dict.json ]; then\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/bots\/discord\/corpbot\/settings_dict.json -o settings_dict.json\r\nfi", "container": "python:3.8-slim", "entrypoint": "bash" } From 1be7a4beba6b9dd0f5437adce5fe81f249d9a007 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sat, 25 Apr 2020 18:21:38 -0400 Subject: [PATCH 295/413] reorganize scp folder moves the scp servers into an scp folder in steamcmd --- README.md | 2 ++ steamcmd_servers/scpsl/README.md | 30 +++++++++++++++++++ .../dedicated}/README.md | 0 .../dedicated}/egg-scpsl.json | 0 .../multiadmin}/README.md | 2 +- .../multiadmin}/egg-scpsl.json | 0 6 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 steamcmd_servers/scpsl/README.md rename steamcmd_servers/{scpsl-dedicated => scpsl/dedicated}/README.md (100%) rename steamcmd_servers/{scpsl-dedicated => scpsl/dedicated}/egg-scpsl.json (100%) rename steamcmd_servers/{scpsl-multiadmin => scpsl/multiadmin}/README.md (97%) rename steamcmd_servers/{scpsl-multiadmin => scpsl/multiadmin}/egg-scpsl.json (100%) diff --git a/README.md b/README.md index 211b6b03..2591404d 100644 --- a/README.md +++ b/README.md @@ -112,6 +112,8 @@ If you are reading this it looks like you are looking to add an egg to your serv * [PixARK](/steamcmd_servers/pixark/) * [Rust Staging Branch](/steamcmd_servers/rust_staging/) * [SCP: Secret Laboratory](/steamcmd_servers/scpsl/) + * [dedicated](/steamcmd_servers/scpsl/dedicated/) + * [multiadmin](/steamcmd_servers/scpsl/multiadmin/) * [SSoldat](/steamcmd_servers/soldat/) * [Starbound](/steamcmd_servers/starbound) * [Stationeers](/steamcmd_servers/Stationeers/) diff --git a/steamcmd_servers/scpsl/README.md b/steamcmd_servers/scpsl/README.md new file mode 100644 index 00000000..33b220b1 --- /dev/null +++ b/steamcmd_servers/scpsl/README.md @@ -0,0 +1,30 @@ +## SCP: Secret Laboratory + +### [dedicated](dedicated/) +SCP: Secret Laboratory Dedicated Linux Server AddID: [996560](https://steamdb.info/app/996560/) +This Server is NOT compatible with ServerMod2 or MultiAdmin + +### [MultiAdmin](multiadmin) +SCP: Secret Laboratory Pterodactyl egg. Works with MP2. Steam AppID: [996560](https://steamdb.info/app/996560/) +This server is **NOT** compatible with SMod2 due to it not being updated for MP2. +This server is **NOT** compatible with LocalAdmin due to server input causing it to crash. MultiAdmin with a config option is used instead. + +### Minimum RAM +Minimum memory required to run the server: 3096 MB + +### Server Port +Default port required to run the server. + +| Port | Default | +|---------|---------| +| Game | 7777 | + +### Verification + +The server must be verified with the SCP:SL developers in order for it to be visible in the server browser. + +Instructions are as follows: +* Make sure your server complies with the [Verified Server Rules](https://scpslgame.com/Verified_server_rules.pdf). +* Send an email to `server.verification@scpslgame.com` from your configured contact email with the following information: + 1. The **public** IPv4 address of your server, with port. e.g. `69.69.69.69:7777` + 2. If the server's IP is static or dynamic. diff --git a/steamcmd_servers/scpsl-dedicated/README.md b/steamcmd_servers/scpsl/dedicated/README.md similarity index 100% rename from steamcmd_servers/scpsl-dedicated/README.md rename to steamcmd_servers/scpsl/dedicated/README.md diff --git a/steamcmd_servers/scpsl-dedicated/egg-scpsl.json b/steamcmd_servers/scpsl/dedicated/egg-scpsl.json similarity index 100% rename from steamcmd_servers/scpsl-dedicated/egg-scpsl.json rename to steamcmd_servers/scpsl/dedicated/egg-scpsl.json diff --git a/steamcmd_servers/scpsl-multiadmin/README.md b/steamcmd_servers/scpsl/multiadmin/README.md similarity index 97% rename from steamcmd_servers/scpsl-multiadmin/README.md rename to steamcmd_servers/scpsl/multiadmin/README.md index f5529fb9..52e05da4 100644 --- a/steamcmd_servers/scpsl-multiadmin/README.md +++ b/steamcmd_servers/scpsl/multiadmin/README.md @@ -15,7 +15,7 @@ Default port required to run the server. | Port | Default | |---------|---------| -| Game | 7777 | +| Game | 7777 | ### Verification diff --git a/steamcmd_servers/scpsl-multiadmin/egg-scpsl.json b/steamcmd_servers/scpsl/multiadmin/egg-scpsl.json similarity index 100% rename from steamcmd_servers/scpsl-multiadmin/egg-scpsl.json rename to steamcmd_servers/scpsl/multiadmin/egg-scpsl.json From e7aa12f65574a429bb4fe8199304738b4cbf3416 Mon Sep 17 00:00:00 2001 From: gOOvER Date: Sun, 26 Apr 2020 14:12:21 +0200 Subject: [PATCH 296/413] reverted requiered remove --- bots/twitch/phantombot/egg-phantom-bot.json | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/bots/twitch/phantombot/egg-phantom-bot.json b/bots/twitch/phantombot/egg-phantom-bot.json index 68f30cfa..cbb1c289 100644 --- a/bots/twitch/phantombot/egg-phantom-bot.json +++ b/bots/twitch/phantombot/egg-phantom-bot.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-04-22T15:12:03+02:00", + "exported_at": "2020-04-26T14:11:30+02:00", "name": "PhantomBot", "author": "mail@wuffy.eu", "description": "PhantomBot is an actively developed open source interactive Twitch bot with a vibrant community that provides entertainment and moderation for your channel, allowing you to focus on what matters the most to you - your game and your viewers.", @@ -30,7 +30,7 @@ "default_value": "latest", "user_viewable": 1, "user_editable": 1, - "rules": "max:9" + "rules": "required|string|max:9" }, { "name": "Twitch Channel Name", @@ -39,7 +39,7 @@ "default_value": "", "user_viewable": 1, "user_editable": 1, - "rules": "string|max:26" + "rules": "required|string|max:26" }, { "name": "Channel Owner", @@ -48,7 +48,7 @@ "default_value": "", "user_viewable": 1, "user_editable": 1, - "rules": "string|max:26" + "rules": "required|string|max:26" }, { "name": "Bot OAuth Token", @@ -57,7 +57,7 @@ "default_value": "", "user_viewable": 1, "user_editable": 1, - "rules": "string|max:64" + "rules": "required|string|max:64" }, { "name": "Your OAuth Token", @@ -66,7 +66,7 @@ "default_value": "", "user_viewable": 1, "user_editable": 1, - "rules": "string|max:64" + "rules": "required|string|max:64" }, { "name": "Bot Twitch Username", @@ -75,7 +75,7 @@ "default_value": "", "user_viewable": 1, "user_editable": 1, - "rules": "string|max:26" + "rules": "required|string|max:26" }, { "name": "Webpanel Username", @@ -84,7 +84,7 @@ "default_value": "", "user_viewable": 1, "user_editable": 1, - "rules": "string|max:64" + "rules": "required|string|max:64" }, { "name": "Webpanel Password", @@ -93,7 +93,7 @@ "default_value": "", "user_viewable": 1, "user_editable": 1, - "rules": "string|max:2000" + "rules": "required|string|max:2000" }, { "name": "Youtube API Key", From 78e7fd39ba1d769d99eaead72d2f46a375f88d00 Mon Sep 17 00:00:00 2001 From: Sciirof Date: Thu, 30 Apr 2020 22:08:04 +0200 Subject: [PATCH 297/413] Add tekkit classic --- .../tekkit-classic/egg-tekkit-classic.json | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 minecraft_java/technic/tekkit-classic/egg-tekkit-classic.json diff --git a/minecraft_java/technic/tekkit-classic/egg-tekkit-classic.json b/minecraft_java/technic/tekkit-classic/egg-tekkit-classic.json new file mode 100644 index 00000000..d225188f --- /dev/null +++ b/minecraft_java/technic/tekkit-classic/egg-tekkit-classic.json @@ -0,0 +1,36 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2020-04-30T21:51:06+02:00", + "name": "Tekkit Classic", + "author": "geoffrey@remedygaming.net", + "description": "Created by the Technic team, Tekkit Classic is a modpack for the record breaking sandbox construction game Minecraft. \r\nIt brings together some of the best mods from the Minecraft community for automating, industrializing and powering your worlds and bundles them into one easy download!", + "image": "quay.io\/pterodactyl\/core:java", + "startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar Tekkit.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 }\r\n }\r\n}", + "startup": "{\r\n \"done\": \")! For help, type \"\r\n}", + "logs": "{}", + "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\/tekkit\/Tekkit_Server_$MODPACK_VERSION.zip -o Tekkit_Server_$MODPACK_VERSION.zip\r\n\r\nunzip Tekkit_Server_$MODPACK_VERSION.zip\r\n\r\nrm -rf Tekkit_Server_$MODPACK_VERSION.zip\r\n\r\nrm launch.bat\r\n\r\nrm launch.sh\r\n\r\nif [ ! -f server.properties ]; then\r\n echo -e \"Downloading MC server.properties\"\r\n curl -o server.properties https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft_java\/server.properties\r\nfi", + "container": "alpine:3.9", + "entrypoint": "ash" + } + }, + "variables": [ + { + "name": "Modpack Version", + "description": "", + "env_variable": "MODPACK_VERSION", + "default_value": "3.1.2", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:20" + } + ] +} \ No newline at end of file From 2724a1884aece7e1a10d234905a13daaa504ff5a Mon Sep 17 00:00:00 2001 From: Sciirof Date: Thu, 30 Apr 2020 22:11:08 +0200 Subject: [PATCH 298/413] Update README.md --- minecraft_java/technic/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/minecraft_java/technic/README.md b/minecraft_java/technic/README.md index 4f2e1e57..8ff73a6b 100644 --- a/minecraft_java/technic/README.md +++ b/minecraft_java/technic/README.md @@ -20,3 +20,4 @@ If you are reading this it looks like you are looking to add an egg to your serv * [Hexxit](/minecraft_java/technic/hexxit/) * [Tekkit Legends](/minecraft_java/technic/tekkit-legends/) * [Attack of the B-Team](/minecraft_java/technic/attack-of-the-bteam/) +* [Tekkit Classic](/minecraft_java/technic/tekkit-classic/) From 3d1e9ac35d659e52bd9a584d4814883d19512840 Mon Sep 17 00:00:00 2001 From: gOOvER Date: Fri, 1 May 2020 19:02:23 +0200 Subject: [PATCH 299/413] Fix readme --- bots/twitch/README.md | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/bots/twitch/README.md b/bots/twitch/README.md index c61917cf..a0d75d21 100644 --- a/bots/twitch/README.md +++ b/bots/twitch/README.md @@ -3,17 +3,3 @@ ### Some of these bots support other services but are primarily Twitch bots #### PhantomBot [Homepage](https://phantombot.tv) [Egg](/bots/twitch/phantombot/) - -PhantomBot is an actively developed open source interactive Twitch bot with a vibrant community that provides entertainment and moderation for your channel, allowing you to focus on what matters the most to you - your game and your viewers. - -### Server Ports - -| Port | default | -|-----------------|---------| -| Web Server | 25000 | -| YouTubeSocket | 25003 | -| WebSocketServer | 25004 | - - -### Notes -Token fields are set to not required. Bot will NOT start, when Token fields are empty From aadb4a536176d5c8a5683db8b27729eeaad7a5f5 Mon Sep 17 00:00:00 2001 From: gOOvER Date: Sat, 2 May 2020 12:34:58 +0200 Subject: [PATCH 300/413] added Sogebot Egg --- bots/twitch/README.md | 1 + bots/twitch/sogebot/README.md | 15 +++++++++++ bots/twitch/sogebot/egg-soge-bot.json | 36 +++++++++++++++++++++++++++ 3 files changed, 52 insertions(+) create mode 100644 bots/twitch/sogebot/README.md create mode 100644 bots/twitch/sogebot/egg-soge-bot.json diff --git a/bots/twitch/README.md b/bots/twitch/README.md index a0d75d21..685fc613 100644 --- a/bots/twitch/README.md +++ b/bots/twitch/README.md @@ -3,3 +3,4 @@ ### Some of these bots support other services but are primarily Twitch bots #### PhantomBot [Homepage](https://phantombot.tv) [Egg](/bots/twitch/phantombot/) +#### sogeBot [Homepage](https://sogebot.xyz) [Egg](/bots/twitch/sogebots/) diff --git a/bots/twitch/sogebot/README.md b/bots/twitch/sogebot/README.md new file mode 100644 index 00000000..bf0ad1b9 --- /dev/null +++ b/bots/twitch/sogebot/README.md @@ -0,0 +1,15 @@ +# PhantomBot +### Their [Site](https://www.sogebot.xyz) +sogBot is an actively developed open source interactive Twitch bot that provides entertainment and moderation for your channel, +allowing you to focus on what matters the most to you - your game and your viewers. + +### Server Ports +1 port is required to run sogeBot. + +| Port | default | +|---------------------|---------| +| Game (HTTP Server) | 20000 | + +#NOTES + +The installation take a long time, because a lot of things must be compiled. It can take 5 or more minutes !!! diff --git a/bots/twitch/sogebot/egg-soge-bot.json b/bots/twitch/sogebot/egg-soge-bot.json new file mode 100644 index 00000000..add0719b --- /dev/null +++ b/bots/twitch/sogebot/egg-soge-bot.json @@ -0,0 +1,36 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2020-05-01T11:41:48+02:00", + "name": "SogeBot", + "author": "panel@mgc4you.de", + "description": "sogeBot - Free Twitch Bot built on Node.js https:\/\/sogebot.xyz\/", + "image": "quay.io\/parkervcp\/pterodactyl-images:debian_nodejs-12", + "startup": "npm start", + "config": { + "files": "{\r\n \".env\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"PORT=\": \"PORT={{server.build.default.port}}\"\r\n }\r\n }\r\n}", + "startup": "{\r\n \"done\": \"WebPanel is available at\"\r\n}", + "logs": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}", + "stop": "^C" + }, + "scripts": { + "installation": { + "script": "#\/bin\/ash\r\napk update\r\napk add --no-cache git make gcc g++ python autoconf automake nasm build-base zlib zlib-dev libtool ca-certificates curl unzip sqlite gettext\r\nexport NODE_OPTIONS=--max-old-space-size=8192\r\n\r\ncd \/mnt\/server\r\n\r\nif [ -z \"${RELEASE_VERSION}\" ] || [ \"${RELEASE_VERSION}\" == \"latest\" ]; then\r\n RELEASE_VERSION=$(curl -s \"https:\/\/api.github.com\/repos\/sogehige\/sogeBot\/releases\/latest\" | awk -F '\"' '\/tag_name\/{print $4}')\r\n DOWNLOAD_URL=https:\/\/github.com\/sogehige\/sogeBot\/releases\/download\/${RELEASE_VERSION}\/sogeBot-${RELEASE_VERSION}.zip\r\n curl -L -o sogebot.zip ${DOWNLOAD_URL}\r\n unzip -o sogebot.zip\r\n rm sogebot.zip\r\n \r\nrm -rf \/mnt\/server\/.env\r\ncat < \/mnt\/server\/.env\r\nTYPEORM_CONNECTION=sqlite\r\nTYPEORM_DATABASE=.\/sogebot.db\r\nPORT=20000\r\n\r\n# DON'T CHANGE ANYTHING BELOW THIS LINE\r\nTYPEORM_ENTITIES=dest\/database\/entity\/*.js\r\nTYPEORM_MIGRATIONS=dest\/database\/migration\/sqlite\/*.js\r\nTYPEORM_SUBSCRIBERS=dest\/database\/entity\/*.js\r\n\r\nTYPEORM_ENTITIES_DIR=src\/bot\/database\/entity\r\nTYPEORM_MIGRATIONS_DIR=src\/bot\/database\/migration\/sqlite\r\nTYPEORM_SUBSCRIBERS_DIR=src\/bot\/database\/entity\r\nEOT\r\n \r\nelif [ \"${RELEASE_VERSION}\" == \"master\" ]; then\r\n git clone https:\/\/github.com\/sogehige\/sogeBot.git .\r\n cp src\/bot\/data\/.* .\r\n \r\nrm -rf \/mnt\/server\/.env\r\ncat < \/mnt\/server\/.env\r\nTYPEORM_CONNECTION=sqlite\r\nTYPEORM_DATABASE=.\/sogebot.db\r\nPORT=20000\r\n \r\n# DON'T CHANGE ANYTHING BELOW THIS LINE\r\nTYPEORM_ENTITIES=dest\/database\/entity\/*.js\r\nTYPEORM_MIGRATIONS=dest\/database\/migration\/sqlite\/*.js\r\nTYPEORM_SUBSCRIBERS=dest\/database\/entity\/*.js\r\n\r\nTYPEORM_ENTITIES_DIR=src\/bot\/database\/entity\r\nTYPEORM_MIGRATIONS_DIR=src\/bot\/database\/migration\/sqlite\r\nTYPEORM_SUBSCRIBERS_DIR=src\/bot\/database\/entity\r\nEOT\r\n \r\nelse\r\n DOWNLOAD_URL=https:\/\/github.com\/sogehige\/sogeBot\/releases\/download\/${RELEASE_VERSION}\/sogeBot-${RELEASE_VERSION}.zip\r\n curl -L -o sogebot.zip ${DOWNLOAD_URL}\r\n unzip -o sogebot.zip\r\n rm sogebot.zip\r\n \r\nrm -rf \/mnt\/server\/.env\r\ncat < \/mnt\/server\/.env\r\nTYPEORM_CONNECTION=sqlite\r\nTYPEORM_DATABASE=.\/sogebot.db\r\nPORT=20000\r\n \r\n# DON'T CHANGE ANYTHING BELOW THIS LINE\r\nTYPEORM_ENTITIES=dest\/database\/entity\/*.js\r\nTYPEORM_MIGRATIONS=dest\/database\/migration\/sqlite\/*.js\r\nTYPEORM_SUBSCRIBERS=dest\/database\/entity\/*.js\r\n\r\nTYPEORM_ENTITIES_DIR=src\/bot\/database\/entity\r\nTYPEORM_MIGRATIONS_DIR=src\/bot\/database\/migration\/sqlite\r\nTYPEORM_SUBSCRIBERS_DIR=src\/bot\/database\/entity\r\nEOT\r\n\r\nfi\r\n\r\nnpm install -g npm@latest\r\n\r\n#\/usr\/local\/bin\/npm install sqlite3 --save\r\n#\/usr\/local\/bin\/npm install --save-dev electron-rebuild\r\n\r\nif [ \"${RELEASE_VERSION}\" == \"master\" ]; then\r\n echo -e \"## Compiling SourceCode with make && Downloading npm components\"\r\n make\r\nelse\r\n echo -e \"## Downloading npm components\"\r\n \/usr\/local\/bin\/npm ci\r\nfi\r\n\r\nexit 0", + "container": "node:12-alpine3.10", + "entrypoint": "ash" + } + }, + "variables": [ + { + "name": "Version", + "description": "Use: \"latest\" => latest official Version of SogeBot | \"master\" => Latest master branch Version |\"10.x.x\" other Version", + "env_variable": "RELEASE_VERSION", + "default_value": "latest", + "user_viewable": 1, + "user_editable": 1, + "rules": "max:9" + } + ] +} \ No newline at end of file From 584515240bcf0106be3cbea0845a6097e30b9646 Mon Sep 17 00:00:00 2001 From: Sciirof Date: Sun, 3 May 2020 16:33:15 +0200 Subject: [PATCH 301/413] Update main minecraft_java README.md --- minecraft_java/README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/minecraft_java/README.md b/minecraft_java/README.md index 55d1cc0b..00b06bd0 100644 --- a/minecraft_java/README.md +++ b/minecraft_java/README.md @@ -63,7 +63,10 @@ Gear up and set forth on a campaign worthy of legend, for Hexxit has been uneart Blightfall is a combination modpack and adventure map about surviving on an alien planet. [Tekkit Legends](https://www.technicpack.net/modpack/tekkit-legends) -The ancient power of Tekkits past return in this legendary pack! +The ancient power of Tekkits past return in this legendary pack! + +[Tekkit Classic](https://www.technicpack.net/modpack/tekkit-legends) +The official Tekkit Classic modpack. Build factories, automate crafting! ## Tuinity Fork of Paper aimed at improving server performance at high playercounts. From 24673390d91256301d39c3f121abaf9f76ac15a8 Mon Sep 17 00:00:00 2001 From: Geoffrey Everaert Date: Sun, 3 May 2020 16:36:55 +0200 Subject: [PATCH 302/413] Fix tekkit classic link forgot to change the link to point to tekkit-classic directory --- minecraft_java/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/minecraft_java/README.md b/minecraft_java/README.md index 00b06bd0..b00841d7 100644 --- a/minecraft_java/README.md +++ b/minecraft_java/README.md @@ -65,7 +65,7 @@ Blightfall is a combination modpack and adventure map about surviving on an alie [Tekkit Legends](https://www.technicpack.net/modpack/tekkit-legends) The ancient power of Tekkits past return in this legendary pack! -[Tekkit Classic](https://www.technicpack.net/modpack/tekkit-legends) +[Tekkit Classic](https://www.technicpack.net/modpack/tekkit-classic) The official Tekkit Classic modpack. Build factories, automate crafting! ## Tuinity From d31fca82784fea58f6fb2ff814b93fc169e29dd1 Mon Sep 17 00:00:00 2001 From: Geoffrey Everaert Date: Sun, 3 May 2020 16:37:46 +0200 Subject: [PATCH 303/413] Update tekkit classic link --- minecraft_java/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/minecraft_java/README.md b/minecraft_java/README.md index b00841d7..b93d1f9e 100644 --- a/minecraft_java/README.md +++ b/minecraft_java/README.md @@ -65,7 +65,7 @@ Blightfall is a combination modpack and adventure map about surviving on an alie [Tekkit Legends](https://www.technicpack.net/modpack/tekkit-legends) The ancient power of Tekkits past return in this legendary pack! -[Tekkit Classic](https://www.technicpack.net/modpack/tekkit-classic) +[Tekkit Classic](https://www.technicpack.net/modpack/tekkit.552560) The official Tekkit Classic modpack. Build factories, automate crafting! ## Tuinity From 511ef8f3a94fa28156637efda9ef47166f133129 Mon Sep 17 00:00:00 2001 From: Noah van der Aa Date: Sun, 10 May 2020 16:59:37 +0200 Subject: [PATCH 304/413] Fixed a typo. --- mindustry/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mindustry/README.md b/mindustry/README.md index 678eb233..312bd1c7 100644 --- a/mindustry/README.md +++ b/mindustry/README.md @@ -1,7 +1,7 @@ # Mindustry **PLEASE READ** -Due to Mindustry not accepting command line arguments you MUST set the port once you start the game, buy using the command `port `. +Due to Mindustry not accepting command line arguments you MUST set the port once you start the game, by using the command `port `. This only has to be done once. @@ -18,4 +18,4 @@ Mindustry requires a single port | Port | Default | |---------|---------| -| Game | 6567 | \ No newline at end of file +| Game | 6567 | From ec38fea4c1b2f707d6ea77efe80812a7addc6a67 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sat, 16 May 2020 09:18:20 -0400 Subject: [PATCH 305/413] update fivem install script Moves install script to use debian:buster-slim to make installing more stable. --- gta/fivem/egg-five-m.json | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/gta/fivem/egg-five-m.json b/gta/fivem/egg-five-m.json index 6aa4b4b0..23401ebd 100644 --- a/gta/fivem/egg-five-m.json +++ b/gta/fivem/egg-five-m.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-11-03T20:45:20-05:00", + "exported_at": "2020-05-16T09:12:48-04:00", "name": "FiveM", "author": "parker@parkervcp.com", "description": "A new FiveM egg for the latest builds due to recent changes in FiveM", @@ -17,9 +17,9 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/ash\r\n# FiveM Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk add openssl tar xz curl wget git file --no-cache\r\n\r\nmkdir -p \/mnt\/server\/resources\r\n\r\ncd \/mnt\/server\r\n\r\necho \"updating citizenfx resource files\"\r\ngit clone https:\/\/github.com\/citizenfx\/cfx-server-data.git \/tmp\r\ncp -Rf \/tmp\/resources\/* resources\/ \r\n\r\nRELEASE_PAGE=$(curl -sSL https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/)\r\n\r\nif [ \"${FIVEM_VERSION}\" == \"latest\" ] || [ -z ${FIVEM_VERSION} ] ; then\r\n LATEST_RECOMMENDED=$(echo -e \"${RELEASE_PAGE}\" | grep \"LATEST RECOMMENDED\" -B1 | grep -Eo 'href=\".*\/*.tar.xz\"' | grep -Eo '\".*\"' | sed 's\/\\\"\/\/g' | sed 's\/\\.\\\/\/\/1')\r\n DOWNLOAD_LINK=$(echo https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/${LATEST_RECOMMENDED})\r\nelse\r\n VERSION_LINK=$(echo -e \"${RELEASE_PAGE}\" | grep -Eo 'href=\".*\/*.tar.xz\"' | grep -Eo '\".*\"' | sed 's\/\\\"\/\/g' | sed 's\/\\.\\\/\/\/1' | grep ${FIVEM_VERSION})\r\n if [ \"${VERSION_LINK}\" == \"\" ]; then\r\n echo -e \"defaulting to latest as the version requested was invalid.\"\r\n else\r\n DOWNLOAD_LINK=$(echo https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/${VERSION_LINK})\r\n fi\r\nfi\r\n\r\nif [ ! -z \"${DOWNLOAD_URL}\"]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_URL}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n DOWNLOAD_LINK=${DOWNLOAD_URL}\r\n else\r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\necho -e \"Running curl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\"\r\n\r\ncurl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\r\n\r\necho \"Extracting fivem files\"\r\n\r\nFILETYPE=$(file -F ',' ${DOWNLOAD_LINK##*\/} | cut -d',' -f2 | cut -d' ' -f2)\r\nif [ \"$FILETYPE\" == \"gzip\" ]; then\r\n tar xzvf ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"Zip\" ]; then\r\n unzip ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"XZ\" ]; then\r\n tar xvf ${DOWNLOAD_LINK##*\/}\r\nelse\r\n echo -e \"unknown filetype. Exeting\"\r\n exit 2 \r\nfi\r\n\r\nrm -rf ${DOWNLOAD_LINK##*\/} run.sh\r\n\r\nif [ -e server.cfg ]; then\r\n echo \"server config file exists\"\r\nelse\r\n echo \"Downloading default fivem config\"\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/gta\/fivem\/server.cfg >> server.cfg\r\nfi\r\n\r\nmkdir logs\/\r\n\r\necho \"install complete\"", - "container": "alpine:3.10", - "entrypoint": "ash" + "script": "#!\/bin\/ash\r\n# FiveM Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update -y\r\napt install -y tar xz-utils curl git file\r\n\r\nmkdir -p \/mnt\/server\/resources\r\n\r\ncd \/mnt\/server\r\n\r\necho \"updating citizenfx resource files\"\r\ngit clone https:\/\/github.com\/citizenfx\/cfx-server-data.git \/tmp\r\ncp -Rf \/tmp\/resources\/* resources\/ \r\n\r\nRELEASE_PAGE=$(curl -sSL https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/)\r\n\r\nif [ \"${FIVEM_VERSION}\" == \"latest\" ] || [ -z ${FIVEM_VERSION} ] ; then\r\n LATEST_RECOMMENDED=$(echo -e \"${RELEASE_PAGE}\" | grep \"LATEST RECOMMENDED\" -B1 | grep -Eo 'href=\".*\/*.tar.xz\"' | grep -Eo '\".*\"' | sed 's\/\\\"\/\/g' | sed 's\/\\.\\\/\/\/1')\r\n DOWNLOAD_LINK=$(echo https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/${LATEST_RECOMMENDED})\r\nelse\r\n VERSION_LINK=$(echo -e \"${RELEASE_PAGE}\" | grep -Eo 'href=\".*\/*.tar.xz\"' | grep -Eo '\".*\"' | sed 's\/\\\"\/\/g' | sed 's\/\\.\\\/\/\/1' | grep ${FIVEM_VERSION})\r\n if [ \"${VERSION_LINK}\" == \"\" ]; then\r\n echo -e \"defaulting to latest as the version requested was invalid.\"\r\n else\r\n DOWNLOAD_LINK=$(echo https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/${VERSION_LINK})\r\n fi\r\nfi\r\n\r\nif [ ! -z \"${DOWNLOAD_URL}\"]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_URL}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n DOWNLOAD_LINK=${DOWNLOAD_URL}\r\n else\r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\necho -e \"Running curl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\"\r\n\r\ncurl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\r\n\r\necho \"Extracting fivem files\"\r\n\r\nFILETYPE=$(file -F ',' ${DOWNLOAD_LINK##*\/} | cut -d',' -f2 | cut -d' ' -f2)\r\nif [ \"$FILETYPE\" == \"gzip\" ]; then\r\n tar xzvf ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"Zip\" ]; then\r\n unzip ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"XZ\" ]; then\r\n tar xvf ${DOWNLOAD_LINK##*\/}\r\nelse\r\n echo -e \"unknown filetype. Exiting\"\r\n exit 2 \r\nfi\r\n\r\nrm -rf ${DOWNLOAD_LINK##*\/} run.sh\r\n\r\nif [ -e server.cfg ]; then\r\n echo \"server config file exists\"\r\nelse\r\n echo \"Downloading default fivem config\"\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/gta\/fivem\/server.cfg >> server.cfg\r\nfi\r\n\r\nmkdir logs\/\r\n\r\necho \"install complete\"", + "container": "debian:buster-slim", + "entrypoint": "bash" } }, "variables": [ @@ -32,15 +32,6 @@ "user_editable": 1, "rules": "required|string|max:32" }, - { - "name": "Steam Web Api Key", - "description": "Use your Steam WebApiKey or set to 'none'. Get your key at https:\/\/steamcommunity.com\/dev\/apikey\/", - "env_variable": "STEAM_WEBAPIKEY", - "default_value": "none", - "user_viewable": 1, - "user_editable": 1, - "rules": "required|string" - }, { "name": "Max Players", "description": "Set the fivem max play count", @@ -76,6 +67,15 @@ "user_viewable": 0, "user_editable": 0, "rules": "string|nullable" + }, + { + "name": "Steam Web Api Key", + "description": "Use your Steam WebApiKey or set to 'none'. Get your key at https:\/\/steamcommunity.com\/dev\/apikey\/", + "env_variable": "STEAM_WEBAPIKEY", + "default_value": "none", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string" } ] -} +} \ No newline at end of file From 4fed8d1c183347c298f55d1a64be880634169818 Mon Sep 17 00:00:00 2001 From: Ryan Kubiak Date: Sat, 16 May 2020 23:28:39 -0700 Subject: [PATCH 306/413] Add Terraria Vanilla egg with support for Journey's End update. --- README.md | 1 + terraria/vanilla/README.md | 15 ++++ terraria/vanilla/egg-terraria-vanilla.json | 81 ++++++++++++++++++++++ 3 files changed, 97 insertions(+) create mode 100644 terraria/vanilla/README.md create mode 100644 terraria/vanilla/egg-terraria-vanilla.json diff --git a/README.md b/README.md index 5733cc05..2951c0ad 100644 --- a/README.md +++ b/README.md @@ -126,6 +126,7 @@ If you are reading this it looks like you are looking to add an egg to your serv * [Unturned](/steamcmd_servers/unturned/unturned/) [Terraria](/terraria/) +* [vanilla](/terraria/vanilla) * [tmodloader](/terraria/tmodloader) * [tshock](/terraria/tshock/) diff --git a/terraria/vanilla/README.md b/terraria/vanilla/README.md new file mode 100644 index 00000000..da96e637 --- /dev/null +++ b/terraria/vanilla/README.md @@ -0,0 +1,15 @@ +# Terraria + +Vanilla Terraria egg with support for Journey's End. Currently up to 1.4.0.2 is supported, however future patches will require updates to the install script. + +## 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. diff --git a/terraria/vanilla/egg-terraria-vanilla.json b/terraria/vanilla/egg-terraria-vanilla.json new file mode 100644 index 00000000..9fd16a73 --- /dev/null +++ b/terraria/vanilla/egg-terraria-vanilla.json @@ -0,0 +1,81 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2020-05-16T21:37:18-07:00", + "name": "Terraria Vanilla", + "author": "iamkubi@gmail.com", + "description": "Dig, fight, explore, build! Nothing is impossible in this action-packed adventure game.", + "image": "quay.io\/parkervcp\/pterodactyl-images:ubuntu", + "startup": ".\/TerrariaServer.bin.x86_64 -config serverconfig.txt", + "config": { + "files": "{\r\n \"serverconfig.txt\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"worldpath\": \"\/home\/container\/saves\/Worlds\",\r\n \"worldname\": \"{{server.build.env.WORLD_NAME}}\",\r\n \"world\": \"\/home\/container\/saves\/Worlds\/{{server.build.env.WORLD_NAME}}.wld\",\r\n \"difficulty\": \"{{server.build.env.WORLD_DIFFICULTY}}\",\r\n \"autocreate\": \"{{server.build.env.WORLD_SIZE}}\",\r\n \"port\": \"{{server.build.default.port}}\",\r\n \"maxplayers\": \"{{server.build.env.MAX_PLAYERS}}\",\r\n \"motd\": \"{{server.build.env.MOTD}}\"\r\n }\r\n }\r\n}", + "startup": "{\r\n \"done\": \"Type 'help' for a list of commands\",\r\n \"userInteraction\": []\r\n}", + "logs": "{}", + "stop": "exit" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash\r\n# Vanilla Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n## install packages to get version and download links\r\napt update && apt install -y curl wget file unzip\r\nCLEAN_VERSION=$(echo ${TERRARIA_VERSION} | sed 's\/\\.\/\/g')\r\necho -e \"Downloading terraria server files\"\r\ncd \/mnt\/server\r\nif [[ ${CLEAN_VERSION} -lt 1402 ]] ; then\r\nwget http:\/\/terraria.org\/server\/terraria-server-${CLEAN_VERSION}.zip\r\nelif [[ ${CLEAN_VERSION} -eq 1402 ]] ; then\r\nwget https:\/\/terraria.org\/system\/dedicated_servers\/archives\/000\/000\/036\/original\/terraria-server-1402.zip?1589675482 -O terraria-server-1402.zip\r\nelse\r\necho -e \"Detected version ${CLEAN_VERSION} which is not yet supported.\"\r\nfi\r\necho -e \"Unpacking server files\"\r\nunzip terraria-server-$(echo ${CLEAN_VERSION} | sed 's\/\\.\/\/g').zip*\r\ncp -R ${CLEAN_VERSION}\/Linux\/* .\/\r\nchmod +x TerrariaServer.bin.x86_64\r\necho -e \"Cleaning up extra files.\"\r\nrm -rf ${CLEAN_VERSION}\r\necho -e \"Generating config file\"\r\ncat < serverconfig.txt\r\nworldpath=\/home\/container\/saves\/Worlds\r\nworldname=default\r\nworld=\/home\/container\/saves\/Worlds\/default.wld\r\ndifficulty=3\r\nautocreate=1\r\nport=7777\r\nmaxplayers=8\r\nEOF\r\nmkdir -p \/mnt\/server\/saves\/Worlds\r\necho -e \"Install complete\"", + "container": "debian:buster-slim", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "Terraria version", + "description": "the version of Terraria that is to be used.\r\n\r\nYou can use the full version number or the file number. (ex. 1.3.5.3 or 1353)\r\n\r\nGet version numbers here - https:\/\/terraria.gamepedia.com\/Server#Downloads", + "env_variable": "TERRARIA_VERSION", + "default_value": "1.4.0.2", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:20" + }, + { + "name": "World Name", + "description": "The name for the world file.", + "env_variable": "WORLD_NAME", + "default_value": "world", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:20" + }, + { + "name": "Max Players", + "description": "The maximum number of players a server will hold.", + "env_variable": "MAX_PLAYERS", + "default_value": "8", + "user_viewable": 1, + "user_editable": 0, + "rules": "required|numeric|digits_between:1,3" + }, + { + "name": "World Size", + "description": "Defines the worlds size. 3 sizes 1 (small), 2 (medium), 3 (large).", + "env_variable": "WORLD_SIZE", + "default_value": "1", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|numeric|digits_between:1,3" + }, + { + "name": "Difficulty", + "description": "World Difficulty\r\n\r\nOptions: 0(normal), 1(expert), 2(master), 3(journey)", + "env_variable": "WORLD_DIFFICULTY", + "default_value": "3", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:20" + }, + { + "name": "MOTD", + "description": "Server MOTD", + "env_variable": "SERVER_MOTD", + "default_value": "Welcome!", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:128" + } + ] +} \ No newline at end of file From 762e95cea92a99feb03b22b56f94e3838f7926a7 Mon Sep 17 00:00:00 2001 From: iamkubi Date: Mon, 18 May 2020 11:57:27 -0700 Subject: [PATCH 307/413] Fix Terraria not setting MOTD --- terraria/vanilla/egg-terraria-vanilla.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/terraria/vanilla/egg-terraria-vanilla.json b/terraria/vanilla/egg-terraria-vanilla.json index 9fd16a73..bc84ae39 100644 --- a/terraria/vanilla/egg-terraria-vanilla.json +++ b/terraria/vanilla/egg-terraria-vanilla.json @@ -10,7 +10,7 @@ "image": "quay.io\/parkervcp\/pterodactyl-images:ubuntu", "startup": ".\/TerrariaServer.bin.x86_64 -config serverconfig.txt", "config": { - "files": "{\r\n \"serverconfig.txt\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"worldpath\": \"\/home\/container\/saves\/Worlds\",\r\n \"worldname\": \"{{server.build.env.WORLD_NAME}}\",\r\n \"world\": \"\/home\/container\/saves\/Worlds\/{{server.build.env.WORLD_NAME}}.wld\",\r\n \"difficulty\": \"{{server.build.env.WORLD_DIFFICULTY}}\",\r\n \"autocreate\": \"{{server.build.env.WORLD_SIZE}}\",\r\n \"port\": \"{{server.build.default.port}}\",\r\n \"maxplayers\": \"{{server.build.env.MAX_PLAYERS}}\",\r\n \"motd\": \"{{server.build.env.MOTD}}\"\r\n }\r\n }\r\n}", + "files": "{\r\n \"serverconfig.txt\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"worldpath\": \"\/home\/container\/saves\/Worlds\",\r\n \"worldname\": \"{{server.build.env.WORLD_NAME}}\",\r\n \"world\": \"\/home\/container\/saves\/Worlds\/{{server.build.env.WORLD_NAME}}.wld\",\r\n \"difficulty\": \"{{server.build.env.WORLD_DIFFICULTY}}\",\r\n \"autocreate\": \"{{server.build.env.WORLD_SIZE}}\",\r\n \"port\": \"{{server.build.default.port}}\",\r\n \"maxplayers\": \"{{server.build.env.MAX_PLAYERS}}\",\r\n \"motd\": \"{{server.build.env.SERVER_MOTD}}\"\r\n }\r\n }\r\n}", "startup": "{\r\n \"done\": \"Type 'help' for a list of commands\",\r\n \"userInteraction\": []\r\n}", "logs": "{}", "stop": "exit" @@ -78,4 +78,4 @@ "rules": "required|string|max:128" } ] -} \ No newline at end of file +} From e0a22f68145c0d485db188ba54668716d5e40e5f Mon Sep 17 00:00:00 2001 From: parkervcp Date: Mon, 18 May 2020 21:19:33 -0400 Subject: [PATCH 308/413] update tshock installer now supports terraria 1.4.0.2 to get 1.4.0.1 set version to `v4.4.0-pre1` Defaults to latest release `v4.3.26` --- terraria/tshock/egg-tshock.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/terraria/tshock/egg-tshock.json b/terraria/tshock/egg-tshock.json index b47c2157..7cf576d7 100644 --- a/terraria/tshock/egg-tshock.json +++ b/terraria/tshock/egg-tshock.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2018-02-16T01:48:02-05:00", + "exported_at": "2020-05-18T21:16:19-04:00", "name": "tshock", "author": "parker@parkervcp.com", "description": "The t-shock modded terraria server.\r\n\r\nhttps:\/\/tshock.co\/", @@ -13,13 +13,13 @@ "files": "{\r\n \"tshock\/config.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {}\r\n }\r\n}", "startup": "{\r\n \"done\": \"Type 'help' for a list of commands\",\r\n \"userInteraction\": []\r\n}", "logs": "{\r\n \"custom\": false,\r\n \"location\": \"ServerLog.txt\"\r\n}", - "stop": "stop" + "stop": "exit" }, "scripts": { "installation": { - "script": "#!\/bin\/ash\r\n# Vanilla T-shock Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\ncd \/mnt\/server\r\n\r\necho -e \"Downloading and installing ${TSHOCK_VERSION}\"\r\n\r\necho -e \"running wget https:\/\/github.com\/Pryaxis\/TShock\/releases\/download\/v${TSHOCK_VERSION}\/tshock_${TSHOCK_VERSION}.zip\"\r\nwget https:\/\/github.com\/Pryaxis\/TShock\/releases\/download\/v${TSHOCK_VERSION}\/tshock_${TSHOCK_VERSION}.zip\r\n\r\nunzip tshock_${TSHOCK_VERSION}.zip", - "container": "alpine:3.9", - "entrypoint": "ash" + "script": "#!\/bin\/bash\r\n# Vanilla tModloader Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n## install packages to get version and download links\r\napt update\r\napt install -y curl wget jq file unzip\r\n\r\nGITHUB_PACKAGE=Pryaxis\/TShock\r\n\r\nif [ -z \"$GITHUB_USER\" ] && [ -z \"$GITHUB_OAUTH_TOKEN\" ] ; then\r\n echo -e \"using anon api call\"\r\nelse\r\n echo -e \"user and oauth token set\"\r\n alias curl='curl -u $GITHUB_USER:$GITHUB_OAUTH_TOKEN '\r\nfi\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/$GITHUB_PACKAGE\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/$GITHUB_PACKAGE\/releases\")\r\n\r\nif [ -z \"$TSHOCK_VERSION\" ] || [ \"$TSHOCK_VERSION\" == \"latest\" ]; then\r\n DOWNLOAD_LINK=$(echo $LATEST_JSON | jq .assets | jq -r .[].browser_download_url)\r\nelse\r\n VERSION_CHECK=$(echo $RELEASES | jq -r --arg VERSION \"$TSHOCK_VERSION\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"$TSHOCK_VERSION\" == \"$VERSION_CHECK\" ]; then\r\n DOWNLOAD_LINK=$(echo $RELEASES | jq -r --arg VERSION \"$TSHOCK_VERSION\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url')\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_LINK=$(echo $LATEST_JSON | jq .assets | jq -r .[].browser_download_url)\r\n fi\r\nfi\r\n\r\n## mkdir and cd to \/mnt\/server\/\r\nmkdir -p \/mnt\/server\r\n\r\ncd \/mnt\/server\r\n\r\n## download release\r\necho -e \"running: wget $DOWNLOAD_LINK\"\r\nwget $DOWNLOAD_LINK\r\n\r\nFILETYPE=$(file -F ',' ${DOWNLOAD_LINK##*\/} | cut -d',' -f2 | cut -d' ' -f2)\r\nif [ \"$FILETYPE\" == \"gzip\" ]; then\r\n tar xzvf ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"Zip\" ]; then\r\n unzip ${DOWNLOAD_LINK##*\/}\r\nelse\r\n echo -e \"unknown filetype. Exeting\"\r\n exit 2 \r\nfi\r\n\r\necho -e \"install complete\"", + "container": "debian:buster-slim", + "entrypoint": "\/bin\/bash" } }, "variables": [ @@ -52,12 +52,12 @@ }, { "name": "Tshock Version", - "description": "The version on tshock that will be installed.", + "description": "The version on tshock that will be installed. default is latest non-pre-release", "env_variable": "TSHOCK_VERSION", - "default_value": "4.3.26", + "default_value": "latest", "user_viewable": 1, "user_editable": 0, "rules": "required|string|max:20" } ] -} +} \ No newline at end of file From 5ee61241b02c6c28147363931888ab6653c73e36 Mon Sep 17 00:00:00 2001 From: Josh Lovins Date: Wed, 20 May 2020 12:19:08 -0400 Subject: [PATCH 309/413] Trimmed whitespaces on forge variables to prevent malformed URLs --- .../forge/curseforge-generic/egg-curseforge-generic.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json b/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json index b2230056..975d35ff 100644 --- a/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json +++ b/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir -p \/mnt\/server\r\nfi\r\n\r\nfunction install_required {\r\n apt update\r\n apt install -y curl jq unzip dos2unix\r\n}\r\n\r\nfunction get_download {\r\n # get json data to work with\r\n echo -e \"Curling the json for the modpack\"\r\n echo -e \"running: curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\"\r\n JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID})\r\n\r\n # if no modpack version is set or is set to latest\r\n if [ -z ${MODPACK_VERSION} ] || [ \"${MODPACK_VERSION}\" = \"latest\" ]; then\r\n echo -e \"Getting latest download url\"\r\n # parse data to get the download url\r\n FILE_ID=$(echo -e ${JSON_DATA} | jq -r .defaultFileId)\r\n echo -e \"File ID is: ${FILE_ID}\"\r\n if [ \"$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .isServerPack\")\" == \"false\" ] && [ \"$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .serverPackFileId\")\" != \"null\" ]; then\r\n FILE_ID=$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .serverPackFileId\")\r\n DOWNLOAD_URL=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/file\/${FILE_ID}\/download-url)\r\n else\r\n DOWNLOAD_URL=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/file\/${FILE_ID}\/download-url)\r\n fi\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n else\r\n echo -e \"Looking for download url for version ${MODPACK_VERSION}\"\r\n # parse files for version match\r\n FILES_JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/files)\r\n # get element number to get the exact location in the json\r\n FILES_JSON_ELEMENT=$(echo -e ${FILES_JSON_DATA} | jq --arg VERSION \"${MODPACK_VERSION}\" '.[] | select(.displayName) | .displayName | contains($VERSION)' | grep -n true | cut -f1 -d: | tail -1)\r\n # if there wasn't a match default to latest\r\n if [ ! -z ${FILES_JSON_ELEMENT} ]; then\r\n echo -e \"No matching version found\"\r\n echo -e \"defaulting to latest\"\r\n DOWNLOAD_URL=$(echo -e ${FILES_JSON_DATA} | jq --arg ELEMENT \"${FILES_JSON_ELEMENT}\" '.[$ELEMENT|tonumber-1] | .downloadUrl')\r\n else\r\n echo -e \"Version match found\"\r\n DOWNLOAD_URL=$(echo -e ${JSON_DATA} | jq -r .latestFiles[0].downloadUrl)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n fi\r\n fi\r\n\r\n ## download modpack files\r\n cd \/mnt\/server\r\n echo \"Executing curl -L ${DOWNLOAD_URL} -o server.zip\"\r\n curl -L \"${DOWNLOAD_URL}\" -o server.zip\r\n unzip -o server.zip\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 if [ -f \/mnt\/server\/*installer.jar ]; then\r\n java -jar *installer.jar --installServer\r\n else\r\n echo \"No forge installer found moving on.\"\r\n fi\r\n mv FTBServer.jar server.jar\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 if [ ! -f \/mnt\/server\/*universal.jar ]; then\r\n mv -v \/mnt\/server\/*\/* \/mnt\/server\/\r\n mv *universal.jar server.jar\r\n else\r\n mv *universal.jar server.jar\r\n fi\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=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${projID}\/file\/${fileID}\/download-url)\r\n # this is saving everything as \/mnt\/server\/mods\/download\r\n echo \"Mod direct url: ${URL}\"\r\n curl -JLO \"${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 -e \"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 -e \"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 -e \"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 -e \"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 ftb_install {\r\n chmod +x \/mnt\/server\/settings.sh \r\n . \/mnt\/server\/settings.sh \r\n curl https:\/\/s3.amazonaws.com\/Minecraft.Download\/versions\/${MCVER}\/minecraft_server.${MCVER}.jar -o ${JARFILE} \r\n curl https:\/\/libraries.minecraft.net\/${LAUNCHWRAPPER} -o \/mnt\/server\/libraries\/${LAUNCHWRAPPER}\r\n}\r\n\r\ninstall_required\r\nget_download\r\n\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\nelif [ -f \/mnt\/server\/version.json ]; then\r\n if [ \"$(cat \/mnt\/server\/version.json | jq -r '.packID | contains(\"FTB\")')\" == \"true\" ]; then\r\n ftb_install\r\n fi\r\nelse\r\n forge_install\r\n forge_cleanup\r\nfi", + "script": "#!\/bin\/bash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir -p \/mnt\/server\r\nfi\r\n\r\nfunction install_required {\r\n apt update\r\n apt install -y curl jq unzip dos2unix\r\n}\r\n\r\nfunction get_download {\r\n # get json data to work with\r\n echo -e \"Curling the json for the modpack\"\r\n echo -e \"running: curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\"\r\n JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID})\r\n\r\n # if no modpack version is set or is set to latest\r\n if [ -z ${MODPACK_VERSION} ] || [ \"${MODPACK_VERSION}\" = \"latest\" ]; then\r\n echo -e \"Getting latest download url\"\r\n # parse data to get the download url\r\n FILE_ID=$(echo -e ${JSON_DATA} | jq -r .defaultFileId)\r\n echo -e \"File ID is: ${FILE_ID}\"\r\n if [ \"$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .isServerPack\")\" == \"false\" ] && [ \"$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .serverPackFileId\")\" != \"null\" ]; then\r\n FILE_ID=$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .serverPackFileId\")\r\n DOWNLOAD_URL=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/file\/${FILE_ID}\/download-url)\r\n else\r\n DOWNLOAD_URL=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/file\/${FILE_ID}\/download-url)\r\n fi\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n else\r\n echo -e \"Looking for download url for version ${MODPACK_VERSION}\"\r\n # parse files for version match\r\n FILES_JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/files)\r\n # get element number to get the exact location in the json\r\n FILES_JSON_ELEMENT=$(echo -e ${FILES_JSON_DATA} | jq --arg VERSION \"${MODPACK_VERSION}\" '.[] | select(.displayName) | .displayName | contains($VERSION)' | grep -n true | cut -f1 -d: | tail -1)\r\n # if there wasn't a match default to latest\r\n if [ ! -z ${FILES_JSON_ELEMENT} ]; then\r\n echo -e \"No matching version found\"\r\n echo -e \"defaulting to latest\"\r\n DOWNLOAD_URL=$(echo -e ${FILES_JSON_DATA} | jq --arg ELEMENT \"${FILES_JSON_ELEMENT}\" '.[$ELEMENT|tonumber-1] | .downloadUrl')\r\n else\r\n echo -e \"Version match found\"\r\n DOWNLOAD_URL=$(echo -e ${JSON_DATA} | jq -r .latestFiles[0].downloadUrl)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n fi\r\n fi\r\n\r\n ## download modpack files\r\n cd \/mnt\/server\r\n echo \"Executing curl -L ${DOWNLOAD_URL} -o server.zip\"\r\n curl -L \"${DOWNLOAD_URL}\" -o server.zip\r\n unzip -o server.zip\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 if [ -f \/mnt\/server\/*installer.jar ]; then\r\n java -jar *installer.jar --installServer\r\n else\r\n echo \"No forge installer found moving on.\"\r\n fi\r\n mv FTBServer.jar server.jar\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 if [ ! -f \/mnt\/server\/*universal.jar ]; then\r\n mv -v \/mnt\/server\/*\/* \/mnt\/server\/\r\n mv *universal.jar server.jar\r\n else\r\n mv *universal.jar server.jar\r\n fi\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=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${projID}\/file\/${fileID}\/download-url)\r\n # this is saving everything as \/mnt\/server\/mods\/download\r\n echo \"Mod direct url: ${URL}\"\r\n curl -JLO \"${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 -e \"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 -e \"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- | tr -d '\\040\\011\\012\\015'`\r\n FORGE=`grep 'FORGEVER' settings.cfg | sed 's\/;\/\/g' | cut -d '=' -f 2- | tr -d '\\040\\011\\012\\015'`\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 FORGE_VERSION=\"${FORGE_VERSION\/\/ \/}\"\r\n \r\n echo -e \"\\nDownloading Forge Version $FORGE_VERSION\\n\"\r\n echo -e \"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 -e \"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 ftb_install {\r\n chmod +x \/mnt\/server\/settings.sh \r\n . \/mnt\/server\/settings.sh \r\n curl https:\/\/s3.amazonaws.com\/Minecraft.Download\/versions\/${MCVER}\/minecraft_server.${MCVER}.jar -o ${JARFILE} \r\n curl https:\/\/libraries.minecraft.net\/${LAUNCHWRAPPER} -o \/mnt\/server\/libraries\/${LAUNCHWRAPPER}\r\n}\r\n\r\ninstall_required\r\nget_download\r\n\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\nelif [ -f \/mnt\/server\/version.json ]; then\r\n if [ \"$(cat \/mnt\/server\/version.json | jq -r '.packID | contains(\"FTB\")')\" == \"true\" ]; then\r\n ftb_install\r\n fi\r\nelse\r\n forge_install\r\n forge_cleanup\r\nfi", "container": "openjdk:8-jdk-slim", "entrypoint": "bash" } From fdd5eb70449226a894a731d6fca624ac27fecc28 Mon Sep 17 00:00:00 2001 From: Ryan Kubiak Date: Wed, 20 May 2020 19:23:51 -0700 Subject: [PATCH 310/413] Update Terraria to scrape wiki for download links --- terraria/vanilla/egg-terraria-vanilla.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/terraria/vanilla/egg-terraria-vanilla.json b/terraria/vanilla/egg-terraria-vanilla.json index bc84ae39..44b93800 100644 --- a/terraria/vanilla/egg-terraria-vanilla.json +++ b/terraria/vanilla/egg-terraria-vanilla.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-05-16T21:37:18-07:00", + "exported_at": "2020-05-20T19:18:41-07:00", "name": "Terraria Vanilla", "author": "iamkubi@gmail.com", "description": "Dig, fight, explore, build! Nothing is impossible in this action-packed adventure game.", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# Vanilla Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n## install packages to get version and download links\r\napt update && apt install -y curl wget file unzip\r\nCLEAN_VERSION=$(echo ${TERRARIA_VERSION} | sed 's\/\\.\/\/g')\r\necho -e \"Downloading terraria server files\"\r\ncd \/mnt\/server\r\nif [[ ${CLEAN_VERSION} -lt 1402 ]] ; then\r\nwget http:\/\/terraria.org\/server\/terraria-server-${CLEAN_VERSION}.zip\r\nelif [[ ${CLEAN_VERSION} -eq 1402 ]] ; then\r\nwget https:\/\/terraria.org\/system\/dedicated_servers\/archives\/000\/000\/036\/original\/terraria-server-1402.zip?1589675482 -O terraria-server-1402.zip\r\nelse\r\necho -e \"Detected version ${CLEAN_VERSION} which is not yet supported.\"\r\nfi\r\necho -e \"Unpacking server files\"\r\nunzip terraria-server-$(echo ${CLEAN_VERSION} | sed 's\/\\.\/\/g').zip*\r\ncp -R ${CLEAN_VERSION}\/Linux\/* .\/\r\nchmod +x TerrariaServer.bin.x86_64\r\necho -e \"Cleaning up extra files.\"\r\nrm -rf ${CLEAN_VERSION}\r\necho -e \"Generating config file\"\r\ncat < serverconfig.txt\r\nworldpath=\/home\/container\/saves\/Worlds\r\nworldname=default\r\nworld=\/home\/container\/saves\/Worlds\/default.wld\r\ndifficulty=3\r\nautocreate=1\r\nport=7777\r\nmaxplayers=8\r\nEOF\r\nmkdir -p \/mnt\/server\/saves\/Worlds\r\necho -e \"Install complete\"", + "script": "#!\/bin\/bash\r\n# Vanilla Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n## install packages to get version and download links\r\napt update && apt install -y curl wget file unzip\r\nCLEAN_VERSION=$(echo ${TERRARIA_VERSION} | sed 's\/\\.\/\/g')\r\necho -e \"Downloading terraria server files\"\r\ncd \/mnt\/server\r\nwget $(curl https:\/\/terraria.gamepedia.com\/Server#Downloads | grep '>Terraria Server ' | grep -Eoi ']+>' | grep -Eo 'href=\\\"[^\\\\\\\"]+\\\"' | grep -Eo '(http|https):\\\/\\\/[^\\\"]+' | grep \"${CLEAN_VERSION}\") -O terraria-server-${CLEAN_VERSION}.zip\r\necho -e \"Unpacking server files\"\r\nunzip terraria-server-${CLEAN_VERSION}.zip\r\ncp -R ${CLEAN_VERSION}\/Linux\/* .\/\r\nchmod +x TerrariaServer.bin.x86_64\r\necho -e \"Cleaning up extra files.\"\r\nrm -rf ${CLEAN_VERSION}\r\necho -e \"Generating config file\"\r\ncat < serverconfig.txt\r\nworldpath=\/home\/container\/saves\/Worlds\r\nworldname=default\r\nworld=\/home\/container\/saves\/Worlds\/default.wld\r\ndifficulty=3\r\nautocreate=1\r\nport=7777\r\nmaxplayers=8\r\nEOF\r\nmkdir -p \/mnt\/server\/saves\/Worlds\r\necho -e \"Install complete\"", "container": "debian:buster-slim", "entrypoint": "bash" } From 64bb5c2635503e340332e768db09eccf777ff139 Mon Sep 17 00:00:00 2001 From: "Michael (Parker) Parker" Date: Thu, 21 May 2020 09:12:03 -0400 Subject: [PATCH 311/413] update for a latest version Made the install script longer to get version numbers. Also added blank lines to make it readable. --- terraria/vanilla/egg-terraria-vanilla.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/terraria/vanilla/egg-terraria-vanilla.json b/terraria/vanilla/egg-terraria-vanilla.json index 44b93800..d1c1026f 100644 --- a/terraria/vanilla/egg-terraria-vanilla.json +++ b/terraria/vanilla/egg-terraria-vanilla.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-05-20T19:18:41-07:00", + "exported_at": "2020-05-21T09:11:45-04:00", "name": "Terraria Vanilla", "author": "iamkubi@gmail.com", "description": "Dig, fight, explore, build! Nothing is impossible in this action-packed adventure game.", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# Vanilla Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n## install packages to get version and download links\r\napt update && apt install -y curl wget file unzip\r\nCLEAN_VERSION=$(echo ${TERRARIA_VERSION} | sed 's\/\\.\/\/g')\r\necho -e \"Downloading terraria server files\"\r\ncd \/mnt\/server\r\nwget $(curl https:\/\/terraria.gamepedia.com\/Server#Downloads | grep '>Terraria Server ' | grep -Eoi ']+>' | grep -Eo 'href=\\\"[^\\\\\\\"]+\\\"' | grep -Eo '(http|https):\\\/\\\/[^\\\"]+' | grep \"${CLEAN_VERSION}\") -O terraria-server-${CLEAN_VERSION}.zip\r\necho -e \"Unpacking server files\"\r\nunzip terraria-server-${CLEAN_VERSION}.zip\r\ncp -R ${CLEAN_VERSION}\/Linux\/* .\/\r\nchmod +x TerrariaServer.bin.x86_64\r\necho -e \"Cleaning up extra files.\"\r\nrm -rf ${CLEAN_VERSION}\r\necho -e \"Generating config file\"\r\ncat < serverconfig.txt\r\nworldpath=\/home\/container\/saves\/Worlds\r\nworldname=default\r\nworld=\/home\/container\/saves\/Worlds\/default.wld\r\ndifficulty=3\r\nautocreate=1\r\nport=7777\r\nmaxplayers=8\r\nEOF\r\nmkdir -p \/mnt\/server\/saves\/Worlds\r\necho -e \"Install complete\"", + "script": "#!\/bin\/bash\r\n# Vanilla Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n## install packages to get version and download links\r\napt update\r\napt install -y curl wget file unzip\r\n\r\nDOWNLOAD_LINK=invalid\r\n\r\nmkdir -p \/mnt\/server\/\r\ncd \/mnt\/server\/\r\n\r\nif [ \"${TERRARIA_VERSION}\" == \"latest\" ] || [ \"${TERRARIA_VERSION}\" == \"\" ] ; then\r\n DOWNLOAD_LINK=$(curl -sSL https:\/\/terraria.gamepedia.com\/Server#Downloads | grep '>Terraria Server ' | grep -Eoi ']+>' | grep -Eo 'href=\\\"[^\\\\\\\"]+\\\"' | grep -Eo '(http|https):\\\/\\\/[^\\\"]+' | tail -1 | cut -d'?' -f1)\r\nelse\r\n CLEAN_VERSION=$(echo ${TERRARIA_VERSION} | sed 's\/\\.\/\/g')\r\n echo -e \"Downloading terraria server files\"\r\n DOWNLOAD_LINK=$(curl -sSL https:\/\/terraria.gamepedia.com\/Server#Downloads | grep '>Terraria Server ' | grep -Eoi ']+>' | grep -Eo 'href=\\\"[^\\\\\\\"]+\\\"' | grep -Eo '(http|https):\\\/\\\/[^\\\"]+' | grep \"${CLEAN_VERSION}\" | cut -d'?' -f1)\r\nfi \r\n\r\n## this is a simple script to validate a download url actaully exists\r\nif [ ! -z \"${DOWNLOAD_LINK}\" ]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_LINK}; then\r\n echo -e \"link is valid.\"\r\n else \r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\nCLEAN_VERSION=$(echo ${DOWNLOAD_LINK##*\/} | cut -d'-' -f3 | cut -d'.' -f1)\r\n\r\necho -e \"running 'curl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}'\" \r\ncurl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\r\n\r\necho -e \"Unpacking server files\"\r\nunzip ${DOWNLOAD_LINK##*\/}\r\n\r\necho -e \"\"\r\ncp -R ${CLEAN_VERSION}\/Linux\/* .\/\r\nchmod +x TerrariaServer.bin.x86_64\r\n\r\necho -e \"Cleaning up extra files.\"\r\nrm -rf ${CLEAN_VERSION}\r\n\r\necho -e \"Generating config file\"\r\ncat < serverconfig.txt\r\nworldpath=\/home\/container\/saves\/Worlds\r\nworldname=default\r\nworld=\/home\/container\/saves\/Worlds\/default.wld\r\ndifficulty=3\r\nautocreate=1\r\nport=7777\r\nmaxplayers=8\r\nEOF\r\n\r\nmkdir -p \/mnt\/server\/saves\/Worlds\r\n\r\necho -e \"Install complete\"", "container": "debian:buster-slim", "entrypoint": "bash" } @@ -78,4 +78,4 @@ "rules": "required|string|max:128" } ] -} +} \ No newline at end of file From 02eafc9ef77d2f200db691ff2d9d3ac833b2f850 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sun, 24 May 2020 12:17:49 -0400 Subject: [PATCH 312/413] add specific version variable Adds a specific version variable to the forge egg. --- minecraft_java/forge/forge/egg-forge-enhanced.json | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/minecraft_java/forge/forge/egg-forge-enhanced.json b/minecraft_java/forge/forge/egg-forge-enhanced.json index 73e8fca0..8a801f73 100644 --- a/minecraft_java/forge/forge/egg-forge-enhanced.json +++ b/minecraft_java/forge/forge/egg-forge-enhanced.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-04-22T19:49:57-04:00", + "exported_at": "2020-05-24T12:15:13-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.", @@ -17,7 +17,7 @@ }, "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 jq\r\n\r\n#Go into main direction\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir \/mnt\/server\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\nJSON_DATA=$(curl -sSL https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/promotions_slim.json)\r\n\r\nif [ \"${MC_VERSION}\" == \"latest\" ] || [ \"${MC_VERSION}\" == \"\" ] ; then\r\n echo -e \"getting latest recommended version of forge.\"\r\n MC_VERSION=$(echo -e ${JSON_DATA} | jq -r '.promos | del(.\"latest-1.7.10\") | del(.\"1.7.10-latest-1.7.10\") | to_entries[] | .key | select(contains(\"recommended\")) | split(\"-\")[0]' | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n | tail -1)\r\n\tBUILD_TYPE=recommended\r\nfi\r\n\r\nif [ \"${BUILD_TYPE}\" != \"recommended\" ] && [ \"${BUILD_TYPE}\" != \"latest\" ]; then\r\n BUILD_TYPE=recommended\r\nfi\r\n\r\necho -e \"minecraft version: ${MC_VERSION}\"\r\necho -e \"build type: ${BUILD_TYPE}\"\r\n\r\n## some variables for getting versions and things\r\nFILE_SITE=$(echo -e ${JSON_DATA} | jq -r '.homepage' | sed \"s\/http:\/https:\/g\")\r\nVERSION_KEY=$(echo -e ${JSON_DATA} | jq -r --arg MC_VERSION \"${MC_VERSION}\" --arg BUILD_TYPE \"${BUILD_TYPE}\" '.promos | del(.\"latest-1.7.10\") | del(.\"1.7.10-latest-1.7.10\") | to_entries[] | .key | select(contains($MC_VERSION)) | select(contains($BUILD_TYPE))')\r\n\r\n## locating the forge version\r\nif [ \"${VERSION_KEY}\" == \"\" ] && [ \"${BUILD_TYPE}\" == \"recommended\" ]; then\r\n echo -e \"dropping back to latest from recommended due to there not being a recommended version of forge for the mc version requested.\"\r\n VERSION_KEY=$(echo -e ${JSON_DATA} | jq -r --arg MC_VERSION \"${MC_VERSION}\" '.promos | del(.\"latest-1.7.10\") | del(.\"1.7.10-latest-1.7.10\") | to_entries[] | .key | select(contains($MC_VERSION)) | select(contains(\"recommended\"))')\r\nfi\r\n\r\n## Error if the mc version set wasn't valid.\r\nif [ \"${VERSION_KEY}\" == \"\" ] || [ \"${VERSION_KEY}\" == \"null\" ]; then\r\n\techo -e \"The install failed because there is no valid version of forge for the version on minecraft selected.\"\r\n\texit 1\r\nfi\r\n\r\nFORGE_VERSION=$(echo -e ${JSON_DATA} | jq -r --arg VERSION_KEY \"$VERSION_KEY\" '.promos | .[$VERSION_KEY]')\r\n\r\nif [ \"${MC_VERSION}\" == \"1.7.10\" ] || [ \"${MC_VERSION}\" == \"1.8.9\" ]; then\r\n DOWNLOAD_LINK=${FILE_SITE}${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}\/forge-${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}\r\n FORGE_JAR=forge-${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}.jar\r\n if [ \"${MC_VERSION}\" == \"1.7.10\" ]; then\r\n FORGE_JAR=forge-${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}-universal.jar\r\n fi\r\nelse\r\n DOWNLOAD_LINK=${FILE_SITE}${MC_VERSION}-${FORGE_VERSION}\/forge-${MC_VERSION}-${FORGE_VERSION}\r\n FORGE_JAR=forge-${MC_VERSION}-${FORGE_VERSION}.jar\r\nfi\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 ${FORGE_VERSION}\"\r\nif [ ! -z \"${DOWNLOAD_LINK}\" ]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_LINK}-installer.jar; then\r\n echo -e \"installer jar download link is valid.\"\r\n else\r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\ncurl -s -o installer.jar -sS ${DOWNLOAD_LINK}-installer.jar\r\n\r\n#Checking if downloaded jars exist\r\nif [ ! -f .\/installer.jar ]; then\r\n echo \"!!! Error by downloading forge version ${FORGE_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\nmv $FORGE_JAR $SERVER_JARFILE\r\n\r\n#Deleting installer.jar\r\necho -e \"Deleting installer.jar file.\\n\"\r\nrm -rf installer.jar", + "script": "#!\/bin\/bash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y curl jq\r\n\r\n#Go into main direction\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir \/mnt\/server\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\nif [ ! -z ${FORGE_VERSION} ]; then\r\n DOWNLOAD_LINK=https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/${FORGE_VERSION}\/forge-${FORGE_VERSION}\r\nelse\r\n JSON_DATA=$(curl -sSL https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/promotions_slim.json)\r\n\r\n if [ \"${MC_VERSION}\" == \"latest\" ] || [ \"${MC_VERSION}\" == \"\" ] ; then\r\n echo -e \"getting latest recommended version of forge.\"\r\n MC_VERSION=$(echo -e ${JSON_DATA} | jq -r '.promos | del(.\"latest-1.7.10\") | del(.\"1.7.10-latest-1.7.10\") | to_entries[] | .key | select(contains(\"recommended\")) | split(\"-\")[0]' | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n | tail -1)\r\n \tBUILD_TYPE=recommended\r\n fi\r\n\r\n if [ \"${BUILD_TYPE}\" != \"recommended\" ] && [ \"${BUILD_TYPE}\" != \"latest\" ]; then\r\n BUILD_TYPE=recommended\r\n fi\r\n\r\n echo -e \"minecraft version: ${MC_VERSION}\"\r\n echo -e \"build type: ${BUILD_TYPE}\"\r\n\r\n ## some variables for getting versions and things\r\n FILE_SITE=$(echo -e ${JSON_DATA} | jq -r '.homepage' | sed \"s\/http:\/https:\/g\")\r\n VERSION_KEY=$(echo -e ${JSON_DATA} | jq -r --arg MC_VERSION \"${MC_VERSION}\" --arg BUILD_TYPE \"${BUILD_TYPE}\" '.promos | del(.\"latest-1.7.10\") | del(.\"1.7.10-latest-1.7.10\") | to_entries[] | .key | select(contains($MC_VERSION)) | select(contains($BUILD_TYPE))')\r\n\r\n ## locating the forge version\r\n if [ \"${VERSION_KEY}\" == \"\" ] && [ \"${BUILD_TYPE}\" == \"recommended\" ]; then\r\n echo -e \"dropping back to latest from recommended due to there not being a recommended version of forge for the mc version requested.\"\r\n VERSION_KEY=$(echo -e ${JSON_DATA} | jq -r --arg MC_VERSION \"${MC_VERSION}\" '.promos | del(.\"latest-1.7.10\") | del(.\"1.7.10-latest-1.7.10\") | to_entries[] | .key | select(contains($MC_VERSION)) | select(contains(\"recommended\"))')\r\n fi\r\n\r\n ## Error if the mc version set wasn't valid.\r\n if [ \"${VERSION_KEY}\" == \"\" ] || [ \"${VERSION_KEY}\" == \"null\" ]; then\r\n \techo -e \"The install failed because there is no valid version of forge for the version on minecraft selected.\"\r\n \texit 1\r\n fi\r\n\r\n FORGE_VERSION=$(echo -e ${JSON_DATA} | jq -r --arg VERSION_KEY \"$VERSION_KEY\" '.promos | .[$VERSION_KEY]')\r\n\r\n if [ \"${MC_VERSION}\" == \"1.7.10\" ] || [ \"${MC_VERSION}\" == \"1.8.9\" ]; then\r\n DOWNLOAD_LINK=${FILE_SITE}${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}\/forge-${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}\r\n FORGE_JAR=forge-${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}.jar\r\n if [ \"${MC_VERSION}\" == \"1.7.10\" ]; then\r\n FORGE_JAR=forge-${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}-universal.jar\r\n fi\r\n else\r\n DOWNLOAD_LINK=${FILE_SITE}${MC_VERSION}-${FORGE_VERSION}\/forge-${MC_VERSION}-${FORGE_VERSION}\r\n FORGE_JAR=forge-${MC_VERSION}-${FORGE_VERSION}.jar\r\n fi\r\nfi\r\n\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 ${FORGE_VERSION}\"\r\nif [ ! -z \"${DOWNLOAD_LINK}\" ]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_LINK}-installer.jar; then\r\n echo -e \"installer jar download link is valid.\"\r\n else\r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\n\r\n echo -e \"no download link closing out\"\r\n exit 3\r\nfi\r\n\r\ncurl -s -o installer.jar -sS ${DOWNLOAD_LINK}-installer.jar\r\n\r\n#Checking if downloaded jars exist\r\nif [ ! -f .\/installer.jar ]; then\r\n echo \"!!! Error by downloading forge version ${FORGE_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 || { echo -e \"install failed\"; exit 4; }\r\n\r\nmv $FORGE_JAR $SERVER_JARFILE\r\n\r\n#Deleting installer.jar\r\necho -e \"Deleting installer.jar file.\\n\"\r\nrm -rf installer.jar", "container": "openjdk:8-jdk-slim", "entrypoint": "bash" } @@ -49,6 +49,15 @@ "user_viewable": 1, "user_editable": 1, "rules": "required|string|max:20" + }, + { + "name": "Forge Version", + "description": "Gets an exact version.\r\n\r\nEx. 1.15.2-31.2.4\r\n\r\nOverrides MC_VERSION and BUILD_TYPE. If it fails to download the server files it will fail to install.", + "env_variable": "FORGE_VERSION", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:20" } ] } \ No newline at end of file From 86c31390abaacbb78a0319bcd456e5b90decbeba Mon Sep 17 00:00:00 2001 From: "Michael (Parker) Parker" Date: Tue, 26 May 2020 08:50:30 -0400 Subject: [PATCH 313/413] update fivem readme correct ports in table and update notice. --- gta/fivem/README.md | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/gta/fivem/README.md b/gta/fivem/README.md index 69dd4670..0662b49e 100644 --- a/gta/fivem/README.md +++ b/gta/fivem/README.md @@ -1,23 +1,20 @@ # FiveM - -# Notice - -This is to inform all users that the4 fivem team has enabled cloudflare ddos protection and the install script is now broken due to this. - -You will need to have a self hosted version of the server files to curl in the install script. - -I have added a `DOWNLOAD_URL` variable that needs to point to a `fx.tar.xz` file as I am too lazy to update the entire script. - -### From the [FiveM](https://fivem.net/) Site +## From the [FiveM](https://fivem.net/) Site FiveM is a modification for Grand Theft Auto V enabling you to play multiplayer on customized dedicated servers. -### Install notes -- Only installs latest version versions are not selectable. +# Notice +Currently the script can get versions from the builds site. -### Server Ports +The `FIVEM_VERSION` variable. +* Defaults to `latest` which is the latest recommended +* Can be set to a specific version Ex. `2431-350dd7bd5c0176216c38625ad5b1108ead44674d`. + +The `DOWNLOAD_URL` only needs to be used if they turn on ddos protection. The variable needs to point to a `fx.tar.xz` file as I am too lazy to update the entire script. + +## Server Ports Ports required to run the server in a table format. | Port | default | |---------|---------| -| Game | 30210 | -| Game+1 | 30211 | +| Game | 30110 | +| Game+1 | 30120 | \ No newline at end of file From ffc7f48f7cf406b01737b2fb90f51da919540f6b Mon Sep 17 00:00:00 2001 From: parkervcp Date: Sat, 30 May 2020 14:12:16 -0400 Subject: [PATCH 314/413] update forge install script Fixes the install link missing issue. --- minecraft_java/forge/forge/egg-forge-enhanced.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/minecraft_java/forge/forge/egg-forge-enhanced.json b/minecraft_java/forge/forge/egg-forge-enhanced.json index 8a801f73..11a4fec1 100644 --- a/minecraft_java/forge/forge/egg-forge-enhanced.json +++ b/minecraft_java/forge/forge/egg-forge-enhanced.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-05-24T12:15:13-04:00", + "exported_at": "2020-05-30T14:11:23-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.", @@ -17,7 +17,7 @@ }, "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 jq\r\n\r\n#Go into main direction\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir \/mnt\/server\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\nif [ ! -z ${FORGE_VERSION} ]; then\r\n DOWNLOAD_LINK=https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/${FORGE_VERSION}\/forge-${FORGE_VERSION}\r\nelse\r\n JSON_DATA=$(curl -sSL https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/promotions_slim.json)\r\n\r\n if [ \"${MC_VERSION}\" == \"latest\" ] || [ \"${MC_VERSION}\" == \"\" ] ; then\r\n echo -e \"getting latest recommended version of forge.\"\r\n MC_VERSION=$(echo -e ${JSON_DATA} | jq -r '.promos | del(.\"latest-1.7.10\") | del(.\"1.7.10-latest-1.7.10\") | to_entries[] | .key | select(contains(\"recommended\")) | split(\"-\")[0]' | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n | tail -1)\r\n \tBUILD_TYPE=recommended\r\n fi\r\n\r\n if [ \"${BUILD_TYPE}\" != \"recommended\" ] && [ \"${BUILD_TYPE}\" != \"latest\" ]; then\r\n BUILD_TYPE=recommended\r\n fi\r\n\r\n echo -e \"minecraft version: ${MC_VERSION}\"\r\n echo -e \"build type: ${BUILD_TYPE}\"\r\n\r\n ## some variables for getting versions and things\r\n FILE_SITE=$(echo -e ${JSON_DATA} | jq -r '.homepage' | sed \"s\/http:\/https:\/g\")\r\n VERSION_KEY=$(echo -e ${JSON_DATA} | jq -r --arg MC_VERSION \"${MC_VERSION}\" --arg BUILD_TYPE \"${BUILD_TYPE}\" '.promos | del(.\"latest-1.7.10\") | del(.\"1.7.10-latest-1.7.10\") | to_entries[] | .key | select(contains($MC_VERSION)) | select(contains($BUILD_TYPE))')\r\n\r\n ## locating the forge version\r\n if [ \"${VERSION_KEY}\" == \"\" ] && [ \"${BUILD_TYPE}\" == \"recommended\" ]; then\r\n echo -e \"dropping back to latest from recommended due to there not being a recommended version of forge for the mc version requested.\"\r\n VERSION_KEY=$(echo -e ${JSON_DATA} | jq -r --arg MC_VERSION \"${MC_VERSION}\" '.promos | del(.\"latest-1.7.10\") | del(.\"1.7.10-latest-1.7.10\") | to_entries[] | .key | select(contains($MC_VERSION)) | select(contains(\"recommended\"))')\r\n fi\r\n\r\n ## Error if the mc version set wasn't valid.\r\n if [ \"${VERSION_KEY}\" == \"\" ] || [ \"${VERSION_KEY}\" == \"null\" ]; then\r\n \techo -e \"The install failed because there is no valid version of forge for the version on minecraft selected.\"\r\n \texit 1\r\n fi\r\n\r\n FORGE_VERSION=$(echo -e ${JSON_DATA} | jq -r --arg VERSION_KEY \"$VERSION_KEY\" '.promos | .[$VERSION_KEY]')\r\n\r\n if [ \"${MC_VERSION}\" == \"1.7.10\" ] || [ \"${MC_VERSION}\" == \"1.8.9\" ]; then\r\n DOWNLOAD_LINK=${FILE_SITE}${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}\/forge-${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}\r\n FORGE_JAR=forge-${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}.jar\r\n if [ \"${MC_VERSION}\" == \"1.7.10\" ]; then\r\n FORGE_JAR=forge-${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}-universal.jar\r\n fi\r\n else\r\n DOWNLOAD_LINK=${FILE_SITE}${MC_VERSION}-${FORGE_VERSION}\/forge-${MC_VERSION}-${FORGE_VERSION}\r\n FORGE_JAR=forge-${MC_VERSION}-${FORGE_VERSION}.jar\r\n fi\r\nfi\r\n\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 ${FORGE_VERSION}\"\r\nif [ ! -z \"${DOWNLOAD_LINK}\" ]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_LINK}-installer.jar; then\r\n echo -e \"installer jar download link is valid.\"\r\n else\r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\n\r\n echo -e \"no download link closing out\"\r\n exit 3\r\nfi\r\n\r\ncurl -s -o installer.jar -sS ${DOWNLOAD_LINK}-installer.jar\r\n\r\n#Checking if downloaded jars exist\r\nif [ ! -f .\/installer.jar ]; then\r\n echo \"!!! Error by downloading forge version ${FORGE_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 || { echo -e \"install failed\"; exit 4; }\r\n\r\nmv $FORGE_JAR $SERVER_JARFILE\r\n\r\n#Deleting installer.jar\r\necho -e \"Deleting installer.jar file.\\n\"\r\nrm -rf installer.jar", + "script": "#!\/bin\/bash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y curl jq\r\n\r\n#Go into main direction\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir \/mnt\/server\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\nif [ ! -z ${FORGE_VERSION} ]; then\r\n DOWNLOAD_LINK=https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/${FORGE_VERSION}\/forge-${FORGE_VERSION}\r\nelse\r\n JSON_DATA=$(curl -sSL https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/promotions_slim.json)\r\n\r\n if [ \"${MC_VERSION}\" == \"latest\" ] || [ \"${MC_VERSION}\" == \"\" ] ; then\r\n echo -e \"getting latest recommended version of forge.\"\r\n MC_VERSION=$(echo -e ${JSON_DATA} | jq -r '.promos | del(.\"latest-1.7.10\") | del(.\"1.7.10-latest-1.7.10\") | to_entries[] | .key | select(contains(\"recommended\")) | split(\"-\")[0]' | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n | tail -1)\r\n \tBUILD_TYPE=recommended\r\n fi\r\n\r\n if [ \"${BUILD_TYPE}\" != \"recommended\" ] && [ \"${BUILD_TYPE}\" != \"latest\" ]; then\r\n BUILD_TYPE=recommended\r\n fi\r\n\r\n echo -e \"minecraft version: ${MC_VERSION}\"\r\n echo -e \"build type: ${BUILD_TYPE}\"\r\n\r\n ## some variables for getting versions and things\r\n FILE_SITE=$(echo -e ${JSON_DATA} | jq -r '.homepage' | sed \"s\/http:\/https:\/g\")\r\n VERSION_KEY=$(echo -e ${JSON_DATA} | jq -r --arg MC_VERSION \"${MC_VERSION}\" --arg BUILD_TYPE \"${BUILD_TYPE}\" '.promos | del(.\"latest-1.7.10\") | del(.\"1.7.10-latest-1.7.10\") | to_entries[] | .key | select(contains($MC_VERSION)) | select(contains($BUILD_TYPE))')\r\n\r\n ## locating the forge version\r\n if [ \"${VERSION_KEY}\" == \"\" ] && [ \"${BUILD_TYPE}\" == \"recommended\" ]; then\r\n echo -e \"dropping back to latest from recommended due to there not being a recommended version of forge for the mc version requested.\"\r\n VERSION_KEY=$(echo -e ${JSON_DATA} | jq -r --arg MC_VERSION \"${MC_VERSION}\" '.promos | del(.\"latest-1.7.10\") | del(.\"1.7.10-latest-1.7.10\") | to_entries[] | .key | select(contains($MC_VERSION)) | select(contains(\"recommended\"))')\r\n fi\r\n\r\n ## Error if the mc version set wasn't valid.\r\n if [ \"${VERSION_KEY}\" == \"\" ] || [ \"${VERSION_KEY}\" == \"null\" ]; then\r\n \techo -e \"The install failed because there is no valid version of forge for the version on minecraft selected.\"\r\n \texit 1\r\n fi\r\n\r\n FORGE_VERSION=$(echo -e ${JSON_DATA} | jq -r --arg VERSION_KEY \"$VERSION_KEY\" '.promos | .[$VERSION_KEY]')\r\n\r\n if [ \"${MC_VERSION}\" == \"1.7.10\" ] || [ \"${MC_VERSION}\" == \"1.8.9\" ]; then\r\n DOWNLOAD_LINK=${FILE_SITE}${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}\/forge-${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}\r\n FORGE_JAR=forge-${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}.jar\r\n if [ \"${MC_VERSION}\" == \"1.7.10\" ]; then\r\n FORGE_JAR=forge-${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}-universal.jar\r\n fi\r\n else\r\n DOWNLOAD_LINK=${FILE_SITE}${MC_VERSION}-${FORGE_VERSION}\/forge-${MC_VERSION}-${FORGE_VERSION}\r\n FORGE_JAR=forge-${MC_VERSION}-${FORGE_VERSION}.jar\r\n fi\r\nfi\r\n\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 ${FORGE_VERSION}\"\r\necho -e \"Download link is ${DOWNLOAD_LINK}\"\r\nif [ ! -z \"${DOWNLOAD_LINK}\" ]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_LINK}-installer.jar; then\r\n echo -e \"installer jar download link is valid.\"\r\n else\r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nelse\r\n echo -e \"no download link closing out\"\r\n exit 3\r\nfi\r\n\r\ncurl -s -o installer.jar -sS ${DOWNLOAD_LINK}-installer.jar\r\n\r\n#Checking if downloaded jars exist\r\nif [ ! -f .\/installer.jar ]; then\r\n echo \"!!! Error by downloading forge version ${FORGE_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 || { echo -e \"install failed\"; exit 4; }\r\n\r\nmv $FORGE_JAR $SERVER_JARFILE\r\n\r\n#Deleting installer.jar\r\necho -e \"Deleting installer.jar file.\\n\"\r\nrm -rf installer.jar", "container": "openjdk:8-jdk-slim", "entrypoint": "bash" } @@ -57,7 +57,7 @@ "default_value": "", "user_viewable": 1, "user_editable": 1, - "rules": "required|string|max:20" + "rules": "nullable|string|max:20" } ] } \ No newline at end of file From ccc939faa86f5bc032e5808d59116c867c126022 Mon Sep 17 00:00:00 2001 From: Ryan Kubiak Date: Mon, 1 Jun 2020 15:41:16 -0700 Subject: [PATCH 315/413] Fix typo in naming of Stationeers egg --- steamcmd_servers/{Stationners => Stationeers}/README.md | 0 .../egg-stationeers .json => Stationeers/egg-stationeers.json} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename steamcmd_servers/{Stationners => Stationeers}/README.md (100%) rename steamcmd_servers/{Stationners/egg-stationeers .json => Stationeers/egg-stationeers.json} (100%) diff --git a/steamcmd_servers/Stationners/README.md b/steamcmd_servers/Stationeers/README.md similarity index 100% rename from steamcmd_servers/Stationners/README.md rename to steamcmd_servers/Stationeers/README.md diff --git a/steamcmd_servers/Stationners/egg-stationeers .json b/steamcmd_servers/Stationeers/egg-stationeers.json similarity index 100% rename from steamcmd_servers/Stationners/egg-stationeers .json rename to steamcmd_servers/Stationeers/egg-stationeers.json From 4baa33196a7f6130832c5c5e59cef4d29f8457bb Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Mon, 1 Jun 2020 20:59:46 -0400 Subject: [PATCH 316/413] lowercase stationeers folders Please keep all folders lowercase. --- README.md | 2 +- steamcmd_servers/README.md | 2 +- steamcmd_servers/{Stationeers => stationeers}/README.md | 0 .../{Stationeers => stationeers}/egg-stationeers.json | 0 4 files changed, 2 insertions(+), 2 deletions(-) rename steamcmd_servers/{Stationeers => stationeers}/README.md (100%) rename steamcmd_servers/{Stationeers => stationeers}/egg-stationeers.json (100%) diff --git a/README.md b/README.md index 2951c0ad..8b92cfc6 100644 --- a/README.md +++ b/README.md @@ -118,7 +118,7 @@ If you are reading this it looks like you are looking to add an egg to your serv * [multiadmin](/steamcmd_servers/scpsl/multiadmin/) * [SSoldat](/steamcmd_servers/soldat/) * [Starbound](/steamcmd_servers/starbound) -* [Stationeers](/steamcmd_servers/Stationeers/) +* [Stationeers](/steamcmd_servers/stationeers/) * [Sven Co-op](/steamcmd_servers/svencoop) * [Squad](/steamcmd_servers/squad/) * [Unturned](/steamcmd_servers/unturned/) diff --git a/steamcmd_servers/README.md b/steamcmd_servers/README.md index 13714993..b57e6dab 100644 --- a/steamcmd_servers/README.md +++ b/steamcmd_servers/README.md @@ -53,7 +53,7 @@ This is a collection of servers that use steamcmd to install. [starbound](starbound/) ## Stationeers -[Stationeers](/steamcmd_servers/Stationeers/) +[Stationeers](/steamcmd_servers/stationeers/) ## Sven coop [svencoop](svencoop) diff --git a/steamcmd_servers/Stationeers/README.md b/steamcmd_servers/stationeers/README.md similarity index 100% rename from steamcmd_servers/Stationeers/README.md rename to steamcmd_servers/stationeers/README.md diff --git a/steamcmd_servers/Stationeers/egg-stationeers.json b/steamcmd_servers/stationeers/egg-stationeers.json similarity index 100% rename from steamcmd_servers/Stationeers/egg-stationeers.json rename to steamcmd_servers/stationeers/egg-stationeers.json From d5d68613c0208f8367161e30a78031e37720f876 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Mon, 1 Jun 2020 21:15:05 -0400 Subject: [PATCH 317/413] update forge enhanced startup command Add -Djline.terminal=jline.UnsupportedTerminal gets rid of the >.... on every line --- minecraft_java/forge/forge/egg-forge-enhanced.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/minecraft_java/forge/forge/egg-forge-enhanced.json b/minecraft_java/forge/forge/egg-forge-enhanced.json index 11a4fec1..71b2960d 100644 --- a/minecraft_java/forge/forge/egg-forge-enhanced.json +++ b/minecraft_java/forge/forge/egg-forge-enhanced.json @@ -3,12 +3,12 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-05-30T14:11:23-04:00", + "exported_at": "2020-06-01T21:14:09-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}}", + "startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -Djline.terminal=jline.UnsupportedTerminal -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}", From 1e03715cadb698f416720c995f0045d73a5b6604 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Mon, 1 Jun 2020 21:19:39 -0400 Subject: [PATCH 318/413] properly fix the console --- minecraft_java/forge/forge/egg-forge-enhanced.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/minecraft_java/forge/forge/egg-forge-enhanced.json b/minecraft_java/forge/forge/egg-forge-enhanced.json index 71b2960d..477cb4b6 100644 --- a/minecraft_java/forge/forge/egg-forge-enhanced.json +++ b/minecraft_java/forge/forge/egg-forge-enhanced.json @@ -3,12 +3,12 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-06-01T21:14:09-04:00", + "exported_at": "2020-06-01T21:19:06-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 -Djline.terminal=jline.UnsupportedTerminal -jar {{SERVER_JARFILE}}", + "startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -Dterminal.jline=false -Dterminal.ansi=true -jar {{SERVER_JARFILE}}", "config": { "files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-ip\": \"0.0.0.0\",\r\n \"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}", From d1cbff57afb8386d6f326f7b9a7890341279b406 Mon Sep 17 00:00:00 2001 From: iamkubi Date: Tue, 2 Jun 2020 14:33:35 -0700 Subject: [PATCH 319/413] Document steps to fix redbot disk space issues Fixes #550 when using the Redbot audio cog --- bots/discord/redbot/README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/bots/discord/redbot/README.md b/bots/discord/redbot/README.md index d4f3c036..165b391e 100644 --- a/bots/discord/redbot/README.md +++ b/bots/discord/redbot/README.md @@ -5,4 +5,9 @@ A multifunction Discord bot ### Server Ports No port are required to run Red. +### Additional Requirements +When using the Audio Cog the bot will attempt to save files to /tmp resulting in a disk space error. To resolve this error you must increase the size of `tmpfs` using custom container policy. + +For additional details see: https://pterodactyl.io/daemon/0.6/configuration.html#container-policy + #### Mods/Plugins may require ports to be added to the server. From 493585eed3dab304a2ef62c3a2b0c23de5860b94 Mon Sep 17 00:00:00 2001 From: parkervcp Date: Tue, 2 Jun 2020 20:53:01 -0400 Subject: [PATCH 320/413] update fivem for txadmin Use txadmin instead of the old `+exec` command. --- gta/fivem/README.md | 8 +++- gta/fivem/egg-five-m.json | 15 +++++-- gta/fivem/server.cfg | 89 ++++++++++++++++++++++++--------------- 3 files changed, 75 insertions(+), 37 deletions(-) diff --git a/gta/fivem/README.md b/gta/fivem/README.md index 0662b49e..f9890e71 100644 --- a/gta/fivem/README.md +++ b/gta/fivem/README.md @@ -11,10 +11,16 @@ The `FIVEM_VERSION` variable. The `DOWNLOAD_URL` only needs to be used if they turn on ddos protection. The variable needs to point to a `fx.tar.xz` file as I am too lazy to update the entire script. +# txAdmin +The last update to the egg changes the server to use txadmin to run. All starting and stopping of the server is now managed via txadmin. On first startup it will print a key to use to sign into the txadmin panel. + +### Your server will not go online until it's started from txadmin. + ## Server Ports Ports required to run the server in a table format. | Port | default | |---------|---------| | Game | 30110 | -| Game+1 | 30120 | \ No newline at end of file +| Game+1 | 30120 | +| txAdmin | 40120 | \ No newline at end of file diff --git a/gta/fivem/egg-five-m.json b/gta/fivem/egg-five-m.json index 23401ebd..dd86df52 100644 --- a/gta/fivem/egg-five-m.json +++ b/gta/fivem/egg-five-m.json @@ -3,14 +3,14 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-05-16T09:12:48-04:00", + "exported_at": "2020-06-02T20:14:32-04:00", "name": "FiveM", "author": "parker@parkervcp.com", "description": "A new FiveM egg for the latest builds due to recent changes in FiveM", "image": "quay.io\/parkervcp\/pterodactyl-images:base_alpine", - "startup": "$(pwd)\/alpine\/opt\/cfx-server\/ld-musl-x86_64.so.1 --library-path \"$(pwd)\/alpine\/usr\/lib\/v8\/:$(pwd)\/alpine\/lib\/:$(pwd)\/alpine\/usr\/lib\/\" -- $(pwd)\/alpine\/opt\/cfx-server\/FXServer +set citizen_dir $(pwd)\/alpine\/opt\/cfx-server\/citizen\/ +set sv_licenseKey {{FIVEM_LICENSE}} +set steam_webApiKey {{STEAM_WEBAPIKEY}} +set sv_maxplayers {{MAX_PLAYERS}} +exec server.cfg", + "startup": "$(pwd)\/alpine\/opt\/cfx-server\/ld-musl-x86_64.so.1 --library-path \"$(pwd)\/alpine\/usr\/lib\/v8\/:$(pwd)\/alpine\/lib\/:$(pwd)\/alpine\/usr\/lib\/\" -- $(pwd)\/alpine\/opt\/cfx-server\/FXServer +set citizen_dir $(pwd)\/alpine\/opt\/cfx-server\/citizen\/ +set sv_licenseKey {{FIVEM_LICENSE}} +set steam_webApiKey {{STEAM_WEBAPIKEY}} +set sv_maxplayers {{MAX_PLAYERS}} +set serverProfile default +set txAdminPort {{TXADMIN_PORT}}", "config": { - "files": "{\r\n \"server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"endpoint_add_tcp\": \"endpoint_add_tcp \\\"0.0.0.0:{{server.build.default.port}}\\\"\",\r\n \"endpoint_add_udp\": \"endpoint_add_udp \\\"0.0.0.0:{{server.build.default.port}}\\\"\",\r\n \"sv_hostname\": \"sv_hostname \\\"{{server.build.env.SERVER_HOSTNAME}}\\\"\",\r\n \"sv_maxclients\": \"sv_maxclients {{server.build.env.MAX_PLAYERS}}\"\r\n }\r\n }\r\n}", + "files": "{\r\n \"server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"endpoint_add_tcp\": \"endpoint_add_tcp \\\"0.0.0.0:{{server.build.default.port}}\\\"\",\r\n \"endpoint_add_udp\": \"endpoint_add_udp \\\"0.0.0.0:{{server.build.default.port}}\\\"\",\r\n \"sv_hostname\": \"sv_hostname \\\"{{server.build.env.SERVER_HOSTNAME}}\\\"\",\r\n \"set sv_licenseKey\": \"set sv_licenseKey {{server.build.env.FIVEM_LICENSE}}\",\r\n \"set steam_webApiKey\": \"set steam_webApiKey {{server.build.env.STEAM_WEBAPIKEY}}\",\r\n \"sv_maxclients\": \"sv_maxclients {{server.build.env.MAX_PLAYERS}}\"\r\n }\r\n }\r\n}", "startup": "{\r\n \"done\": \"succeeded. Welcome!\"\r\n}", "logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/latest.log\"\r\n}", "stop": "^C" @@ -76,6 +76,15 @@ "user_viewable": 1, "user_editable": 1, "rules": "required|string" + }, + { + "name": "txAdmin Port", + "description": "The port for the txAdmin panel", + "env_variable": "TXADMIN_PORT", + "default_value": "40120", + "user_viewable": 1, + "user_editable": 0, + "rules": "required|string|max:20" } ] } \ No newline at end of file diff --git a/gta/fivem/server.cfg b/gta/fivem/server.cfg index 61fe35c2..d7d61bea 100644 --- a/gta/fivem/server.cfg +++ b/gta/fivem/server.cfg @@ -1,52 +1,75 @@ -# only change these if you're using a server with multiple network interfaces +### AUTOMATICALY SET BY PTERODACTYL ### +# Only change the IP if you're using a server with multiple network interfaces, otherwise change the port only. endpoint_add_tcp "0.0.0.0:30120" endpoint_add_udp "0.0.0.0:30120" -start mapmanager -start chat -start spawnmanager -start sessionmanager -start fivem -start hardcap -start rconlog -start scoreboard -start playernames +# Set your server's hostname +set sv_hostname "New FiveM Server with Pterodactyl" -# allow client mods such as Lamda Menu? -sv_scriptHookAllowed 1 +# Server player slot limit (must be between 1 and 32, unless using OneSync) +sv_maxclients 32 -# change this -#rcon_password yay +# Steam Web API key, if you want to use Steam authentication (https://steamcommunity.com/dev/apikey) +# -> replace "" with the key +set steam_webApiKey "" -# a comma-separated list of tags for your server -# for example: sets tags "drifting, cars, racing" or sets tags "roleplay, military, tanks" +# License key for your server (https://keymaster.fivem.net) +set sv_licenseKey +######################################## + +# These resources will start by default. +ensure mapmanager +ensure chat +ensure spawnmanager +ensure sessionmanager +ensure fivem +ensure hardcap +ensure rconlog + +# This allows players to use scripthook-based plugins such as the legacy Lambda Menu. +# Set this to 1 to allow scripthook. Do note that this does _not_ guarantee players won't be able to use external plugins. +sv_scriptHookAllowed 0 + +# Uncomment this and set a password to enable RCON. Make sure to change the password - it should look like rcon_password "YOURPASSWORD" +#rcon_password "" + +# A comma-separated list of tags for your server. +# For example: +# - sets tags "drifting, cars, racing" +# Or: +# - sets tags "roleplay, military, tanks" sets tags "default" -sv_hostname "My new FXServer!" +# A valid locale identifier for your server's primary language. +# For example "en-US", "fr-CA", "nl-NL", "de-DE", "en-GB", "pt-BR" +sets locale "root-AQ" +# please DO replace root-AQ on the line ABOVE with a real language! :) -# nested configs! -#exec server_internal.cfg +# Set an optional server info and connecting banner image url. +# Size doesn't matter, any banner sized image will be fine. +#sets banner_detail "https://url.to/image.png" +#sets banner_connecting "https://url.to/image.png" -# loading a server icon (96x96 PNG file) +# Nested configs! +#exec resources.cfg + +# Loading a server icon (96x96 PNG file) #load_server_icon myLogo.png -# convars for use from script -set temp_convar "hey world!" +# convars which can be used in scripts +#set temp_convar "hey world!" -# Uncomment to DISABLE your server coming up in the server list +# Uncomment this line if you do not want your server to be listed in the server browser. +# Do not edit it if you *do* want your server listed. #sv_master1 "" -# want to only allow players authenticated with a third-party provider like Steam (don't forget, Social Club is a third party provider too!)? -#sv_authMaxVariance 1 -#sv_authMinTrust 5 - -# add system admins +# Add system admins add_ace group.admin command allow # allow all commands add_ace group.admin command.quit deny # but don't allow quit -add_principal identifier.steam:110000112345678 group.admin # add the admin to the group +add_principal identifier.fivem:1 group.admin # add the admin to the group -# remove the # to hide player endpoints in external log output -#sv_endpointprivacy true +# Hide player endpoints in external log output. +sv_endpointprivacy true -# server slots limit (must be between 1 and 32) -sv_maxclients 32 \ No newline at end of file +# enable OneSync with default configuration (required for server-side state awareness) +onesync_enabled true From ce75d9009154348684b2a5f9f05317916978c40c Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Wed, 3 Jun 2020 16:20:01 -0400 Subject: [PATCH 321/413] update waterfall installed. resolves #553 changes installer to use debian:buster-slim updates the install script to be more resilient. --- minecraft_proxy/waterfall/egg-waterfall.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/minecraft_proxy/waterfall/egg-waterfall.json b/minecraft_proxy/waterfall/egg-waterfall.json index 3af57a1e..1dd4c9f9 100644 --- a/minecraft_proxy/waterfall/egg-waterfall.json +++ b/minecraft_proxy/waterfall/egg-waterfall.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-12-23T13:23:16-04:00", + "exported_at": "2020-06-03T16:13:49-04:00", "name": "Waterfall", "author": "hostmaster@waterfallgaming.net", "description": "Waterfall is a fork of the well-known BungeeCord server teleportation suite.", @@ -17,9 +17,9 @@ }, "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\ncd \/mnt\/server\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 if [ -z \"$VANILLA_VERSION\" ] || [ \"${MINECRAFT_VERSION}\" == \"latest\" ]; then\r\n MINECRAFT_VERSION=$(curl -s https:\/\/papermc.io\/api\/v1\/waterfall | jq -r '.versions[0]')\r\n else\r\n VER_EXISTS=$(curl -s https:\/\/papermc.io\/api\/v1\/waterfall | jq -r --arg VERSION $MINECRAFT_VERSION '.versions | contains ([$VERSION])')\r\n fi\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 waterfall version\"\r\n MINECRAFT_VERSION=$(curl -s https:\/\/papermc.io\/api\/v1\/waterfall\/ | jq -r '.versions[0]')\r\n fi\r\n \r\n if [ ! ${BUILD_NUMBER} == \"latest\" ] ; then\r\n BUILD_EXISTS=$(curl -s https:\/\/papermc.io\/api\/v1\/waterfall\/${MINECRAFT_VERSION} | jq -r --arg BUILD ${BUILD_NUMBER} '.builds.all[] | IN($BUILD)' | grep true)\r\n LATEST_WATERFALL_VERSION=$(curl -s https:\/\/papermc.io\/api\/v1\/waterfall\/ | jq -r '.versions[0]')\r\n \r\n if [ \"${BUILD_EXISTS}\" == \"true\" ]; 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_WATERFALL_VERSION}\r\n fi\r\n fi\r\n \r\n echo \"Version being downloaded: ${BUILD_NUMBER}\"\r\n echo -e \"MC Version: ${MINECRAFT_VERSION}\"\r\n echo -e \"Build: ${BUILD_NUMBER}\"\r\n DOWNLOAD_URL=https:\/\/papermc.io\/api\/v1\/waterfall\/${MINECRAFT_VERSION}\/${BUILD_NUMBER}\/download \r\nfi\r\n\r\necho -e \"running curl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\"\r\n\r\ncurl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\r\n\r\nif [ ! -f config.yml ]; then\r\n echo -e \"Downloading waterfall config.yml\"\r\n curl -o config.yml https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft_proxy\/waterfall\/config.yml\r\nelse\r\n echo -e \"Waterfall config.yml exists. Will not pull a new file\"\r\nfi", - "container": "alpine:3.10", - "entrypoint": "ash" + "script": "#!\/bin\/bash\r\n# Paper Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y curl jq\r\n\r\nmkdir -p \/mnt\/server\/\r\ncd \/mnt\/server\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 if [ -z \"$VANILLA_VERSION\" ] || [ \"${MINECRAFT_VERSION}\" == \"latest\" ]; then\r\n echo -e \"getting latest supported mc version and latest paper build\"\r\n MINECRAFT_VERSION=$(curl -s https:\/\/papermc.io\/api\/v1\/waterfall | jq -r '.versions[0]')\r\n BUILD_NUMBER=$(curl -sSL https:\/\/papermc.io\/api\/v1\/waterfall\/${MINECRAFT_VERSION} | jq -r '.builds.latest')\r\n VER_EXISTS=true\r\n else\r\n echo -e \"checking if version ${MINECRAFT_VERSION} exists\"\r\n VER_EXISTS=$(curl -s https:\/\/papermc.io\/api\/v1\/waterfall | jq -r --arg VERSION ${MINECRAFT_VERSION} '.versions[] | contains($VERSION)' | grep true)\r\n fi\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 waterfall version\"\r\n MINECRAFT_VERSION=${LATEST_WATERFALL_VERSION}\r\n fi\r\n \r\n BUILD_EXISTS=$(curl -sSL https:\/\/papermc.io\/api\/v1\/waterfall\/${MINECRAFT_VERSION} | jq -r --arg BUILD ${BUILD_NUMBER} '.builds.all[] | contains($BUILD)' | grep true)\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 for version ${MINECRAFT_VERSION}\"\r\n BUILD_NUMBER=$(curl -sSL https:\/\/papermc.io\/api\/v1\/waterfall\/${MINECRAFT_VERSION} | jq -r '.builds.latest')\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\/waterfall\/${MINECRAFT_VERSION}\/${BUILD_NUMBER}\/download \r\nfi\r\n\r\nif [ -z ${SERVER_JARFILE} ]; then\r\n SERVER_JARFILE=server.jar\r\nfi\r\n\r\nif [[ ! $SERVER_JARFILE = *\\.jar ]]; then\r\n SERVER_JARFILE=\"$SERVER_JARFILE.jar\"\r\nfi\r\n\r\necho -e \"running curl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\"\r\n\r\ncurl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\r\n\r\nif [ ! -f config.yml ]; then\r\n echo -e \"Downloading waterfall config.yml\"\r\n curl -o config.yml https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft_proxy\/waterfall\/config.yml\r\nelse\r\n echo -e \"Waterfall config.yml exists. Will not pull a new file\"\r\nfi", + "container": "debian:buster-slim", + "entrypoint": "bash" } }, "variables": [ From 4c8493ed55c3a3cab384bc70fe3e147b5e0585c3 Mon Sep 17 00:00:00 2001 From: Ryan Kubiak Date: Wed, 3 Jun 2020 20:48:17 -0700 Subject: [PATCH 322/413] Update Rust egg to support the Rust+ Companion app --- stock-eggs/rust/README.md | 16 +++++++++++++--- stock-eggs/rust/egg-rust.json | 27 ++++++++++++++++++--------- 2 files changed, 31 insertions(+), 12 deletions(-) diff --git a/stock-eggs/rust/README.md b/stock-eggs/rust/README.md index 5f2c826b..22d0e83b 100644 --- a/stock-eggs/rust/README.md +++ b/stock-eggs/rust/README.md @@ -1,5 +1,15 @@ -# Source Based Games +### Rust +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. + +### Minimum RAM warning +The server requires at least 4096MB to run properly. +This is mostly needed for the startup only, once it is running (depending on your world size) it should consume less. ### 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 +Ports required to run the server. + +| Port | default | +|---------|---------| +| Game and Query | 28015 UDP | +| RCON | 28016 TCP | +| Rust+ App | 28082 TCP | diff --git a/stock-eggs/rust/egg-rust.json b/stock-eggs/rust/egg-rust.json index 9a43d0f5..0426579c 100644 --- a/stock-eggs/rust/egg-rust.json +++ b/stock-eggs/rust/egg-rust.json @@ -3,12 +3,12 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-03-25T10:30:58-04:00", + "exported_at": "2020-06-03T20:47:00-07:00", "name": "Rust", "author": "support@pterodactyl.io", "description": "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.", "image": "quay.io\/pterodactyl\/core:rust", - "startup": ".\/RustDedicated -batchmode +server.port {{SERVER_PORT}} +server.identity \"rust\" +rcon.port {{RCON_PORT}} +rcon.web true +server.hostname \\\"{{HOSTNAME}}\\\" +server.level \\\"{{LEVEL}}\\\" +server.description \\\"{{DESCRIPTION}}\\\" +server.url \\\"{{SERVER_URL}}\\\" +server.headerimage \\\"{{SERVER_IMG}}\\\" +server.worldsize \\\"{{WORLD_SIZE}}\\\" +server.seed \\\"{{WORLD_SEED}}\\\" +server.maxplayers {{MAX_PLAYERS}} +rcon.password \\\"{{RCON_PASS}}\\\" +server.saveinterval {{SAVEINTERVAL}} {{ADDITIONAL_ARGS}}", + "startup": ".\/RustDedicated -batchmode +server.port {{SERVER_PORT}} +server.identity \"rust\" +rcon.port {{RCON_PORT}} +rcon.web true +server.hostname \\\"{{HOSTNAME}}\\\" +server.level \\\"{{LEVEL}}\\\" +server.description \\\"{{DESCRIPTION}}\\\" +server.url \\\"{{SERVER_URL}}\\\" +server.headerimage \\\"{{SERVER_IMG}}\\\" +server.worldsize \\\"{{WORLD_SIZE}}\\\" +server.seed \\\"{{WORLD_SEED}}\\\" +server.maxplayers {{MAX_PLAYERS}} +rcon.password \\\"{{RCON_PASS}}\\\" +server.saveinterval {{SAVEINTERVAL}} +app.port {{APP_PORT}} {{ADDITIONAL_ARGS}}", "config": { "files": "{}", "startup": "{\r\n \"done\": \"Server startup complete\",\r\n \"userInteraction\": []\r\n}", @@ -17,8 +17,8 @@ }, "scripts": { "installation": { - "script": "apt update\r\napt -y --no-install-recommends install curl unzip lib32gcc1 ca-certificates\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\/steam\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steam\r\ncd \/mnt\/server\/steam\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 258550 +quit\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v \/mnt\/server\/steam\/linux32\/steamclient.so \/mnt\/server\/.steam\/sdk32\/steamclient.so", - "container": "ubuntu:16.04", + "script": "apt update\r\napt -y --no-install-recommends install curl unzip lib32gcc1 ca-certificates\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\/steam\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steam\r\ncd \/mnt\/server\/steam\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n.\/steamcmd.sh +login anonymous +force_install_dir \/mnt\/server +app_update 258550 +quit\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v \/mnt\/server\/steam\/linux32\/steamclient.so \/mnt\/server\/.steam\/sdk32\/steamclient.so", + "container": "debian:buster-slim", "entrypoint": "bash" } }, @@ -122,6 +122,15 @@ "user_editable": 1, "rules": "required|string|max:64" }, + { + "name": "Save Interval", + "description": "Sets the server\u2019s auto-save interval in seconds.", + "env_variable": "SAVEINTERVAL", + "default_value": "60", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|integer" + }, { "name": "Additional Arguments", "description": "Add additional startup parameters to the server.", @@ -132,12 +141,12 @@ "rules": "nullable|string" }, { - "name": "Save Interval", - "description": "Sets the server\u2019s auto-save interval in seconds.", - "env_variable": "SAVEINTERVAL", - "default_value": "60", + "name": "App Port", + "description": "Port for the Rust+ App. -1 for disabled.", + "env_variable": "APP_PORT", + "default_value": "28082", "user_viewable": 1, - "user_editable": 1, + "user_editable": 0, "rules": "required|integer" } ] From 50af6b7d53357921a8de9e1d1bdaca556851159b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Albin=20H=C3=A5kanson?= <33166817+Tooxic@users.noreply.github.com> Date: Sun, 19 Apr 2020 18:59:21 +0200 Subject: [PATCH 323/413] Initial Commit --- minecraft_java/technic/README.md | 1 + .../technic/the-1-7-10-pack/README.MD | 13 +++++++ .../the-1-7-10-pack/egg-the1-7-10-pack.json | 36 +++++++++++++++++++ 3 files changed, 50 insertions(+) create mode 100644 minecraft_java/technic/the-1-7-10-pack/README.MD create mode 100644 minecraft_java/technic/the-1-7-10-pack/egg-the1-7-10-pack.json diff --git a/minecraft_java/technic/README.md b/minecraft_java/technic/README.md index 8ff73a6b..dd6127a4 100644 --- a/minecraft_java/technic/README.md +++ b/minecraft_java/technic/README.md @@ -20,4 +20,5 @@ If you are reading this it looks like you are looking to add an egg to your serv * [Hexxit](/minecraft_java/technic/hexxit/) * [Tekkit Legends](/minecraft_java/technic/tekkit-legends/) * [Attack of the B-Team](/minecraft_java/technic/attack-of-the-bteam/) +* [The 1.7.10 Pack](/minecraft_java/technic/the-1-7-10-pack/) * [Tekkit Classic](/minecraft_java/technic/tekkit-classic/) diff --git a/minecraft_java/technic/the-1-7-10-pack/README.MD b/minecraft_java/technic/the-1-7-10-pack/README.MD new file mode 100644 index 00000000..117f3b69 --- /dev/null +++ b/minecraft_java/technic/the-1-7-10-pack/README.MD @@ -0,0 +1,13 @@ +# Minecraft: The 1.7.10 Pack + +A very good modpack! + +https://www.technicpack.net/modpack/the-1710-pack.453902 + +## 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 | diff --git a/minecraft_java/technic/the-1-7-10-pack/egg-the1-7-10-pack.json b/minecraft_java/technic/the-1-7-10-pack/egg-the1-7-10-pack.json new file mode 100644 index 00000000..519e1be4 --- /dev/null +++ b/minecraft_java/technic/the-1-7-10-pack/egg-the1-7-10-pack.json @@ -0,0 +1,36 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2020-04-19T18:58:27+02:00", + "name": "The 1.7.10 Pack", + "author": "contact@sweplox.se", + "description": "The 1.7.10 Pack", + "image": "quay.io\/pterodactyl\/core:java", + "startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar forge-*.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:\/\/solder.endermedia.com\/repository\/downloads\/the-1710-pack\/the-1710-pack_$MODPACK_VERSION.zip -o the-1710-pack_$MODPACK_VERSION.zip\r\n\r\nunzip the-1710-pack_$MODPACK_VERSION.zip\r\n\r\nrm -rf the-1710-pack_$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": "0.9.8d", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:20" + } + ] +} \ No newline at end of file From ea4da2db26dc98979119e8da092b7b854840c3a8 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sat, 6 Jun 2020 11:19:48 -0400 Subject: [PATCH 324/413] organize packs in list --- minecraft_java/technic/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/minecraft_java/technic/README.md b/minecraft_java/technic/README.md index dd6127a4..af6deac4 100644 --- a/minecraft_java/technic/README.md +++ b/minecraft_java/technic/README.md @@ -16,9 +16,9 @@ If you are reading this it looks like you are looking to add an egg to your serv ## Technic Eggs [Technic](/minecraft_java/technic/) +* [Attack of the B-Team](/minecraft_java/technic/attack-of-the-bteam/) * [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/) -* [The 1.7.10 Pack](/minecraft_java/technic/the-1-7-10-pack/) * [Tekkit Classic](/minecraft_java/technic/tekkit-classic/) +* [Tekkit Legends](/minecraft_java/technic/tekkit-legends/) +* [The 1.7.10 Pack](/minecraft_java/technic/the-1-7-10-pack/) \ No newline at end of file From f9737cef285aea590aed2d19c7eb3b601770b8ae Mon Sep 17 00:00:00 2001 From: Josh Date: Sat, 6 Jun 2020 12:32:16 -0400 Subject: [PATCH 325/413] Removed unneeded line --- .../forge/curseforge-generic/egg-curseforge-generic.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json b/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json index 975d35ff..5029005d 100644 --- a/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json +++ b/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-04-21T08:24:19-04:00", + "exported_at": "2020-06-06T12:30:24-04:00", "name": "Curseforge Generic", "author": "parker@parkervcp.com", "description": "A generic egg for a forge modpack", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir -p \/mnt\/server\r\nfi\r\n\r\nfunction install_required {\r\n apt update\r\n apt install -y curl jq unzip dos2unix\r\n}\r\n\r\nfunction get_download {\r\n # get json data to work with\r\n echo -e \"Curling the json for the modpack\"\r\n echo -e \"running: curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\"\r\n JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID})\r\n\r\n # if no modpack version is set or is set to latest\r\n if [ -z ${MODPACK_VERSION} ] || [ \"${MODPACK_VERSION}\" = \"latest\" ]; then\r\n echo -e \"Getting latest download url\"\r\n # parse data to get the download url\r\n FILE_ID=$(echo -e ${JSON_DATA} | jq -r .defaultFileId)\r\n echo -e \"File ID is: ${FILE_ID}\"\r\n if [ \"$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .isServerPack\")\" == \"false\" ] && [ \"$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .serverPackFileId\")\" != \"null\" ]; then\r\n FILE_ID=$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .serverPackFileId\")\r\n DOWNLOAD_URL=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/file\/${FILE_ID}\/download-url)\r\n else\r\n DOWNLOAD_URL=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/file\/${FILE_ID}\/download-url)\r\n fi\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n else\r\n echo -e \"Looking for download url for version ${MODPACK_VERSION}\"\r\n # parse files for version match\r\n FILES_JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/files)\r\n # get element number to get the exact location in the json\r\n FILES_JSON_ELEMENT=$(echo -e ${FILES_JSON_DATA} | jq --arg VERSION \"${MODPACK_VERSION}\" '.[] | select(.displayName) | .displayName | contains($VERSION)' | grep -n true | cut -f1 -d: | tail -1)\r\n # if there wasn't a match default to latest\r\n if [ ! -z ${FILES_JSON_ELEMENT} ]; then\r\n echo -e \"No matching version found\"\r\n echo -e \"defaulting to latest\"\r\n DOWNLOAD_URL=$(echo -e ${FILES_JSON_DATA} | jq --arg ELEMENT \"${FILES_JSON_ELEMENT}\" '.[$ELEMENT|tonumber-1] | .downloadUrl')\r\n else\r\n echo -e \"Version match found\"\r\n DOWNLOAD_URL=$(echo -e ${JSON_DATA} | jq -r .latestFiles[0].downloadUrl)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n fi\r\n fi\r\n\r\n ## download modpack files\r\n cd \/mnt\/server\r\n echo \"Executing curl -L ${DOWNLOAD_URL} -o server.zip\"\r\n curl -L \"${DOWNLOAD_URL}\" -o server.zip\r\n unzip -o server.zip\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 if [ -f \/mnt\/server\/*installer.jar ]; then\r\n java -jar *installer.jar --installServer\r\n else\r\n echo \"No forge installer found moving on.\"\r\n fi\r\n mv FTBServer.jar server.jar\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 if [ ! -f \/mnt\/server\/*universal.jar ]; then\r\n mv -v \/mnt\/server\/*\/* \/mnt\/server\/\r\n mv *universal.jar server.jar\r\n else\r\n mv *universal.jar server.jar\r\n fi\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=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${projID}\/file\/${fileID}\/download-url)\r\n # this is saving everything as \/mnt\/server\/mods\/download\r\n echo \"Mod direct url: ${URL}\"\r\n curl -JLO \"${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 -e \"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 -e \"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- | tr -d '\\040\\011\\012\\015'`\r\n FORGE=`grep 'FORGEVER' settings.cfg | sed 's\/;\/\/g' | cut -d '=' -f 2- | tr -d '\\040\\011\\012\\015'`\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 FORGE_VERSION=\"${FORGE_VERSION\/\/ \/}\"\r\n \r\n echo -e \"\\nDownloading Forge Version $FORGE_VERSION\\n\"\r\n echo -e \"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 -e \"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 ftb_install {\r\n chmod +x \/mnt\/server\/settings.sh \r\n . \/mnt\/server\/settings.sh \r\n curl https:\/\/s3.amazonaws.com\/Minecraft.Download\/versions\/${MCVER}\/minecraft_server.${MCVER}.jar -o ${JARFILE} \r\n curl https:\/\/libraries.minecraft.net\/${LAUNCHWRAPPER} -o \/mnt\/server\/libraries\/${LAUNCHWRAPPER}\r\n}\r\n\r\ninstall_required\r\nget_download\r\n\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\nelif [ -f \/mnt\/server\/version.json ]; then\r\n if [ \"$(cat \/mnt\/server\/version.json | jq -r '.packID | contains(\"FTB\")')\" == \"true\" ]; then\r\n ftb_install\r\n fi\r\nelse\r\n forge_install\r\n forge_cleanup\r\nfi", + "script": "#!\/bin\/bash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir -p \/mnt\/server\r\nfi\r\n\r\nfunction install_required {\r\n apt update\r\n apt install -y curl jq unzip dos2unix\r\n}\r\n\r\nfunction get_download {\r\n # get json data to work with\r\n echo -e \"Curling the json for the modpack\"\r\n echo -e \"running: curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\"\r\n JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID})\r\n\r\n # if no modpack version is set or is set to latest\r\n if [ -z ${MODPACK_VERSION} ] || [ \"${MODPACK_VERSION}\" = \"latest\" ]; then\r\n echo -e \"Getting latest download url\"\r\n # parse data to get the download url\r\n FILE_ID=$(echo -e ${JSON_DATA} | jq -r .defaultFileId)\r\n echo -e \"File ID is: ${FILE_ID}\"\r\n if [ \"$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .isServerPack\")\" == \"false\" ] && [ \"$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .serverPackFileId\")\" != \"null\" ]; then\r\n FILE_ID=$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .serverPackFileId\")\r\n DOWNLOAD_URL=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/file\/${FILE_ID}\/download-url)\r\n else\r\n DOWNLOAD_URL=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/file\/${FILE_ID}\/download-url)\r\n fi\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n else\r\n echo -e \"Looking for download url for version ${MODPACK_VERSION}\"\r\n # parse files for version match\r\n FILES_JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/files)\r\n # get element number to get the exact location in the json\r\n FILES_JSON_ELEMENT=$(echo -e ${FILES_JSON_DATA} | jq --arg VERSION \"${MODPACK_VERSION}\" '.[] | select(.displayName) | .displayName | contains($VERSION)' | grep -n true | cut -f1 -d: | tail -1)\r\n # if there wasn't a match default to latest\r\n if [ ! -z ${FILES_JSON_ELEMENT} ]; then\r\n echo -e \"No matching version found\"\r\n echo -e \"defaulting to latest\"\r\n DOWNLOAD_URL=$(echo -e ${FILES_JSON_DATA} | jq --arg ELEMENT \"${FILES_JSON_ELEMENT}\" '.[$ELEMENT|tonumber-1] | .downloadUrl')\r\n else\r\n echo -e \"Version match found\"\r\n DOWNLOAD_URL=$(echo -e ${JSON_DATA} | jq -r .latestFiles[0].downloadUrl)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n fi\r\n fi\r\n\r\n ## download modpack files\r\n cd \/mnt\/server\r\n echo \"Executing curl -L ${DOWNLOAD_URL} -o server.zip\"\r\n curl -L \"${DOWNLOAD_URL}\" -o server.zip\r\n unzip -o server.zip\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 if [ -f \/mnt\/server\/*installer.jar ]; then\r\n java -jar *installer.jar --installServer\r\n else\r\n echo \"No forge installer found moving on.\"\r\n fi\r\n mv FTBServer.jar server.jar\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 if [ ! -f \/mnt\/server\/*universal.jar ]; then\r\n mv -v \/mnt\/server\/*\/* \/mnt\/server\/\r\n mv *universal.jar server.jar\r\n else\r\n mv *universal.jar server.jar\r\n fi\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=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${projID}\/file\/${fileID}\/download-url)\r\n # this is saving everything as \/mnt\/server\/mods\/download\r\n echo \"Mod direct url: ${URL}\"\r\n curl -JLO \"${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 -e \"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 -e \"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- | tr -d '\\040\\011\\012\\015'`\r\n FORGE=`grep 'FORGEVER' settings.cfg | sed 's\/;\/\/g' | cut -d '=' -f 2- | tr -d '\\040\\011\\012\\015'`\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 \r\n echo -e \"\\nDownloading Forge Version $FORGE_VERSION\\n\"\r\n echo -e \"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 -e \"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 ftb_install {\r\n chmod +x \/mnt\/server\/settings.sh \r\n . \/mnt\/server\/settings.sh \r\n curl https:\/\/s3.amazonaws.com\/Minecraft.Download\/versions\/${MCVER}\/minecraft_server.${MCVER}.jar -o ${JARFILE} \r\n curl https:\/\/libraries.minecraft.net\/${LAUNCHWRAPPER} -o \/mnt\/server\/libraries\/${LAUNCHWRAPPER}\r\n}\r\n\r\ninstall_required\r\nget_download\r\n\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\nelif [ -f \/mnt\/server\/version.json ]; then\r\n if [ \"$(cat \/mnt\/server\/version.json | jq -r '.packID | contains(\"FTB\")')\" == \"true\" ]; then\r\n ftb_install\r\n fi\r\nelse\r\n forge_install\r\n forge_cleanup\r\nfi", "container": "openjdk:8-jdk-slim", "entrypoint": "bash" } From 1c323283593eb3aba04f0aed29e7606b6a4d8f97 Mon Sep 17 00:00:00 2001 From: Josh Date: Sat, 6 Jun 2020 12:45:17 -0400 Subject: [PATCH 326/413] Added back the echo of the forge version --- .../forge/curseforge-generic/egg-curseforge-generic.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json b/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json index 5029005d..bdce412c 100644 --- a/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json +++ b/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-06-06T12:30:24-04:00", + "exported_at": "2020-06-06T12:43:08-04:00", "name": "Curseforge Generic", "author": "parker@parkervcp.com", "description": "A generic egg for a forge modpack", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir -p \/mnt\/server\r\nfi\r\n\r\nfunction install_required {\r\n apt update\r\n apt install -y curl jq unzip dos2unix\r\n}\r\n\r\nfunction get_download {\r\n # get json data to work with\r\n echo -e \"Curling the json for the modpack\"\r\n echo -e \"running: curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\"\r\n JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID})\r\n\r\n # if no modpack version is set or is set to latest\r\n if [ -z ${MODPACK_VERSION} ] || [ \"${MODPACK_VERSION}\" = \"latest\" ]; then\r\n echo -e \"Getting latest download url\"\r\n # parse data to get the download url\r\n FILE_ID=$(echo -e ${JSON_DATA} | jq -r .defaultFileId)\r\n echo -e \"File ID is: ${FILE_ID}\"\r\n if [ \"$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .isServerPack\")\" == \"false\" ] && [ \"$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .serverPackFileId\")\" != \"null\" ]; then\r\n FILE_ID=$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .serverPackFileId\")\r\n DOWNLOAD_URL=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/file\/${FILE_ID}\/download-url)\r\n else\r\n DOWNLOAD_URL=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/file\/${FILE_ID}\/download-url)\r\n fi\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n else\r\n echo -e \"Looking for download url for version ${MODPACK_VERSION}\"\r\n # parse files for version match\r\n FILES_JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/files)\r\n # get element number to get the exact location in the json\r\n FILES_JSON_ELEMENT=$(echo -e ${FILES_JSON_DATA} | jq --arg VERSION \"${MODPACK_VERSION}\" '.[] | select(.displayName) | .displayName | contains($VERSION)' | grep -n true | cut -f1 -d: | tail -1)\r\n # if there wasn't a match default to latest\r\n if [ ! -z ${FILES_JSON_ELEMENT} ]; then\r\n echo -e \"No matching version found\"\r\n echo -e \"defaulting to latest\"\r\n DOWNLOAD_URL=$(echo -e ${FILES_JSON_DATA} | jq --arg ELEMENT \"${FILES_JSON_ELEMENT}\" '.[$ELEMENT|tonumber-1] | .downloadUrl')\r\n else\r\n echo -e \"Version match found\"\r\n DOWNLOAD_URL=$(echo -e ${JSON_DATA} | jq -r .latestFiles[0].downloadUrl)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n fi\r\n fi\r\n\r\n ## download modpack files\r\n cd \/mnt\/server\r\n echo \"Executing curl -L ${DOWNLOAD_URL} -o server.zip\"\r\n curl -L \"${DOWNLOAD_URL}\" -o server.zip\r\n unzip -o server.zip\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 if [ -f \/mnt\/server\/*installer.jar ]; then\r\n java -jar *installer.jar --installServer\r\n else\r\n echo \"No forge installer found moving on.\"\r\n fi\r\n mv FTBServer.jar server.jar\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 if [ ! -f \/mnt\/server\/*universal.jar ]; then\r\n mv -v \/mnt\/server\/*\/* \/mnt\/server\/\r\n mv *universal.jar server.jar\r\n else\r\n mv *universal.jar server.jar\r\n fi\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=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${projID}\/file\/${fileID}\/download-url)\r\n # this is saving everything as \/mnt\/server\/mods\/download\r\n echo \"Mod direct url: ${URL}\"\r\n curl -JLO \"${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 -e \"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 -e \"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- | tr -d '\\040\\011\\012\\015'`\r\n FORGE=`grep 'FORGEVER' settings.cfg | sed 's\/;\/\/g' | cut -d '=' -f 2- | tr -d '\\040\\011\\012\\015'`\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 \r\n echo -e \"\\nDownloading Forge Version $FORGE_VERSION\\n\"\r\n echo -e \"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 -e \"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 ftb_install {\r\n chmod +x \/mnt\/server\/settings.sh \r\n . \/mnt\/server\/settings.sh \r\n curl https:\/\/s3.amazonaws.com\/Minecraft.Download\/versions\/${MCVER}\/minecraft_server.${MCVER}.jar -o ${JARFILE} \r\n curl https:\/\/libraries.minecraft.net\/${LAUNCHWRAPPER} -o \/mnt\/server\/libraries\/${LAUNCHWRAPPER}\r\n}\r\n\r\ninstall_required\r\nget_download\r\n\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\nelif [ -f \/mnt\/server\/version.json ]; then\r\n if [ \"$(cat \/mnt\/server\/version.json | jq -r '.packID | contains(\"FTB\")')\" == \"true\" ]; then\r\n ftb_install\r\n fi\r\nelse\r\n forge_install\r\n forge_cleanup\r\nfi", + "script": "#!\/bin\/bash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir -p \/mnt\/server\r\nfi\r\n\r\nfunction install_required {\r\n apt update\r\n apt install -y curl jq unzip dos2unix\r\n}\r\n\r\nfunction get_download {\r\n # get json data to work with\r\n echo -e \"Curling the json for the modpack\"\r\n echo -e \"running: curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\"\r\n JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID})\r\n\r\n # if no modpack version is set or is set to latest\r\n if [ -z ${MODPACK_VERSION} ] || [ \"${MODPACK_VERSION}\" = \"latest\" ]; then\r\n echo -e \"Getting latest download url\"\r\n # parse data to get the download url\r\n FILE_ID=$(echo -e ${JSON_DATA} | jq -r .defaultFileId)\r\n echo -e \"File ID is: ${FILE_ID}\"\r\n if [ \"$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .isServerPack\")\" == \"false\" ] && [ \"$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .serverPackFileId\")\" != \"null\" ]; then\r\n FILE_ID=$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .serverPackFileId\")\r\n DOWNLOAD_URL=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/file\/${FILE_ID}\/download-url)\r\n else\r\n DOWNLOAD_URL=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/file\/${FILE_ID}\/download-url)\r\n fi\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n else\r\n echo -e \"Looking for download url for version ${MODPACK_VERSION}\"\r\n # parse files for version match\r\n FILES_JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/files)\r\n # get element number to get the exact location in the json\r\n FILES_JSON_ELEMENT=$(echo -e ${FILES_JSON_DATA} | jq --arg VERSION \"${MODPACK_VERSION}\" '.[] | select(.displayName) | .displayName | contains($VERSION)' | grep -n true | cut -f1 -d: | tail -1)\r\n # if there wasn't a match default to latest\r\n if [ ! -z ${FILES_JSON_ELEMENT} ]; then\r\n echo -e \"No matching version found\"\r\n echo -e \"defaulting to latest\"\r\n DOWNLOAD_URL=$(echo -e ${FILES_JSON_DATA} | jq --arg ELEMENT \"${FILES_JSON_ELEMENT}\" '.[$ELEMENT|tonumber-1] | .downloadUrl')\r\n else\r\n echo -e \"Version match found\"\r\n DOWNLOAD_URL=$(echo -e ${JSON_DATA} | jq -r .latestFiles[0].downloadUrl)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n fi\r\n fi\r\n\r\n ## download modpack files\r\n cd \/mnt\/server\r\n echo \"Executing curl -L ${DOWNLOAD_URL} -o server.zip\"\r\n curl -L \"${DOWNLOAD_URL}\" -o server.zip\r\n unzip -o server.zip\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 if [ -f \/mnt\/server\/*installer.jar ]; then\r\n java -jar *installer.jar --installServer\r\n else\r\n echo \"No forge installer found moving on.\"\r\n fi\r\n mv FTBServer.jar server.jar\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 if [ ! -f \/mnt\/server\/*universal.jar ]; then\r\n mv -v \/mnt\/server\/*\/* \/mnt\/server\/\r\n mv *universal.jar server.jar\r\n else\r\n mv *universal.jar server.jar\r\n fi\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=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${projID}\/file\/${fileID}\/download-url)\r\n # this is saving everything as \/mnt\/server\/mods\/download\r\n echo \"Mod direct url: ${URL}\"\r\n curl -JLO \"${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 -e \"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 -e \"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- | tr -d '\\040\\011\\012\\015'`\r\n FORGE=`grep 'FORGEVER' settings.cfg | sed 's\/;\/\/g' | cut -d '=' -f 2- | tr -d '\\040\\011\\012\\015'`\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 \r\n echo -e ${FORGE_VERSION}\r\n \r\n echo -e \"\\nDownloading Forge Version $FORGE_VERSION\\n\"\r\n echo -e \"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 -e \"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 ftb_install {\r\n chmod +x \/mnt\/server\/settings.sh \r\n . \/mnt\/server\/settings.sh \r\n curl https:\/\/s3.amazonaws.com\/Minecraft.Download\/versions\/${MCVER}\/minecraft_server.${MCVER}.jar -o ${JARFILE} \r\n curl https:\/\/libraries.minecraft.net\/${LAUNCHWRAPPER} -o \/mnt\/server\/libraries\/${LAUNCHWRAPPER}\r\n}\r\n\r\ninstall_required\r\nget_download\r\n\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\nelif [ -f \/mnt\/server\/version.json ]; then\r\n if [ \"$(cat \/mnt\/server\/version.json | jq -r '.packID | contains(\"FTB\")')\" == \"true\" ]; then\r\n ftb_install\r\n fi\r\nelse\r\n forge_install\r\n forge_cleanup\r\nfi", "container": "openjdk:8-jdk-slim", "entrypoint": "bash" } From 1d4a4696fb0ba8f0c533c522c639e30e888635cd Mon Sep 17 00:00:00 2001 From: Ryan Kubiak Date: Sat, 6 Jun 2020 11:29:50 -0700 Subject: [PATCH 327/413] Add egg for Project Zomboid Fixes #252 --- README.md | 1 + steamcmd_servers/README.md | 3 + steamcmd_servers/project_zomboid/README.md | 23 ++++++ .../project_zomboid/egg-project-zomboid.json | 72 +++++++++++++++++++ 4 files changed, 99 insertions(+) create mode 100644 steamcmd_servers/project_zomboid/README.md create mode 100644 steamcmd_servers/project_zomboid/egg-project-zomboid.json diff --git a/README.md b/README.md index 8b92cfc6..e451b6e5 100644 --- a/README.md +++ b/README.md @@ -112,6 +112,7 @@ If you are reading this it looks like you are looking to add an egg to your serv * [Mordhau](/steamcmd_servers/mordhau) * [Onset](/steamcmd_servers/onset) * [PixARK](/steamcmd_servers/pixark/) +* [Project Zomboid](/steamcmd_servers/project_zomboid/) * [Rust Staging Branch](/steamcmd_servers/rust_staging/) * [SCP: Secret Laboratory](/steamcmd_servers/scpsl/) * [dedicated](/steamcmd_servers/scpsl/dedicated/) diff --git a/steamcmd_servers/README.md b/steamcmd_servers/README.md index b57e6dab..19f0f35c 100644 --- a/steamcmd_servers/README.md +++ b/steamcmd_servers/README.md @@ -37,6 +37,9 @@ This is a collection of servers that use steamcmd to install. ## Onset [onset](onset/) +## Project Zomboid +[project_zomboid](project_zomboid/) + ## Rust Staging [rust staging](rust_staging/) diff --git a/steamcmd_servers/project_zomboid/README.md b/steamcmd_servers/project_zomboid/README.md new file mode 100644 index 00000000..9a6c9389 --- /dev/null +++ b/steamcmd_servers/project_zomboid/README.md @@ -0,0 +1,23 @@ +# Project Zomboid + +Project Zomboid is the ultimate in zombie survival. Alone or in MP: you loot, build, craft, fight, farm and fish in a struggle to survive. A hardcore RPG skillset, a vast map, a massively customisable sandbox and a cute tutorial raccoon await the unwary. So how will you die? + +## Server Ports + +Project Zomboid requires one port for Steam and an additional **one port per player**. Additional ports are allocated as they connect. + +For example, when configured with a base allocation of 27016: +``` +Zomboid Steam Server started, ports 27016 and 27016 must be open on the router +Connected new client kubi ID # 0 and assigned DL port 27017 +Connected new client kubi2 ID # 1 and assigned DL port 27018 +``` + +If you're experiencing issues with players connecting it's likely because you have not allocated enough ports. These ports **must be in order** following the Steam port. + +| Port | default | +|-------------|---------| +| Game | 8766 | +| Player1 | 8767 | +| Player2 | 8768 | +| ... | 8769 | diff --git a/steamcmd_servers/project_zomboid/egg-project-zomboid.json b/steamcmd_servers/project_zomboid/egg-project-zomboid.json new file mode 100644 index 00000000..92910441 --- /dev/null +++ b/steamcmd_servers/project_zomboid/egg-project-zomboid.json @@ -0,0 +1,72 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2020-06-06T11:23:23-07:00", + "name": "Project Zomboid", + "author": "iamkubi@gmail.com", + "description": "Project Zomboid is an open world survival horror video game in alpha stage development by British and Canadian independent developer, The Indie Stone. The game is set in a post apocalyptic, zombie infested world where the player is challenged to survive for as long as possible before inevitably dying.", + "image": "quay.io\/pterodactyl\/core:source", + "startup": "\/home\/container\/start-server.sh -port {{SERVER_PORT}} -steamport1 {{STEAM_PORT}} -servername \\\"{{SERVER_NAME}}\\\" -adminusername {{ADMIN_USER}} -adminpassword \"{{ADMIN_PASSWORD}}\"", + "config": { + "files": "{}", + "startup": "{\r\n \"done\": \"SERVER STARTED\",\r\n \"userInteraction\": []\r\n}", + "logs": "{}", + "stop": "^C" + }, + "scripts": { + "installation": { + "script": "apt update\r\napt -y --no-install-recommends install curl unzip lib32gcc1 ca-certificates\r\ncd \/tmp\r\ncurl -sSL -o steamcmd.tar.gz http:\/\/media.steampowered.com\/installer\/steamcmd_linux.tar.gz\r\nmkdir -p \/mnt\/server\/steam\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steam\r\ncd \/mnt\/server\/steam\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n.\/steamcmd.sh +login anonymous +force_install_dir \/mnt\/server +app_update 380870 +quit\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v \/mnt\/server\/steam\/linux32\/steamclient.so \/mnt\/server\/.steam\/sdk32\/steamclient.so", + "container": "debian:buster-slim", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "Server Name", + "description": "Name of the server", + "env_variable": "SERVER_NAME", + "default_value": "Project Zomboid Server", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:64" + }, + { + "name": "Admin Username", + "description": "Username for the admin account", + "env_variable": "ADMIN_USER", + "default_value": "admin", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:20" + }, + { + "name": "Admin Password", + "description": "Password for the admin account", + "env_variable": "ADMIN_PASSWORD", + "default_value": "password", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:32" + }, + { + "name": "SteamPort", + "description": "Sets the SteamPort1 option", + "env_variable": "STEAM_PORT", + "default_value": "8766", + "user_viewable": 1, + "user_editable": 0, + "rules": "required|string|max:20" + }, + { + "name": "Max Players", + "description": "Maximum players to allow", + "env_variable": "MAX_PLAYERS", + "default_value": "10", + "user_viewable": 1, + "user_editable": 0, + "rules": "required|string|max:20" + } + ] +} \ No newline at end of file From c4f627d0260b4c1fa1f5cf8b01b3aee0e66a6569 Mon Sep 17 00:00:00 2001 From: parkervcp Date: Tue, 9 Jun 2020 21:33:43 -0400 Subject: [PATCH 328/413] update terraria version changes from 1.4.0.2 to latest --- terraria/vanilla/egg-terraria-vanilla.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/terraria/vanilla/egg-terraria-vanilla.json b/terraria/vanilla/egg-terraria-vanilla.json index d1c1026f..d4761a28 100644 --- a/terraria/vanilla/egg-terraria-vanilla.json +++ b/terraria/vanilla/egg-terraria-vanilla.json @@ -27,7 +27,7 @@ "name": "Terraria version", "description": "the version of Terraria that is to be used.\r\n\r\nYou can use the full version number or the file number. (ex. 1.3.5.3 or 1353)\r\n\r\nGet version numbers here - https:\/\/terraria.gamepedia.com\/Server#Downloads", "env_variable": "TERRARIA_VERSION", - "default_value": "1.4.0.2", + "default_value": "latest", "user_viewable": 1, "user_editable": 1, "rules": "required|string|max:20" From 0a428199d2496ec328a3f9ae4bbe913e0f6d31e9 Mon Sep 17 00:00:00 2001 From: Exonical Date: Fri, 12 Jun 2020 19:40:32 +0900 Subject: [PATCH 329/413] update contact info --- steamcmd_servers/conan_exiles/egg-conan-exiles.json | 2 +- steamcmd_servers/hurtworld/egg-hurtworld.json | 2 +- steamcmd_servers/squad/egg-squad.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/steamcmd_servers/conan_exiles/egg-conan-exiles.json b/steamcmd_servers/conan_exiles/egg-conan-exiles.json index d0ddf3c0..09168b33 100644 --- a/steamcmd_servers/conan_exiles/egg-conan-exiles.json +++ b/steamcmd_servers/conan_exiles/egg-conan-exiles.json @@ -5,7 +5,7 @@ }, "exported_at": "2018-12-25T20:34:11-05:00", "name": "Conan Exiles", - "author": "brycea@rapidnetworks.org", + "author": "brycea@terrahost.cloud", "description": "Conan Exiles is an open-world survival game set in the brutal lands of Conan the Barbarian. Survive in a savage world, build your kingdom, and dominate your enemies in brutal combat and epic warfare.", "image": "quay.io\/parkervcp\/pterodactyl-images:wine-source", "startup": "wine ConanSandboxServer.exe -log", diff --git a/steamcmd_servers/hurtworld/egg-hurtworld.json b/steamcmd_servers/hurtworld/egg-hurtworld.json index 5db3022f..135369c1 100644 --- a/steamcmd_servers/hurtworld/egg-hurtworld.json +++ b/steamcmd_servers/hurtworld/egg-hurtworld.json @@ -5,7 +5,7 @@ }, "exported_at": "2020-04-16T20:41:27-04:00", "name": "Hurtworld", - "author": "brycea@rapidnetworks.org", + "author": "brycea@terrahost.cloud", "description": "Hurtworld is a hardcore multiplayer survival FPS with a focus on deep survival progression that doesn't become trivial once you establish some basic needs. Built for hardcore gamers, Hurtworld aims to punish.", "image": "quay.io\/parkervcp\/pterodactyl-images:debian_source", "startup": ".\/Hurtworld.x86_64 -batchmode -nographics -exec \"host {{SERVER_PORT}};queryport {{QUERY_PORT}};maxplayers {{MAX_PLAYERS}};servername {{HOSTNAME}};creativemode ${CREATIVE_MODE};${ADMINS}\" -logfile $1", diff --git a/steamcmd_servers/squad/egg-squad.json b/steamcmd_servers/squad/egg-squad.json index 64730158..51a36b6b 100644 --- a/steamcmd_servers/squad/egg-squad.json +++ b/steamcmd_servers/squad/egg-squad.json @@ -5,7 +5,7 @@ }, "exported_at": "2019-10-08T08:47:08-04:00", "name": "Squad", - "author": "brycea@rapidnetworks.org", + "author": "brycea@terrahost.cloud", "description": "Squad is a 50 vs 50 multiplayer first-person shooter that aims to capture combat realism through communication and teamplay. Major features include vehicle-based combined arms gameplay, large scale environments, base building, and integrated positional VoIP for proximity talking & radio.", "image": "quay.io\/pterodactyl\/core:source", "startup": "\/home\/container\/SquadGame\/Binaries\/Linux\/SquadGameServer SquadGame Port={{SERVER_PORT}} QueryPort={{QUERY_PORT}}", From 1d07474a2e110604c3c8ec39f1cc5db531042f25 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Mon, 15 Jun 2020 17:45:16 -0400 Subject: [PATCH 330/413] update match for version resolves #565 --- 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 99cce2a7..be9fe0e1 100644 --- a/bots/discord/jmusicbot/egg-j-music-bot.json +++ b/bots/discord/jmusicbot/egg-j-music-bot.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-02-21T13:00:39-05:00", + "exported_at": "2020-06-15T17:43:44-04:00", "name": "JMusicBot", "author": "parker@parkervcp.com", "description": "A Discord music bot that's easy to set up and run yourself!", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n## this is a simple script to use the github API for release versions.\r\n## this requires the egg has a variable for GITHUB_PACKAGE, VERSION and MATCH (match is to match the filename in some way)\r\n## this supports using oauth\/personal access tokens via GITHUB_USER and GITHUB_OAUTH_TOKEN (both are required.)\r\n## if you are getting hit with GitHub API limit issues then you need to have the user and token set.\r\n\r\napt update\r\napt install -y jq curl\r\n\r\nGITHUB_PACKAGE=\"jagrosh\/MusicBot\"\r\nMATCH=\"All\"\r\n\r\nif [ -z \"${GITHUB_USER}\" ] && [ -z \"${GITHUB_OAUTH_TOKEN}\" ] ; then\r\n echo -e \"using anon api call\"\r\nelse\r\n echo -e \"user and oauth token set\"\r\n alias curl='curl -u ${GITHUB_USER}:${GITHUB_OAUTH_TOKEN} '\r\nfi\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\")\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})\r\n CONFIG_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i config)\r\nelse\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_LINK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i config)\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})\r\n CONFIG_LINK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH})\r\n fi\r\nfi\r\n\r\n[ ! -d \/mnt\/server ] && mkdir \/mnt\/server\r\n\r\ncd \/mnt\/server\r\n\r\nif [ -f JMusicBot.jar ]; then\r\n mv -f JMusicBot.jar JMusicBot.jar-old\r\nfi\r\n\r\ncurl -Lo JMusicBot.jar ${DOWNLOAD_LINK}\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 ${CONFIG_LINK}\r\nfi\r\n\r\necho \"Job's Done\"", + "script": "#!\/bin\/bash\r\n## this is a simple script to use the github API for release versions.\r\n## this requires the egg has a variable for GITHUB_PACKAGE, VERSION and MATCH (match is to match the filename in some way)\r\n## this supports using oauth\/personal access tokens via GITHUB_USER and GITHUB_OAUTH_TOKEN (both are required.)\r\n## if you are getting hit with GitHub API limit issues then you need to have the user and token set.\r\n\r\napt update\r\napt install -y jq curl\r\n\r\nGITHUB_PACKAGE=\"jagrosh\/MusicBot\"\r\nMATCH=\"Linux\"\r\n\r\nif [ -z \"${GITHUB_USER}\" ] && [ -z \"${GITHUB_OAUTH_TOKEN}\" ] ; then\r\n echo -e \"using anon api call\"\r\nelse\r\n echo -e \"user and oauth token set\"\r\n alias curl='curl -u ${GITHUB_USER}:${GITHUB_OAUTH_TOKEN} '\r\nfi\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\")\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})\r\n CONFIG_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i config)\r\nelse\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_LINK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i config)\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})\r\n CONFIG_LINK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH})\r\n fi\r\nfi\r\n\r\n[ ! -d \/mnt\/server ] && mkdir \/mnt\/server\r\n\r\ncd \/mnt\/server\r\n\r\nif [ -f JMusicBot.jar ]; then\r\n mv -f JMusicBot.jar JMusicBot.jar-old\r\nfi\r\n\r\ncurl -Lo JMusicBot.jar ${DOWNLOAD_LINK}\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 ${CONFIG_LINK}\r\nfi\r\n\r\necho \"Job's Done\"", "container": "debian:buster-slim", "entrypoint": "\/bin\/bash" } From 102a816ad8cf5545747a250137fd64bd081c0e77 Mon Sep 17 00:00:00 2001 From: parkervcp Date: Tue, 16 Jun 2020 20:56:09 -0400 Subject: [PATCH 331/413] disable txadmin by default adds a new flag to enable txadmin --- gta/fivem/README.md | 4 +++- gta/fivem/egg-five-m.json | 13 +++++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/gta/fivem/README.md b/gta/fivem/README.md index f9890e71..43a1206c 100644 --- a/gta/fivem/README.md +++ b/gta/fivem/README.md @@ -12,7 +12,9 @@ The `FIVEM_VERSION` variable. The `DOWNLOAD_URL` only needs to be used if they turn on ddos protection. The variable needs to point to a `fx.tar.xz` file as I am too lazy to update the entire script. # txAdmin -The last update to the egg changes the server to use txadmin to run. All starting and stopping of the server is now managed via txadmin. On first startup it will print a key to use to sign into the txadmin panel. +TxAdmin is now supported and disabled by default. You set `TXADMIN_ENABLED` to `1` to enable it. + +The last update to the egg changes the server to use txadmin to run. On first startup it will print a key to use to sign into the txadmin panel. ### Your server will not go online until it's started from txadmin. diff --git a/gta/fivem/egg-five-m.json b/gta/fivem/egg-five-m.json index dd86df52..7556196a 100644 --- a/gta/fivem/egg-five-m.json +++ b/gta/fivem/egg-five-m.json @@ -3,12 +3,12 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-06-02T20:14:32-04:00", + "exported_at": "2020-06-16T20:54:01-04:00", "name": "FiveM", "author": "parker@parkervcp.com", "description": "A new FiveM egg for the latest builds due to recent changes in FiveM", "image": "quay.io\/parkervcp\/pterodactyl-images:base_alpine", - "startup": "$(pwd)\/alpine\/opt\/cfx-server\/ld-musl-x86_64.so.1 --library-path \"$(pwd)\/alpine\/usr\/lib\/v8\/:$(pwd)\/alpine\/lib\/:$(pwd)\/alpine\/usr\/lib\/\" -- $(pwd)\/alpine\/opt\/cfx-server\/FXServer +set citizen_dir $(pwd)\/alpine\/opt\/cfx-server\/citizen\/ +set sv_licenseKey {{FIVEM_LICENSE}} +set steam_webApiKey {{STEAM_WEBAPIKEY}} +set sv_maxplayers {{MAX_PLAYERS}} +set serverProfile default +set txAdminPort {{TXADMIN_PORT}}", + "startup": "$(pwd)\/alpine\/opt\/cfx-server\/ld-musl-x86_64.so.1 --library-path \"$(pwd)\/alpine\/usr\/lib\/v8\/:$(pwd)\/alpine\/lib\/:$(pwd)\/alpine\/usr\/lib\/\" -- $(pwd)\/alpine\/opt\/cfx-server\/FXServer +set citizen_dir $(pwd)\/alpine\/opt\/cfx-server\/citizen\/ +set sv_licenseKey {{FIVEM_LICENSE}} +set steam_webApiKey {{STEAM_WEBAPIKEY}} +set sv_maxplayers {{MAX_PLAYERS}} +set serverProfile default +set txAdminPort {{TXADMIN_PORT}} $( (( TXADMIN_ENABLE == 1 )) || printf %s '+exec server.cfg' )", "config": { "files": "{\r\n \"server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"endpoint_add_tcp\": \"endpoint_add_tcp \\\"0.0.0.0:{{server.build.default.port}}\\\"\",\r\n \"endpoint_add_udp\": \"endpoint_add_udp \\\"0.0.0.0:{{server.build.default.port}}\\\"\",\r\n \"sv_hostname\": \"sv_hostname \\\"{{server.build.env.SERVER_HOSTNAME}}\\\"\",\r\n \"set sv_licenseKey\": \"set sv_licenseKey {{server.build.env.FIVEM_LICENSE}}\",\r\n \"set steam_webApiKey\": \"set steam_webApiKey {{server.build.env.STEAM_WEBAPIKEY}}\",\r\n \"sv_maxclients\": \"sv_maxclients {{server.build.env.MAX_PLAYERS}}\"\r\n }\r\n }\r\n}", "startup": "{\r\n \"done\": \"succeeded. Welcome!\"\r\n}", @@ -85,6 +85,15 @@ "user_viewable": 1, "user_editable": 0, "rules": "required|string|max:20" + }, + { + "name": "Enable txadmin", + "description": "Enables txadmin.\r\n\r\nset to 1 to enable. (default is 0 for false)", + "env_variable": "TXADMIN_ENABLE", + "default_value": "0", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|bool" } ] } \ No newline at end of file From 4c0399887d3059af9165b00e576fd73006c9f35c Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sat, 20 Jun 2020 11:38:53 -0400 Subject: [PATCH 332/413] update typhoon limbo moved from alpine to debian based updated to go 1.14 --- minecraft_proxy/typhoonlimbo/egg-typhoon-limbo.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/minecraft_proxy/typhoonlimbo/egg-typhoon-limbo.json b/minecraft_proxy/typhoonlimbo/egg-typhoon-limbo.json index b24d5d72..e19feef8 100644 --- a/minecraft_proxy/typhoonlimbo/egg-typhoon-limbo.json +++ b/minecraft_proxy/typhoonlimbo/egg-typhoon-limbo.json @@ -3,11 +3,11 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-07-15T23:01:54-04:00", + "exported_at": "2020-06-20T11:37:02-04:00", "name": "TyphoonLimbo", "author": "parker@parkervcp.com", "description": "Lightweight minecraft limbo server", - "image": "quay.io\/parkervcp\/pterodactyl-images:base_alpine", + "image": "quay.io\/parkervcp\/pterodactyl-images:base_debian", "startup": "`sleep 2 && .\/TyphoonLimbo`", "config": { "files": "{\r\n \"config.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"listen_address\": \":{{server.build.default.port}}\"\r\n }\r\n }\r\n}", @@ -17,9 +17,9 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/ash\r\n# TyphoonLimbo Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nexport GOPATH=$HOME\/go\r\nexport PATH=$GOROOT\/bin:$GOPATH\/bin:$PATH\r\n\r\napk add --no-cache --update git curl\r\n\r\ncd \/tmp\/\r\n\r\necho \"pulling the TyphoonLimbo pterodactyl branch\"\r\n\r\ngit clone https:\/\/github.com\/TyphoonMC\/TyphoonLimbo.git\r\ncd TyphoonLimbo\r\n\r\ngo get github.com\/TyphoonMC\/TyphoonCore\r\n\r\necho -e \"building TyphoonLimbo\"\r\ngo build\r\n\r\nmv TyphoonLimbo \/mnt\/server\/\r\n\r\nif [ -f \/mnt\/server\/config.json ]; then\r\n\techo -e \"config exists nothing to do\"\r\nelse\r\n\techo -e \"copying default config over\"\r\n\tcp config.json \/mnt\/server\/\r\nfi\r\n\r\necho -e \"install complete\"", - "container": "golang:1.12-alpine", - "entrypoint": "ash" + "script": "#!\/bin\/bash\r\n# TyphoonLimbo Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nexport GOPATH=$HOME\/go\r\nexport PATH=$GOROOT\/bin:$GOPATH\/bin:$PATH\r\n\r\napt update\r\napt install -y git curl\r\n\r\ncd \/tmp\/\r\n\r\necho \"pulling the TyphoonLimbo pterodactyl branch\"\r\n\r\ngit clone https:\/\/github.com\/TyphoonMC\/TyphoonLimbo.git\r\ncd TyphoonLimbo\r\n\r\ngo get github.com\/TyphoonMC\/TyphoonCore\r\n\r\necho -e \"building TyphoonLimbo\"\r\ngo build\r\n\r\nmv TyphoonLimbo \/mnt\/server\/\r\n\r\nif [ -f \/mnt\/server\/config.json ]; then\r\n\techo -e \"config exists nothing to do\"\r\nelse\r\n\techo -e \"copying default config over\"\r\n\tcp config.json \/mnt\/server\/\r\nfi\r\n\r\necho -e \"install complete\"", + "container": "golang:1.14-buster", + "entrypoint": "bash" } }, "variables": [] From 6518c8adda0e7480f482f4e6241cc29b1241ae75 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sat, 20 Jun 2020 12:37:22 -0400 Subject: [PATCH 333/413] update for bastion v8 adds mongo to the main image and uses it in the server. --- bots/discord/bastion/egg-bastion.json | 57 ++++++++++++++++++++------- 1 file changed, 42 insertions(+), 15 deletions(-) diff --git a/bots/discord/bastion/egg-bastion.json b/bots/discord/bastion/egg-bastion.json index 4355f1d8..3ba87287 100644 --- a/bots/discord/bastion/egg-bastion.json +++ b/bots/discord/bastion/egg-bastion.json @@ -3,35 +3,26 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-05-06T23:13:44-04:00", + "exported_at": "2020-06-20T12:36:24-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": "\"rmv() { echo -e \"stopping nodejs\"; for i in $(pgrep node); do kill $i; done; echo -e \"stopping mongo\"; mongo --eval \\\"db.getSiblingDB('admin').shutdownServer()\\\" ; }; trap \\'echo -e \\\"ctrl-c caught\\\" && rmv\\'; mongod --fork --dbpath \/home\/container\/mongodb\/ --port 27017 --logpath \/home\/container\/mongod.log && until nc -z -v -w5 127.0.0.1 27017; do echo 'Waiting for mongodb connection...'; sleep 5; done && yarn start\"", "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.yaml\": {\r\n \"parser\": \"yaml\",\r\n \"find\": {\r\n \"token\": \"{{server.build.env.BOT_TOKEN}}\"\r\n }\r\n },\r\n \"settings\/configurations.yaml\": {\r\n \"parser\": \"yaml\",\r\n \"find\": {\r\n \"presence.status\": \"{{server.build.env.STATUS}}\",\r\n \"presence.activity.type\": \"{{server.build.env.ACTIVITY}}\",\r\n \"presence.activity.name\": \"{{server.build.env.PLAYING}}\",\r\n \"presence.activity.url\": \"{{server.build.env.STREAM_URL}}\"\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\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" + "script": "#!\/bin\/bash\r\n# Bastion Bot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n## Move to install folder\r\ncd \/mnt\/server\/\r\n\r\n## Clone repo\r\ngit clone -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\r\n\r\n## make folders for mongodb\r\nmkdir mongodb\/", + "container": "node:12-buster", + "entrypoint": "bash" } }, "variables": [ - { - "name": "Bot ID", - "description": "The Bot ID you get from https:\/\/discordapp.com\/developers\/applications\/", - "env_variable": "BOT_ID", - "default_value": "GETABOTID", - "user_viewable": 1, - "user_editable": 1, - "rules": "required|string|max:32" - }, { "name": "Bot Token", "description": "The Bot ID you get from https:\/\/discordapp.com\/developers\/applications\/", @@ -40,6 +31,42 @@ "user_viewable": 1, "user_editable": 1, "rules": "required|string|max:64" + }, + { + "name": "Bot Status", + "description": "valid values are `online`, `idle`, `dnd` and `invisible`", + "env_variable": "STATUS", + "default_value": "online", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:20" + }, + { + "name": "Activity Type", + "description": "valid options are `PLAYING`, `LISTENING`, `WATCHING` and `STREAMING`", + "env_variable": "ACTIVITY", + "default_value": "PLAYING", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:9" + }, + { + "name": "ACTIVITY", + "description": "What the bot is doing", + "env_variable": "PLAYING", + "default_value": "on a pterodactyl server", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:64" + }, + { + "name": "Stream URL", + "description": "If the bot activity is set to `STREAMING`", + "env_variable": "STREAM_URL", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "nullable|string|max:64" } ] } \ No newline at end of file From 5845d140b89fb02e22868a856f731ef5603a4694 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sat, 20 Jun 2020 13:12:36 -0400 Subject: [PATCH 334/413] fix startup and update readme fix catching the startup correctly updates the readme for the intents issue. --- bots/discord/bastion/README.md | 4 ++++ bots/discord/bastion/egg-bastion.json | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/bots/discord/bastion/README.md b/bots/discord/bastion/README.md index c57d5814..1dc840db 100644 --- a/bots/discord/bastion/README.md +++ b/bots/discord/bastion/README.md @@ -5,5 +5,9 @@ Give awesome perks to your Discord server! ### Install notes Due to rate limiting the console on the panel cannot keep up with the game console and the build will complete before the panel console may show it. Reloading the console will load it to the latest part of the log. +## Running the bot +You need to enable both `Privileged Gateway Intents` for the bot to run. +Enable this from `https://discord.com/developers/applications//bot` + ### Server Ports No Ports are required for the bastion bot. \ No newline at end of file diff --git a/bots/discord/bastion/egg-bastion.json b/bots/discord/bastion/egg-bastion.json index 3ba87287..5a298b10 100644 --- a/bots/discord/bastion/egg-bastion.json +++ b/bots/discord/bastion/egg-bastion.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-06-20T12:36:24-04:00", + "exported_at": "2020-06-20T13:11:43-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.", @@ -11,7 +11,7 @@ "startup": "\"rmv() { echo -e \"stopping nodejs\"; for i in $(pgrep node); do kill $i; done; echo -e \"stopping mongo\"; mongo --eval \\\"db.getSiblingDB('admin').shutdownServer()\\\" ; }; trap \\'echo -e \\\"ctrl-c caught\\\" && rmv\\'; mongod --fork --dbpath \/home\/container\/mongodb\/ --port 27017 --logpath \/home\/container\/mongod.log && until nc -z -v -w5 127.0.0.1 27017; do echo 'Waiting for mongodb connection...'; sleep 5; done && yarn start\"", "config": { "files": "{\r\n \"settings\/credentials.yaml\": {\r\n \"parser\": \"yaml\",\r\n \"find\": {\r\n \"token\": \"{{server.build.env.BOT_TOKEN}}\"\r\n }\r\n },\r\n \"settings\/configurations.yaml\": {\r\n \"parser\": \"yaml\",\r\n \"find\": {\r\n \"presence.status\": \"{{server.build.env.STATUS}}\",\r\n \"presence.activity.type\": \"{{server.build.env.ACTIVITY}}\",\r\n \"presence.activity.name\": \"{{server.build.env.PLAYING}}\",\r\n \"presence.activity.url\": \"{{server.build.env.STREAM_URL}}\"\r\n }\r\n }\r\n}", - "startup": "{\r\n \"done\": \"I'm ready to roll!\"\r\n}", + "startup": "{\r\n \"done\": \"Systems Ready!\"\r\n}", "logs": "{}", "stop": "^C" }, From 435da98292eb9da22f2bc11f7d51f72c4339ed56 Mon Sep 17 00:00:00 2001 From: dexslab Date: Tue, 23 Jun 2020 15:18:34 -0400 Subject: [PATCH 335/413] Change image for alt:V to allow csharp module to work and keep description from being null --- gta/altv/egg-alt--v.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gta/altv/egg-alt--v.json b/gta/altv/egg-alt--v.json index 944fdd7d..eb30f47e 100644 --- a/gta/altv/egg-alt--v.json +++ b/gta/altv/egg-alt--v.json @@ -7,8 +7,8 @@ "name": "alt:V", "author": "parker@parkervcp.com", "description": "alt:V Multiplayer a third-party multiplayer modification for Grand Theft Auto: V", - "image": "quay.io\/parkervcp\/pterodactyl-images:base_debian", - "startup": "sleep 2 && .\/altv-server", + "image": "quay.io/parkervcp/pterodactyl-images:debian_dotnet", + "startup": "sleep 2 && ./altv-server", "config": { "files": "{\r\n \"server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"host:\": \"host: 0.0.0.0\",\r\n \"port:\": \"port: {{server.build.default.port}}\",\r\n \"password:\": \"password: {{server.build.env.PASSWORD}}\",\r\n \"description:\": \"description: {{server.build.env.SERVER_DESC}}\"\r\n }\r\n }\r\n}", "startup": "{\r\n \"done\": \"Server started\"\r\n}", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# AltV Install Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# BUILD=stable ## this should be an egg variable.\r\nBASE_URL=\"https:\/\/cdn.altv.mp\/\" ## Where the files are stored.\r\n\r\n## install required dependancies.\r\nfunction install_deps () {\r\n apt update\r\n apt install -y libatomic1 zip unzip jq curl wget\r\n echo -e \"deps installed\"\r\n echo -e\r\n}\r\n\r\n## check the has on files and compare to a remote source.\r\n## usage 'check_hash \"file\" \"remote_hash_source\"'\r\nfunction check_hash () {\r\n echo -e \"Checking for file ${1}\"\r\n echo -e \"running: curl -sSL ${2} | jq -r --arg FILENAME \\\"${3}\\\" '.hashList | .[\\$FILENAME]'\"\r\n hash=$(curl -sSL ${2} | jq -r --arg FILENAME ${3} '.hashList | .[$FILENAME]')\r\n echo -e \"hash: $hash\"\r\n\r\n if [ -f ${2} ]; then\r\n\r\n echo -e \"hash is $(sha1sum ${1} | awk '{ print $1 }')\"\r\n echo -e \"current has is ${hash}\"\r\n\r\n if [ \"$(sha1sum ${2} | awk '{ print $1 }')\" == \"${hash}\" ]; then\r\n echo -e \"Hash matched\"\r\n echo -e \"No need to download new file.\"\r\n return 0\r\n else\r\n echo -e \"Hash didn't match\"\r\n echo -e \"Need to download the correct version\"\r\n return 1\r\n fi\r\n else\r\n echo \"No file found\"\r\n return 1\r\n fi\r\n}\r\n\r\n## makes sure a download link is valid.\r\nfunction validate_download () {\r\n DOWNLOAD_URL=${1}\r\n\r\n echo -e \"Download url is ${DOWNLOAD_URL}\"\r\n\r\n if [ ! -z \"${DOWNLOAD_URL}\" ]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_URL}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n DOWNLOAD_LINK=${DOWNLOAD_URL}\r\n else \r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\n fi\r\n\r\n}\r\n\r\nfunction download_files () {\r\n ## validate download link and get files\r\n validate_download ${1}\r\n echo -e \"running wget ${DOWNLOAD_URL} -O ${2}\"\r\n wget ${DOWNLOAD_URL} -O ${2}\r\n}\r\n\r\n## This is a file array for files to get downloaded.\r\n## They are all comma separated lists.\r\n## remote folder (0), json file with hashes (1), file name in json file (2), file name (3), file folder (4), extra commands (5)\r\nfile_array=( \\\r\n\"server\/${BUILD}\/x64_linux\/\",\"update.json\",\"altv-server\",\"altv-server\",\/mnt\/server\/,execute \\\r\n\"server\/${BUILD}\/x64_linux\/\",\"update.json\",\"data\/vehmodels.bin\",\"vehmodels.bin\",\/mnt\/server\/data\/ \\\r\n\"server\/${BUILD}\/x64_linux\/\",\"update.json\",\"data\/vehmods.bin\",\"vehmods.bin\",\/mnt\/server\/data\/ \\\r\n\"others\/\",,\"server.cfg\",server.cfg,\/mnt\/server\/ \\\r\n\"node-module\/${BUILD}\/x64_linux\/\",\"update.json\",\"libnode.so.72\",\"libnode.so.72\",\/mnt\/server\/ \\\r\n\"node-module\/${BUILD}\/x64_linux\/\",\"update.json\",\"modules\/libnode-module.so\",\"libnode-module.so\",\/mnt\/server\/modules\/ \\\r\n\"coreclr-module\/${BUILD}\/x64_linux\/\",,\"AltV.Net.Host.dll\",\"AltV.Net.Host.dll\",\/mnt\/server\/ \\\r\n\"coreclr-module\/${BUILD}\/x64_linux\/\",,\"AltV.Net.Host.runtimeconfig.json\",\"AltV.Net.Host.runtimeconfig.json\",\/mnt\/server\/ \\\r\n\"coreclr-module\/stable\/x64_linux\/\",\"update.json\",\"modules\/libcsharp-module.so\",\"libcsharp-module.so\",\/mnt\/server\/modules\/ \\\r\n\"samples\/\",,\"resources.zip\",\"resources.zip\",\/mnt\/server\/,unzip \\\r\n)\r\n\r\ninstall_deps\r\n\r\n## this goes through each value in the array and then checks the hash\r\nfor EACH in ${file_array[@]}\r\ndo\r\n ## this needs to be here to break apart the arrays.\r\n IFS=',' read -r -a array <<< \"$EACH\"\r\n\r\n if [ ! -z \"${array[1]}\" ]; then\r\n ## check hash on 'folder\/file' with 'remote file base url\/remote folder\/ json file' 'json file name' \r\n if check_hash \"${array[4]}${array[3]}\" \"${BASE_URL}${array[0]}${array[1]}\" \"${array[2]}\"; then\r\n echo -e \"file up to date\"\r\n else\r\n echo -e \"downloading most recent file\"\r\n fi\r\n ## make the directory if it doesn't exist.\r\n if [ ! -d ${array[4]} ]; then\r\n mkdir ${array[4]}\r\n fi\r\n download_files \"${BASE_URL}${array[0]}${array[2]}\" \"${array[4]}${array[3]}\"\r\n else\r\n ## make the directory if it doesn't exist.\r\n if [ ! -d ${array[4]} ]; then\r\n mkdir ${array[4]}\r\n fi\r\n download_files \"${BASE_URL}${array[0]}${array[2]}\" \"${array[4]}${array[3]}\"\r\n fi\r\n\r\n ## run extra commands if needed.\r\n case ${array[5]} in\r\n unzip)\r\n cd ${array[4]}\r\n unzip -o ${array[3]}\r\n rm ${array[3]}\r\n ;;\r\n execute)\r\n chmod +x ${array[4]}${array[3]}\r\n ;;\r\n esac\r\n\r\n# echo -e \"HashFile: ${BASE_URL}${array[0]}${array[1]}\"\r\n# echo -e \"Download URL ${BASE_URL}${array[0]}${array[2]}\"\r\n# echo -e \"Filename ${array[3]}\"\r\n# echo -e \"File Folder ${array[4]}\"\r\n# echo -e \"commands to run ${array[5]}\"\r\n# echo -e\r\ndone\r\n\r\necho -e \"install complete\"", + "script": "#!/bin/bash\r\n# AltV Install Script\r\n#\r\n# Server Files: /mnt/server\r\n# BUILD=stable ## this should be an egg variable.\r\nBASE_URL=\"https://cdn.altv.mp/\" ## Where the files are stored.\r\n\r\n## install required dependancies.\r\nfunction install_deps () {\r\n apt update\r\n apt install -y libatomic1 zip unzip jq curl wget\r\n echo -e \"deps installed\"\r\n echo -e\r\n}\r\n\r\n## check the has on files and compare to a remote source.\r\n## usage 'check_hash \"file\" \"remote_hash_source\"'\r\nfunction check_hash () {\r\n echo -e \"Checking for file ${1}\"\r\n echo -e \"running: curl -sSL ${2} | jq -r --arg FILENAME \\\"${3}\\\" '.hashList | .[\\$FILENAME]'\"\r\n hash=$(curl -sSL ${2} | jq -r --arg FILENAME ${3} '.hashList | .[$FILENAME]')\r\n echo -e \"hash: $hash\"\r\n\r\n if [ -f ${2} ]; then\r\n\r\n echo -e \"hash is $(sha1sum ${1} | awk '{ print $1 }')\"\r\n echo -e \"current has is ${hash}\"\r\n\r\n if [ \"$(sha1sum ${2} | awk '{ print $1 }')\" == \"${hash}\" ]; then\r\n echo -e \"Hash matched\"\r\n echo -e \"No need to download new file.\"\r\n return 0\r\n else\r\n echo -e \"Hash didn't match\"\r\n echo -e \"Need to download the correct version\"\r\n return 1\r\n fi\r\n else\r\n echo \"No file found\"\r\n return 1\r\n fi\r\n}\r\n\r\n## makes sure a download link is valid.\r\nfunction validate_download () {\r\n DOWNLOAD_URL=${1}\r\n\r\n echo -e \"Download url is ${DOWNLOAD_URL}\"\r\n\r\n if [ ! -z \"${DOWNLOAD_URL}\" ]; then \r\n if curl --output /dev/null --silent --head --fail ${DOWNLOAD_URL}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n DOWNLOAD_LINK=${DOWNLOAD_URL}\r\n else \r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\n fi\r\n\r\n}\r\n\r\nfunction download_files () {\r\n ## validate download link and get files\r\n validate_download ${1}\r\n echo -e \"running wget ${DOWNLOAD_URL} -O ${2}\"\r\n wget ${DOWNLOAD_URL} -O ${2}\r\n}\r\n\r\n## This is a file array for files to get downloaded.\r\n## They are all comma separated lists.\r\n## remote folder (0), json file with hashes (1), file name in json file (2), file name (3), file folder (4), extra commands (5)\r\nfile_array=( \\\r\n\"server/${BUILD}/x64_linux/\",\"update.json\",\"altv-server\",\"altv-server\",/mnt/server/,execute \\\r\n\"server/${BUILD}/x64_linux/\",\"update.json\",\"data/vehmodels.bin\",\"vehmodels.bin\",/mnt/server/data/ \\\r\n\"server/${BUILD}/x64_linux/\",\"update.json\",\"data/vehmods.bin\",\"vehmods.bin\",/mnt/server/data/ \\\r\n\"others/\",,\"server.cfg\",server.cfg,/mnt/server/ \\\r\n\"node-module/${BUILD}/x64_linux/\",\"update.json\",\"libnode.so.72\",\"libnode.so.72\",/mnt/server/ \\\r\n\"node-module/${BUILD}/x64_linux/\",\"update.json\",\"modules/libnode-module.so\",\"libnode-module.so\",/mnt/server/modules/ \\\r\n\"coreclr-module/${BUILD}/x64_linux/\",,\"AltV.Net.Host.dll\",\"AltV.Net.Host.dll\",/mnt/server/ \\\r\n\"coreclr-module/${BUILD}/x64_linux/\",,\"AltV.Net.Host.runtimeconfig.json\",\"AltV.Net.Host.runtimeconfig.json\",/mnt/server/ \\\r\n\"coreclr-module/stable/x64_linux/\",\"update.json\",\"modules/libcsharp-module.so\",\"libcsharp-module.so\",/mnt/server/modules/ \\\r\n\"samples/\",,\"resources.zip\",\"resources.zip\",/mnt/server/,unzip \\\r\n)\r\n\r\ninstall_deps\r\n\r\n## this goes through each value in the array and then checks the hash\r\nfor EACH in ${file_array[@]}\r\ndo\r\n ## this needs to be here to break apart the arrays.\r\n IFS=',' read -r -a array <<< \"$EACH\"\r\n\r\n if [ ! -z \"${array[1]}\" ]; then\r\n ## check hash on 'folder/file' with 'remote file base url/remote folder/ json file' 'json file name' \r\n if check_hash \"${array[4]}${array[3]}\" \"${BASE_URL}${array[0]}${array[1]}\" \"${array[2]}\"; then\r\n echo -e \"file up to date\"\r\n else\r\n echo -e \"downloading most recent file\"\r\n fi\r\n ## make the directory if it doesn't exist.\r\n if [ ! -d ${array[4]} ]; then\r\n mkdir ${array[4]}\r\n fi\r\n download_files \"${BASE_URL}${array[0]}${array[2]}\" \"${array[4]}${array[3]}\"\r\n else\r\n ## make the directory if it doesn't exist.\r\n if [ ! -d ${array[4]} ]; then\r\n mkdir ${array[4]}\r\n fi\r\n download_files \"${BASE_URL}${array[0]}${array[2]}\" \"${array[4]}${array[3]}\"\r\n fi\r\n\r\n ## run extra commands if needed.\r\n case ${array[5]} in\r\n unzip)\r\n cd ${array[4]}\r\n unzip -o ${array[3]}\r\n rm ${array[3]}\r\n ;;\r\n execute)\r\n chmod +x ${array[4]}${array[3]}\r\n ;;\r\n esac\r\n\r\n# echo -e \"HashFile: ${BASE_URL}${array[0]}${array[1]}\"\r\n# echo -e \"Download URL ${BASE_URL}${array[0]}${array[2]}\"\r\n# echo -e \"Filename ${array[3]}\"\r\n# echo -e \"File Folder ${array[4]}\"\r\n# echo -e \"commands to run ${array[5]}\"\r\n# echo -e\r\ndone\r\n\r\necho -e \"install complete\"", "container": "debian:buster-slim", "entrypoint": "bash" } @@ -57,7 +57,7 @@ "default_value": "A Pterodactyl Hosted Server", "user_viewable": 1, "user_editable": 1, - "rules": "nullable|string" + "rules": "required|string" } ] -} \ No newline at end of file +} From 47ca01dab220811ab753a38d226196d7a00be436 Mon Sep 17 00:00:00 2001 From: parkervcp Date: Wed, 24 Jun 2020 18:51:32 -0400 Subject: [PATCH 336/413] update start command for fivem fixes the txadmin flag. --- gta/fivem/egg-five-m.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gta/fivem/egg-five-m.json b/gta/fivem/egg-five-m.json index 7556196a..5e254dad 100644 --- a/gta/fivem/egg-five-m.json +++ b/gta/fivem/egg-five-m.json @@ -3,12 +3,12 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-06-16T20:54:01-04:00", + "exported_at": "2020-06-24T18:49:06-04:00", "name": "FiveM", "author": "parker@parkervcp.com", "description": "A new FiveM egg for the latest builds due to recent changes in FiveM", "image": "quay.io\/parkervcp\/pterodactyl-images:base_alpine", - "startup": "$(pwd)\/alpine\/opt\/cfx-server\/ld-musl-x86_64.so.1 --library-path \"$(pwd)\/alpine\/usr\/lib\/v8\/:$(pwd)\/alpine\/lib\/:$(pwd)\/alpine\/usr\/lib\/\" -- $(pwd)\/alpine\/opt\/cfx-server\/FXServer +set citizen_dir $(pwd)\/alpine\/opt\/cfx-server\/citizen\/ +set sv_licenseKey {{FIVEM_LICENSE}} +set steam_webApiKey {{STEAM_WEBAPIKEY}} +set sv_maxplayers {{MAX_PLAYERS}} +set serverProfile default +set txAdminPort {{TXADMIN_PORT}} $( (( TXADMIN_ENABLE == 1 )) || printf %s '+exec server.cfg' )", + "startup": "$(pwd)\/alpine\/opt\/cfx-server\/ld-musl-x86_64.so.1 --library-path \"$(pwd)\/alpine\/usr\/lib\/v8\/:$(pwd)\/alpine\/lib\/:$(pwd)\/alpine\/usr\/lib\/\" -- $(pwd)\/alpine\/opt\/cfx-server\/FXServer +set citizen_dir $(pwd)\/alpine\/opt\/cfx-server\/citizen\/ +set sv_licenseKey {{FIVEM_LICENSE}} +set steam_webApiKey {{STEAM_WEBAPIKEY}} +set sv_maxplayers {{MAX_PLAYERS}} +set serverProfile default +set txAdminPort {{TXADMIN_PORT}} $( [ \"$TXADMIN_ENABLE\" == \"1\" ] || printf %s '+exec server.cfg' )", "config": { "files": "{\r\n \"server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"endpoint_add_tcp\": \"endpoint_add_tcp \\\"0.0.0.0:{{server.build.default.port}}\\\"\",\r\n \"endpoint_add_udp\": \"endpoint_add_udp \\\"0.0.0.0:{{server.build.default.port}}\\\"\",\r\n \"sv_hostname\": \"sv_hostname \\\"{{server.build.env.SERVER_HOSTNAME}}\\\"\",\r\n \"set sv_licenseKey\": \"set sv_licenseKey {{server.build.env.FIVEM_LICENSE}}\",\r\n \"set steam_webApiKey\": \"set steam_webApiKey {{server.build.env.STEAM_WEBAPIKEY}}\",\r\n \"sv_maxclients\": \"sv_maxclients {{server.build.env.MAX_PLAYERS}}\"\r\n }\r\n }\r\n}", "startup": "{\r\n \"done\": \"succeeded. Welcome!\"\r\n}", From 28da8b12736a79599bf5c52ccd9cc5099a49a551 Mon Sep 17 00:00:00 2001 From: parkervcp Date: Thu, 25 Jun 2020 09:30:28 -0400 Subject: [PATCH 337/413] update tmodloader installer --- terraria/tmodloader/egg-t-modloader.json | 26 ++++-------------------- 1 file changed, 4 insertions(+), 22 deletions(-) diff --git a/terraria/tmodloader/egg-t-modloader.json b/terraria/tmodloader/egg-t-modloader.json index c18d8edb..f75de63a 100644 --- a/terraria/tmodloader/egg-t-modloader.json +++ b/terraria/tmodloader/egg-t-modloader.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-12-08T11:10:18-05:00", + "exported_at": "2020-06-25T09:29:23-04:00", "name": "tModloader", "author": "parker@parkervcp.com", "description": "tModLoader is essentially a mod that provides a way to load your own mods without having to work directly with Terraria's source code itself. This means you can easily make mods that are compatible with other people's mods, save yourself the trouble of having to decompile and recompile Terraria.exe, and escape from having to understand all of the obscure \"intricacies\" of Terraria's source code. It is made to work for Terraria 1.3+.", @@ -17,9 +17,9 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# Vanilla tModloader Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n## install packages to get version and download links\r\napk add --no-cache curl wget jq file unzip\r\n\r\nif [ -z \"$GITHUB_USER\" ] && [ -z \"$GITHUB_OAUTH_TOKEN\" ] ; then\r\n echo -e \"using anon api call\"\r\nelse\r\n echo -e \"user and oauth token set\"\r\n alias curl='curl -u $GITHUB_USER:$GITHUB_OAUTH_TOKEN '\r\nfi\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/$GITHUB_PACKAGE\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/$GITHUB_PACKAGE\/releases\")\r\n\r\nif [ -z \"$VERSION\" ] || [ \"$VERSION\" == \"latest\" ]; then\r\n DOWNLOAD_LINK=$(echo $LATEST_JSON | jq .assets | jq -r .[].browser_download_url | grep -i linux)\r\nelse\r\n VERSION_CHECK=$(echo $RELEASES | jq -r --arg VERSION \"$VERSION\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"$VERSION\" == \"$VERSION_CHECK\" ]; then\r\n DOWNLOAD_LINK=$(echo $RELEASES | jq -r --arg VERSION \"$VERSION\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i linux)\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_LINK=$(echo $LATEST_JSON | jq .assets | jq -r .[].browser_download_url | grep -i linux)\r\n fi\r\nfi\r\n\r\n## clean terraria version\r\nCLEAN_VERSION=$(echo ${TERRARIA_VERSION} | sed 's\/\\.\/\/g')\r\n\r\n## mkdir and cd to \/mnt\/server\/\r\nmkdir -p \/mnt\/server\r\n\r\ncd \/mnt\/server\r\n\r\n## download release\r\necho -e \"running: wget $DOWNLOAD_LINK\"\r\nwget $DOWNLOAD_LINK\r\n\r\nFILETYPE=$(file -F ',' ${DOWNLOAD_LINK##*\/} | cut -d',' -f2 | cut -d' ' -f2)\r\nif [ \"$FILETYPE\" == \"gzip\" ]; then\r\n tar xzvf ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"Zip\" ]; then\r\n unzip ${DOWNLOAD_LINK##*\/}\r\nelse\r\n echo -e \"unknown filetype. Exeting\"\r\n exit 2 \r\nfi\r\n\r\necho -e \"Downloading terraria server files\"\r\nwget http:\/\/terraria.org\/server\/terraria-server-${CLEAN_VERSION}.zip\r\n\r\necho -e \"Unpacking server files\"\r\nunzip terraria-server-$(echo ${CLEAN_VERSION} | sed 's\/\\.\/\/g').zip\r\ncp -R ${CLEAN_VERSION}\/Linux\/* .\/\r\n\r\nchmod +x TerrariaServer.bin.x86_64\r\n\r\necho -e \"Cleaning up extra files.\"\r\nrm -rf ${CLEAN_VERSION}", - "container": "alpine:3.10", - "entrypoint": "ash" + "script": "#!\/bin\/bash\r\n# Vanilla tModloader Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n## install packages to get version and download links\r\napt update\r\napt install -y curl jq file unzip\r\n\r\nGITHUB_PACKAGE=tModLoader\/tModLoader\r\n\r\nif [ -z \"$GITHUB_USER\" ] && [ -z \"$GITHUB_OAUTH_TOKEN\" ] ; then\r\n echo -e \"using anon api call\"\r\nelse\r\n echo -e \"user and oauth token set\"\r\n alias curl='curl -u $GITHUB_USER:$GITHUB_OAUTH_TOKEN '\r\nfi\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/$GITHUB_PACKAGE\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/$GITHUB_PACKAGE\/releases\")\r\n\r\nif [ -z \"$VERSION\" ] || [ \"$VERSION\" == \"latest\" ]; then\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_LINK=$(echo $LATEST_JSON | jq .assets | jq -r .[].browser_download_url | grep -i linux | grep -i zip)\r\nelse\r\n VERSION_CHECK=$(echo $RELEASES | jq -r --arg VERSION \"$VERSION\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"$VERSION\" == \"$VERSION_CHECK\" ]; then\r\n DOWNLOAD_LINK=$(echo $RELEASES | jq -r --arg VERSION \"$VERSION\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i linux)\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_LINK=$(echo $LATEST_JSON | jq .assets | jq -r .[].browser_download_url | grep -i linux | grep -i zip)\r\n fi\r\nfi\r\n\r\n## clean terraria version\r\nCLEAN_VERSION=$(echo ${TERRARIA_VERSION} | sed 's\/\\.\/\/g')\r\n\r\n## mkdir and cd to \/mnt\/server\/\r\nmkdir -p \/mnt\/server\r\n\r\ncd \/mnt\/server\r\n\r\n## download release\r\necho -e \"running: curl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\"\r\ncurl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\r\n\r\nFILETYPE=$(file -F ',' ${DOWNLOAD_LINK##*\/} | cut -d',' -f2 | cut -d' ' -f2)\r\nif [ \"$FILETYPE\" == \"gzip\" ]; then\r\n tar xzvf ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"Zip\" ]; then\r\n unzip -o ${DOWNLOAD_LINK##*\/}\r\nelse\r\n echo -e \"unknown filetype. Exiting\"\r\n exit 2 \r\nfi\r\n\r\necho -e \"Downloading terraria server files\"\r\ncurl -sSL http:\/\/terraria.org\/server\/terraria-server-${CLEAN_VERSION}.zip -o terraria-server-${CLEAN_VERSION}.zip\r\n\r\necho -e \"Unpacking server files\"\r\nunzip terraria-server-$(echo ${CLEAN_VERSION} | sed 's\/\\.\/\/g').zip\r\ncp -R ${CLEAN_VERSION}\/Linux\/* .\/\r\n\r\nchmod +x TerrariaServer.bin.x86_64\r\nchmod +x tModLoaderServer.bin.x86_64\r\nchmod +x tModLoaderServer\r\n\r\necho -e \"Cleaning up extra files.\"\r\nrm -rf ${CLEAN_VERSION} terraria-server-${CLEAN_VERSION}.zip rm ${DOWNLOAD_LINK##*\/}", + "container": "debian:buster-slim", + "entrypoint": "bash" } }, "variables": [ @@ -32,15 +32,6 @@ "user_editable": 1, "rules": "required|string|max:20" }, - { - "name": "Terraria version", - "description": "the version of Terraria that is to be used.\r\n\r\nYou can use the full version number or the file number. (ex. 1.3.5.3 or 1353)\r\n\r\nGet version numbers here - https:\/\/terraria.gamepedia.com\/Server#Downloads", - "env_variable": "TERRARIA_VERSION", - "default_value": "1.3.5.3", - "user_viewable": 1, - "user_editable": 1, - "rules": "required|string|max:20" - }, { "name": "World Name", "description": "The name for the world file.", @@ -85,15 +76,6 @@ "user_viewable": 0, "user_editable": 0, "rules": "string|nullable" - }, - { - "name": "GitHub Package", - "description": "This is to make automating this kind of thing easier.\r\n\r\nDo not edit if you don't know what you are doing.", - "env_variable": "GITHUB_PACKAGE", - "default_value": "tModLoader\/tModLoader", - "user_viewable": 0, - "user_editable": 0, - "rules": "required|string" } ] } \ No newline at end of file From 15b947230d7e8fdab17d6d75cc6f2147b02a65b3 Mon Sep 17 00:00:00 2001 From: parkervcp Date: Thu, 25 Jun 2020 09:47:11 -0400 Subject: [PATCH 338/413] remove parts of the install script that aren't needed --- terraria/tmodloader/egg-t-modloader.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/terraria/tmodloader/egg-t-modloader.json b/terraria/tmodloader/egg-t-modloader.json index f75de63a..590338e2 100644 --- a/terraria/tmodloader/egg-t-modloader.json +++ b/terraria/tmodloader/egg-t-modloader.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-06-25T09:29:23-04:00", + "exported_at": "2020-06-25T09:46:46-04:00", "name": "tModloader", "author": "parker@parkervcp.com", "description": "tModLoader is essentially a mod that provides a way to load your own mods without having to work directly with Terraria's source code itself. This means you can easily make mods that are compatible with other people's mods, save yourself the trouble of having to decompile and recompile Terraria.exe, and escape from having to understand all of the obscure \"intricacies\" of Terraria's source code. It is made to work for Terraria 1.3+.", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# Vanilla tModloader Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n## install packages to get version and download links\r\napt update\r\napt install -y curl jq file unzip\r\n\r\nGITHUB_PACKAGE=tModLoader\/tModLoader\r\n\r\nif [ -z \"$GITHUB_USER\" ] && [ -z \"$GITHUB_OAUTH_TOKEN\" ] ; then\r\n echo -e \"using anon api call\"\r\nelse\r\n echo -e \"user and oauth token set\"\r\n alias curl='curl -u $GITHUB_USER:$GITHUB_OAUTH_TOKEN '\r\nfi\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/$GITHUB_PACKAGE\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/$GITHUB_PACKAGE\/releases\")\r\n\r\nif [ -z \"$VERSION\" ] || [ \"$VERSION\" == \"latest\" ]; then\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_LINK=$(echo $LATEST_JSON | jq .assets | jq -r .[].browser_download_url | grep -i linux | grep -i zip)\r\nelse\r\n VERSION_CHECK=$(echo $RELEASES | jq -r --arg VERSION \"$VERSION\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"$VERSION\" == \"$VERSION_CHECK\" ]; then\r\n DOWNLOAD_LINK=$(echo $RELEASES | jq -r --arg VERSION \"$VERSION\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i linux)\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_LINK=$(echo $LATEST_JSON | jq .assets | jq -r .[].browser_download_url | grep -i linux | grep -i zip)\r\n fi\r\nfi\r\n\r\n## clean terraria version\r\nCLEAN_VERSION=$(echo ${TERRARIA_VERSION} | sed 's\/\\.\/\/g')\r\n\r\n## mkdir and cd to \/mnt\/server\/\r\nmkdir -p \/mnt\/server\r\n\r\ncd \/mnt\/server\r\n\r\n## download release\r\necho -e \"running: curl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\"\r\ncurl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\r\n\r\nFILETYPE=$(file -F ',' ${DOWNLOAD_LINK##*\/} | cut -d',' -f2 | cut -d' ' -f2)\r\nif [ \"$FILETYPE\" == \"gzip\" ]; then\r\n tar xzvf ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"Zip\" ]; then\r\n unzip -o ${DOWNLOAD_LINK##*\/}\r\nelse\r\n echo -e \"unknown filetype. Exiting\"\r\n exit 2 \r\nfi\r\n\r\necho -e \"Downloading terraria server files\"\r\ncurl -sSL http:\/\/terraria.org\/server\/terraria-server-${CLEAN_VERSION}.zip -o terraria-server-${CLEAN_VERSION}.zip\r\n\r\necho -e \"Unpacking server files\"\r\nunzip terraria-server-$(echo ${CLEAN_VERSION} | sed 's\/\\.\/\/g').zip\r\ncp -R ${CLEAN_VERSION}\/Linux\/* .\/\r\n\r\nchmod +x TerrariaServer.bin.x86_64\r\nchmod +x tModLoaderServer.bin.x86_64\r\nchmod +x tModLoaderServer\r\n\r\necho -e \"Cleaning up extra files.\"\r\nrm -rf ${CLEAN_VERSION} terraria-server-${CLEAN_VERSION}.zip rm ${DOWNLOAD_LINK##*\/}", + "script": "#!\/bin\/bash\r\n# Vanilla tModloader Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n## install packages to get version and download links\r\napt update\r\napt install -y curl jq file unzip\r\n\r\nGITHUB_PACKAGE=tModLoader\/tModLoader\r\n\r\nif [ -z \"$GITHUB_USER\" ] && [ -z \"$GITHUB_OAUTH_TOKEN\" ] ; then\r\n echo -e \"using anon api call\"\r\nelse\r\n echo -e \"user and oauth token set\"\r\n alias curl='curl -u $GITHUB_USER:$GITHUB_OAUTH_TOKEN '\r\nfi\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/$GITHUB_PACKAGE\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/$GITHUB_PACKAGE\/releases\")\r\n\r\nif [ -z \"$VERSION\" ] || [ \"$VERSION\" == \"latest\" ]; then\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_LINK=$(echo $LATEST_JSON | jq .assets | jq -r .[].browser_download_url | grep -i linux | grep -i zip)\r\nelse\r\n VERSION_CHECK=$(echo $RELEASES | jq -r --arg VERSION \"$VERSION\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"$VERSION\" == \"$VERSION_CHECK\" ]; then\r\n DOWNLOAD_LINK=$(echo $RELEASES | jq -r --arg VERSION \"$VERSION\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i linux)\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_LINK=$(echo $LATEST_JSON | jq .assets | jq -r .[].browser_download_url | grep -i linux | grep -i zip)\r\n fi\r\nfi\r\n\r\n## mkdir and cd to \/mnt\/server\/\r\nmkdir -p \/mnt\/server\r\n\r\ncd \/mnt\/server\r\n\r\n## download release\r\necho -e \"running: curl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\"\r\ncurl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\r\n\r\nFILETYPE=$(file -F ',' ${DOWNLOAD_LINK##*\/} | cut -d',' -f2 | cut -d' ' -f2)\r\nif [ \"$FILETYPE\" == \"gzip\" ]; then\r\n tar xzvf ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"Zip\" ]; then\r\n unzip -o ${DOWNLOAD_LINK##*\/}\r\nelse\r\n echo -e \"unknown filetype. Exiting\"\r\n exit 2 \r\nfi\r\n\r\nchmod +x tModLoaderServer.bin.x86_64\r\nchmod +x tModLoaderServer\r\n\r\necho -e \"Cleaning up extra files.\"\r\nrm -rf terraria-server-${CLEAN_VERSION}.zip rm ${DOWNLOAD_LINK##*\/}", "container": "debian:buster-slim", "entrypoint": "bash" } From 9a08524ab47b3893fa982b2328e37357ba1c8fbc Mon Sep 17 00:00:00 2001 From: "Michael (Parker) Parker" Date: Mon, 13 May 2019 14:22:16 -0400 Subject: [PATCH 339/413] update factorio egg Fix for newer releases. --- factorio/factorio/egg-factorio.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/factorio/factorio/egg-factorio.json b/factorio/factorio/egg-factorio.json index 34201ede..c1b42925 100644 --- a/factorio/factorio/egg-factorio.json +++ b/factorio/factorio/egg-factorio.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-08-18T21:02:25+02:00", + "exported_at": "2019-05-13T14:18:20-04:00", "name": "Factorio", "author": "parker@parkervcp.com", "description": "The vanilla Factorio server.\r\n\r\nhttps:\/\/www.factorio.com\/", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/ash\r\n# Factorio Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk add --no-cache curl tar xz jq\r\n\r\nlatest_stable=`curl -sL https:\/\/updater.factorio.com\/get-available-versions | jq -r '.[\"core-linux_headless64\"] | .[] | .[\"stable\"] | select(. != null)'`\r\nlatest_experimental=`curl -sL https:\/\/www.factorio.com\/download-headless\/experimental | grep -m 1 -o -E '([0-9]\\.[0-9]*\\.[0-9]*)'`\r\n\r\nif [ -z \"${FACTORIO_VERSION}\" ] || [ \"${FACTORIO_VERSION}\" == \"latest\" ]; then\r\n DL_VERSION=$latest_stable\r\nelif [ \"${FACTORIO_VERSION}\" == \"experimental\" ]; then\r\n DL_VERSION=$latest_experimental\r\nelse\r\n DL_VERSION=${FACTORIO_VERSION}\r\nfi\r\n\r\necho -e \"\\n running 'curl -sL https:\/\/www.factorio.com\/get-download\/${DL_VERSION}\/headless\/linux64 -o factorio-${DL_VERSION}.tar.gz' \\n\"\r\n\r\ncd \/mnt\/server\r\n\r\ncurl -sL https:\/\/www.factorio.com\/get-download\/${DL_VERSION}\/headless\/linux64 -o factorio-${DL_VERSION}.tar.gz\r\n\r\ntar -xf factorio-${DL_VERSION}.tar.gz --strip-components=1 -C \/mnt\/server\r\n\r\nrm factorio-${DL_VERSION}.tar.gz\r\n\r\nif [ -e data\/map-gen-settings.json ]; then\r\n echo \"map-gen exists\"\r\nelse\r\n echo \"copying map-gen default settings\"\r\n mv data\/map-gen-settings.example.json data\/map-gen-settings.json\r\nfi\r\n\r\nif [ -e data\/server-settings.json ]; then\r\n echo \"server settings exists\"\r\nelse\r\n echo \"copying server default settings\"\r\n mv data\/server-settings.example.json data\/server-settings.json\r\nfi\r\n\r\nif [ -e map-settings.json ]; then\r\n echo \"map settings exists\"\r\nelse\r\n echo \"copying map default settings\"\r\n mv data\/map-settings.example.json data\/map-settings.json\r\nfi\r\n\r\nif [ -e ${SAVE_NAME}.zip ]; then\r\n echo \"save file exists\"\r\nelse\r\n .\/bin\/x64\/factorio --create ${SAVE_NAME}\r\n chmod o+w ${SAVE_NAME}.zip\r\nfi", + "script": "#!\/bin\/ash\r\n# Factorio Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk add --no-cache --update curl tar xz jq\r\n\r\nlatest_stable=`curl -sL https:\/\/updater.factorio.com\/get-available-versions | jq -r '.[\"core-linux_headless64\"] | .[] | .[\"stable\"] | select(. != null)'`\r\nlatest_experimental=`curl -sL https:\/\/www.factorio.com\/download-headless\/experimental | grep -m 1 -o -E '([0-9]\\.[0-9]*\\.[0-9]*)'`\r\n\r\nif [ -z \"${FACTORIO_VERSION}\" ] || [ \"${FACTORIO_VERSION}\" == \"latest\" ]; then\r\n DL_VERSION=$latest_stable\r\nelif [ \"${FACTORIO_VERSION}\" == \"experimental\" ]; then\r\n DL_VERSION=$latest_experimental\r\nelse\r\n DL_VERSION=${FACTORIO_VERSION}\r\nfi\r\n\r\necho -e \"\\n running 'curl -sL https:\/\/www.factorio.com\/get-download\/${DL_VERSION}\/headless\/linux64 -o factorio-${DL_VERSION}' \\n\"\r\n\r\ncd \/mnt\/server\r\n\r\ncurl -sL https:\/\/www.factorio.com\/get-download\/${DL_VERSION}\/headless\/linux64 -o factorio-${DL_VERSION}\r\n\r\ntar -xf factorio-${DL_VERSION} --strip-components=1 -C \/mnt\/server\r\n\r\nrm factorio-${DL_VERSION}\r\n\r\nif [ -e data\/map-gen-settings.json ]; then\r\n echo \"map-gen exists\"\r\nelse\r\n echo \"copying map-gen default settings\"\r\n mv data\/map-gen-settings.example.json data\/map-gen-settings.json\r\nfi\r\n\r\nif [ -e data\/server-settings.json ]; then\r\n echo \"server settings exists\"\r\nelse\r\n echo \"copying server default settings\"\r\n mv data\/server-settings.example.json data\/server-settings.json\r\nfi\r\n\r\nif [ -e map-settings.json ]; then\r\n echo \"map settings exists\"\r\nelse\r\n echo \"copying map default settings\"\r\n mv data\/map-settings.example.json data\/map-settings.json\r\nfi\r\n\r\nif [ -e ${SAVE_NAME}.zip ]; then\r\n echo \"save file exists\"\r\nelse\r\n .\/bin\/x64\/factorio --create ${SAVE_NAME}\r\n chmod o+w ${SAVE_NAME}.zip\r\nfi", "container": "frolvlad\/alpine-glibc", "entrypoint": "ash" } @@ -114,4 +114,4 @@ "rules": "required|numeric|digits_between:1,3" } ] -} +} \ No newline at end of file From 00ed90f1acb59401ff563474fa6012760496d72e Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Fri, 26 Jun 2020 11:05:00 -0400 Subject: [PATCH 340/413] final update for factorio egg update to use debian for install and run images. --- factorio/factorio/egg-factorio.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/factorio/factorio/egg-factorio.json b/factorio/factorio/egg-factorio.json index c1b42925..3f67ed10 100644 --- a/factorio/factorio/egg-factorio.json +++ b/factorio/factorio/egg-factorio.json @@ -3,11 +3,11 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-05-13T14:18:20-04:00", + "exported_at": "2020-06-26T11:01:44-04:00", "name": "Factorio", "author": "parker@parkervcp.com", "description": "The vanilla Factorio server.\r\n\r\nhttps:\/\/www.factorio.com\/", - "image": "quay.io\/parkervcp\/pterodactyl-images:glibc", + "image": "quay.io\/parkervcp\/pterodactyl-images:base_debian", "startup": ".\/bin\/x64\/factorio --port {{SERVER_PORT}} --server-settings data\/server-settings.json --start-server {{SAVE_NAME}}.zip", "config": { "files": "{\r\n \"data\/server-settings.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"name\": \"{{server.build.env.SERVER_NAME}}\",\r\n \"description\": \"{{server.build.env.SERVER_DESC}}\",\r\n \"max_players\": \"{{server.build.env.MAX_SLOTS}}\",\r\n \"username\": \"{{server.build.env.SERVER_USERNAME}}\",\r\n \"token\": \"{{server.build.env.SERVER_TOKEN}}\",\r\n \"autosave_interval\": \"{{server.build.env.SAVE_INTERVAL}}\",\r\n \"autosave_slots\": \"{{server.build.env.SAVE_SLOTS}}\",\r\n \"afk_autokick_interval\": \"{{server.build.env.AFK_KICK}}\"\r\n }\r\n }\r\n}", @@ -17,9 +17,9 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/ash\r\n# Factorio Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk add --no-cache --update curl tar xz jq\r\n\r\nlatest_stable=`curl -sL https:\/\/updater.factorio.com\/get-available-versions | jq -r '.[\"core-linux_headless64\"] | .[] | .[\"stable\"] | select(. != null)'`\r\nlatest_experimental=`curl -sL https:\/\/www.factorio.com\/download-headless\/experimental | grep -m 1 -o -E '([0-9]\\.[0-9]*\\.[0-9]*)'`\r\n\r\nif [ -z \"${FACTORIO_VERSION}\" ] || [ \"${FACTORIO_VERSION}\" == \"latest\" ]; then\r\n DL_VERSION=$latest_stable\r\nelif [ \"${FACTORIO_VERSION}\" == \"experimental\" ]; then\r\n DL_VERSION=$latest_experimental\r\nelse\r\n DL_VERSION=${FACTORIO_VERSION}\r\nfi\r\n\r\necho -e \"\\n running 'curl -sL https:\/\/www.factorio.com\/get-download\/${DL_VERSION}\/headless\/linux64 -o factorio-${DL_VERSION}' \\n\"\r\n\r\ncd \/mnt\/server\r\n\r\ncurl -sL https:\/\/www.factorio.com\/get-download\/${DL_VERSION}\/headless\/linux64 -o factorio-${DL_VERSION}\r\n\r\ntar -xf factorio-${DL_VERSION} --strip-components=1 -C \/mnt\/server\r\n\r\nrm factorio-${DL_VERSION}\r\n\r\nif [ -e data\/map-gen-settings.json ]; then\r\n echo \"map-gen exists\"\r\nelse\r\n echo \"copying map-gen default settings\"\r\n mv data\/map-gen-settings.example.json data\/map-gen-settings.json\r\nfi\r\n\r\nif [ -e data\/server-settings.json ]; then\r\n echo \"server settings exists\"\r\nelse\r\n echo \"copying server default settings\"\r\n mv data\/server-settings.example.json data\/server-settings.json\r\nfi\r\n\r\nif [ -e map-settings.json ]; then\r\n echo \"map settings exists\"\r\nelse\r\n echo \"copying map default settings\"\r\n mv data\/map-settings.example.json data\/map-settings.json\r\nfi\r\n\r\nif [ -e ${SAVE_NAME}.zip ]; then\r\n echo \"save file exists\"\r\nelse\r\n .\/bin\/x64\/factorio --create ${SAVE_NAME}\r\n chmod o+w ${SAVE_NAME}.zip\r\nfi", - "container": "frolvlad\/alpine-glibc", - "entrypoint": "ash" + "script": "#!\/bin\/bash\r\n# Factorio Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update \r\napt install -y curl tar xz-utils jq\r\n\r\nlatest_stable=`curl -sL https:\/\/updater.factorio.com\/get-available-versions | jq -r '.[\"core-linux_headless64\"] | .[] | .[\"stable\"] | select(. != null)'`\r\nlatest_experimental=`curl -sL https:\/\/www.factorio.com\/download-headless\/experimental | grep -m 1 -o -E '([0-9]\\.[0-9]*\\.[0-9]*)'`\r\n\r\nif [ -z \"${FACTORIO_VERSION}\" ] || [ \"${FACTORIO_VERSION}\" == \"latest\" ]; then\r\n DL_VERSION=$latest_stable\r\nelif [ \"${FACTORIO_VERSION}\" == \"experimental\" ]; then\r\n DL_VERSION=$latest_experimental\r\nelse\r\n DL_VERSION=${FACTORIO_VERSION}\r\nfi\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\necho -e \"\\n running 'curl -sL https:\/\/www.factorio.com\/get-download\/${DL_VERSION}\/headless\/linux64 -o factorio-${DL_VERSION}' \\n\"\r\n\r\ncurl -sL https:\/\/www.factorio.com\/get-download\/${DL_VERSION}\/headless\/linux64 -o factorio-${DL_VERSION}\r\n\r\ntar -xf factorio-${DL_VERSION} --strip-components=1 -C \/mnt\/server\r\n\r\nrm factorio-${DL_VERSION}\r\n\r\nif [ -e data\/map-gen-settings.json ]; then\r\n echo \"map-gen exists\"\r\nelse\r\n echo \"copying map-gen default settings\"\r\n mv data\/map-gen-settings.example.json data\/map-gen-settings.json\r\nfi\r\n\r\nif [ -e data\/server-settings.json ]; then\r\n echo \"server settings exists\"\r\nelse\r\n echo \"copying server default settings\"\r\n mv data\/server-settings.example.json data\/server-settings.json\r\nfi\r\n\r\nif [ -e map-settings.json ]; then\r\n echo \"map settings exists\"\r\nelse\r\n echo \"copying map default settings\"\r\n mv data\/map-settings.example.json data\/map-settings.json\r\nfi\r\n\r\nif [ -e ${SAVE_NAME}.zip ]; then\r\n echo \"save file exists\"\r\nelse\r\n .\/bin\/x64\/factorio --create ${SAVE_NAME}\r\n chmod o+w ${SAVE_NAME}.zip\r\nfi", + "container": "debian:buster-slim", + "entrypoint": "bash" } }, "variables": [ From c155bc694e49c1bd00a35217b7221e0f71bc162c Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Fri, 26 Jun 2020 12:06:50 -0400 Subject: [PATCH 341/413] fix factorio experimental version grab --- factorio/factorio/egg-factorio.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/factorio/factorio/egg-factorio.json b/factorio/factorio/egg-factorio.json index 3f67ed10..61855db4 100644 --- a/factorio/factorio/egg-factorio.json +++ b/factorio/factorio/egg-factorio.json @@ -3,11 +3,11 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-06-26T11:01:44-04:00", + "exported_at": "2020-06-26T12:06:19-04:00", "name": "Factorio", "author": "parker@parkervcp.com", "description": "The vanilla Factorio server.\r\n\r\nhttps:\/\/www.factorio.com\/", - "image": "quay.io\/parkervcp\/pterodactyl-images:base_debian", + "image": "~debian:base", "startup": ".\/bin\/x64\/factorio --port {{SERVER_PORT}} --server-settings data\/server-settings.json --start-server {{SAVE_NAME}}.zip", "config": { "files": "{\r\n \"data\/server-settings.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"name\": \"{{server.build.env.SERVER_NAME}}\",\r\n \"description\": \"{{server.build.env.SERVER_DESC}}\",\r\n \"max_players\": \"{{server.build.env.MAX_SLOTS}}\",\r\n \"username\": \"{{server.build.env.SERVER_USERNAME}}\",\r\n \"token\": \"{{server.build.env.SERVER_TOKEN}}\",\r\n \"autosave_interval\": \"{{server.build.env.SAVE_INTERVAL}}\",\r\n \"autosave_slots\": \"{{server.build.env.SAVE_SLOTS}}\",\r\n \"afk_autokick_interval\": \"{{server.build.env.AFK_KICK}}\"\r\n }\r\n }\r\n}", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# Factorio Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update \r\napt install -y curl tar xz-utils jq\r\n\r\nlatest_stable=`curl -sL https:\/\/updater.factorio.com\/get-available-versions | jq -r '.[\"core-linux_headless64\"] | .[] | .[\"stable\"] | select(. != null)'`\r\nlatest_experimental=`curl -sL https:\/\/www.factorio.com\/download-headless\/experimental | grep -m 1 -o -E '([0-9]\\.[0-9]*\\.[0-9]*)'`\r\n\r\nif [ -z \"${FACTORIO_VERSION}\" ] || [ \"${FACTORIO_VERSION}\" == \"latest\" ]; then\r\n DL_VERSION=$latest_stable\r\nelif [ \"${FACTORIO_VERSION}\" == \"experimental\" ]; then\r\n DL_VERSION=$latest_experimental\r\nelse\r\n DL_VERSION=${FACTORIO_VERSION}\r\nfi\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\necho -e \"\\n running 'curl -sL https:\/\/www.factorio.com\/get-download\/${DL_VERSION}\/headless\/linux64 -o factorio-${DL_VERSION}' \\n\"\r\n\r\ncurl -sL https:\/\/www.factorio.com\/get-download\/${DL_VERSION}\/headless\/linux64 -o factorio-${DL_VERSION}\r\n\r\ntar -xf factorio-${DL_VERSION} --strip-components=1 -C \/mnt\/server\r\n\r\nrm factorio-${DL_VERSION}\r\n\r\nif [ -e data\/map-gen-settings.json ]; then\r\n echo \"map-gen exists\"\r\nelse\r\n echo \"copying map-gen default settings\"\r\n mv data\/map-gen-settings.example.json data\/map-gen-settings.json\r\nfi\r\n\r\nif [ -e data\/server-settings.json ]; then\r\n echo \"server settings exists\"\r\nelse\r\n echo \"copying server default settings\"\r\n mv data\/server-settings.example.json data\/server-settings.json\r\nfi\r\n\r\nif [ -e map-settings.json ]; then\r\n echo \"map settings exists\"\r\nelse\r\n echo \"copying map default settings\"\r\n mv data\/map-settings.example.json data\/map-settings.json\r\nfi\r\n\r\nif [ -e ${SAVE_NAME}.zip ]; then\r\n echo \"save file exists\"\r\nelse\r\n .\/bin\/x64\/factorio --create ${SAVE_NAME}\r\n chmod o+w ${SAVE_NAME}.zip\r\nfi", + "script": "#!\/bin\/bash\r\n# Factorio Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update \r\napt install -y curl tar xz-utils jq\r\n\r\nlatest_stable=`curl -sL https:\/\/updater.factorio.com\/get-available-versions | jq -r '.[\"core-linux_headless64\"] | .[] | .[\"stable\"] | select(. != null)'`\r\nlatest_experimental=`curl -sL https:\/\/updater.factorio.com\/get-available-versions | jq -rS '.[\"core-linux_headless64\"] | .[].to' | sed 's\/null\/\/g' | sort -V | tail -1`\r\n\r\nif [ -z \"${FACTORIO_VERSION}\" ] || [ \"${FACTORIO_VERSION}\" == \"latest\" ]; then\r\n DL_VERSION=$latest_stable\r\nelif [ \"${FACTORIO_VERSION}\" == \"experimental\" ]; then\r\n DL_VERSION=$latest_experimental\r\nelse\r\n DL_VERSION=${FACTORIO_VERSION}\r\nfi\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\necho -e \"\\n running 'curl -sL https:\/\/www.factorio.com\/get-download\/${DL_VERSION}\/headless\/linux64 -o factorio-${DL_VERSION}' \\n\"\r\n\r\ncurl -sL https:\/\/www.factorio.com\/get-download\/${DL_VERSION}\/headless\/linux64 -o factorio-${DL_VERSION}\r\n\r\ntar -xf factorio-${DL_VERSION} --strip-components=1 -C \/mnt\/server\r\n\r\nrm factorio-${DL_VERSION}\r\n\r\nif [ -e data\/map-gen-settings.json ]; then\r\n echo \"map-gen exists\"\r\nelse\r\n echo \"copying map-gen default settings\"\r\n mv data\/map-gen-settings.example.json data\/map-gen-settings.json\r\nfi\r\n\r\nif [ -e data\/server-settings.json ]; then\r\n echo \"server settings exists\"\r\nelse\r\n echo \"copying server default settings\"\r\n mv data\/server-settings.example.json data\/server-settings.json\r\nfi\r\n\r\nif [ -e map-settings.json ]; then\r\n echo \"map settings exists\"\r\nelse\r\n echo \"copying map default settings\"\r\n mv data\/map-settings.example.json data\/map-settings.json\r\nfi\r\n\r\nif [ -e ${SAVE_NAME}.zip ]; then\r\n echo \"save file exists\"\r\nelse\r\n .\/bin\/x64\/factorio --create ${SAVE_NAME}\r\n chmod o+w ${SAVE_NAME}.zip\r\nfi", "container": "debian:buster-slim", "entrypoint": "bash" } From ec3dd6607ff5be13440273b239b31c7dc64a474b Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Fri, 26 Jun 2020 12:08:13 -0400 Subject: [PATCH 342/413] fix running image --- factorio/factorio/egg-factorio.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/factorio/factorio/egg-factorio.json b/factorio/factorio/egg-factorio.json index 61855db4..6adb2c5d 100644 --- a/factorio/factorio/egg-factorio.json +++ b/factorio/factorio/egg-factorio.json @@ -3,11 +3,11 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-06-26T12:06:19-04:00", + "exported_at": "2020-06-26T12:07:47-04:00", "name": "Factorio", "author": "parker@parkervcp.com", "description": "The vanilla Factorio server.\r\n\r\nhttps:\/\/www.factorio.com\/", - "image": "~debian:base", + "image": "quay.io\/parkervcp\/pterodactyl-images:base_debian", "startup": ".\/bin\/x64\/factorio --port {{SERVER_PORT}} --server-settings data\/server-settings.json --start-server {{SAVE_NAME}}.zip", "config": { "files": "{\r\n \"data\/server-settings.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"name\": \"{{server.build.env.SERVER_NAME}}\",\r\n \"description\": \"{{server.build.env.SERVER_DESC}}\",\r\n \"max_players\": \"{{server.build.env.MAX_SLOTS}}\",\r\n \"username\": \"{{server.build.env.SERVER_USERNAME}}\",\r\n \"token\": \"{{server.build.env.SERVER_TOKEN}}\",\r\n \"autosave_interval\": \"{{server.build.env.SAVE_INTERVAL}}\",\r\n \"autosave_slots\": \"{{server.build.env.SAVE_SLOTS}}\",\r\n \"afk_autokick_interval\": \"{{server.build.env.AFK_KICK}}\"\r\n }\r\n }\r\n}", From 859c3a0efdbb80f3f575a4dfc8f8a0652641171d Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Fri, 26 Jun 2020 12:55:57 -0400 Subject: [PATCH 343/413] update json file location --- factorio/factorio/egg-factorio.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/factorio/factorio/egg-factorio.json b/factorio/factorio/egg-factorio.json index 6adb2c5d..a3462ccc 100644 --- a/factorio/factorio/egg-factorio.json +++ b/factorio/factorio/egg-factorio.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-06-26T12:07:47-04:00", + "exported_at": "2020-06-26T12:55:32-04:00", "name": "Factorio", "author": "parker@parkervcp.com", "description": "The vanilla Factorio server.\r\n\r\nhttps:\/\/www.factorio.com\/", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# Factorio Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update \r\napt install -y curl tar xz-utils jq\r\n\r\nlatest_stable=`curl -sL https:\/\/updater.factorio.com\/get-available-versions | jq -r '.[\"core-linux_headless64\"] | .[] | .[\"stable\"] | select(. != null)'`\r\nlatest_experimental=`curl -sL https:\/\/updater.factorio.com\/get-available-versions | jq -rS '.[\"core-linux_headless64\"] | .[].to' | sed 's\/null\/\/g' | sort -V | tail -1`\r\n\r\nif [ -z \"${FACTORIO_VERSION}\" ] || [ \"${FACTORIO_VERSION}\" == \"latest\" ]; then\r\n DL_VERSION=$latest_stable\r\nelif [ \"${FACTORIO_VERSION}\" == \"experimental\" ]; then\r\n DL_VERSION=$latest_experimental\r\nelse\r\n DL_VERSION=${FACTORIO_VERSION}\r\nfi\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\necho -e \"\\n running 'curl -sL https:\/\/www.factorio.com\/get-download\/${DL_VERSION}\/headless\/linux64 -o factorio-${DL_VERSION}' \\n\"\r\n\r\ncurl -sL https:\/\/www.factorio.com\/get-download\/${DL_VERSION}\/headless\/linux64 -o factorio-${DL_VERSION}\r\n\r\ntar -xf factorio-${DL_VERSION} --strip-components=1 -C \/mnt\/server\r\n\r\nrm factorio-${DL_VERSION}\r\n\r\nif [ -e data\/map-gen-settings.json ]; then\r\n echo \"map-gen exists\"\r\nelse\r\n echo \"copying map-gen default settings\"\r\n mv data\/map-gen-settings.example.json data\/map-gen-settings.json\r\nfi\r\n\r\nif [ -e data\/server-settings.json ]; then\r\n echo \"server settings exists\"\r\nelse\r\n echo \"copying server default settings\"\r\n mv data\/server-settings.example.json data\/server-settings.json\r\nfi\r\n\r\nif [ -e map-settings.json ]; then\r\n echo \"map settings exists\"\r\nelse\r\n echo \"copying map default settings\"\r\n mv data\/map-settings.example.json data\/map-settings.json\r\nfi\r\n\r\nif [ -e ${SAVE_NAME}.zip ]; then\r\n echo \"save file exists\"\r\nelse\r\n .\/bin\/x64\/factorio --create ${SAVE_NAME}\r\n chmod o+w ${SAVE_NAME}.zip\r\nfi", + "script": "#!\/bin\/bash\r\n# Factorio Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update \r\napt install -y curl tar xz-utils jq\r\n\r\nVERSION_JSON=$(curl -sSL https:\/\/factorio.com\/api\/latest-releases)\r\n\r\nlatest_stable=$(echo $VERSION_JSON | jq -r '.stable.headless')\r\nlatest_experimental=$(echo $VERSION_JSON | jq -r '.experimental.headless')\r\n\r\nif [ -z \"${FACTORIO_VERSION}\" ] || [ \"${FACTORIO_VERSION}\" == \"latest\" ]; then\r\n DL_VERSION=$latest_stable\r\nelif [ \"${FACTORIO_VERSION}\" == \"experimental\" ]; then\r\n DL_VERSION=$latest_experimental\r\nelse\r\n DL_VERSION=${FACTORIO_VERSION}\r\nfi\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\necho -e \"\\n running 'curl -sL https:\/\/www.factorio.com\/get-download\/${DL_VERSION}\/headless\/linux64 -o factorio-${DL_VERSION}' \\n\"\r\n\r\ncurl -sL https:\/\/www.factorio.com\/get-download\/${DL_VERSION}\/headless\/linux64 -o factorio-${DL_VERSION}\r\n\r\ntar -xf factorio-${DL_VERSION} --strip-components=1 -C \/mnt\/server\r\n\r\nrm factorio-${DL_VERSION}\r\n\r\nif [ -e data\/map-gen-settings.json ]; then\r\n echo \"map-gen exists\"\r\nelse\r\n echo \"copying map-gen default settings\"\r\n mv data\/map-gen-settings.example.json data\/map-gen-settings.json\r\nfi\r\n\r\nif [ -e data\/server-settings.json ]; then\r\n echo \"server settings exists\"\r\nelse\r\n echo \"copying server default settings\"\r\n mv data\/server-settings.example.json data\/server-settings.json\r\nfi\r\n\r\nif [ -e map-settings.json ]; then\r\n echo \"map settings exists\"\r\nelse\r\n echo \"copying map default settings\"\r\n mv data\/map-settings.example.json data\/map-settings.json\r\nfi\r\n\r\nif [ -e ${SAVE_NAME}.zip ]; then\r\n echo \"save file exists\"\r\nelse\r\n .\/bin\/x64\/factorio --create ${SAVE_NAME}\r\n chmod o+w ${SAVE_NAME}.zip\r\nfi", "container": "debian:buster-slim", "entrypoint": "bash" } From 074d469a283bd5865a3095eaaf2a9fc2bab27459 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Fri, 26 Jun 2020 23:43:11 -0400 Subject: [PATCH 344/413] add rust autrowipe adds a rust egg that will autowipe saves and generate a new seed. The generated seed will override the seed variable if the seed.txt file exists. --- steamcmd_servers/rust/rust_autowipe/README.md | 29 ++++ .../rust/rust_autowipe/egg-rust-autowipe.json | 162 ++++++++++++++++++ .../{ => rust}/rust_staging/README.md | 0 .../rust_staging/egg-rust-staging.json | 0 4 files changed, 191 insertions(+) create mode 100644 steamcmd_servers/rust/rust_autowipe/README.md create mode 100644 steamcmd_servers/rust/rust_autowipe/egg-rust-autowipe.json rename steamcmd_servers/{ => rust}/rust_staging/README.md (100%) rename steamcmd_servers/{ => rust}/rust_staging/egg-rust-staging.json (100%) diff --git a/steamcmd_servers/rust/rust_autowipe/README.md b/steamcmd_servers/rust/rust_autowipe/README.md new file mode 100644 index 00000000..1a913465 --- /dev/null +++ b/steamcmd_servers/rust/rust_autowipe/README.md @@ -0,0 +1,29 @@ +### Rust Autowipe +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. + +Adds variables to wipe files based on a list you set. + +The variable `REGEN_SERVER` was added, default 0 set to 1 to generate a random seed and remove old files + +Files listed in the `REMOVE_FILES` variabe, space separated, will be removed. + +### Minimum RAM warning +The server requires at least 4096MB to run properly. +This is mostly needed for the startup only, once it is running (depending on your world size) it should consume less. + +### Modding warning +Due to Oxide/uMod not supporting the staging branch, you will not be able to Mod this server. + +Wulf (Community Admin on Oxidemod/uMod): + +"We only release builds for the release/public branch of Rust, so if you'd like to use it on any other branch, you'd need to manually patch it yourself using our patcher tool founder under the Snapshots repo. To switch a different Rust branch, just use the -beta tag with SteamCMD and the branch name." + +### Server Ports +Ports required to run the server. + +| Port | default | +|---------|---------| +| Game and Quary | 28015 UDP | +| RCON | 28016 TCP | + +### Information about server updates can be found [here](https://steamdb.info/app/258550/depots/?branch=staging) diff --git a/steamcmd_servers/rust/rust_autowipe/egg-rust-autowipe.json b/steamcmd_servers/rust/rust_autowipe/egg-rust-autowipe.json new file mode 100644 index 00000000..5d0cec06 --- /dev/null +++ b/steamcmd_servers/rust/rust_autowipe/egg-rust-autowipe.json @@ -0,0 +1,162 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2020-06-26T23:31:17-04:00", + "name": "Rust Autowipe", + "author": "support@pterodactyl.io", + "description": "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.", + "image": "quay.io\/pterodactyl\/core:rust", + "startup": "\".\/RustDedicated -batchmode +server.port {{SERVER_PORT}} +server.identity \"rust\" +rcon.port {{RCON_PORT}} +rcon.web true +server.hostname \\\"{{HOSTNAME}}\\\" +server.level \\\"{{LEVEL}}\\\" +server.description \\\"{{DESCRIPTION}}\\\" +server.url \\\"{{SERVER_URL}}\\\" +server.headerimage \\\"{{SERVER_IMG}}\\\" +server.worldsize \\\"{{WORLD_SIZE}}\\\" +server.seed \\\"$( [ -f seed.txt ] && printf %s $(cat seed.txt) || printf %s '${WORLD_SEED}' )\\\" +server.maxplayers {{MAX_PLAYERS}} +rcon.password \\\"{{RCON_PASS}}\\\" +server.saveinterval {{SAVEINTERVAL}} {{ADDITIONAL_ARGS}}\"", + "config": { + "files": "{}", + "startup": "{\r\n \"done\": \"Server startup complete\",\r\n \"userInteraction\": []\r\n}", + "logs": "{\r\n \"custom\": false,\r\n \"location\": \"latest.log\"\r\n}", + "stop": "quit" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'debian:buster-slim'\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\nSRCDS_APPID=258550\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\nif [ ${REGEN_SERVER} == \"1\" ]; then\r\n cd \/mnt\/server\/\r\n rm -rf ${REMOVE_FILES}\r\n rm -sf seed.txt\r\n cat \/dev\/urandom | tr -dc '1-9' | fold -w 5 | head -n 1 > seed.txt\r\nfi", + "container": "ubuntu:18.04", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "Server Name", + "description": "The name of your server in the public server list.", + "env_variable": "HOSTNAME", + "default_value": "A Rust Server", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:40" + }, + { + "name": "OxideMod", + "description": "Set whether you want the server to use and auto update OxideMod or not. Valid options are \"1\" for true and \"0\" for false.", + "env_variable": "OXIDE", + "default_value": "0", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|boolean" + }, + { + "name": "Level", + "description": "The world file for Rust to use.", + "env_variable": "LEVEL", + "default_value": "Procedural Map", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:20" + }, + { + "name": "Description", + "description": "The description under your server title. Commonly used for rules & info. Use \\n for newlines.", + "env_variable": "DESCRIPTION", + "default_value": "Powered by Pterodactyl", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string" + }, + { + "name": "URL", + "description": "The URL for your server. This is what comes up when clicking the \"Visit Website\" button.", + "env_variable": "SERVER_URL", + "default_value": "http:\/\/pterodactyl.io", + "user_viewable": 1, + "user_editable": 1, + "rules": "nullable|url" + }, + { + "name": "World Size", + "description": "The world size for a procedural map.", + "env_variable": "WORLD_SIZE", + "default_value": "3000", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|integer" + }, + { + "name": "World Seed", + "description": "The seed for a procedural map.", + "env_variable": "WORLD_SEED", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "nullable|string" + }, + { + "name": "Max Players", + "description": "The maximum amount of players allowed in the server at once.", + "env_variable": "MAX_PLAYERS", + "default_value": "40", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|integer" + }, + { + "name": "Server Image", + "description": "The header image for the top of your server listing.", + "env_variable": "SERVER_IMG", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "nullable|url" + }, + { + "name": "RCON Port", + "description": "Port for RCON connections.", + "env_variable": "RCON_PORT", + "default_value": "28016", + "user_viewable": 1, + "user_editable": 0, + "rules": "required|integer" + }, + { + "name": "RCON Password", + "description": "RCON access password.", + "env_variable": "RCON_PASS", + "default_value": "CHANGEME", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:64" + }, + { + "name": "Save Interval", + "description": "Sets the server\u2019s auto-save interval in seconds.", + "env_variable": "SAVEINTERVAL", + "default_value": "60", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|integer" + }, + { + "name": "Additional Arguments", + "description": "Add additional startup parameters to the server.", + "env_variable": "ADDITIONAL_ARGS", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "nullable|string" + }, + { + "name": "Regen Server", + "description": "If the server should have it's files removed and regenerate the server seed.", + "env_variable": "REGEN_SERVER", + "default_value": "0", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|boolean" + }, + { + "name": "Files to remove", + "description": "A space separated list of files to remove when regenerating the server.", + "env_variable": "REMOVE_FILES", + "default_value": "server\/rust\/player.deaths.*.db server\/rust\/player.identities.*.db server\/rust\/player.states.*.db server\/rust\/player.tokens.db proceduralmap.*.*.*.map server\/rust\/proceduralmap.*.*.*.sav oxide\/data\/Kits_Data.json oxide\/data\/NTeleportationHome.json oxide\/data\/ServerRewards\/player_data.json oxide\/data\/PTTracker\/playtime_data.json", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string" + } + ] +} \ No newline at end of file diff --git a/steamcmd_servers/rust_staging/README.md b/steamcmd_servers/rust/rust_staging/README.md similarity index 100% rename from steamcmd_servers/rust_staging/README.md rename to steamcmd_servers/rust/rust_staging/README.md diff --git a/steamcmd_servers/rust_staging/egg-rust-staging.json b/steamcmd_servers/rust/rust_staging/egg-rust-staging.json similarity index 100% rename from steamcmd_servers/rust_staging/egg-rust-staging.json rename to steamcmd_servers/rust/rust_staging/egg-rust-staging.json From fc9364493ae44df2061f3987963d5713a2ecea58 Mon Sep 17 00:00:00 2001 From: Exonical Date: Sat, 27 Jun 2020 18:17:37 +0900 Subject: [PATCH 345/413] Inital Egg Upload --- .../insurgency_sandstorm/README.md | 23 ++++++ .../egg-insurgency--sandstorm.json | 81 +++++++++++++++++++ 2 files changed, 104 insertions(+) create mode 100644 steamcmd_servers/insurgency_sandstorm/README.md create mode 100644 steamcmd_servers/insurgency_sandstorm/egg-insurgency--sandstorm.json diff --git a/steamcmd_servers/insurgency_sandstorm/README.md b/steamcmd_servers/insurgency_sandstorm/README.md new file mode 100644 index 00000000..61d81823 --- /dev/null +++ b/steamcmd_servers/insurgency_sandstorm/README.md @@ -0,0 +1,23 @@ +# Insurgency: Sandstorm +Steam Description +Insurgency: Sandstorm is a team-based, tactical FPS based on lethal close quarters combat and objective-oriented multiplayer gameplay. Experience the intensity of modern combat where skill is rewarded, and teamwork wins the fight. + +## GSLT Authentication +In order for your server to be able to authenticate with the stats server, you must authenticate your server through using a Steam GSLT (Game Server Login Token). + +To start your server with GSLT authentication add -GSLTToken=xxxxxxxxxxxxxxx to the server's command line where "xxxxxxxxxxxxxxx" is the token displayed on the Steam Game Server Account page. + +See the following for additional configurations - https://support.newworldinteractive.com/support/solutions/articles/47001115510-server-admin-guide + +## Recommended server settings +### Minimum Storage +This server requires about 5632M to install. +### Minimum RAM +This server requires about 1024M to run with no players. + +## Server Ports + +| Port | default | +|-------|---------| +| Game | 27102 | +| Query | 27131 | diff --git a/steamcmd_servers/insurgency_sandstorm/egg-insurgency--sandstorm.json b/steamcmd_servers/insurgency_sandstorm/egg-insurgency--sandstorm.json new file mode 100644 index 00000000..03c21356 --- /dev/null +++ b/steamcmd_servers/insurgency_sandstorm/egg-insurgency--sandstorm.json @@ -0,0 +1,81 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2020-06-27T05:17:21-04:00", + "name": "Insurgency: Sandstorm", + "author": "brycea@terrahost.cloud", + "description": "Insurgency: Sandstorm is a team-based, tactical FPS based on lethal close quarters combat and objective-oriented multiplayer gameplay. Experience the intensity of modern combat where skill is rewarded, and teamwork wins the fight.", + "image": "quay.io\/pterodactyl\/core:source", + "startup": "\/home\/container\/Insurgency\/Binaries\/Linux\/InsurgencyServer-Linux-Shipping {{MAP_NAME}}?Scenario={{SCENARIO}}?MaxPlayers={{MAX_PLAYERS}} -Port={{SERVER_PORT}} -QueryPort={{QUERY_PORT}} -log -hostname=\"{{HOSTNAME}}\"", + "config": { + "files": "{}", + "startup": "{\r\n \"done\": \"LogGameState: Match State Changed from LoadingAssets to WaitingToStart\",\r\n \"userInteraction\": []\r\n}", + "logs": "{\r\n \"custom\": false,\r\n \"location\": \"latest.log\"\r\n}", + "stop": "^C" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash\r\n## install required packages to install insurgency: sandstorm\r\napt update\r\napt -y --no-install-recommends install curl unzip libstdc++6 lib32gcc1 ca-certificates\r\n## install steamcmd\r\ncd \/tmp\r\ncurl -sSL -o steamcmd.tar.gz http:\/\/media.steampowered.com\/installer\/steamcmd_linux.tar.gz\r\nmkdir -p \/mnt\/server\/steam\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steam\r\ncd \/mnt\/server\/steam\r\n## needs to be used for steamcmd to operate correctly\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n## install insurgency: sandstorm\r\n.\/steamcmd.sh +login anonymous +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} +quit\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v \/mnt\/server\/steam\/linux32\/steamclient.so \/mnt\/server\/.steam\/sdk32\/steamclient.so\r\nchmod +x \/mnt\/server\/Insurgency\/Binaries\/Linux\/InsurgencyServer-Linux-Shipping", + "container": "ubuntu:20.04", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "App ID", + "description": "The ID corresponding to the game to download and run. Leave blank to avoid auto update.", + "env_variable": "SRCDS_APPID", + "default_value": "581330", + "user_viewable": 1, + "user_editable": 0, + "rules": "nullable|numeric" + }, + { + "name": "Server Name", + "description": "The name to appear in the server in the server list.", + "env_variable": "HOSTNAME", + "default_value": "My Insurgency Server", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:64" + }, + { + "name": "Query Port", + "description": "Query port for your Insurgency server.", + "env_variable": "QUERY_PORT", + "default_value": "27131", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|numeric" + }, + { + "name": "Max Players", + "description": "Sets the maximum number of players.", + "env_variable": "MAXPLAYERS", + "default_value": "28", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|numeric" + }, + { + "name": "Default Map", + "description": "Default map to run when starting the server. Scenario must be available with the provided map.", + "env_variable": "MAP_NAME", + "default_value": "Canyon", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string" + }, + { + "name": "Scenario Name", + "description": "By default, a server will cycle through all Versus (PVP) scenarios available.", + "env_variable": "SCENARIO", + "default_value": "Scenario_Crossing_Checkpoint_Insurgents", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string" + } + ] +} \ No newline at end of file From 3c6f845339827a81d2d4c2a8dc4ad99131ead0e3 Mon Sep 17 00:00:00 2001 From: Exonical Date: Sat, 27 Jun 2020 18:20:11 +0900 Subject: [PATCH 346/413] Update Main Readme --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e451b6e5..78d30bbe 100644 --- a/README.md +++ b/README.md @@ -125,6 +125,7 @@ If you are reading this it looks like you are looking to add an egg to your serv * [Unturned](/steamcmd_servers/unturned/) * [RocketMod](/steamcmd_servers/unturned/rocketmod/) * [Unturned](/steamcmd_servers/unturned/unturned/) +* [Insurgency: Sandstorm](/steamcmd_servers/insurgency_sandstorm) [Terraria](/terraria/) * [vanilla](/terraria/vanilla) From 3a269abbf33026e46f422ea817e0b0325aad61fc Mon Sep 17 00:00:00 2001 From: Exonical Date: Sat, 27 Jun 2020 18:23:13 +0900 Subject: [PATCH 347/413] Update directory README --- steamcmd_servers/README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/steamcmd_servers/README.md b/steamcmd_servers/README.md index 19f0f35c..1bdf3307 100644 --- a/steamcmd_servers/README.md +++ b/steamcmd_servers/README.md @@ -67,3 +67,6 @@ This is a collection of servers that use steamcmd to install. ## Unturned * [RocketMod](rocketmod) * [Unturned](unturned) + +## Insurgency: Sandstorm +[Insurgency: Sandstorm](insurgency_sandstorm/) From 9e9bd1916458947e626978f7f29c31f2429f9aca Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sun, 28 Jun 2020 17:46:31 -0400 Subject: [PATCH 348/413] pre-work for caves support --- steamcmd_servers/dont_starve/server.caves.ini | 10 ++ .../dont_starve/server.cluster.ini | 23 ++++ .../dont_starve/server.master.ini | 8 ++ .../dont_starve/worldgenoverride.caves.lua | 106 ++++++++++++++++++ .../dont_starve/worldgenoverride.master.lua | 106 ++++++++++++++++++ 5 files changed, 253 insertions(+) create mode 100644 steamcmd_servers/dont_starve/server.caves.ini create mode 100644 steamcmd_servers/dont_starve/server.cluster.ini create mode 100644 steamcmd_servers/dont_starve/server.master.ini create mode 100644 steamcmd_servers/dont_starve/worldgenoverride.caves.lua create mode 100644 steamcmd_servers/dont_starve/worldgenoverride.master.lua diff --git a/steamcmd_servers/dont_starve/server.caves.ini b/steamcmd_servers/dont_starve/server.caves.ini new file mode 100644 index 00000000..3b274a2a --- /dev/null +++ b/steamcmd_servers/dont_starve/server.caves.ini @@ -0,0 +1,10 @@ +[NETWORK] +server_port = 11000 + +[SHARD] +is_master = false +name = Caves +id = 1137196188 + +[ACCOUNT] +encode_user_path = true diff --git a/steamcmd_servers/dont_starve/server.cluster.ini b/steamcmd_servers/dont_starve/server.cluster.ini new file mode 100644 index 00000000..563ddbf7 --- /dev/null +++ b/steamcmd_servers/dont_starve/server.cluster.ini @@ -0,0 +1,23 @@ +[GAMEPLAY] +game_mode = survival +max_players = 10 +pvp = false +pause_when_empty = true + +[NETWORK] +cluster_name = Pterodactyl Test Server +cluster_description = A Pterodactyl Hosted Server +cluster_password = +cluster_intention = social +autosaver_enabled = true +enable_vote_kick = false + +[MISC] +console_enabled = true + +[SHARD] +shard_enabled = true +bind_ip = 127.0.0.1 +master_ip = 127.0.0.1 +master_port = 11001 +cluster_key = dst \ No newline at end of file diff --git a/steamcmd_servers/dont_starve/server.master.ini b/steamcmd_servers/dont_starve/server.master.ini new file mode 100644 index 00000000..fc917d28 --- /dev/null +++ b/steamcmd_servers/dont_starve/server.master.ini @@ -0,0 +1,8 @@ +[ACCOUNT] +encode_user_path = true + +[NETWORK] +server_port = 10999 + +[SHARD] +is_master = true diff --git a/steamcmd_servers/dont_starve/worldgenoverride.caves.lua b/steamcmd_servers/dont_starve/worldgenoverride.caves.lua new file mode 100644 index 00000000..b26748d1 --- /dev/null +++ b/steamcmd_servers/dont_starve/worldgenoverride.caves.lua @@ -0,0 +1,106 @@ +return { + override_enabled = true, + preset = "DST_CAVE", -- "SURVIVAL_TOGETHER", "MOD_MISSING", "SURVIVAL_TOGETHER_CLASSIC", "SURVIVAL_DEFAULT_PLUS", "COMPLETE_DARKNESS", "DST_CAVE", "DST_CAVE_PLUS" + overrides = { + -- MISC + task_set = "cave_default", -- "classic", "default", "cave_default" + start_location = "default", -- "caves", "default", "plus", "darkness" + world_size = "default", -- "small", "medium", "default", "huge" + branching = "default", -- "never", "least", "default", "most" + loop = "default", -- "never", "default", "always" + specialevent = "default", -- "none", "default", "hallowed_nights", "winters_feast", "year_of_the_gobbler" + autumn = "default", -- "noseason", "veryshortseason", "shortseason", "default", "longseason", "verylongseason", "random" + winter = "default", -- "noseason", "veryshortseason", "shortseason", "default", "longseason", "verylongseason", "random" + spring = "default", -- "noseason", "veryshortseason", "shortseason", "default", "longseason", "verylongseason", "random" + summer = "default", -- "noseason", "veryshortseason", "shortseason", "default", "longseason", "verylongseason", "random" + season_start = "default", -- "default", "winter", "spring", "summer", "autumnorspring", "winterorsummer", "random" + day = "default", -- "default", "longday", "longdusk", "longnight", "noday", "nodusk", "nonight", "onlyday", "onlydusk", "onlynight" + weather = "default", -- "never", "rare", "default", "often", "always" + earthquakes = "default", -- "never", "rare", "default", "often", "always" + lightning = "default", -- "never", "rare", "default", "often", "always" + frograin = "default", -- "never", "rare", "default", "often", "always" + wildfires = "default", -- "never", "rare", "default", "often", "always" + regrowth = "default", -- "veryslow", "slow", "default", "fast", "veryfast" + touchstone = "default", -- "never", "rare", "default", "often", "always" + boons = "default", -- "never", "rare", "default", "often", "always" + cavelight = "default", -- "veryslow", "slow", "default", "fast", "veryfast" + disease_delay = "default", -- "none", "random", "long", "default", "short" + prefabswaps_start = "default", -- "classic", "default", "highly random" + petrification = "default", -- "none", "few", "default", "many", "max" + + -- RESOURCES + flowers = "default", -- "never", "rare", "default", "often", "always" + grass = "default", -- "never", "rare", "default", "often", "always" + sapling = "default", -- "never", "rare", "default", "often", "always" + marshbush = "default", -- "never", "rare", "default", "often", "always" + tumbleweed = "default", -- "never", "rare", "default", "often", "always" + reeds = "default", -- "never", "rare", "default", "often", "always" + trees = "default", -- "never", "rare", "default", "often", "always" + flint = "default", -- "never", "rare", "default", "often", "always" + rock = "default", -- "never", "rare", "default", "often", "always" + rock_ice = "default", -- "never", "rare", "default", "often", "always" + meteorspawner = "default", -- "never", "rare", "default", "often", "always" + meteorshowers = "default", -- "never", "rare", "default", "often", "always" + mushtree = "default", -- "never", "rare", "default", "often", "always" + fern = "default", -- "never", "rare", "default", "often", "always" + flower_cave = "default", -- "never", "rare", "default", "often", "always" + wormlights = "default", -- "never", "rare", "default", "often", "always" + + -- UNPREPARED + berrybush = "default", -- "never", "rare", "default", "often", "always" + carrot = "default", -- "never", "rare", "default", "often", "always" + mushroom = "default", -- "never", "rare", "default", "often", "always" + cactus = "default", -- "never", "rare", "default", "often", "always" + banana = "default", -- "never", "rare", "default", "often", "always" + lichen = "default", -- "never", "rare", "default", "often", "always" + + -- ANIMALS + rabbits = "default", -- "never", "rare", "default", "often", "always" + moles = "default", -- "never", "rare", "default", "often", "always" + butterfly = "default", -- "never", "rare", "default", "often", "always" + birds = "default", -- "never", "rare", "default", "often", "always" + buzzard = "default", -- "never", "rare", "default", "often", "always" + catcoon = "default", -- "never", "rare", "default", "often", "always" + perd = "default", -- "never", "rare", "default", "often", "always" + pigs = "default", -- "never", "rare", "default", "often", "always" + lightninggoat = "default", -- "never", "rare", "default", "often", "always" + beefalo = "default", -- "never", "rare", "default", "often", "always" + beefaloheat = "default", -- "never", "rare", "default", "often", "always" + hunt = "default", -- "never", "rare", "default", "often", "always" + alternatehunt = "default", -- "never", "rare", "default", "often", "always" + penguins = "default", -- "never", "rare", "default", "often", "always" + cave_ponds = "default", -- "never", "rare", "default", "often", "always" + ponds = "default", -- "never", "rare", "default", "often", "always" + bees = "default", -- "never", "rare", "default", "often", "always" + angrybees = "default", -- "never", "rare", "default", "often", "always" + tallbirds = "default", -- "never", "rare", "default", "often", "always" + slurper = "default", -- "never", "rare", "default", "often", "always" + bunnymen = "default", -- "never", "rare", "default", "often", "always" + slurtles = "default", -- "never", "rare", "default", "often", "always" + rocky = "default", -- "never", "rare", "default", "often", "always" + monkey = "default", -- "never", "rare", "default", "often", "always" + + -- MONSTERS + spiders = "default", -- "never", "rare", "default", "often", "always" + cave_spiders = "default", -- "never", "rare", "default", "often", "always" + hounds = "default", -- "never", "rare", "default", "often", "always" + houndmound = "default", -- "never", "rare", "default", "often", "always" + merm = "default", -- "never", "rare", "default", "often", "always" + tentacles = "default", -- "never", "rare", "default", "often", "always" + chess = "default", -- "never", "rare", "default", "often", "always" + lureplants = "default", -- "never", "rare", "default", "often", "always" + walrus = "default", -- "never", "rare", "default", "often", "always" + liefs = "default", -- "never", "rare", "default", "often", "always" + deciduousmonster = "default", -- "never", "rare", "default", "often", "always" + krampus = "default", -- "never", "rare", "default", "often", "always" + bearger = "default", -- "never", "rare", "default", "often", "always" + deerclops = "default", -- "never", "rare", "default", "often", "always" + goosemoose = "default", -- "never", "rare", "default", "often", "always" + dragonfly = "default", -- "never", "rare", "default", "often", "always" + antliontribute = "default", -- "never", "rare", "default", "often", "always" + bats = "default", -- "never", "rare", "default", "often", "always" + fissure = "default", -- "never", "rare", "default", "often", "always" + wormattacks = "default", -- "never", "rare", "default", "often", "always" + worms = "default", -- "never", "rare", "default", "often", "always" + }, +} \ No newline at end of file diff --git a/steamcmd_servers/dont_starve/worldgenoverride.master.lua b/steamcmd_servers/dont_starve/worldgenoverride.master.lua new file mode 100644 index 00000000..981ec088 --- /dev/null +++ b/steamcmd_servers/dont_starve/worldgenoverride.master.lua @@ -0,0 +1,106 @@ +return { + override_enabled = true, + preset = "SURVIVAL_TOGETHER", -- "SURVIVAL_TOGETHER", "MOD_MISSING", "SURVIVAL_TOGETHER_CLASSIC", "SURVIVAL_DEFAULT_PLUS", "COMPLETE_DARKNESS", "DST_CAVE", "DST_CAVE_PLUS" + overrides = { + -- MISC + task_set = "default", -- "classic", "default", "cave_default" + start_location = "default", -- "caves", "default", "plus", "darkness" + world_size = "default", -- "small", "medium", "default", "huge" + branching = "default", -- "never", "least", "default", "most" + loop = "default", -- "never", "default", "always" + specialevent = "default", -- "none", "default", "hallowed_nights", "winters_feast", "year_of_the_gobbler" + autumn = "default", -- "noseason", "veryshortseason", "shortseason", "default", "longseason", "verylongseason", "random" + winter = "default", -- "noseason", "veryshortseason", "shortseason", "default", "longseason", "verylongseason", "random" + spring = "default", -- "noseason", "veryshortseason", "shortseason", "default", "longseason", "verylongseason", "random" + summer = "default", -- "noseason", "veryshortseason", "shortseason", "default", "longseason", "verylongseason", "random" + season_start = "default", -- "default", "winter", "spring", "summer", "autumnorspring", "winterorsummer", "random" + day = "default", -- "default", "longday", "longdusk", "longnight", "noday", "nodusk", "nonight", "onlyday", "onlydusk", "onlynight" + weather = "default", -- "never", "rare", "default", "often", "always" + earthquakes = "default", -- "never", "rare", "default", "often", "always" + lightning = "default", -- "never", "rare", "default", "often", "always" + frograin = "default", -- "never", "rare", "default", "often", "always" + wildfires = "default", -- "never", "rare", "default", "often", "always" + regrowth = "default", -- "veryslow", "slow", "default", "fast", "veryfast" + touchstone = "default", -- "never", "rare", "default", "often", "always" + boons = "default", -- "never", "rare", "default", "often", "always" + cavelight = "default", -- "veryslow", "slow", "default", "fast", "veryfast" + disease_delay = "default", -- "none", "random", "long", "default", "short" + prefabswaps_start = "default", -- "classic", "default", "highly random" + petrification = "default", -- "none", "few", "default", "many", "max" + + -- RESOURCES + flowers = "default", -- "never", "rare", "default", "often", "always" + grass = "default", -- "never", "rare", "default", "often", "always" + sapling = "default", -- "never", "rare", "default", "often", "always" + marshbush = "default", -- "never", "rare", "default", "often", "always" + tumbleweed = "default", -- "never", "rare", "default", "often", "always" + reeds = "default", -- "never", "rare", "default", "often", "always" + trees = "default", -- "never", "rare", "default", "often", "always" + flint = "default", -- "never", "rare", "default", "often", "always" + rock = "default", -- "never", "rare", "default", "often", "always" + rock_ice = "default", -- "never", "rare", "default", "often", "always" + meteorspawner = "default", -- "never", "rare", "default", "often", "always" + meteorshowers = "default", -- "never", "rare", "default", "often", "always" + mushtree = "default", -- "never", "rare", "default", "often", "always" + fern = "default", -- "never", "rare", "default", "often", "always" + flower_cave = "default", -- "never", "rare", "default", "often", "always" + wormlights = "default", -- "never", "rare", "default", "often", "always" + + -- UNPREPARED + berrybush = "default", -- "never", "rare", "default", "often", "always" + carrot = "default", -- "never", "rare", "default", "often", "always" + mushroom = "default", -- "never", "rare", "default", "often", "always" + cactus = "default", -- "never", "rare", "default", "often", "always" + banana = "default", -- "never", "rare", "default", "often", "always" + lichen = "default", -- "never", "rare", "default", "often", "always" + + -- ANIMALS + rabbits = "default", -- "never", "rare", "default", "often", "always" + moles = "default", -- "never", "rare", "default", "often", "always" + butterfly = "default", -- "never", "rare", "default", "often", "always" + birds = "default", -- "never", "rare", "default", "often", "always" + buzzard = "default", -- "never", "rare", "default", "often", "always" + catcoon = "default", -- "never", "rare", "default", "often", "always" + perd = "default", -- "never", "rare", "default", "often", "always" + pigs = "default", -- "never", "rare", "default", "often", "always" + lightninggoat = "default", -- "never", "rare", "default", "often", "always" + beefalo = "default", -- "never", "rare", "default", "often", "always" + beefaloheat = "default", -- "never", "rare", "default", "often", "always" + hunt = "default", -- "never", "rare", "default", "often", "always" + alternatehunt = "default", -- "never", "rare", "default", "often", "always" + penguins = "default", -- "never", "rare", "default", "often", "always" + cave_ponds = "default", -- "never", "rare", "default", "often", "always" + ponds = "default", -- "never", "rare", "default", "often", "always" + bees = "default", -- "never", "rare", "default", "often", "always" + angrybees = "default", -- "never", "rare", "default", "often", "always" + tallbirds = "default", -- "never", "rare", "default", "often", "always" + slurper = "default", -- "never", "rare", "default", "often", "always" + bunnymen = "default", -- "never", "rare", "default", "often", "always" + slurtles = "default", -- "never", "rare", "default", "often", "always" + rocky = "default", -- "never", "rare", "default", "often", "always" + monkey = "default", -- "never", "rare", "default", "often", "always" + + -- MONSTERS + spiders = "default", -- "never", "rare", "default", "often", "always" + cave_spiders = "default", -- "never", "rare", "default", "often", "always" + hounds = "default", -- "never", "rare", "default", "often", "always" + houndmound = "default", -- "never", "rare", "default", "often", "always" + merm = "default", -- "never", "rare", "default", "often", "always" + tentacles = "default", -- "never", "rare", "default", "often", "always" + chess = "default", -- "never", "rare", "default", "often", "always" + lureplants = "default", -- "never", "rare", "default", "often", "always" + walrus = "default", -- "never", "rare", "default", "often", "always" + liefs = "default", -- "never", "rare", "default", "often", "always" + deciduousmonster = "default", -- "never", "rare", "default", "often", "always" + krampus = "default", -- "never", "rare", "default", "often", "always" + bearger = "default", -- "never", "rare", "default", "often", "always" + deerclops = "default", -- "never", "rare", "default", "often", "always" + goosemoose = "default", -- "never", "rare", "default", "often", "always" + dragonfly = "default", -- "never", "rare", "default", "often", "always" + antliontribute = "default", -- "never", "rare", "default", "often", "always" + bats = "default", -- "never", "rare", "default", "often", "always" + fissure = "default", -- "never", "rare", "default", "often", "always" + wormattacks = "default", -- "never", "rare", "default", "often", "always" + worms = "default", -- "never", "rare", "default", "often", "always" + }, +} \ No newline at end of file From c8b6bbeb710f30cd36f122231c3014be71c38846 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sun, 28 Jun 2020 17:49:11 -0400 Subject: [PATCH 349/413] add rcon console to ark This adds rcon access for ark. resolves #418 Fixes the shutdown to properly save and exit. resolves #445 --- .../egg-ark--survival-evolved.json | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/steamcmd_servers/ark_survival_evolved/egg-ark--survival-evolved.json b/steamcmd_servers/ark_survival_evolved/egg-ark--survival-evolved.json index a18be460..8e469aa6 100644 --- a/steamcmd_servers/ark_survival_evolved/egg-ark--survival-evolved.json +++ b/steamcmd_servers/ark_survival_evolved/egg-ark--survival-evolved.json @@ -3,12 +3,12 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-12-08T10:15:59-05:00", + "exported_at": "2020-06-28T17:45:51-04:00", "name": "Ark: Survival Evolved", "author": "dev@shepper.fr", "description": "As a man or woman stranded, naked, freezing, and starving on the unforgiving shores of a mysterious island called ARK, use your skill and cunning to kill or tame and ride the plethora of leviathan dinosaurs and other primeval creatures roaming the land. Hunt, harvest resources, craft items, grow crops, research technologies, and build shelters to withstand the elements and store valuables, all while teaming up with (or preying upon) hundreds of other players to survive, dominate... and escape! \u2014 Gamepedia: ARK", - "image": "quay.io\/pterodactyl\/core:source", - "startup": "\"cd ShooterGame\/Binaries\/Linux && .\/ShooterGameServer {{SERVER_MAP}}?listen?SessionName='{{SESSION_NAME}}'?ServerPassword={{ARK_PASSWORD}}?ServerAdminPassword={{ARK_ADMIN_PASSWORD}}?Port={{SERVER_PORT}}?RCONPort={{RCON_PORT}}?QueryPort={{QUERY_PORT}}?RCONEnabled={{ENABLE_RCON}} -server -log\"", + "image": "quay.io\/parkervcp\/pterodactyl-images:debian_source", + "startup": "rmv() { echo -e \"stoppping server\"; rcon -a 127.0.0.1:${RCON_PORT} -p ${ARK_ADMIN_PASSWORD} -c saveworld && rcon -a 127.0.0.1:${RCON_PORT} -p ${ARK_ADMIN_PASSWORD} -c DoExit; }; trap \\'echo -e \\\"ctrl-c caught\\\" && rmv\\'; cd ShooterGame\/Binaries\/Linux && .\/ShooterGameServer {{SERVER_MAP}}?listen?SessionName='{{SESSION_NAME}}'?ServerPassword={{ARK_PASSWORD}}?ServerAdminPassword={{ARK_ADMIN_PASSWORD}}?Port={{SERVER_PORT}}?RCONPort={{RCON_PORT}}?QueryPort={{QUERY_PORT}}?RCONEnabled={{ENABLE_RCON}} -server -log & until echo \"waiting for rcon connection...\"; rcon -a 127.0.0.1:${RCON_PORT} -p ${ARK_ADMIN_PASSWORD}; do sleep 5; done", "config": { "files": "{}", "startup": "{\r\n \"done\": \"Setting breakpad minidump AppID = 346110\",\r\n \"userInteraction\": []\r\n}", @@ -18,7 +18,7 @@ "scripts": { "installation": { "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ubuntu:18.04'\r\napt -y update\r\napt -y --no-install-recommends --no-install-suggests install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\n\r\nmkdir -p \/mnt\/server\/Engine\/Binaries\/ThirdParty\/SteamCMD\/Linux\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/Engine\/Binaries\/ThirdParty\/SteamCMD\/Linux\r\n\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## create a symbolic link for loading mods\r\ncd \/mnt\/server\/Engine\/Binaries\/ThirdParty\/SteamCMD\/Linux\r\nln -sf ..\/..\/..\/..\/..\/Steam\/steamapps steamapps\r\ncd \/mnt\/server", - "container": "ubuntu:18.04", + "container": "debian:buster-slim", "entrypoint": "bash" } }, @@ -94,6 +94,15 @@ "user_viewable": 1, "user_editable": 1, "rules": "required|string|max:20" + }, + { + "name": "Auto-update server", + "description": "This is to enable auto-updating for servers.\r\n\r\nDefault is 0. Set to 1 to update", + "env_variable": "AUTO_UPDATE", + "default_value": "0", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|boolean" } ] } \ No newline at end of file From 045546d6374d4beb1c19663a0b64ec9268613842 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sun, 28 Jun 2020 18:28:42 -0400 Subject: [PATCH 350/413] update caves ini files --- steamcmd_servers/dont_starve/server.caves.ini | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/steamcmd_servers/dont_starve/server.caves.ini b/steamcmd_servers/dont_starve/server.caves.ini index 3b274a2a..574cb73d 100644 --- a/steamcmd_servers/dont_starve/server.caves.ini +++ b/steamcmd_servers/dont_starve/server.caves.ini @@ -1,10 +1,10 @@ +[ACCOUNT] +encode_user_path = true + [NETWORK] server_port = 11000 [SHARD] is_master = false name = Caves -id = 1137196188 - -[ACCOUNT] -encode_user_path = true +id = 1137196188 \ No newline at end of file From e208cf7bc9616eda38d68cb3d50615a701391e3e Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sun, 28 Jun 2020 20:43:18 -0400 Subject: [PATCH 351/413] add caves support resolves #215 Adds caves support. Adds default configs for master and cave servers. Adds a default cluster config. Adds worldgen files to generate caves and an overworld. --- .../egg-don-t-starve-together.json | 72 ++++++++++++++++--- .../dont_starve/server.cluster.ini | 2 +- 2 files changed, 64 insertions(+), 10 deletions(-) diff --git a/steamcmd_servers/dont_starve/egg-don-t-starve-together.json b/steamcmd_servers/dont_starve/egg-don-t-starve-together.json index c294629c..06187873 100644 --- a/steamcmd_servers/dont_starve/egg-don-t-starve-together.json +++ b/steamcmd_servers/dont_starve/egg-don-t-starve-together.json @@ -3,21 +3,21 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-03-30T13:56:41-04:00", + "exported_at": "2020-06-28T20:40:38-04:00", "name": "Don't Starve Together", "author": "parker@parkervcp.com", "description": "Don\u2019t Starve Together is an uncompromising wilderness survival game full of science and magic.", - "image": "quay.io\/parkervcp\/pterodactyl-images:source", - "startup": "'cd bin && .\/dontstarve_dedicated_server_nullrenderer -bind_ip 0.0.0.0 -port {{SERVER_PORT}} -console -persistent_storage_root \/home\/container\/DoNotStarveTogether -conf_dir config -cluster server -players {{MAX_PLAYERS}}'", + "image": "quay.io\/parkervcp\/pterodactyl-images:debian_source", + "startup": "cd bin && coproc caves ( .\/dontstarve_dedicated_server_nullrenderer -console -persistent_storage_root \/home\/container\/DoNotStarveTogether -conf_dir config -cluster server -players 4 -shard Caves ); .\/dontstarve_dedicated_server_nullrenderer -bind_ip 0.0.0.0 -port 10999 -console -persistent_storage_root \/home\/container\/DoNotStarveTogether -conf_dir config -cluster server -players 4 -shard Master && echo 'c_shutdown()' >&\"${caves[1]}\"", "config": { - "files": "{}", + "files": "{\r\n \"DoNotStarveTogether\/config\/server\/cluster.ini\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"GAMEPLAY.game_mode\":\"{{server.build.env.GAME_MODE}}\",\r\n \"GAMEPLAY.max_players\":\"{{server.build.env.MAX_PLAYERS}}\",\r\n \"NETWORK.cluster_name\":\"{{server.build.env.CLUSTER_NAME}}\",\r\n \"NETWORK.cluster_description\":\"{{server.build.env.CLUSTER_DESC}}\",\r\n \"SHARD.shard_enabled\": \"true\",\r\n \"SHARD.bind_ip\":\"127.0.0.1\",\r\n \"SHARD.master_ip\":\"127.0.0.1\",\r\n \"SHARD.master_port\":\"11001\"\r\n }\r\n },\r\n \"DoNotStarveTogether\/config\/server\/Master\/server.ini\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"NETWORK.server_port\": \"{{server.build.default.port}}\",\r\n \"SHARD.is_master\": \"true\"\r\n }\r\n },\r\n \"DoNotStarveTogether\/config\/server\/Caves\/server.ini\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"NETWORK.server_port\":\"11000\",\r\n \"SHARD.is_master\": \"false\",\r\n \"SHARD.name\":\"Caves\"\r\n }\r\n }\r\n}", "startup": "{\r\n \"done\": \"Setting breakpad minidump AppID\",\r\n \"userInteraction\": []\r\n}", "logs": "{}", - "stop": "^C" + "stop": "c_shutdown()" }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'debian:buster-slim'\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## DST specific\r\nmkdir -p ~\/DoNotStarveTogether\/config\/server\/\r\necho \"${SERVER_TOKEN}\" >> ~\/DoNotStarveTogether\/config\/server\/cluster_token.txt", + "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'debian:buster-slim'\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## DST specific\r\n## cluster token file\r\necho -e \"getting cluster configs\"\r\nmkdir -p \/mnt\/server\/DoNotStarveTogether\/config\/server\/\r\nif [ ! -f \/mnt\/server\/DoNotStarveTogether\/config\/server\/cluster_token.txt ]; then\r\n echo \"${SERVER_TOKEN}\" >> \/mnt\/server\/DoNotStarveTogether\/config\/server\/cluster_token.txt\r\nfi\r\n\r\n## cluster configs \r\nif [ ! -f \/mnt\/server\/DoNotStarveTogether\/config\/server\/cluster.ini ]; then\r\n curl -sSL https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/steamcmd_servers\/dont_starve\/server.cluster.ini -o \/mnt\/server\/DoNotStarveTogether\/config\/server\/cluster.ini\r\nfi\r\n\r\n## master configs\r\necho -e \"getting master configs\"\r\nmkdir -p \/mnt\/server\/DoNotStarveTogether\/config\/server\/Master\/\r\n## master ini\r\nif [ ! -f \/mnt\/server\/DoNotStarveTogether\/config\/server\/Master\/server.ini ]; then\r\n curl -sSL https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/steamcmd_servers\/dont_starve\/server.master.ini -o \/mnt\/server\/DoNotStarveTogether\/config\/server\/Master\/server.ini\r\nfi\r\n\r\n## master worldgen override\r\nif [ ! -z ${MASTER_WORLDGEN} ] && [ ! -f \/mnt\/server\/DoNotStarveTogether\/config\/server\/Master\/worldgenoverride.lua ]; then\r\n curl -sSL ${MASTER_WORLDGEN} -o \/mnt\/server\/DoNotStarveTogether\/config\/server\/Master\/worldgenoverride.lua\r\nfi\r\n\r\n## caves configs\r\necho -e \"getting cave configs\"\r\nmkdir -p \/mnt\/server\/DoNotStarveTogether\/config\/server\/Caves\/\r\n## caves ini\r\nif [ ! -f \/mnt\/server\/DoNotStarveTogether\/config\/server\/Caves\/server.ini ]; then\r\n curl -sSL https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/steamcmd_servers\/dont_starve\/server.caves.ini -o \/mnt\/server\/DoNotStarveTogether\/config\/server\/Caves\/server.ini\r\nfi\r\n\r\n## caves worldgen override\r\nif [ ! -z ${CAVES_WORLDGEN} ] && [ ! -f \/mnt\/server\/DoNotStarveTogether\/config\/server\/Caves\/worldgenoverride.lua ]; then\r\n curl -sSL ${CAVES_WORLDGEN} -o \/mnt\/server\/DoNotStarveTogether\/config\/server\/Caves\/worldgenoverride.lua\r\nfi\r\n\r\necho -e \"install complete\"", "container": "debian:buster-slim", "entrypoint": "bash" } @@ -25,16 +25,16 @@ "variables": [ { "name": "Max Players", - "description": "Set the maximum number of players that will be allowed to join the game. This option overrides the [GAMEPLAY] \/ max_players setting in cluster.ini.", + "description": "Set the maximum number of players that will be allowed to join the game. This option overrides the [GAMEPLAY] \/ max_players setting in cluster.ini.\r\n\r\ndefault is 16", "env_variable": "MAX_PLAYERS", - "default_value": "4", + "default_value": "16", "user_viewable": 1, "user_editable": 0, "rules": "required|integer|between:1,31" }, { "name": "Server Token", - "description": "Required to run a public server. This needs to be generated from in game.", + "description": "Required to run a public server. This needs to be generated from in game.\r\n\r\nGet your token here:\r\nhttps:\/\/accounts.klei.com\/account\/game\/servers?game=DontStarveTogether", "env_variable": "SERVER_TOKEN", "default_value": "", "user_viewable": 1, @@ -49,6 +49,60 @@ "user_viewable": 1, "user_editable": 0, "rules": "required|string|max:20" + }, + { + "name": "Auto-update server", + "description": "This is to enable auto-updating for servers.\r\n\r\nDefault is 0. Set to 1 to update", + "env_variable": "AUTO_UPDATE", + "default_value": "0", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|boolean" + }, + { + "name": "Game mode", + "description": "Valid values are survival, endless or wilderness", + "env_variable": "GAME_MODE", + "default_value": "survival", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string" + }, + { + "name": "Cluster Name", + "description": "This is the name that will show up in server browser.", + "env_variable": "CLUSTER_NAME", + "default_value": "A Pterodactyl Server", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string" + }, + { + "name": "Cluster Description", + "description": "This will show up in the server details area on the \u201cBrowse Games\u201d screen.", + "env_variable": "CLUSTER_DESC", + "default_value": "A Pterodactyl Hosted Server", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string" + }, + { + "name": "Master Worldgen Override", + "description": "Link to the lua file used to generate the master server map. Only used during the install phase.", + "env_variable": "MASTER_WORLDGEN", + "default_value": "https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/steamcmd_servers\/dont_starve\/worldgenoverride.master.lua", + "user_viewable": 0, + "user_editable": 0, + "rules": "nullable|string" + }, + { + "name": "Master Worldgen Override", + "description": "Link to the lua file used to generate the caves server map. Only used during the install phase.\r\n\r\nDefault generates a cave map", + "env_variable": "CAVES_WORLDGEN", + "default_value": "https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/steamcmd_servers\/dont_starve\/worldgenoverride.caves.lua", + "user_viewable": 0, + "user_editable": 0, + "rules": "nullable|string" } ] } \ No newline at end of file diff --git a/steamcmd_servers/dont_starve/server.cluster.ini b/steamcmd_servers/dont_starve/server.cluster.ini index 563ddbf7..78eb5a8b 100644 --- a/steamcmd_servers/dont_starve/server.cluster.ini +++ b/steamcmd_servers/dont_starve/server.cluster.ini @@ -2,7 +2,7 @@ game_mode = survival max_players = 10 pvp = false -pause_when_empty = true +pause_when_empty = false [NETWORK] cluster_name = Pterodactyl Test Server From 1a9d37bfba2664e48395d6ec9e16dc4ffea53813 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Mon, 29 Jun 2020 09:47:40 -0400 Subject: [PATCH 352/413] Change variable default values Change startup detection string --- .../egg-ark--survival-evolved.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/steamcmd_servers/ark_survival_evolved/egg-ark--survival-evolved.json b/steamcmd_servers/ark_survival_evolved/egg-ark--survival-evolved.json index 8e469aa6..5dab98e3 100644 --- a/steamcmd_servers/ark_survival_evolved/egg-ark--survival-evolved.json +++ b/steamcmd_servers/ark_survival_evolved/egg-ark--survival-evolved.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-06-28T17:45:51-04:00", + "exported_at": "2020-06-29T09:45:49-04:00", "name": "Ark: Survival Evolved", "author": "dev@shepper.fr", "description": "As a man or woman stranded, naked, freezing, and starving on the unforgiving shores of a mysterious island called ARK, use your skill and cunning to kill or tame and ride the plethora of leviathan dinosaurs and other primeval creatures roaming the land. Hunt, harvest resources, craft items, grow crops, research technologies, and build shelters to withstand the elements and store valuables, all while teaming up with (or preying upon) hundreds of other players to survive, dominate... and escape! \u2014 Gamepedia: ARK", @@ -11,7 +11,7 @@ "startup": "rmv() { echo -e \"stoppping server\"; rcon -a 127.0.0.1:${RCON_PORT} -p ${ARK_ADMIN_PASSWORD} -c saveworld && rcon -a 127.0.0.1:${RCON_PORT} -p ${ARK_ADMIN_PASSWORD} -c DoExit; }; trap \\'echo -e \\\"ctrl-c caught\\\" && rmv\\'; cd ShooterGame\/Binaries\/Linux && .\/ShooterGameServer {{SERVER_MAP}}?listen?SessionName='{{SESSION_NAME}}'?ServerPassword={{ARK_PASSWORD}}?ServerAdminPassword={{ARK_ADMIN_PASSWORD}}?Port={{SERVER_PORT}}?RCONPort={{RCON_PORT}}?QueryPort={{QUERY_PORT}}?RCONEnabled={{ENABLE_RCON}} -server -log & until echo \"waiting for rcon connection...\"; rcon -a 127.0.0.1:${RCON_PORT} -p ${ARK_ADMIN_PASSWORD}; do sleep 5; done", "config": { "files": "{}", - "startup": "{\r\n \"done\": \"Setting breakpad minidump AppID = 346110\",\r\n \"userInteraction\": []\r\n}", + "startup": "{\r\n \"done\": \"Waiting commands for 127.0.0.1:\",\r\n \"userInteraction\": []\r\n}", "logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/latest.log\"\r\n}", "stop": "^C" }, @@ -54,18 +54,18 @@ "name": "Admin Password", "description": "If specified, players must provide this password (via the in-game console) to gain access to administrator commands on the server.", "env_variable": "ARK_ADMIN_PASSWORD", - "default_value": "", + "default_value": "PleaseChangeMe", "user_viewable": 1, "user_editable": 1, "rules": "nullable|alpha_dash|between:1,100" }, { "name": "Use Rcon", - "description": "Enable or disable rcon system. (true or false)", + "description": "Enable or disable rcon system. (true or false)\r\n\r\nDefault True for the console to work.", "env_variable": "ENABLE_RCON", - "default_value": "false", + "default_value": "True", "user_viewable": 1, - "user_editable": 1, + "user_editable": 0, "rules": "required|string|max:5" }, { From 663ee6b7a7d8a20fb6471064121ad531294071c3 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Mon, 29 Jun 2020 11:29:50 -0400 Subject: [PATCH 353/413] fix fivem variable in config removes the set before sv_hostname resolves #589 --- gta/fivem/server.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gta/fivem/server.cfg b/gta/fivem/server.cfg index d7d61bea..0845cf8f 100644 --- a/gta/fivem/server.cfg +++ b/gta/fivem/server.cfg @@ -4,7 +4,7 @@ endpoint_add_tcp "0.0.0.0:30120" endpoint_add_udp "0.0.0.0:30120" # Set your server's hostname -set sv_hostname "New FiveM Server with Pterodactyl" +sv_hostname "New FiveM Server with Pterodactyl" # Server player slot limit (must be between 1 and 32, unless using OneSync) sv_maxclients 32 From 836b18bbccc6e1762afa19a602cad1bc7d916fc6 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Mon, 29 Jun 2020 11:36:51 -0400 Subject: [PATCH 354/413] set valid values for variable makes it so the Rcon enabled value can only be True or False --- .../ark_survival_evolved/egg-ark--survival-evolved.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/steamcmd_servers/ark_survival_evolved/egg-ark--survival-evolved.json b/steamcmd_servers/ark_survival_evolved/egg-ark--survival-evolved.json index 5dab98e3..889f3622 100644 --- a/steamcmd_servers/ark_survival_evolved/egg-ark--survival-evolved.json +++ b/steamcmd_servers/ark_survival_evolved/egg-ark--survival-evolved.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-06-29T09:45:49-04:00", + "exported_at": "2020-06-29T11:35:17-04:00", "name": "Ark: Survival Evolved", "author": "dev@shepper.fr", "description": "As a man or woman stranded, naked, freezing, and starving on the unforgiving shores of a mysterious island called ARK, use your skill and cunning to kill or tame and ride the plethora of leviathan dinosaurs and other primeval creatures roaming the land. Hunt, harvest resources, craft items, grow crops, research technologies, and build shelters to withstand the elements and store valuables, all while teaming up with (or preying upon) hundreds of other players to survive, dominate... and escape! \u2014 Gamepedia: ARK", @@ -66,7 +66,7 @@ "default_value": "True", "user_viewable": 1, "user_editable": 0, - "rules": "required|string|max:5" + "rules": "required|string|in:True,False" }, { "name": "Rcon Port", From 6748c429a663f683bf51b6a7227dee20eaab71aa Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Mon, 29 Jun 2020 17:01:50 -0400 Subject: [PATCH 355/413] add discord.py generic resolves #591 Since you're all to lazy to edit a script on your own. --- bots/discord/discord.py/README.md | 6 ++ .../discord.py/egg-discord-py-generic.json | 81 +++++++++++++++++++ 2 files changed, 87 insertions(+) create mode 100644 bots/discord/discord.py/README.md create mode 100644 bots/discord/discord.py/egg-discord-py-generic.json diff --git a/bots/discord/discord.py/README.md b/bots/discord/discord.py/README.md new file mode 100644 index 00000000..c45234d9 --- /dev/null +++ b/bots/discord/discord.py/README.md @@ -0,0 +1,6 @@ +# discord.py generic +This egg was designed to allow a user to pull their own python discord bot from a repo. + +There is an option to allow a user to upload their own files to run a bot. + +The startup configs and commands may need changing to actually function properly. \ No newline at end of file diff --git a/bots/discord/discord.py/egg-discord-py-generic.json b/bots/discord/discord.py/egg-discord-py-generic.json new file mode 100644 index 00000000..694e4d6e --- /dev/null +++ b/bots/discord/discord.py/egg-discord-py-generic.json @@ -0,0 +1,81 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2020-06-29T16:59:56-04:00", + "name": "discord.py generic", + "author": "parker@parkervcp.com", + "description": "A Discord bot written in Python using discord.py\r\n\r\nhttps:\/\/github.com\/Ispira\/pixel-bot", + "image": "quay.io\/parkervcp\/pterodactyl-images:debian_python-3.8", + "startup": "if [[ -d .git ]] && [[ {{AUTO_UPDATE}} == \"1\" ]]; then git pull; fi; if [[ ! -z ${PY_PACKAGES} ]]; then pip install -U --target \/mnt\/server\/ ${PY_PACKAGES}; fi; if [ -f \/home\/container\/requirements.txt]; then pip install -U --target \/mnt\/server\/ -r requirements.txt; fi; \/usr\/local\/bin\/python \/home\/container\/{{BOT_PY_FILE}}", + "config": { + "files": "{}", + "startup": "{\r\n \"done\": \"change this part\"\r\n}", + "logs": "{}", + "stop": "^C" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash\r\n# Python Bot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y git gcc g++ libffi-dev make\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nif [[ ! ${INSTALL_REPO} = *\\.git ]]; then\r\n INSTALL_REPO=$(echo -e ${INSTALL_REPO} | sed 's:\/*$::')\r\n INSTALL_REPO=\"${INSTALL_REPO}.git\"\r\nfi\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\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\tfi\r\nfi \r\n\r\necho \"Installing python requirements into folder\"\r\nif [[ ! -z ${PY_PACKAGES} ]]; then\r\n pip install -U --target \/mnt\/server\/ ${PY_PACKAGES}\r\nfi\r\n\r\nif [ -f \/mnt\/server\/requirements.txt ]; then\r\n pip install -U --target \/mnt\/server\/ -r requirements.txt\r\nfi\r\n\r\necho -e \"install complete\"\r\nexit 0", + "container": "python:3.8-slim", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "Install Repo", + "description": "The git repo to clone and install the discord js bot from", + "env_variable": "INSTALL_REPO", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string" + }, + { + "name": "Install Branch", + "description": "The branch of the bot to install", + "env_variable": "INSTALL_BRANCH", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string" + }, + { + "name": "User Uploaded Files", + "description": "Skip all the install cruft is you are just letting a user upload files.\r\n\r\n0 = false (default)\r\n1 = true", + "env_variable": "USER_UPLOAD", + "default_value": "0", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|boolean" + }, + { + "name": "Auto Update", + "description": "When using a git repo pull the latest files on startup.", + "env_variable": "AUTO_UPDATE", + "default_value": "0", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|boolean" + }, + { + "name": "Bot py file", + "description": "The file that starts the bot.", + "env_variable": "BOT_PY_FILE", + "default_value": "bot.py", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string" + }, + { + "name": "Additional Python packages", + "description": "Install additional python packages.\r\n\r\nUse spaces to separate", + "env_variable": "PY_PACKAGES", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string" + } + ] +} \ No newline at end of file From 2a707a19829dbecdc73f60c9cd55fdf5a5cbd6b9 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Mon, 29 Jun 2020 17:04:37 -0400 Subject: [PATCH 356/413] update README's --- README.md | 1 + bots/discord/README.md | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/README.md b/README.md index e451b6e5..dbc8ed1e 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/) * [CorpBot](/bots/discord/corpbot/) Python * [discord.js](bots/discord/discord.js/) Node JS generic +* [discord.py](bots/discord/discord.py/) Python generic * [fragbot](/bots/discord/fragbot/) Golang * [jmusicbot](/bots/discord/jmusicbot) Java * [parkertron](/bots/discord/parkertron/) Golang diff --git a/bots/discord/README.md b/bots/discord/README.md index 32e7f28b..41f95307 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. +#### DiscordPY +[discord.py](https://discordpy.readthedocs.io/en/latest/) +A generic discord.py egg for running discord bots. + #### MusicBot [jagrosh/MusicBot](https://github.com/jagrosh/MusicBot) A Discord music bot that's easy to set up and run yourself! From d4e8d314c5278203156e977e176a59387ba310c6 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Mon, 29 Jun 2020 17:11:32 -0400 Subject: [PATCH 357/413] update discordjs generic update generic install script update generic start command --- .../discord.js/egg-discord-js-generic.json | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/bots/discord/discord.js/egg-discord-js-generic.json b/bots/discord/discord.js/egg-discord-js-generic.json index a10e1502..b63e19a7 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": "2020-03-26T16:10:33+01:00", + "exported_at": "2020-06-29T17:10:31-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:debian_nodejs-12", - "startup": "if [[ -d .git ]] && [[ {{AUTO_UPDATE}} == \"1\" ]]; then git pull; fi && \/usr\/local\/bin\/npm install --production && \/usr\/local\/bin\/node \/home\/container\/{{BOT_JS_FILE}}", + "startup": "if [[ -d .git ]] && [[ {{AUTO_UPDATE}} == \"1\" ]]; then git pull; fi; if [[ ! -z ${NODE_PACKAGES} ]]; then \/usr\/local\/bin\/npm install ${NODE_PACKAGES}; fi; if [ -f \/home\/container\/package.json ]; then \/usr\/local\/bin\/npm install --production; fi; \/usr\/local\/bin\/node\/home\/container\/{{BOT_JS_FILE}}", "config": { "files": "{}", "startup": "{\r\n \"done\": \"change this part\"\r\n}", @@ -17,9 +17,9 @@ }, "scripts": { "installation": { - "script": "#\/bin\/ash\r\n\r\napk add --no-cache git make gcc g++ python\r\n\r\ncd \/mnt\/server\r\n\r\nif [[ ! ${INSTALL_REPO} = *\\.git ]]; then\r\n INSTALL_REPO=$(echo -e ${INSTALL_REPO} | sed 's:\/*$::')\r\n INSTALL_REPO=\"${INSTALL_REPO}.git\"\r\nfi\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" + "script": "#!\/bin\/bash\r\n# NodeJS Bot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y git make gcc g++ python python-dev libtool\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nif [[ ! ${INSTALL_REPO} = *\\.git ]]; then\r\n INSTALL_REPO=$(echo -e ${INSTALL_REPO} | sed 's:\/*$::')\r\n INSTALL_REPO=\"${INSTALL_REPO}.git\"\r\nfi\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\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\tfi\r\nfi \r\n\r\necho \"Installing python requirements into folder\"\r\nif [[ ! -z ${NODE_PACKAGES} ]]; then\r\n \/usr\/local\/bin\/npm install ${NODE_PACKAGES}\r\nfi\r\n\r\nif [ -f \/mnt\/server\/package.json ]; then\r\n \/usr\/local\/bin\/npm install --production\r\nfi\r\n\r\necho -e \"install complete\"\r\nexit 0", + "container": "node:12-buster-slim", + "entrypoint": "bash" } }, "variables": [ @@ -67,6 +67,15 @@ "user_viewable": 1, "user_editable": 1, "rules": "required|string" + }, + { + "name": "Additional Node packages", + "description": "Install additional node packages.\r\n\r\nUse spaces to separate", + "env_variable": "NODE_PACKAGES", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string" } ] -} +} \ No newline at end of file From ce2d45eef4c413e30bad4c2ba474ac966264fd5c Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Mon, 29 Jun 2020 17:54:08 -0400 Subject: [PATCH 358/413] only use seed file when no seed is specified --- steamcmd_servers/rust/rust_autowipe/egg-rust-autowipe.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/steamcmd_servers/rust/rust_autowipe/egg-rust-autowipe.json b/steamcmd_servers/rust/rust_autowipe/egg-rust-autowipe.json index 5d0cec06..1465e79d 100644 --- a/steamcmd_servers/rust/rust_autowipe/egg-rust-autowipe.json +++ b/steamcmd_servers/rust/rust_autowipe/egg-rust-autowipe.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-06-26T23:31:17-04:00", + "exported_at": "2020-06-29T17:53:20-04:00", "name": "Rust Autowipe", "author": "support@pterodactyl.io", "description": "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.", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'debian:buster-slim'\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\nSRCDS_APPID=258550\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\nif [ ${REGEN_SERVER} == \"1\" ]; then\r\n cd \/mnt\/server\/\r\n rm -rf ${REMOVE_FILES}\r\n rm -sf seed.txt\r\n cat \/dev\/urandom | tr -dc '1-9' | fold -w 5 | head -n 1 > seed.txt\r\nfi", + "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'debian:buster-slim'\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\nSRCDS_APPID=258550\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\nif [ ${REGEN_SERVER} == \"1\" ]; then\r\n cd \/mnt\/server\/\r\n rm -rf ${REMOVE_FILES}\r\nfi\r\n\r\nif [ $WORLD_SEED == \"0\" ]; then\r\n if [ ! -f \/mnt\/server\/seed.txt ]; then\r\n rm -sf \/mnt\/server\/seed.txt\r\n fi\r\n \r\n cat \/dev\/urandom | tr -dc '1-9' | fold -w 5 | head -n 1 > \/mnt\/server\/seed.txt\r\nfi", "container": "ubuntu:18.04", "entrypoint": "bash" } @@ -81,7 +81,7 @@ "name": "World Seed", "description": "The seed for a procedural map.", "env_variable": "WORLD_SEED", - "default_value": "", + "default_value": "0", "user_viewable": 1, "user_editable": 1, "rules": "nullable|string" From dc1dd9298878debcefecc3410e77faa251335fc4 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Mon, 29 Jun 2020 18:44:48 -0400 Subject: [PATCH 359/413] fix startup command makes the startup command respect seed variable --- steamcmd_servers/rust/rust_autowipe/egg-rust-autowipe.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/steamcmd_servers/rust/rust_autowipe/egg-rust-autowipe.json b/steamcmd_servers/rust/rust_autowipe/egg-rust-autowipe.json index 1465e79d..a0214678 100644 --- a/steamcmd_servers/rust/rust_autowipe/egg-rust-autowipe.json +++ b/steamcmd_servers/rust/rust_autowipe/egg-rust-autowipe.json @@ -3,12 +3,12 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-06-29T17:53:20-04:00", + "exported_at": "2020-06-29T18:44:15-04:00", "name": "Rust Autowipe", "author": "support@pterodactyl.io", "description": "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.", "image": "quay.io\/pterodactyl\/core:rust", - "startup": "\".\/RustDedicated -batchmode +server.port {{SERVER_PORT}} +server.identity \"rust\" +rcon.port {{RCON_PORT}} +rcon.web true +server.hostname \\\"{{HOSTNAME}}\\\" +server.level \\\"{{LEVEL}}\\\" +server.description \\\"{{DESCRIPTION}}\\\" +server.url \\\"{{SERVER_URL}}\\\" +server.headerimage \\\"{{SERVER_IMG}}\\\" +server.worldsize \\\"{{WORLD_SIZE}}\\\" +server.seed \\\"$( [ -f seed.txt ] && printf %s $(cat seed.txt) || printf %s '${WORLD_SEED}' )\\\" +server.maxplayers {{MAX_PLAYERS}} +rcon.password \\\"{{RCON_PASS}}\\\" +server.saveinterval {{SAVEINTERVAL}} {{ADDITIONAL_ARGS}}\"", + "startup": "\".\/RustDedicated -batchmode +server.port {{SERVER_PORT}} +server.identity \"rust\" +rcon.port {{RCON_PORT}} +rcon.web true +server.hostname \\\"{{HOSTNAME}}\\\" +server.level \\\"{{LEVEL}}\\\" +server.description \\\"{{DESCRIPTION}}\\\" +server.url \\\"{{SERVER_URL}}\\\" +server.headerimage \\\"{{SERVER_IMG}}\\\" +server.worldsize \\\"{{WORLD_SIZE}}\\\" +server.seed \\\"$( if [ -f seed.txt ] && [[ ${WORLD_SEED} == \"0\" ]]; then printf %s $(cat seed.txt); else printf %s '${WORLD_SEED}'; fi )\\\" +server.maxplayers {{MAX_PLAYERS}} +rcon.password \\\"{{RCON_PASS}}\\\" +server.saveinterval {{SAVEINTERVAL}} {{ADDITIONAL_ARGS}}\"", "config": { "files": "{}", "startup": "{\r\n \"done\": \"Server startup complete\",\r\n \"userInteraction\": []\r\n}", From 7361fbb1890d65dc46b500fdeee086dc881666b5 Mon Sep 17 00:00:00 2001 From: Exonical Date: Wed, 1 Jul 2020 18:27:34 +0900 Subject: [PATCH 360/413] ABC order --- README.md | 2 +- steamcmd_servers/README.md | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 78d30bbe..7385957c 100644 --- a/README.md +++ b/README.md @@ -109,6 +109,7 @@ If you are reading this it looks like you are looking to add an egg to your serv * [ECO](/steamcmd_servers/eco/) * [HLDS server](/steamcmd_servers/hlds_server) * [Hurtworld](/steamcmd_servers/hurtworld) +* [Insurgency: Sandstorm](/steamcmd_servers/insurgency_sandstorm) * [Mordhau](/steamcmd_servers/mordhau) * [Onset](/steamcmd_servers/onset) * [PixARK](/steamcmd_servers/pixark/) @@ -125,7 +126,6 @@ If you are reading this it looks like you are looking to add an egg to your serv * [Unturned](/steamcmd_servers/unturned/) * [RocketMod](/steamcmd_servers/unturned/rocketmod/) * [Unturned](/steamcmd_servers/unturned/unturned/) -* [Insurgency: Sandstorm](/steamcmd_servers/insurgency_sandstorm) [Terraria](/terraria/) * [vanilla](/terraria/vanilla) diff --git a/steamcmd_servers/README.md b/steamcmd_servers/README.md index 1bdf3307..0bf6968c 100644 --- a/steamcmd_servers/README.md +++ b/steamcmd_servers/README.md @@ -31,6 +31,9 @@ This is a collection of servers that use steamcmd to install. ## Hurtworld [hurtworld](hurtworld/) +## Insurgency: Sandstorm +[Insurgency: Sandstorm](insurgency_sandstorm/) + ## Mordhau [mordhau](mordhau/) @@ -67,6 +70,3 @@ This is a collection of servers that use steamcmd to install. ## Unturned * [RocketMod](rocketmod) * [Unturned](unturned) - -## Insurgency: Sandstorm -[Insurgency: Sandstorm](insurgency_sandstorm/) From aae0ff585b61ec4bdeee5f9082caf57b95b869cb Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Fri, 10 Jul 2020 10:51:06 -0400 Subject: [PATCH 361/413] updating dst to actually used the max players variable --- steamcmd_servers/dont_starve/egg-don-t-starve-together.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/steamcmd_servers/dont_starve/egg-don-t-starve-together.json b/steamcmd_servers/dont_starve/egg-don-t-starve-together.json index 06187873..20a42350 100644 --- a/steamcmd_servers/dont_starve/egg-don-t-starve-together.json +++ b/steamcmd_servers/dont_starve/egg-don-t-starve-together.json @@ -3,14 +3,14 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-06-28T20:40:38-04:00", + "exported_at": "2020-07-10T10:48:40-04:00", "name": "Don't Starve Together", "author": "parker@parkervcp.com", "description": "Don\u2019t Starve Together is an uncompromising wilderness survival game full of science and magic.", "image": "quay.io\/parkervcp\/pterodactyl-images:debian_source", - "startup": "cd bin && coproc caves ( .\/dontstarve_dedicated_server_nullrenderer -console -persistent_storage_root \/home\/container\/DoNotStarveTogether -conf_dir config -cluster server -players 4 -shard Caves ); .\/dontstarve_dedicated_server_nullrenderer -bind_ip 0.0.0.0 -port 10999 -console -persistent_storage_root \/home\/container\/DoNotStarveTogether -conf_dir config -cluster server -players 4 -shard Master && echo 'c_shutdown()' >&\"${caves[1]}\"", + "startup": "cd bin && coproc caves ( .\/dontstarve_dedicated_server_nullrenderer -console -persistent_storage_root \/home\/container\/DoNotStarveTogether -conf_dir config -cluster server -players {{MAX_PLAYERS}} -shard Caves ); .\/dontstarve_dedicated_server_nullrenderer -bind_ip 0.0.0.0 -port 10999 -console -persistent_storage_root \/home\/container\/DoNotStarveTogether -conf_dir config -cluster server -players {{MAX_PLAYERS}} -shard Master && echo 'c_shutdown()' >&\"${caves[1]}\"", "config": { - "files": "{\r\n \"DoNotStarveTogether\/config\/server\/cluster.ini\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"GAMEPLAY.game_mode\":\"{{server.build.env.GAME_MODE}}\",\r\n \"GAMEPLAY.max_players\":\"{{server.build.env.MAX_PLAYERS}}\",\r\n \"NETWORK.cluster_name\":\"{{server.build.env.CLUSTER_NAME}}\",\r\n \"NETWORK.cluster_description\":\"{{server.build.env.CLUSTER_DESC}}\",\r\n \"SHARD.shard_enabled\": \"true\",\r\n \"SHARD.bind_ip\":\"127.0.0.1\",\r\n \"SHARD.master_ip\":\"127.0.0.1\",\r\n \"SHARD.master_port\":\"11001\"\r\n }\r\n },\r\n \"DoNotStarveTogether\/config\/server\/Master\/server.ini\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"NETWORK.server_port\": \"{{server.build.default.port}}\",\r\n \"SHARD.is_master\": \"true\"\r\n }\r\n },\r\n \"DoNotStarveTogether\/config\/server\/Caves\/server.ini\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"NETWORK.server_port\":\"11000\",\r\n \"SHARD.is_master\": \"false\",\r\n \"SHARD.name\":\"Caves\"\r\n }\r\n }\r\n}", + "files": "{\r\n \"DoNotStarveTogether\/config\/server\/cluster.ini\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"GAMEPLAY.game_mode\": \"{{server.build.env.GAME_MODE}}\",\r\n \"GAMEPLAY.max_players\": \"{{server.build.env.MAX_PLAYERS}}\",\r\n \"NETWORK.cluster_name\": \"{{server.build.env.CLUSTER_NAME}}\",\r\n \"NETWORK.cluster_description\": \"{{server.build.env.CLUSTER_DESC}}\",\r\n \"SHARD.shard_enabled\": \"true\",\r\n \"SHARD.bind_ip\": \"127.0.0.1\",\r\n \"SHARD.master_ip\": \"127.0.0.1\",\r\n \"SHARD.master_port\": \"11001\"\r\n }\r\n },\r\n \"DoNotStarveTogether\/config\/server\/Master\/server.ini\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"NETWORK.server_port\": \"{{server.build.default.port}}\",\r\n \"SHARD.is_master\": \"true\"\r\n }\r\n },\r\n \"DoNotStarveTogether\/config\/server\/Caves\/server.ini\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"NETWORK.server_port\": \"11000\",\r\n \"SHARD.is_master\": \"false\",\r\n \"SHARD.name\": \"Caves\"\r\n }\r\n }\r\n}", "startup": "{\r\n \"done\": \"Setting breakpad minidump AppID\",\r\n \"userInteraction\": []\r\n}", "logs": "{}", "stop": "c_shutdown()" From 0dddf846faf447371cc3e93381b8a2995d089aae Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Fri, 10 Jul 2020 20:45:42 -0400 Subject: [PATCH 362/413] add redis 6 --- database/{redis => redis-5}/README.md | 0 database/{redis => redis-5}/egg-redis.json | 0 database/redis-6/README.md | 16 ++++++++++++++++ 3 files changed, 16 insertions(+) rename database/{redis => redis-5}/README.md (100%) rename database/{redis => redis-5}/egg-redis.json (100%) create mode 100644 database/redis-6/README.md diff --git a/database/redis/README.md b/database/redis-5/README.md similarity index 100% rename from database/redis/README.md rename to database/redis-5/README.md diff --git a/database/redis/egg-redis.json b/database/redis-5/egg-redis.json similarity index 100% rename from database/redis/egg-redis.json rename to database/redis-5/egg-redis.json diff --git a/database/redis-6/README.md b/database/redis-6/README.md new file mode 100644 index 00000000..4c89fc87 --- /dev/null +++ b/database/redis-6/README.md @@ -0,0 +1,16 @@ +# Redis +### From their [Website](https://redis.io/) +Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. + +### Minimum RAM warning +It's recommended to have 4gb of RAM for redis + +See here https://docs.redislabs.com/latest/rs/administering/designing-production/hardware-requirements/ + + +### Server Ports +Ports required to run the server in a table format. + +| Port | default | +|---------|---------| +| Server | 6379 | From 9e60f984fd286faf9291bf60f47e6f694dbd7e27 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Fri, 26 Jun 2020 10:52:37 -0400 Subject: [PATCH 363/413] reorg folders --- README.md | 66 +++++++++---------- database/{ => sql}/postgres/README.md | 0 database/{ => sql}/postgres/egg-postgres.json | 0 database/{ => sql/postgres}/mariadb/README.md | 0 .../postgres}/mariadb/egg-maria-d-b.json | 0 .../{ => sql/postgres}/mariadb/install.my.cnf | 0 database/{ => sql/postgres}/mariadb/my.cnf | 0 database/{ => sql}/postgres/postgres.conf | 0 .../waterfall => minecraft}/README.md | 0 .../bedrock}/README.md | 0 .../bedrock}/bedrock/README.md | 0 .../bedrock}/bedrock/egg-vanilla-bedrock.json | 0 .../bedrock}/dragon_proxy/README.md | 0 .../dragon_proxy/egg-dragon-proxy.json | 0 .../bedrock}/nukkit/egg-nukkit.json | 0 .../bedrock}/nukkit/nukkit.yml | 0 .../bedrock}/nukkit/server.properties | 0 .../pocketmine_mp/egg-pocketmine-m-p.json | 0 .../bedrock}/pocketmine_mp/server.properties | 0 {minecraft_java => minecraft/java}/README.md | 0 .../java}/cuberite/README.md | 0 .../java}/cuberite/egg-cuberite.json | 0 .../java}/cuberite/settings.ini | 0 .../java}/cuberite/webadmin.ini | 0 .../java}/feather/README.md | 0 .../java}/feather/egg-feather.json | 0 .../java}/feather/feather.toml | 0 .../java}/forge/curseforge-generic/README.md | 0 .../egg-curseforge-generic.json | 0 .../java}/forge/forge/README.md | 0 .../java}/forge/forge/egg-forge-enhanced.json | 0 .../feed-the-beast/egg-feed-the-beast.json | 0 .../ftb-revelation/egg-f-t-b-revelation.json | 0 .../java}/magma/README.md | 0 .../java}/magma/egg-magma.json | 0 .../java}/paper/README.MD | 0 .../java}/paper/egg-paper.json | 0 .../java}/server.properties | 0 .../java}/spigot/README.MD | 0 .../java}/spigot/egg-spigot.json | 0 .../java}/spongeforge/README.MD | 0 .../java}/spongeforge/egg-sponge-forge.json | 0 .../java}/spongevanilla/README.MD | 0 .../spongevanilla/egg-sponge-vanilla.json | 0 .../java}/technic/README.md | 0 .../technic/attack-of-the-bteam/README.MD | 0 .../egg-attack-of-the-b--team.json | 0 .../technic/blightfall/egg-blightfall.json | 0 .../java}/technic/hexxit/egg-hexxit.json | 0 .../tekkit-classic/egg-tekkit-classic.json | 0 .../tekkit-legends/egg-tekkit-legends.json | 0 .../java}/technic/the-1-7-10-pack/README.MD | 0 .../the-1-7-10-pack/egg-the1-7-10-pack.json | 0 .../java}/tuinity/.gitignore | 0 .../java}/tuinity/egg-tuinity.json | 0 .../java}/vanillacord/README.md | 0 .../java}/vanillacord/egg-vanilla-cord.json | 0 .../proxy}/typhoonlimbo/README.md | 0 .../typhoonlimbo/egg-typhoon-limbo.json | 0 .../proxy}/velocity/README.md | 0 .../proxy}/velocity/egg-velocity.json | 0 .../proxy}/velocity/velocity.toml | 0 minecraft/proxy/waterfall/README.md | 0 .../proxy}/waterfall/config.yml | 0 .../proxy}/waterfall/egg-waterfall.json | 0 .../rocketmod/egg-rocket-mod-modern.json | 0 .../rocketmod/egg-rocketmod-old.json | 0 .../unturned/rocketmod/egg-rocketmod.json | 54 --------------- 68 files changed, 33 insertions(+), 87 deletions(-) rename database/{ => sql}/postgres/README.md (100%) rename database/{ => sql}/postgres/egg-postgres.json (100%) rename database/{ => sql/postgres}/mariadb/README.md (100%) rename database/{ => sql/postgres}/mariadb/egg-maria-d-b.json (100%) rename database/{ => sql/postgres}/mariadb/install.my.cnf (100%) rename database/{ => sql/postgres}/mariadb/my.cnf (100%) rename database/{ => sql}/postgres/postgres.conf (100%) rename {minecraft_proxy/waterfall => minecraft}/README.md (100%) rename {minecraft_bedrock => minecraft/bedrock}/README.md (100%) rename {minecraft_bedrock => minecraft/bedrock}/bedrock/README.md (100%) rename {minecraft_bedrock => minecraft/bedrock}/bedrock/egg-vanilla-bedrock.json (100%) rename {minecraft_bedrock => minecraft/bedrock}/dragon_proxy/README.md (100%) rename {minecraft_bedrock => minecraft/bedrock}/dragon_proxy/egg-dragon-proxy.json (100%) rename {minecraft_bedrock => minecraft/bedrock}/nukkit/egg-nukkit.json (100%) rename {minecraft_bedrock => minecraft/bedrock}/nukkit/nukkit.yml (100%) rename {minecraft_bedrock => minecraft/bedrock}/nukkit/server.properties (100%) rename {minecraft_bedrock => minecraft/bedrock}/pocketmine_mp/egg-pocketmine-m-p.json (100%) rename {minecraft_bedrock => minecraft/bedrock}/pocketmine_mp/server.properties (100%) rename {minecraft_java => minecraft/java}/README.md (100%) rename {minecraft_java => minecraft/java}/cuberite/README.md (100%) rename {minecraft_java => minecraft/java}/cuberite/egg-cuberite.json (100%) rename {minecraft_java => minecraft/java}/cuberite/settings.ini (100%) rename {minecraft_java => minecraft/java}/cuberite/webadmin.ini (100%) rename {minecraft_java => minecraft/java}/feather/README.md (100%) rename {minecraft_java => minecraft/java}/feather/egg-feather.json (100%) rename {minecraft_java => minecraft/java}/feather/feather.toml (100%) rename {minecraft_java => minecraft/java}/forge/curseforge-generic/README.md (100%) rename {minecraft_java => minecraft/java}/forge/curseforge-generic/egg-curseforge-generic.json (100%) rename {minecraft_java => minecraft/java}/forge/forge/README.md (100%) rename {minecraft_java => minecraft/java}/forge/forge/egg-forge-enhanced.json (100%) rename {minecraft_java => minecraft/java}/ftb/feed-the-beast/egg-feed-the-beast.json (100%) rename {minecraft_java => minecraft/java}/ftb/ftb-revelation/egg-f-t-b-revelation.json (100%) rename {minecraft_java => minecraft/java}/magma/README.md (100%) rename {minecraft_java => minecraft/java}/magma/egg-magma.json (100%) rename {minecraft_java => minecraft/java}/paper/README.MD (100%) rename {minecraft_java => minecraft/java}/paper/egg-paper.json (100%) rename {minecraft_java => minecraft/java}/server.properties (100%) rename {minecraft_java => minecraft/java}/spigot/README.MD (100%) rename {minecraft_java => minecraft/java}/spigot/egg-spigot.json (100%) rename {minecraft_java => minecraft/java}/spongeforge/README.MD (100%) rename {minecraft_java => minecraft/java}/spongeforge/egg-sponge-forge.json (100%) rename {minecraft_java => minecraft/java}/spongevanilla/README.MD (100%) rename {minecraft_java => minecraft/java}/spongevanilla/egg-sponge-vanilla.json (100%) rename {minecraft_java => minecraft/java}/technic/README.md (100%) rename {minecraft_java => minecraft/java}/technic/attack-of-the-bteam/README.MD (100%) rename {minecraft_java => minecraft/java}/technic/attack-of-the-bteam/egg-attack-of-the-b--team.json (100%) rename {minecraft_java => minecraft/java}/technic/blightfall/egg-blightfall.json (100%) rename {minecraft_java => minecraft/java}/technic/hexxit/egg-hexxit.json (100%) rename {minecraft_java => minecraft/java}/technic/tekkit-classic/egg-tekkit-classic.json (100%) rename {minecraft_java => minecraft/java}/technic/tekkit-legends/egg-tekkit-legends.json (100%) rename {minecraft_java => minecraft/java}/technic/the-1-7-10-pack/README.MD (100%) rename {minecraft_java => minecraft/java}/technic/the-1-7-10-pack/egg-the1-7-10-pack.json (100%) rename {minecraft_java => minecraft/java}/tuinity/.gitignore (100%) rename {minecraft_java => minecraft/java}/tuinity/egg-tuinity.json (100%) rename {minecraft_java => minecraft/java}/vanillacord/README.md (100%) rename {minecraft_java => minecraft/java}/vanillacord/egg-vanilla-cord.json (100%) rename {minecraft_proxy => minecraft/proxy}/typhoonlimbo/README.md (100%) rename {minecraft_proxy => minecraft/proxy}/typhoonlimbo/egg-typhoon-limbo.json (100%) rename {minecraft_proxy => minecraft/proxy}/velocity/README.md (100%) rename {minecraft_proxy => minecraft/proxy}/velocity/egg-velocity.json (100%) rename {minecraft_proxy => minecraft/proxy}/velocity/velocity.toml (100%) create mode 100644 minecraft/proxy/waterfall/README.md rename {minecraft_proxy => minecraft/proxy}/waterfall/config.yml (100%) rename {minecraft_proxy => minecraft/proxy}/waterfall/egg-waterfall.json (100%) rename {unturned => steamcmd_servers/unturned}/rocketmod/egg-rocket-mod-modern.json (100%) rename {unturned => steamcmd_servers/unturned}/rocketmod/egg-rocketmod-old.json (100%) delete mode 100644 steamcmd_servers/unturned/rocketmod/egg-rocketmod.json diff --git a/README.md b/README.md index 5dcdcd72..e7cbff98 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ If you are reading this it looks like you are looking to add an egg to your serv ## Please read the CONTRIBUTING.md before submitting PRs -## Bot Eggs +## [Bots](/bots/) [Discord](/bots/discord/) * [ATL Bot](/bots/discord/atlbot/) Node JS @@ -39,19 +39,19 @@ If you are reading this it looks like you are looking to add an egg to your serv * [Red](/bots/discord/redbot/) Python * [Sinusbot](/bots/discord/sinusbot/) -[Twitch](/bots/twitch) -* [PhantomBot](/bots/twitch/phantombot/) +* [Twitch](/bots/twitch) + * [PhantomBot](/bots/twitch/phantombot/) -[TeamSpeak3](bots/teamspeak3) -* [JTS3ServerMod](/bots/teamspeak3/jts3servermod/) +* [TeamSpeak3](bots/teamspeak3) + * [JTS3ServerMod](/bots/teamspeak3/jts3servermod/) -## Database Eggs -### SQL Databases -[MariaDB](/database/mariadb/) -[PostgreSQL](/database/postgres/) +## [Database](/database/) +### [SQL] Databases +* [MariaDB](/database/sql/mariadb/) +* [PostgreSQL](/database/sql/postgres/) ### In-Memory Databases -[Redis](/database/redis/) +* [Redis](/database/redis/) ## Game Eggs [ET Legacy](/enemy_territory/etlegacy/) @@ -69,31 +69,31 @@ If you are reading this it looks like you are looking to add an egg to your serv [Mindusrty](/mindustry/) -[Minecraft Bedrock](/minecraft_bedrock/) -* [Bedrock](/minecraft_bedrock/bedrock/) -* [DragonProxy](/minecraft_bedrock/dragonproxy/) -* [Nukkit](/minecraft_bedrock/nukkit/) -* [PocketMine MP](/minecraft_bedrock/pocketmine_mp/) +[Minecraft](/minecraft/) +* [Bedrock](/minecraft/bedrock/) + * [Bedrock](/minecraft/bedrock/bedrock/) + * [DragonProxy](/minecraft/bedrock/dragonproxy/) + * [Nukkit](/minecraft/bedrock/nukkit/) + * [PocketMine MP](/minecraft/bedrock/pocketmine_mp/) -[Minecraft Java](/minecraft_java/) Servers for Java Minecraft -* [Cuberite](/minecraft_java/cuberite/) -* [feather](/minecraft/feather/) -* [Feed The Beast](/minecraft_java/ftb/) -* [Forge](/minecraft_java/forge/) -* [Magma](/minecraft_java/magma/) +* [Java](/minecraft/java/) Servers for Java Minecraft + * [Cuberite](/minecraft/java/cuberite/) + * [feather](/minecraft/feather/) + * [Feed The Beast](/minecraft/java/ftb/) + * [Forge](/minecraft/java/forge/) + * [Magma](/minecraft/java/magma/) + * [Paper](/minecraft/java/paper) + * [Spigot](/minecraft/java/spigot/) + * [spongeforge](/minecraft/java/spongeforge/) + * [SpongeVanilla](/minecraft/java/spongevanilla/) + * [Technic](/minecraft/java/technic/) + * [Tuinity](/minecraft/java/tuinity/) + * [VanillaCord](/minecraft/java/vanillacord/) -* [Paper](/minecraft_java/paper) -* [Spigot](/minecraft_java/spigot/) -* [spongeforge](/minecraft_java/spongeforge/) -* [SpongeVanilla](/minecraft_java/spongevanilla/) -* [Technic](/minecraft_java/technic/) -* [VanillaCord](/minecraft_java/vanillacord/) -* [Tuinity](/minecraft_java/tuinity/) - -[Minecraft Proxies](/minecraft_proxy/) (these are for the java version of minecraft) -* [Waterfall](/minecraft_proxy/waterfall/) -* [TyphoonLimbo](/minecraft_proxy/typhoonlimbo/) -* [Velocity](/minecraft_proxy/velocity/) +* [Proxies](/minecraft/proxy/) (these are for the java version of minecraft) + * [Waterfall](/minecraft/proxy/waterfall/) + * [TyphoonLimbo](/minecraft/proxy/typhoonlimbo/) + * [Velocity](/minecraft/proxy/velocity/) [Red Dead Redemption](/rdr/) * [RedM](/rdr/redm/) diff --git a/database/postgres/README.md b/database/sql/postgres/README.md similarity index 100% rename from database/postgres/README.md rename to database/sql/postgres/README.md diff --git a/database/postgres/egg-postgres.json b/database/sql/postgres/egg-postgres.json similarity index 100% rename from database/postgres/egg-postgres.json rename to database/sql/postgres/egg-postgres.json diff --git a/database/mariadb/README.md b/database/sql/postgres/mariadb/README.md similarity index 100% rename from database/mariadb/README.md rename to database/sql/postgres/mariadb/README.md diff --git a/database/mariadb/egg-maria-d-b.json b/database/sql/postgres/mariadb/egg-maria-d-b.json similarity index 100% rename from database/mariadb/egg-maria-d-b.json rename to database/sql/postgres/mariadb/egg-maria-d-b.json diff --git a/database/mariadb/install.my.cnf b/database/sql/postgres/mariadb/install.my.cnf similarity index 100% rename from database/mariadb/install.my.cnf rename to database/sql/postgres/mariadb/install.my.cnf diff --git a/database/mariadb/my.cnf b/database/sql/postgres/mariadb/my.cnf similarity index 100% rename from database/mariadb/my.cnf rename to database/sql/postgres/mariadb/my.cnf diff --git a/database/postgres/postgres.conf b/database/sql/postgres/postgres.conf similarity index 100% rename from database/postgres/postgres.conf rename to database/sql/postgres/postgres.conf diff --git a/minecraft_proxy/waterfall/README.md b/minecraft/README.md similarity index 100% rename from minecraft_proxy/waterfall/README.md rename to minecraft/README.md diff --git a/minecraft_bedrock/README.md b/minecraft/bedrock/README.md similarity index 100% rename from minecraft_bedrock/README.md rename to minecraft/bedrock/README.md diff --git a/minecraft_bedrock/bedrock/README.md b/minecraft/bedrock/bedrock/README.md similarity index 100% rename from minecraft_bedrock/bedrock/README.md rename to minecraft/bedrock/bedrock/README.md diff --git a/minecraft_bedrock/bedrock/egg-vanilla-bedrock.json b/minecraft/bedrock/bedrock/egg-vanilla-bedrock.json similarity index 100% rename from minecraft_bedrock/bedrock/egg-vanilla-bedrock.json rename to minecraft/bedrock/bedrock/egg-vanilla-bedrock.json diff --git a/minecraft_bedrock/dragon_proxy/README.md b/minecraft/bedrock/dragon_proxy/README.md similarity index 100% rename from minecraft_bedrock/dragon_proxy/README.md rename to minecraft/bedrock/dragon_proxy/README.md diff --git a/minecraft_bedrock/dragon_proxy/egg-dragon-proxy.json b/minecraft/bedrock/dragon_proxy/egg-dragon-proxy.json similarity index 100% rename from minecraft_bedrock/dragon_proxy/egg-dragon-proxy.json rename to minecraft/bedrock/dragon_proxy/egg-dragon-proxy.json diff --git a/minecraft_bedrock/nukkit/egg-nukkit.json b/minecraft/bedrock/nukkit/egg-nukkit.json similarity index 100% rename from minecraft_bedrock/nukkit/egg-nukkit.json rename to minecraft/bedrock/nukkit/egg-nukkit.json diff --git a/minecraft_bedrock/nukkit/nukkit.yml b/minecraft/bedrock/nukkit/nukkit.yml similarity index 100% rename from minecraft_bedrock/nukkit/nukkit.yml rename to minecraft/bedrock/nukkit/nukkit.yml diff --git a/minecraft_bedrock/nukkit/server.properties b/minecraft/bedrock/nukkit/server.properties similarity index 100% rename from minecraft_bedrock/nukkit/server.properties rename to minecraft/bedrock/nukkit/server.properties diff --git a/minecraft_bedrock/pocketmine_mp/egg-pocketmine-m-p.json b/minecraft/bedrock/pocketmine_mp/egg-pocketmine-m-p.json similarity index 100% rename from minecraft_bedrock/pocketmine_mp/egg-pocketmine-m-p.json rename to minecraft/bedrock/pocketmine_mp/egg-pocketmine-m-p.json diff --git a/minecraft_bedrock/pocketmine_mp/server.properties b/minecraft/bedrock/pocketmine_mp/server.properties similarity index 100% rename from minecraft_bedrock/pocketmine_mp/server.properties rename to minecraft/bedrock/pocketmine_mp/server.properties diff --git a/minecraft_java/README.md b/minecraft/java/README.md similarity index 100% rename from minecraft_java/README.md rename to minecraft/java/README.md diff --git a/minecraft_java/cuberite/README.md b/minecraft/java/cuberite/README.md similarity index 100% rename from minecraft_java/cuberite/README.md rename to minecraft/java/cuberite/README.md diff --git a/minecraft_java/cuberite/egg-cuberite.json b/minecraft/java/cuberite/egg-cuberite.json similarity index 100% rename from minecraft_java/cuberite/egg-cuberite.json rename to minecraft/java/cuberite/egg-cuberite.json diff --git a/minecraft_java/cuberite/settings.ini b/minecraft/java/cuberite/settings.ini similarity index 100% rename from minecraft_java/cuberite/settings.ini rename to minecraft/java/cuberite/settings.ini diff --git a/minecraft_java/cuberite/webadmin.ini b/minecraft/java/cuberite/webadmin.ini similarity index 100% rename from minecraft_java/cuberite/webadmin.ini rename to minecraft/java/cuberite/webadmin.ini diff --git a/minecraft_java/feather/README.md b/minecraft/java/feather/README.md similarity index 100% rename from minecraft_java/feather/README.md rename to minecraft/java/feather/README.md diff --git a/minecraft_java/feather/egg-feather.json b/minecraft/java/feather/egg-feather.json similarity index 100% rename from minecraft_java/feather/egg-feather.json rename to minecraft/java/feather/egg-feather.json diff --git a/minecraft_java/feather/feather.toml b/minecraft/java/feather/feather.toml similarity index 100% rename from minecraft_java/feather/feather.toml rename to minecraft/java/feather/feather.toml diff --git a/minecraft_java/forge/curseforge-generic/README.md b/minecraft/java/forge/curseforge-generic/README.md similarity index 100% rename from minecraft_java/forge/curseforge-generic/README.md rename to minecraft/java/forge/curseforge-generic/README.md diff --git a/minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json b/minecraft/java/forge/curseforge-generic/egg-curseforge-generic.json similarity index 100% rename from minecraft_java/forge/curseforge-generic/egg-curseforge-generic.json rename to minecraft/java/forge/curseforge-generic/egg-curseforge-generic.json diff --git a/minecraft_java/forge/forge/README.md b/minecraft/java/forge/forge/README.md similarity index 100% rename from minecraft_java/forge/forge/README.md rename to minecraft/java/forge/forge/README.md diff --git a/minecraft_java/forge/forge/egg-forge-enhanced.json b/minecraft/java/forge/forge/egg-forge-enhanced.json similarity index 100% rename from minecraft_java/forge/forge/egg-forge-enhanced.json rename to minecraft/java/forge/forge/egg-forge-enhanced.json diff --git a/minecraft_java/ftb/feed-the-beast/egg-feed-the-beast.json b/minecraft/java/ftb/feed-the-beast/egg-feed-the-beast.json similarity index 100% rename from minecraft_java/ftb/feed-the-beast/egg-feed-the-beast.json rename to minecraft/java/ftb/feed-the-beast/egg-feed-the-beast.json diff --git a/minecraft_java/ftb/ftb-revelation/egg-f-t-b-revelation.json b/minecraft/java/ftb/ftb-revelation/egg-f-t-b-revelation.json similarity index 100% rename from minecraft_java/ftb/ftb-revelation/egg-f-t-b-revelation.json rename to minecraft/java/ftb/ftb-revelation/egg-f-t-b-revelation.json diff --git a/minecraft_java/magma/README.md b/minecraft/java/magma/README.md similarity index 100% rename from minecraft_java/magma/README.md rename to minecraft/java/magma/README.md diff --git a/minecraft_java/magma/egg-magma.json b/minecraft/java/magma/egg-magma.json similarity index 100% rename from minecraft_java/magma/egg-magma.json rename to minecraft/java/magma/egg-magma.json diff --git a/minecraft_java/paper/README.MD b/minecraft/java/paper/README.MD similarity index 100% rename from minecraft_java/paper/README.MD rename to minecraft/java/paper/README.MD diff --git a/minecraft_java/paper/egg-paper.json b/minecraft/java/paper/egg-paper.json similarity index 100% rename from minecraft_java/paper/egg-paper.json rename to minecraft/java/paper/egg-paper.json diff --git a/minecraft_java/server.properties b/minecraft/java/server.properties similarity index 100% rename from minecraft_java/server.properties rename to minecraft/java/server.properties diff --git a/minecraft_java/spigot/README.MD b/minecraft/java/spigot/README.MD similarity index 100% rename from minecraft_java/spigot/README.MD rename to minecraft/java/spigot/README.MD diff --git a/minecraft_java/spigot/egg-spigot.json b/minecraft/java/spigot/egg-spigot.json similarity index 100% rename from minecraft_java/spigot/egg-spigot.json rename to minecraft/java/spigot/egg-spigot.json diff --git a/minecraft_java/spongeforge/README.MD b/minecraft/java/spongeforge/README.MD similarity index 100% rename from minecraft_java/spongeforge/README.MD rename to minecraft/java/spongeforge/README.MD diff --git a/minecraft_java/spongeforge/egg-sponge-forge.json b/minecraft/java/spongeforge/egg-sponge-forge.json similarity index 100% rename from minecraft_java/spongeforge/egg-sponge-forge.json rename to minecraft/java/spongeforge/egg-sponge-forge.json diff --git a/minecraft_java/spongevanilla/README.MD b/minecraft/java/spongevanilla/README.MD similarity index 100% rename from minecraft_java/spongevanilla/README.MD rename to minecraft/java/spongevanilla/README.MD diff --git a/minecraft_java/spongevanilla/egg-sponge-vanilla.json b/minecraft/java/spongevanilla/egg-sponge-vanilla.json similarity index 100% rename from minecraft_java/spongevanilla/egg-sponge-vanilla.json rename to minecraft/java/spongevanilla/egg-sponge-vanilla.json diff --git a/minecraft_java/technic/README.md b/minecraft/java/technic/README.md similarity index 100% rename from minecraft_java/technic/README.md rename to minecraft/java/technic/README.md diff --git a/minecraft_java/technic/attack-of-the-bteam/README.MD b/minecraft/java/technic/attack-of-the-bteam/README.MD similarity index 100% rename from minecraft_java/technic/attack-of-the-bteam/README.MD rename to minecraft/java/technic/attack-of-the-bteam/README.MD 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 similarity index 100% rename from minecraft_java/technic/attack-of-the-bteam/egg-attack-of-the-b--team.json rename to minecraft/java/technic/attack-of-the-bteam/egg-attack-of-the-b--team.json diff --git a/minecraft_java/technic/blightfall/egg-blightfall.json b/minecraft/java/technic/blightfall/egg-blightfall.json similarity index 100% rename from minecraft_java/technic/blightfall/egg-blightfall.json rename to minecraft/java/technic/blightfall/egg-blightfall.json diff --git a/minecraft_java/technic/hexxit/egg-hexxit.json b/minecraft/java/technic/hexxit/egg-hexxit.json similarity index 100% rename from minecraft_java/technic/hexxit/egg-hexxit.json rename to minecraft/java/technic/hexxit/egg-hexxit.json diff --git a/minecraft_java/technic/tekkit-classic/egg-tekkit-classic.json b/minecraft/java/technic/tekkit-classic/egg-tekkit-classic.json similarity index 100% rename from minecraft_java/technic/tekkit-classic/egg-tekkit-classic.json rename to minecraft/java/technic/tekkit-classic/egg-tekkit-classic.json diff --git a/minecraft_java/technic/tekkit-legends/egg-tekkit-legends.json b/minecraft/java/technic/tekkit-legends/egg-tekkit-legends.json similarity index 100% rename from minecraft_java/technic/tekkit-legends/egg-tekkit-legends.json rename to minecraft/java/technic/tekkit-legends/egg-tekkit-legends.json diff --git a/minecraft_java/technic/the-1-7-10-pack/README.MD b/minecraft/java/technic/the-1-7-10-pack/README.MD similarity index 100% rename from minecraft_java/technic/the-1-7-10-pack/README.MD rename to minecraft/java/technic/the-1-7-10-pack/README.MD diff --git a/minecraft_java/technic/the-1-7-10-pack/egg-the1-7-10-pack.json b/minecraft/java/technic/the-1-7-10-pack/egg-the1-7-10-pack.json similarity index 100% rename from minecraft_java/technic/the-1-7-10-pack/egg-the1-7-10-pack.json rename to minecraft/java/technic/the-1-7-10-pack/egg-the1-7-10-pack.json diff --git a/minecraft_java/tuinity/.gitignore b/minecraft/java/tuinity/.gitignore similarity index 100% rename from minecraft_java/tuinity/.gitignore rename to minecraft/java/tuinity/.gitignore diff --git a/minecraft_java/tuinity/egg-tuinity.json b/minecraft/java/tuinity/egg-tuinity.json similarity index 100% rename from minecraft_java/tuinity/egg-tuinity.json rename to minecraft/java/tuinity/egg-tuinity.json diff --git a/minecraft_java/vanillacord/README.md b/minecraft/java/vanillacord/README.md similarity index 100% rename from minecraft_java/vanillacord/README.md rename to minecraft/java/vanillacord/README.md diff --git a/minecraft_java/vanillacord/egg-vanilla-cord.json b/minecraft/java/vanillacord/egg-vanilla-cord.json similarity index 100% rename from minecraft_java/vanillacord/egg-vanilla-cord.json rename to minecraft/java/vanillacord/egg-vanilla-cord.json diff --git a/minecraft_proxy/typhoonlimbo/README.md b/minecraft/proxy/typhoonlimbo/README.md similarity index 100% rename from minecraft_proxy/typhoonlimbo/README.md rename to minecraft/proxy/typhoonlimbo/README.md diff --git a/minecraft_proxy/typhoonlimbo/egg-typhoon-limbo.json b/minecraft/proxy/typhoonlimbo/egg-typhoon-limbo.json similarity index 100% rename from minecraft_proxy/typhoonlimbo/egg-typhoon-limbo.json rename to minecraft/proxy/typhoonlimbo/egg-typhoon-limbo.json diff --git a/minecraft_proxy/velocity/README.md b/minecraft/proxy/velocity/README.md similarity index 100% rename from minecraft_proxy/velocity/README.md rename to minecraft/proxy/velocity/README.md diff --git a/minecraft_proxy/velocity/egg-velocity.json b/minecraft/proxy/velocity/egg-velocity.json similarity index 100% rename from minecraft_proxy/velocity/egg-velocity.json rename to minecraft/proxy/velocity/egg-velocity.json diff --git a/minecraft_proxy/velocity/velocity.toml b/minecraft/proxy/velocity/velocity.toml similarity index 100% rename from minecraft_proxy/velocity/velocity.toml rename to minecraft/proxy/velocity/velocity.toml diff --git a/minecraft/proxy/waterfall/README.md b/minecraft/proxy/waterfall/README.md new file mode 100644 index 00000000..e69de29b diff --git a/minecraft_proxy/waterfall/config.yml b/minecraft/proxy/waterfall/config.yml similarity index 100% rename from minecraft_proxy/waterfall/config.yml rename to minecraft/proxy/waterfall/config.yml diff --git a/minecraft_proxy/waterfall/egg-waterfall.json b/minecraft/proxy/waterfall/egg-waterfall.json similarity index 100% rename from minecraft_proxy/waterfall/egg-waterfall.json rename to minecraft/proxy/waterfall/egg-waterfall.json diff --git a/unturned/rocketmod/egg-rocket-mod-modern.json b/steamcmd_servers/unturned/rocketmod/egg-rocket-mod-modern.json similarity index 100% rename from unturned/rocketmod/egg-rocket-mod-modern.json rename to steamcmd_servers/unturned/rocketmod/egg-rocket-mod-modern.json diff --git a/unturned/rocketmod/egg-rocketmod-old.json b/steamcmd_servers/unturned/rocketmod/egg-rocketmod-old.json similarity index 100% rename from unturned/rocketmod/egg-rocketmod-old.json rename to steamcmd_servers/unturned/rocketmod/egg-rocketmod-old.json diff --git a/steamcmd_servers/unturned/rocketmod/egg-rocketmod.json b/steamcmd_servers/unturned/rocketmod/egg-rocketmod.json deleted file mode 100644 index acaf657f..00000000 --- a/steamcmd_servers/unturned/rocketmod/egg-rocketmod.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", - "meta": { - "version": "PTDL_v1" - }, - "exported_at": "2018-04-27T21:30:05+00:00", - "name": "RocketMod", - "author": "isaac@isaacs.site", - "description": "The RocketMod server mod for Unturned.", - "image": "registry.gitlab.com\/tenten8401\/pterodactyl-unturned", - "startup": "mono RocketLauncher.exe unturned", - "config": { - "files": "{\r\n \"Servers\/unturned\/Server\/Commands.dat\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"Port\": \"Port {{server.build.default.port}}\"\r\n }\r\n}\r\n}", - "startup": "{\r\n \"done\": \"Loading level: 100%\",\r\n \"userInteraction\": []\r\n}", - "logs": "{\r\n \"custom\": true,\r\n \"location\": \"latest.log\"\r\n}", - "stop": "shutdown" - }, - "scripts": { - "installation": { - "script": "apt 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\/steam\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steam\r\ncd \/mnt\/server\/steam\r\n\r\nchown -R root:root \/mnt\r\n\r\nexport HOME=\/mnt\/server\r\n.\/steamcmd.sh +@sSteamCmdForcePlatformBitness 32 +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update 304930 +quit\r\n\r\nmkdir -p \/mnt\/server\/Servers\/unturned\/Server\r\necho \"Port 27015\" > \/mnt\/server\/Servers\/unturned\/Server\/Commands.dat\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": "Steam User", - "description": "A Steam username with Unturned on the account.", - "env_variable": "STEAM_USER", - "default_value": "anonymous", - "user_viewable": 0, - "user_editable": 0, - "rules": "required|string" - }, - { - "name": "Steam Password", - "description": "Steam User Password", - "env_variable": "STEAM_PASS", - "default_value": "", - "user_viewable": 0, - "user_editable": 0, - "rules": "nullable|string" - }, - { - "name": "Steam Auth Code", - "description": "Steam Auth Code only when you're using Steam Auth", - "env_variable": "STEAM_AUTH", - "default_value": "", - "user_viewable": 0, - "user_editable": 0, - "rules": "nullable|string" - } - ] -} \ No newline at end of file From 74eae43a90f7f43c572744889a7f737760387d58 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Fri, 26 Jun 2020 11:39:43 -0400 Subject: [PATCH 364/413] add new mc readme --- minecraft/README.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/minecraft/README.md b/minecraft/README.md index e69de29b..51d80c92 100644 --- a/minecraft/README.md +++ b/minecraft/README.md @@ -0,0 +1,30 @@ +# Minecraft + +It’s a game about placing blocks and going on adventures + +It’s set in infinitely-generated worlds of wide open terrain - icy mountains, swampy bayous, vast pastures and much more - filled with secrets, wonders and peril! + +[Bedrock](/minecraft/bedrock/) Servers for Bedrock Minecraft (Windows 10, mobile, console) +* [Bedrock](/minecraft/bedrock/bedrock/) +* [DragonProxy](/minecraft/bedrock/dragonproxy/) +* [Nukkit](/minecraft/bedrock/nukkit/) +* [PocketMine MP](/minecraft/bedrock/pocketmine_mp/) + +[Java](/minecraft/java/) Servers for Java Minecraft +* [Cuberite](/minecraft/java/cuberite/) +* [feather](/minecraft/feather/) +* [Feed The Beast](/minecraft/java/ftb/) +* [Forge](/minecraft/java/forge/) +* [Magma](/minecraft/java/magma/) +* [Paper](/minecraft/java/paper) +* [Spigot](/minecraft/java/spigot/) +* [spongeforge](/minecraft/java/spongeforge/) +* [SpongeVanilla](/minecraft/java/spongevanilla/) +* [Technic](/minecraft/java/technic/) +* [Tuinity](/minecraft/java/tuinity/) +* [VanillaCord](/minecraft/java/vanillacord/) + +[Proxies](/minecraft/proxy/) Minecraft Server Proxies +* [Waterfall](/minecraft/proxy/waterfall/) Java +* [TyphoonLimbo](/minecraft/proxy/typhoonlimbo/) Java +* [Velocity](/minecraft/proxy/velocity/) Java \ No newline at end of file From b91a9f1cd72b6e3319117576281b31ac531cddb7 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Fri, 10 Jul 2020 21:56:25 -0400 Subject: [PATCH 365/413] add flag to disable BattleEye --- .../egg-ark--survival-evolved.json | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/steamcmd_servers/ark_survival_evolved/egg-ark--survival-evolved.json b/steamcmd_servers/ark_survival_evolved/egg-ark--survival-evolved.json index 889f3622..247fe5fa 100644 --- a/steamcmd_servers/ark_survival_evolved/egg-ark--survival-evolved.json +++ b/steamcmd_servers/ark_survival_evolved/egg-ark--survival-evolved.json @@ -3,12 +3,12 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-06-29T11:35:17-04:00", + "exported_at": "2020-07-10T21:55:50-04:00", "name": "Ark: Survival Evolved", "author": "dev@shepper.fr", "description": "As a man or woman stranded, naked, freezing, and starving on the unforgiving shores of a mysterious island called ARK, use your skill and cunning to kill or tame and ride the plethora of leviathan dinosaurs and other primeval creatures roaming the land. Hunt, harvest resources, craft items, grow crops, research technologies, and build shelters to withstand the elements and store valuables, all while teaming up with (or preying upon) hundreds of other players to survive, dominate... and escape! \u2014 Gamepedia: ARK", "image": "quay.io\/parkervcp\/pterodactyl-images:debian_source", - "startup": "rmv() { echo -e \"stoppping server\"; rcon -a 127.0.0.1:${RCON_PORT} -p ${ARK_ADMIN_PASSWORD} -c saveworld && rcon -a 127.0.0.1:${RCON_PORT} -p ${ARK_ADMIN_PASSWORD} -c DoExit; }; trap \\'echo -e \\\"ctrl-c caught\\\" && rmv\\'; cd ShooterGame\/Binaries\/Linux && .\/ShooterGameServer {{SERVER_MAP}}?listen?SessionName='{{SESSION_NAME}}'?ServerPassword={{ARK_PASSWORD}}?ServerAdminPassword={{ARK_ADMIN_PASSWORD}}?Port={{SERVER_PORT}}?RCONPort={{RCON_PORT}}?QueryPort={{QUERY_PORT}}?RCONEnabled={{ENABLE_RCON}} -server -log & until echo \"waiting for rcon connection...\"; rcon -a 127.0.0.1:${RCON_PORT} -p ${ARK_ADMIN_PASSWORD}; do sleep 5; done", + "startup": "rmv() { echo -e \"stoppping server\"; rcon -a 127.0.0.1:${RCON_PORT} -p ${ARK_ADMIN_PASSWORD} -c saveworld && rcon -a 127.0.0.1:${RCON_PORT} -p ${ARK_ADMIN_PASSWORD} -c DoExit; }; trap \\'echo -e \\\"ctrl-c caught\\\" && rmv\\'; cd ShooterGame\/Binaries\/Linux && .\/ShooterGameServer {{SERVER_MAP}}?listen?SessionName='{{SESSION_NAME}}'?ServerPassword={{ARK_PASSWORD}}?ServerAdminPassword={{ARK_ADMIN_PASSWORD}}?Port={{SERVER_PORT}}?RCONPort={{RCON_PORT}}?QueryPort={{QUERY_PORT}}?RCONEnabled={{ENABLE_RCON}}$( [ \"$BATTLE_EYE\" == \"0\" ] || printf %s '?-NoBattlEye' ) -server -log & until echo \"waiting for rcon connection...\"; rcon -a 127.0.0.1:${RCON_PORT} -p ${ARK_ADMIN_PASSWORD}; do sleep 5; done", "config": { "files": "{}", "startup": "{\r\n \"done\": \"Waiting commands for 127.0.0.1:\",\r\n \"userInteraction\": []\r\n}", @@ -103,6 +103,15 @@ "user_viewable": 1, "user_editable": 1, "rules": "required|boolean" + }, + { + "name": "Ballte Eye", + "description": "Enable BattleEye\r\n\r\n0 to disable\r\n1 to enable\r\n\r\ndefault=\"1\"", + "env_variable": "BATTLE_EYE", + "default_value": "1", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|boolean" } ] } \ No newline at end of file From e94bd230203794d18b50e94900dd367d34854abe Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sat, 11 Jul 2020 00:36:33 -0400 Subject: [PATCH 366/413] add redis 6 adds an egg for redis 6 better handling of the redis-cli makes it somewhat usable. --- database/{ => redis}/redis-5/README.md | 0 database/{ => redis}/redis-5/egg-redis.json | 0 database/{ => redis}/redis-6/README.md | 0 database/redis/redis-6/egg-redis-6.json | 36 +++++++++++++++++++++ 4 files changed, 36 insertions(+) rename database/{ => redis}/redis-5/README.md (100%) rename database/{ => redis}/redis-5/egg-redis.json (100%) rename database/{ => redis}/redis-6/README.md (100%) create mode 100644 database/redis/redis-6/egg-redis-6.json diff --git a/database/redis-5/README.md b/database/redis/redis-5/README.md similarity index 100% rename from database/redis-5/README.md rename to database/redis/redis-5/README.md diff --git a/database/redis-5/egg-redis.json b/database/redis/redis-5/egg-redis.json similarity index 100% rename from database/redis-5/egg-redis.json rename to database/redis/redis-5/egg-redis.json diff --git a/database/redis-6/README.md b/database/redis/redis-6/README.md similarity index 100% rename from database/redis-6/README.md rename to database/redis/redis-6/README.md diff --git a/database/redis/redis-6/egg-redis-6.json b/database/redis/redis-6/egg-redis-6.json new file mode 100644 index 00000000..4e360ed6 --- /dev/null +++ b/database/redis/redis-6/egg-redis-6.json @@ -0,0 +1,36 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2020-07-11T00:34:47-04:00", + "name": "Redis-6", + "author": "parker@parkervcp.com", + "description": "Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes with radius queries and streams.", + "image": "quay.io\/parkervcp\/pterodactyl-images:db_redis-6", + "startup": "\/usr\/local\/bin\/redis-server \/home\/container\/redis.conf --save 60 1 --dir \/home\/container\/ --bind 0.0.0.0 --port {{SERVER_PORT}} --requirepass {{SERVER_PASSWORD}} --maxmemory {{SERVER_MEMORY}}mb --daemonize yes && redis-cli -p {{SERVER_PORT}} -a {{SERVER_PASSWORD}}; redis-cli -p {{SERVER_PORT}} -a {{SERVER_PASSWORD}} shutdown save", + "config": { + "files": "{}", + "startup": "{\r\n \"done\": \"Configuration loaded\"\r\n}", + "logs": "{}", + "stop": "^C" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/ash\r\n# Redis Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\napk add --no-cache curl\r\n\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir \/mnt\/server\/\r\nfi\r\n\r\ncd \/mnt\/server\/\r\n\r\nif [ ! -d \/mnt\/server\/redis.conf ]; then\r\n curl https:\/\/raw.githubusercontent.com\/redis\/redis\/6.0\/redis.conf -o redis.conf\r\nfi\r\n\r\nsleep 5\r\necho -e \"Install complete. Made this to not have issues.\"", + "container": "alpine:3.10", + "entrypoint": "ash" + } + }, + "variables": [ + { + "name": "Redis Password", + "description": "The password redis should use to secure the server.", + "env_variable": "SERVER_PASSWORD", + "default_value": "P@55w0rd", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string" + } + ] +} \ No newline at end of file From ce9bd84d8e7b241b0cde6a0b762efbb5db7733dc Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sat, 11 Jul 2020 00:36:49 -0400 Subject: [PATCH 367/413] update main readme --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 5dcdcd72..33325612 100644 --- a/README.md +++ b/README.md @@ -52,6 +52,8 @@ If you are reading this it looks like you are looking to add an egg to your serv ### In-Memory Databases [Redis](/database/redis/) +* [Redis 5](/database/redis/redis-5) +* [Redis 6](/database/redis/redis-6) ## Game Eggs [ET Legacy](/enemy_territory/etlegacy/) From cd5ddb66048bcefa5696391ed2867dcfe2f19f8d Mon Sep 17 00:00:00 2001 From: Exonical Date: Sat, 11 Jul 2020 19:19:49 +0900 Subject: [PATCH 368/413] Update egg-conan-exiles.json --- steamcmd_servers/conan_exiles/egg-conan-exiles.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/steamcmd_servers/conan_exiles/egg-conan-exiles.json b/steamcmd_servers/conan_exiles/egg-conan-exiles.json index 09168b33..6fdc98a7 100644 --- a/steamcmd_servers/conan_exiles/egg-conan-exiles.json +++ b/steamcmd_servers/conan_exiles/egg-conan-exiles.json @@ -3,12 +3,12 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2018-12-25T20:34:11-05:00", + "exported_at": "2020-07-11T06:15:20-04:00", "name": "Conan Exiles", "author": "brycea@terrahost.cloud", "description": "Conan Exiles is an open-world survival game set in the brutal lands of Conan the Barbarian. Survive in a savage world, build your kingdom, and dominate your enemies in brutal combat and epic warfare.", - "image": "quay.io\/parkervcp\/pterodactyl-images:wine-source", - "startup": "wine ConanSandboxServer.exe -log", + "image": "quay.io\/terrahost\/pterodactyl-images:debian_wine-5", + "startup": ".\/start_conan.sh", "config": { "files": "{}", "startup": "{}", @@ -17,8 +17,8 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt -y --no-install-recommends install curl unzip libstdc++6 lib32gcc1 ca-certificates xvfb screen\r\ncd \/tmp\r\ncurl -sSL -o steamcmd.tar.gz http:\/\/media.steampowered.com\/installer\/steamcmd_linux.tar.gz\r\nmkdir -p \/mnt\/server\/steam\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steam\r\ncd \/mnt\/server\/steam\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n.\/steamcmd.sh +login anonymous +@sSteamCmdForcePlatformType windows +force_install_dir \/mnt\/server +app_update ${APPID} validate +quit\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v \/mnt\/server\/steam\/linux32\/steamclient.so \/mnt\/server\/.steam\/sdk32\/steamclient.so\r\n# Get First-Time Setup Configuration Files\r\necho \"#!\/bin\/sh\r\nexport WINEARCH=win64\r\nexport WINEPREFIX=\/mnt\/server\/.wine64\r\nxvfb-run --auto-servernum --server-args='-screen 0 640x480x24:32'\r\nwine \/mnt\/server\/SpaceEngineersDedicated.exe -console\" > \/mnt\/server\/start_se.sh\r\nchmod +x \/mnt\/server\/start_se.sh", - "container": "ubuntu:18.04", + "script": "#!\/bin\/bash\r\n# Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt -y --no-install-recommends install curl unzip libstdc++6 lib32gcc1 ca-certificates xvfb screen\r\ncd \/tmp\r\ncurl -sSL -o steamcmd.tar.gz http:\/\/media.steampowered.com\/installer\/steamcmd_linux.tar.gz\r\nmkdir -p \/mnt\/server\/steam\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steam\r\ncd \/mnt\/server\/steam\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n.\/steamcmd.sh +login anonymous +@sSteamCmdForcePlatformType windows +force_install_dir \/mnt\/server +app_update ${APPID} validate +quit\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v \/mnt\/server\/steam\/linux32\/steamclient.so \/mnt\/server\/.steam\/sdk32\/steamclient.so\r\n# Get First-Time Setup Configuration Files\r\necho \"#!\/bin\/sh\r\nexport WINEARCH=win64\r\nexport WINEPREFIX=\/home\/container\/.wine64\r\nxvfb-run --auto-servernum --server-args='-screen 0 640x480x24:32'\r\nwine \/home\/container\/ConanSandboxServer.exe -console -log\" > \/mnt\/server\/start_conan.sh\r\nchmod +x \/mnt\/server\/start_conan.sh", + "container": "ubuntu:20.04", "entrypoint": "bash" } }, From e9016647cfff3f8da5be837b9ac9f9ab4e680557 Mon Sep 17 00:00:00 2001 From: Exonical Date: Sat, 11 Jul 2020 20:39:29 +0900 Subject: [PATCH 369/413] update conan --- steamcmd_servers/conan_exiles/egg-conan-exiles.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/steamcmd_servers/conan_exiles/egg-conan-exiles.json b/steamcmd_servers/conan_exiles/egg-conan-exiles.json index 6fdc98a7..fadb31c8 100644 --- a/steamcmd_servers/conan_exiles/egg-conan-exiles.json +++ b/steamcmd_servers/conan_exiles/egg-conan-exiles.json @@ -3,11 +3,11 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-07-11T06:15:20-04:00", + "exported_at": "2020-07-11T07:38:20-04:00", "name": "Conan Exiles", "author": "brycea@terrahost.cloud", "description": "Conan Exiles is an open-world survival game set in the brutal lands of Conan the Barbarian. Survive in a savage world, build your kingdom, and dominate your enemies in brutal combat and epic warfare.", - "image": "quay.io\/terrahost\/pterodactyl-images:debian_wine-5", + "image": "quay.io\/parkervcp\/pterodactyl-images:debian_wine-5", "startup": ".\/start_conan.sh", "config": { "files": "{}", From 6374a53ee0c612f0deab854ae72845ccfb387cb6 Mon Sep 17 00:00:00 2001 From: Exonical Date: Sat, 11 Jul 2020 20:54:38 +0900 Subject: [PATCH 370/413] Update egg-conan-exiles.json --- steamcmd_servers/conan_exiles/egg-conan-exiles.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/steamcmd_servers/conan_exiles/egg-conan-exiles.json b/steamcmd_servers/conan_exiles/egg-conan-exiles.json index fadb31c8..cde80b0e 100644 --- a/steamcmd_servers/conan_exiles/egg-conan-exiles.json +++ b/steamcmd_servers/conan_exiles/egg-conan-exiles.json @@ -3,12 +3,12 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-07-11T07:38:20-04:00", + "exported_at": "2020-07-11T07:54:09-04:00", "name": "Conan Exiles", "author": "brycea@terrahost.cloud", "description": "Conan Exiles is an open-world survival game set in the brutal lands of Conan the Barbarian. Survive in a savage world, build your kingdom, and dominate your enemies in brutal combat and epic warfare.", "image": "quay.io\/parkervcp\/pterodactyl-images:debian_wine-5", - "startup": ".\/start_conan.sh", + "startup": "wine \/home\/container\/ConanSandboxServer.exe -console -log", "config": { "files": "{}", "startup": "{}", @@ -17,8 +17,8 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt -y --no-install-recommends install curl unzip libstdc++6 lib32gcc1 ca-certificates xvfb screen\r\ncd \/tmp\r\ncurl -sSL -o steamcmd.tar.gz http:\/\/media.steampowered.com\/installer\/steamcmd_linux.tar.gz\r\nmkdir -p \/mnt\/server\/steam\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steam\r\ncd \/mnt\/server\/steam\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n.\/steamcmd.sh +login anonymous +@sSteamCmdForcePlatformType windows +force_install_dir \/mnt\/server +app_update ${APPID} validate +quit\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v \/mnt\/server\/steam\/linux32\/steamclient.so \/mnt\/server\/.steam\/sdk32\/steamclient.so\r\n# Get First-Time Setup Configuration Files\r\necho \"#!\/bin\/sh\r\nexport WINEARCH=win64\r\nexport WINEPREFIX=\/home\/container\/.wine64\r\nxvfb-run --auto-servernum --server-args='-screen 0 640x480x24:32'\r\nwine \/home\/container\/ConanSandboxServer.exe -console -log\" > \/mnt\/server\/start_conan.sh\r\nchmod +x \/mnt\/server\/start_conan.sh", - "container": "ubuntu:20.04", + "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'debian:buster-slim'\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +@sSteamCmdForcePlatformType windows +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so", + "container": "debian:buster-slim", "entrypoint": "bash" } }, @@ -26,7 +26,7 @@ { "name": "Game ID", "description": "The ID corresponding to the game to download.", - "env_variable": "APPID", + "env_variable": "SRCDS_APPID", "default_value": "443030", "user_viewable": 1, "user_editable": 0, From 488e1639c06ce8a5b95b918358fe563c201c06f2 Mon Sep 17 00:00:00 2001 From: Exonical Date: Sat, 11 Jul 2020 21:34:46 +0900 Subject: [PATCH 371/413] Update egg-conan-exiles.json --- .../conan_exiles/egg-conan-exiles.json | 40 ++++++++++++++++++- 1 file changed, 38 insertions(+), 2 deletions(-) diff --git a/steamcmd_servers/conan_exiles/egg-conan-exiles.json b/steamcmd_servers/conan_exiles/egg-conan-exiles.json index cde80b0e..9f22e274 100644 --- a/steamcmd_servers/conan_exiles/egg-conan-exiles.json +++ b/steamcmd_servers/conan_exiles/egg-conan-exiles.json @@ -3,12 +3,12 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-07-11T07:54:09-04:00", + "exported_at": "2020-07-11T08:34:24-04:00", "name": "Conan Exiles", "author": "brycea@terrahost.cloud", "description": "Conan Exiles is an open-world survival game set in the brutal lands of Conan the Barbarian. Survive in a savage world, build your kingdom, and dominate your enemies in brutal combat and epic warfare.", "image": "quay.io\/parkervcp\/pterodactyl-images:debian_wine-5", - "startup": "wine \/home\/container\/ConanSandboxServer.exe -console -log", + "startup": "xvfb-run --auto-servernum --server-args='-screen 0 640x480x24:32' wine \/home\/container\/ConanSandboxServer.exe -console -log", "config": { "files": "{}", "startup": "{}", @@ -31,6 +31,42 @@ "user_viewable": 1, "user_editable": 0, "rules": "required|numeric|digits_between:1,6" + }, + { + "name": "XVFB Enable", + "description": "1 or 0", + "env_variable": "XVFB", + "default_value": "1", + "user_viewable": 0, + "user_editable": 0, + "rules": "required|numeric|min:0|max:1" + }, + { + "name": "XVFB Display Width", + "description": "", + "env_variable": "DISPLAY_WIDTH", + "default_value": "640", + "user_viewable": 0, + "user_editable": 0, + "rules": "required|numeric" + }, + { + "name": "XVFB Display Height", + "description": "", + "env_variable": "DISPLAY_HEIGHT", + "default_value": "480", + "user_viewable": 0, + "user_editable": 0, + "rules": "required|numeric" + }, + { + "name": "XVFB Bit Deph", + "description": "", + "env_variable": "DISPLAY_DEPTH", + "default_value": "32", + "user_viewable": 0, + "user_editable": 0, + "rules": "required|numeric" } ] } \ No newline at end of file From 51f66f862850c87cb0ab33f451c4a9313ce53faa Mon Sep 17 00:00:00 2001 From: Exonical Date: Sat, 11 Jul 2020 21:37:01 +0900 Subject: [PATCH 372/413] Update egg-conan-exiles.json --- steamcmd_servers/conan_exiles/egg-conan-exiles.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/steamcmd_servers/conan_exiles/egg-conan-exiles.json b/steamcmd_servers/conan_exiles/egg-conan-exiles.json index 9f22e274..65c9c0b0 100644 --- a/steamcmd_servers/conan_exiles/egg-conan-exiles.json +++ b/steamcmd_servers/conan_exiles/egg-conan-exiles.json @@ -60,7 +60,7 @@ "rules": "required|numeric" }, { - "name": "XVFB Bit Deph", + "name": "XVFB Bit Depth", "description": "", "env_variable": "DISPLAY_DEPTH", "default_value": "32", From cc472b23af981bb100b12ccf9e09fa79ee94bb40 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sat, 11 Jul 2020 08:47:43 -0400 Subject: [PATCH 373/413] add flag for windows app install adds a `WINDOWS_INSTALL` flag to the install script. adds notes on the variables in the script. --- scripts/steamcmd_installer.sh | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/scripts/steamcmd_installer.sh b/scripts/steamcmd_installer.sh index c36fa040..b2dce4aa 100644 --- a/scripts/steamcmd_installer.sh +++ b/scripts/steamcmd_installer.sh @@ -3,6 +3,17 @@ # # Server Files: /mnt/server # Image to install with is 'debian:buster-slim' + +## +# +# Variables +# STEAM_USER, STEAM_PASS, STEAM_AUTH - Steam user setup. If a user has 2fa enabled it will most likely fail due to timeout. Leave blank for anon install. +# WINDOWS_INSTALL - if it's a windows server you want to install set to 1 +# SRCDS_APPID - steam app id ffound here - https://developer.valvesoftware.com/wiki/Dedicated_Servers_List +# EXTRA_FLAGS - when a server has extra glas for things like beta installs or updates. +# +## + apt -y update apt -y --no-install-recommends install curl lib32gcc1 ca-certificates @@ -30,7 +41,7 @@ chown -R root:root /mnt export HOME=/mnt/server ## install game using steamcmd -./steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir /mnt/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6 +./steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [ "${WINDOWS_INSTALL}" == "1" ] || printf %s '+@sSteamCmdForcePlatformType windows' ) +force_install_dir /mnt/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6 ## set up 32 bit libraries mkdir -p /mnt/server/.steam/sdk32 From 679d20ce4d81b050519e25a935904e815744f1ec Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sat, 11 Jul 2020 19:50:57 -0400 Subject: [PATCH 374/413] update start command for python generic --- bots/discord/discord.py/egg-discord-py-generic.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bots/discord/discord.py/egg-discord-py-generic.json b/bots/discord/discord.py/egg-discord-py-generic.json index 694e4d6e..1630eda7 100644 --- a/bots/discord/discord.py/egg-discord-py-generic.json +++ b/bots/discord/discord.py/egg-discord-py-generic.json @@ -3,12 +3,12 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-06-29T16:59:56-04:00", + "exported_at": "2020-07-11T19:48:14-04:00", "name": "discord.py generic", "author": "parker@parkervcp.com", "description": "A Discord bot written in Python using discord.py\r\n\r\nhttps:\/\/github.com\/Ispira\/pixel-bot", "image": "quay.io\/parkervcp\/pterodactyl-images:debian_python-3.8", - "startup": "if [[ -d .git ]] && [[ {{AUTO_UPDATE}} == \"1\" ]]; then git pull; fi; if [[ ! -z ${PY_PACKAGES} ]]; then pip install -U --target \/mnt\/server\/ ${PY_PACKAGES}; fi; if [ -f \/home\/container\/requirements.txt]; then pip install -U --target \/mnt\/server\/ -r requirements.txt; fi; \/usr\/local\/bin\/python \/home\/container\/{{BOT_PY_FILE}}", + "startup": "if [[ -d .git ]] && [[ {{AUTO_UPDATE}} == \"1\" ]]; then git pull; fi; if [[ ! -z ${PY_PACKAGES} ]]; then pip install -U --target \/mnt\/server\/ ${PY_PACKAGES}; fi; if [[ -f \/home\/container\/requirements.txt ]]; then pip install -U --target \/mnt\/server\/ -r requirements.txt; fi; \/usr\/local\/bin\/python \/home\/container\/{{BOT_PY_FILE}}", "config": { "files": "{}", "startup": "{\r\n \"done\": \"change this part\"\r\n}", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# Python Bot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y git gcc g++ libffi-dev make\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nif [[ ! ${INSTALL_REPO} = *\\.git ]]; then\r\n INSTALL_REPO=$(echo -e ${INSTALL_REPO} | sed 's:\/*$::')\r\n INSTALL_REPO=\"${INSTALL_REPO}.git\"\r\nfi\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\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\tfi\r\nfi \r\n\r\necho \"Installing python requirements into folder\"\r\nif [[ ! -z ${PY_PACKAGES} ]]; then\r\n pip install -U --target \/mnt\/server\/ ${PY_PACKAGES}\r\nfi\r\n\r\nif [ -f \/mnt\/server\/requirements.txt ]; then\r\n pip install -U --target \/mnt\/server\/ -r requirements.txt\r\nfi\r\n\r\necho -e \"install complete\"\r\nexit 0", + "script": "#!\/bin\/bash\r\n# Python Bot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y git gcc g++ libffi-dev make\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nif [[ ! ${INSTALL_REPO} = *\\.git ]]; then\r\n INSTALL_REPO=$(echo -e ${INSTALL_REPO} | sed 's:\/*$::')\r\n INSTALL_REPO=\"${INSTALL_REPO}.git\"\r\nfi\r\n\r\necho -e \"working on installing a discord.py 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\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\tfi\r\nfi \r\n\r\necho \"Installing python requirements into folder\"\r\nif [[ ! -z ${PY_PACKAGES} ]]; then\r\n pip install -U --target \/mnt\/server\/ ${PY_PACKAGES}\r\nfi\r\n\r\nif [ -f \/mnt\/server\/requirements.txt ]; then\r\n pip install -U --target \/mnt\/server\/ -r requirements.txt\r\nfi\r\n\r\necho -e \"install complete\"\r\nexit 0", "container": "python:3.8-slim", "entrypoint": "bash" } From 3a7a15f21a4f0d2e6ccdef3669f60617298da415 Mon Sep 17 00:00:00 2001 From: Foks <37844753+FoksVHox@users.noreply.github.com> Date: Sun, 12 Jul 2020 18:01:50 +0200 Subject: [PATCH 375/413] Moved README.md --- database/sql/mariadb/README.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 database/sql/mariadb/README.md diff --git a/database/sql/mariadb/README.md b/database/sql/mariadb/README.md new file mode 100644 index 00000000..10acde47 --- /dev/null +++ b/database/sql/mariadb/README.md @@ -0,0 +1,17 @@ +# MariaDB +### From their [Website](https://mariadb.org/) +One of the most popular database servers. Made by the original developers of MySQL. +Guaranteed to stay open source. + +### Minimum RAM warning +There is no actual minimum suggested for MariaDB. + +See here https://mariadb.com/kb/en/library/mariadb-hardware-requirements/ + + +### Server Ports +Ports required to run the server in a table format. + +| Port | default | +|---------|---------| +| Server | 3306 | From 743ff73d21e953a50245721eb8811a39465afc1e Mon Sep 17 00:00:00 2001 From: Foks <37844753+FoksVHox@users.noreply.github.com> Date: Sun, 12 Jul 2020 18:08:43 +0200 Subject: [PATCH 376/413] Move egg to new folder --- database/sql/mariadb/egg-maria-d-b.json | 26 +++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 database/sql/mariadb/egg-maria-d-b.json diff --git a/database/sql/mariadb/egg-maria-d-b.json b/database/sql/mariadb/egg-maria-d-b.json new file mode 100644 index 00000000..6d23ccbf --- /dev/null +++ b/database/sql/mariadb/egg-maria-d-b.json @@ -0,0 +1,26 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2019-11-06T18:52:33-05:00", + "name": "MariaDB", + "author": "parker@parkervcp.com", + "description": "One of the most popular database servers. Made by the original developers of MySQL. Guaranteed to stay open source.", + "image": "quay.io\/parkervcp\/pterodactyl-images:db_mariadb", + "startup": "{ \/usr\/sbin\/mysqld & } && sleep 5 && mysql -u root", + "config": { + "files": "{\r\n \".my.cnf\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"port\": \"port = {{server.build.default.port}}\",\r\n \"bind-address\": \"bind-address=0.0.0.0\"\r\n }\r\n }\r\n}", + "startup": "{\r\n \"done\": \"mysqld: ready for connections\"\r\n}", + "logs": "{}", + "stop": "shutdown; exit;" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash\r\n# MariaDB Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nset -x\r\n\r\necho -e \"installing dependencies\"\r\napt-get -y update\r\napt-get -y install curl\r\n\r\n## add user\r\necho -e \"adding container user\"\r\nuseradd -d \/home\/container -m container -s \/bin\/bash\r\n\r\n## own server to container user\r\nchown container: \/mnt\/server\/\r\n\r\n## run install script as user\r\necho -e \"getting my.conf\"\r\nif [ -f \/mnt\/server\/.my.cnf ]; then\r\n echo -e \"moving current config for install\"\r\n mv \/mnt\/server\/.my.cnf \/mnt\/server\/custom.my.cnf\r\n runuser -l container -c 'curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/database\/mariadb\/install.my.cnf > \/mnt\/server\/.my.cnf'\r\nelse\r\n runuser -l container -c 'curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/database\/mariadb\/install.my.cnf > \/mnt\/server\/.my.cnf'\r\nfi\r\n\r\n## mkdir and install db\r\necho -e \"installing mysql database\"\r\nrunuser -l container -c 'mkdir -p \/mnt\/server\/run\/mysqld'\r\nrunuser -l container -c 'mkdir -p \/mnt\/server\/log\/mysql'\r\nrunuser -l container -c 'mkdir \/mnt\/server\/mysql'\r\n\r\nrunuser -l container -c 'mysql_install_db --defaults-file=\/mnt\/server\/.my.cnf'\r\n\r\nif [ -f \/mnt\/server\/custom.my.cnf ]; then\r\n echo -e \"moving current config back in place\"\r\n mv \/mnt\/server\/custom.my.cnf \/mnt\/server\/.my.cnf\r\nelse\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/database\/mariadb\/my.cnf > \/mnt\/server\/.my.cnf\r\nfi\r\n\r\necho -e \"install complete\"\r\n\r\nexit", + "container": "mariadb:10.3", + "entrypoint": "bash" + } + }, + "variables": [] +} From 0e7afacfb3f0472bd0320be74cb8643ed788bc00 Mon Sep 17 00:00:00 2001 From: Foks <37844753+FoksVHox@users.noreply.github.com> Date: Sun, 12 Jul 2020 18:09:21 +0200 Subject: [PATCH 377/413] Move my.cnf to new folder --- database/sql/mariadb/my.cnf | 190 ++++++++++++++++++++++++++++++++++++ 1 file changed, 190 insertions(+) create mode 100644 database/sql/mariadb/my.cnf diff --git a/database/sql/mariadb/my.cnf b/database/sql/mariadb/my.cnf new file mode 100644 index 00000000..37ff3163 --- /dev/null +++ b/database/sql/mariadb/my.cnf @@ -0,0 +1,190 @@ +# MariaDB database server configuration file. +# +# You can copy this file to one of: +# - "/etc/mysql/my.cnf" to set global options, +# - "~/.my.cnf" to set user-specific options. +# +# One can use all long options that the program supports. +# Run program with --help to get a list of available options and with +# --print-defaults to see which it would actually understand and use. +# +# For explanations see +# http://dev.mysql.com/doc/mysql/en/server-system-variables.html + +# This will be passed to all mysql clients +# It has been reported that passwords should be enclosed with ticks/quotes +# escpecially if they contain "#" chars... +# Remember to edit /etc/mysql/debian.cnf when changing the socket location. +[client] +port = 3306 +socket = /home/container/run/mysqld/mysqld.sock + +# Here is entries for some specific programs +# The following values assume you have at least 32M ram + +# This was formally known as [safe_mysqld]. Both versions are currently parsed. +[mysqld_safe] +socket = /home/container/run/mysqld/mysqld.sock +nice = 0 + +[mysqld] +# +# * Basic Settings +# +#user = mysql +pid-file = /home/container/run/mysqld/mysqld.pid +socket = /home/container/run/mysqld/mysqld.sock +port = 3306 +basedir = /usr +datadir = /home/container/mysql +tmpdir = /tmp +lc_messages_dir = /usr/share/mysql +lc_messages = en_US +skip-external-locking +# +# Instead of skip-networking the default is now to listen only on +# localhost which is more compatible and is not less secure. +bind-address=0.0.0.0 +# +# * Fine Tuning +# +max_connections = 100 +connect_timeout = 5 +wait_timeout = 600 +max_allowed_packet = 16M +thread_cache_size = 128 +sort_buffer_size = 4M +bulk_insert_buffer_size = 16M +tmp_table_size = 32M +max_heap_table_size = 32M +# +# * MyISAM +# +# This replaces the startup script and checks MyISAM tables if needed +# the first time they are touched. On error, make copy and try a repair. +myisam_recover_options = BACKUP +key_buffer_size = 128M +#open-files-limit = 2000 +table_open_cache = 400 +myisam_sort_buffer_size = 512M +concurrent_insert = 2 +read_buffer_size = 2M +read_rnd_buffer_size = 1M +# +# * Query Cache Configuration +# +# Cache only tiny result sets, so we can fit more in the query cache. +query_cache_limit = 128K +query_cache_size = 64M +# for more write intensive setups, set to DEMAND or OFF +#query_cache_type = DEMAND +# +# * Logging and Replication +# +# Both location gets rotated by the cronjob. +# Be aware that this log type is a performance killer. +# As of 5.1 you can enable the log at runtime! +general_log_file = /home/container/log/mysql/mysql.log +#general_log = 1 +# +# Error logging goes to syslog due to /etc/mysql/conf.d/mysqld_safe_syslog.cnf. +# +# we do want to know about network errors and such +#log_warnings = 2 +# +# Enable the slow query log to see queries with especially long duration +#slow_query_log[={0|1}] +slow_query_log_file = /home/container/log/mysql/mariadb-slow.log +long_query_time = 10 +#log_slow_rate_limit = 1000 +#log_slow_verbosity = query_plan + +#log-queries-not-using-indexes +#log_slow_admin_statements +# +# The following can be used as easy to replay backup logs or for replication. +# note: if you are setting up a replication slave, see README.Debian about +# other settings you may need to change. +#server-id = 1 +#report_host = master1 +#auto_increment_increment = 2 +#auto_increment_offset = 1 +#log_bin = /var/log/mysql/mariadb-bin +#log_bin_index = /var/log/mysql/mariadb-bin.index +# not fab for performance, but safer +#sync_binlog = 1 +expire_logs_days = 10 +max_binlog_size = 100M +# slaves +#relay_log = /var/log/mysql/relay-bin +#relay_log_index = /var/log/mysql/relay-bin.index +#relay_log_info_file = /var/log/mysql/relay-bin.info +#log_slave_updates +#read_only +# +# If applications support it, this stricter sql_mode prevents some +# mistakes like inserting invalid dates etc. +#sql_mode = NO_ENGINE_SUBSTITUTION,TRADITIONAL +# +# * InnoDB +# +# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/. +# Read the manual for more InnoDB related options. There are many! +default_storage_engine = InnoDB +# you can't just change log file size, requires special procedure +#innodb_log_file_size = 50M +innodb_buffer_pool_size = 256M +innodb_log_buffer_size = 8M +innodb_file_per_table = 1 +innodb_open_files = 400 +innodb_io_capacity = 400 +innodb_flush_method = O_DIRECT +# +# * Security Features +# +# Read the manual, too, if you want chroot! +# chroot = /var/lib/mysql/ +# +# For generating SSL certificates I recommend the OpenSSL GUI "tinyca". +# +# ssl-ca=/etc/mysql/cacert.pem +# ssl-cert=/etc/mysql/server-cert.pem +# ssl-key=/etc/mysql/server-key.pem + +# +# * Galera-related settings +# +[galera] +# Mandatory settings +#wsrep_on=ON +#wsrep_provider= +#wsrep_cluster_address= +#binlog_format=row +#default_storage_engine=InnoDB +#innodb_autoinc_lock_mode=2 +# +# Allow server to accept connections on all interfaces. +# +bind-address=0.0.0.0 +# +# Optional setting +#wsrep_slave_threads=1 +#innodb_flush_log_at_trx_commit=0 + +[mysqldump] +quick +quote-names +max_allowed_packet = 16M + +[mysql] +#no-auto-rehash # faster start of mysql but no tab completion + +[isamchk] +key_buffer = 16M + +# +# * IMPORTANT: Additional settings that can override those from this file! +# The files must end with '.cnf', otherwise they'll be ignored. +# +!include /etc/mysql/mariadb.cnf +!includedir /etc/mysql/conf.d/ From bb5b5a84a8c11b4ce1243171f72f9958267302a2 Mon Sep 17 00:00:00 2001 From: Foks <37844753+FoksVHox@users.noreply.github.com> Date: Sun, 12 Jul 2020 18:10:02 +0200 Subject: [PATCH 378/413] Move install.my.cnf --- database/sql/mariadb/install.my.cnf | 189 ++++++++++++++++++++++++++++ 1 file changed, 189 insertions(+) create mode 100644 database/sql/mariadb/install.my.cnf diff --git a/database/sql/mariadb/install.my.cnf b/database/sql/mariadb/install.my.cnf new file mode 100644 index 00000000..d921db17 --- /dev/null +++ b/database/sql/mariadb/install.my.cnf @@ -0,0 +1,189 @@ +# MariaDB database server configuration file. +# +# You can copy this file to one of: +# - "/etc/mysql/my.cnf" to set global options, +# - "~/.my.cnf" to set user-specific options. +# +# One can use all long options that the program supports. +# Run program with --help to get a list of available options and with +# --print-defaults to see which it would actually understand and use. +# +# For explanations see +# http://dev.mysql.com/doc/mysql/en/server-system-variables.html + +# This will be passed to all mysql clients +# It has been reported that passwords should be enclosed with ticks/quotes +# escpecially if they contain "#" chars... +# Remember to edit /etc/mysql/debian.cnf when changing the socket location. +[client] +port = 3306 +socket = /mnt/server/run/mysqld/mysqld.sock + +# Here is entries for some specific programs +# The following values assume you have at least 32M ram + +# This was formally known as [safe_mysqld]. Both versions are currently parsed. +[mysqld_safe] +socket = /mnt/server/run/mysqld/mysqld.sock +nice = 0 + +[mysqld] +# +# * Basic Settings +# +#user = mysql +pid-file = /mnt/server/run/mysqld/mysqld.pid +socket = /mnt/server/run/mysqld/mysqld.sock +port = 3306 +basedir = /usr +datadir = /mnt/server/mysql +tmpdir = /tmp +lc_messages_dir = /usr/share/mysql +lc_messages = en_US +skip-external-locking +# +# Instead of skip-networking the default is now to listen only on +# localhost which is more compatible and is not less secure. +# +# * Fine Tuning +# +max_connections = 100 +connect_timeout = 5 +wait_timeout = 600 +max_allowed_packet = 16M +thread_cache_size = 128 +sort_buffer_size = 4M +bulk_insert_buffer_size = 16M +tmp_table_size = 32M +max_heap_table_size = 32M +# +# * MyISAM +# +# This replaces the startup script and checks MyISAM tables if needed +# the first time they are touched. On error, make copy and try a repair. +myisam_recover_options = BACKUP +key_buffer_size = 128M +#open-files-limit = 2000 +table_open_cache = 400 +myisam_sort_buffer_size = 512M +concurrent_insert = 2 +read_buffer_size = 2M +read_rnd_buffer_size = 1M +# +# * Query Cache Configuration +# +# Cache only tiny result sets, so we can fit more in the query cache. +query_cache_limit = 128K +query_cache_size = 64M +# for more write intensive setups, set to DEMAND or OFF +#query_cache_type = DEMAND +# +# * Logging and Replication +# +# Both location gets rotated by the cronjob. +# Be aware that this log type is a performance killer. +# As of 5.1 you can enable the log at runtime! +general_log_file = /mnt/server/log/mysql/mysql.log +#general_log = 1 +# +# Error logging goes to syslog due to /etc/mysql/conf.d/mysqld_safe_syslog.cnf. +# +# we do want to know about network errors and such +#log_warnings = 2 +# +# Enable the slow query log to see queries with especially long duration +#slow_query_log[={0|1}] +slow_query_log_file = /mnt/server/log/mysql/mariadb-slow.log +long_query_time = 10 +#log_slow_rate_limit = 1000 +#log_slow_verbosity = query_plan + +#log-queries-not-using-indexes +#log_slow_admin_statements +# +# The following can be used as easy to replay backup logs or for replication. +# note: if you are setting up a replication slave, see README.Debian about +# other settings you may need to change. +#server-id = 1 +#report_host = master1 +#auto_increment_increment = 2 +#auto_increment_offset = 1 +#log_bin = /var/log/mysql/mariadb-bin +#log_bin_index = /var/log/mysql/mariadb-bin.index +# not fab for performance, but safer +#sync_binlog = 1 +expire_logs_days = 10 +max_binlog_size = 100M +# slaves +#relay_log = /var/log/mysql/relay-bin +#relay_log_index = /var/log/mysql/relay-bin.index +#relay_log_info_file = /var/log/mysql/relay-bin.info +#log_slave_updates +#read_only +# +# If applications support it, this stricter sql_mode prevents some +# mistakes like inserting invalid dates etc. +#sql_mode = NO_ENGINE_SUBSTITUTION,TRADITIONAL +# +# * InnoDB +# +# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/. +# Read the manual for more InnoDB related options. There are many! +default_storage_engine = InnoDB +# you can't just change log file size, requires special procedure +#innodb_log_file_size = 50M +innodb_buffer_pool_size = 256M +innodb_log_buffer_size = 8M +innodb_file_per_table = 1 +innodb_open_files = 400 +innodb_io_capacity = 400 +innodb_flush_method = O_DIRECT +# +# * Security Features +# +# Read the manual, too, if you want chroot! +# chroot = /var/lib/mysql/ +# +# For generating SSL certificates I recommend the OpenSSL GUI "tinyca". +# +# ssl-ca=/etc/mysql/cacert.pem +# ssl-cert=/etc/mysql/server-cert.pem +# ssl-key=/etc/mysql/server-key.pem + +# +# * Galera-related settings +# +[galera] +# Mandatory settings +#wsrep_on=ON +#wsrep_provider= +#wsrep_cluster_address= +#binlog_format=row +#default_storage_engine=InnoDB +#innodb_autoinc_lock_mode=2 +# +# Allow server to accept connections on all interfaces. +# +bind-address=0.0.0.0 +# +# Optional setting +#wsrep_slave_threads=1 +#innodb_flush_log_at_trx_commit=0 + +[mysqldump] +quick +quote-names +max_allowed_packet = 16M + +[mysql] +#no-auto-rehash # faster start of mysql but no tab completion + +[isamchk] +key_buffer = 16M + +# +# * IMPORTANT: Additional settings that can override those from this file! +# The files must end with '.cnf', otherwise they'll be ignored. +# +!include /etc/mysql/mariadb.cnf +!includedir /etc/mysql/conf.d/ From d959b3d3e0bb38c9056d04b00cc82910803d4a3d Mon Sep 17 00:00:00 2001 From: Foks <37844753+FoksVHox@users.noreply.github.com> Date: Sun, 12 Jul 2020 18:12:54 +0200 Subject: [PATCH 379/413] Update install url --- database/sql/mariadb/egg-maria-d-b.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/database/sql/mariadb/egg-maria-d-b.json b/database/sql/mariadb/egg-maria-d-b.json index 6d23ccbf..cf01b40b 100644 --- a/database/sql/mariadb/egg-maria-d-b.json +++ b/database/sql/mariadb/egg-maria-d-b.json @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# MariaDB Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nset -x\r\n\r\necho -e \"installing dependencies\"\r\napt-get -y update\r\napt-get -y install curl\r\n\r\n## add user\r\necho -e \"adding container user\"\r\nuseradd -d \/home\/container -m container -s \/bin\/bash\r\n\r\n## own server to container user\r\nchown container: \/mnt\/server\/\r\n\r\n## run install script as user\r\necho -e \"getting my.conf\"\r\nif [ -f \/mnt\/server\/.my.cnf ]; then\r\n echo -e \"moving current config for install\"\r\n mv \/mnt\/server\/.my.cnf \/mnt\/server\/custom.my.cnf\r\n runuser -l container -c 'curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/database\/mariadb\/install.my.cnf > \/mnt\/server\/.my.cnf'\r\nelse\r\n runuser -l container -c 'curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/database\/mariadb\/install.my.cnf > \/mnt\/server\/.my.cnf'\r\nfi\r\n\r\n## mkdir and install db\r\necho -e \"installing mysql database\"\r\nrunuser -l container -c 'mkdir -p \/mnt\/server\/run\/mysqld'\r\nrunuser -l container -c 'mkdir -p \/mnt\/server\/log\/mysql'\r\nrunuser -l container -c 'mkdir \/mnt\/server\/mysql'\r\n\r\nrunuser -l container -c 'mysql_install_db --defaults-file=\/mnt\/server\/.my.cnf'\r\n\r\nif [ -f \/mnt\/server\/custom.my.cnf ]; then\r\n echo -e \"moving current config back in place\"\r\n mv \/mnt\/server\/custom.my.cnf \/mnt\/server\/.my.cnf\r\nelse\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/database\/mariadb\/my.cnf > \/mnt\/server\/.my.cnf\r\nfi\r\n\r\necho -e \"install complete\"\r\n\r\nexit", + "script": "#!\/bin\/bash\r\n# MariaDB Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nset -x\r\n\r\necho -e \"installing dependencies\"\r\napt-get -y update\r\napt-get -y install curl\r\n\r\n## add user\r\necho -e \"adding container user\"\r\nuseradd -d \/home\/container -m container -s \/bin\/bash\r\n\r\n## own server to container user\r\nchown container: \/mnt\/server\/\r\n\r\n## run install script as user\r\necho -e \"getting my.conf\"\r\nif [ -f \/mnt\/server\/.my.cnf ]; then\r\n echo -e \"moving current config for install\"\r\n mv \/mnt\/server\/.my.cnf \/mnt\/server\/custom.my.cnf\r\n runuser -l container -c 'curl https:\/\/raw.githubusercontent.com\/FoksVHox\/eggs\/Fix-mariadb-folder-structure\/database\/sql\/mariadb\/install.my.cnf > \/mnt\/server\/.my.cnf'\r\nelse\r\n runuser -l container -c 'curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/database\/mariadb\/install.my.cnf > \/mnt\/server\/.my.cnf'\r\nfi\r\n\r\n## mkdir and install db\r\necho -e \"installing mysql database\"\r\nrunuser -l container -c 'mkdir -p \/mnt\/server\/run\/mysqld'\r\nrunuser -l container -c 'mkdir -p \/mnt\/server\/log\/mysql'\r\nrunuser -l container -c 'mkdir \/mnt\/server\/mysql'\r\n\r\nrunuser -l container -c 'mysql_install_db --defaults-file=\/mnt\/server\/.my.cnf'\r\n\r\nif [ -f \/mnt\/server\/custom.my.cnf ]; then\r\n echo -e \"moving current config back in place\"\r\n mv \/mnt\/server\/custom.my.cnf \/mnt\/server\/.my.cnf\r\nelse\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/database\/mariadb\/my.cnf > \/mnt\/server\/.my.cnf\r\nfi\r\n\r\necho -e \"install complete\"\r\n\r\nexit", "container": "mariadb:10.3", "entrypoint": "bash" } From 633a2c03f74cddf50948ec57e57c3e3ad7afd8da Mon Sep 17 00:00:00 2001 From: Foks <37844753+FoksVHox@users.noreply.github.com> Date: Sun, 12 Jul 2020 18:32:33 +0200 Subject: [PATCH 380/413] Update install URL (now uses parkers repo) --- database/sql/mariadb/egg-maria-d-b.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/database/sql/mariadb/egg-maria-d-b.json b/database/sql/mariadb/egg-maria-d-b.json index cf01b40b..fb03ff41 100644 --- a/database/sql/mariadb/egg-maria-d-b.json +++ b/database/sql/mariadb/egg-maria-d-b.json @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# MariaDB Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nset -x\r\n\r\necho -e \"installing dependencies\"\r\napt-get -y update\r\napt-get -y install curl\r\n\r\n## add user\r\necho -e \"adding container user\"\r\nuseradd -d \/home\/container -m container -s \/bin\/bash\r\n\r\n## own server to container user\r\nchown container: \/mnt\/server\/\r\n\r\n## run install script as user\r\necho -e \"getting my.conf\"\r\nif [ -f \/mnt\/server\/.my.cnf ]; then\r\n echo -e \"moving current config for install\"\r\n mv \/mnt\/server\/.my.cnf \/mnt\/server\/custom.my.cnf\r\n runuser -l container -c 'curl https:\/\/raw.githubusercontent.com\/FoksVHox\/eggs\/Fix-mariadb-folder-structure\/database\/sql\/mariadb\/install.my.cnf > \/mnt\/server\/.my.cnf'\r\nelse\r\n runuser -l container -c 'curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/database\/mariadb\/install.my.cnf > \/mnt\/server\/.my.cnf'\r\nfi\r\n\r\n## mkdir and install db\r\necho -e \"installing mysql database\"\r\nrunuser -l container -c 'mkdir -p \/mnt\/server\/run\/mysqld'\r\nrunuser -l container -c 'mkdir -p \/mnt\/server\/log\/mysql'\r\nrunuser -l container -c 'mkdir \/mnt\/server\/mysql'\r\n\r\nrunuser -l container -c 'mysql_install_db --defaults-file=\/mnt\/server\/.my.cnf'\r\n\r\nif [ -f \/mnt\/server\/custom.my.cnf ]; then\r\n echo -e \"moving current config back in place\"\r\n mv \/mnt\/server\/custom.my.cnf \/mnt\/server\/.my.cnf\r\nelse\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/database\/mariadb\/my.cnf > \/mnt\/server\/.my.cnf\r\nfi\r\n\r\necho -e \"install complete\"\r\n\r\nexit", + "script": "#!\/bin\/bash\r\n# MariaDB Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nset -x\r\n\r\necho -e \"installing dependencies\"\r\napt-get -y update\r\napt-get -y install curl\r\n\r\n## add user\r\necho -e \"adding container user\"\r\nuseradd -d \/home\/container -m container -s \/bin\/bash\r\n\r\n## own server to container user\r\nchown container: \/mnt\/server\/\r\n\r\n## run install script as user\r\necho -e \"getting my.conf\"\r\nif [ -f \/mnt\/server\/.my.cnf ]; then\r\n echo -e \"moving current config for install\"\r\n mv \/mnt\/server\/.my.cnf \/mnt\/server\/custom.my.cnf\r\n runuser -l container -c 'curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/database\/sql\/mariadb\/install.my.cnf > \/mnt\/server\/.my.cnf'\r\nelse\r\n runuser -l container -c 'curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/database\/sql\/mariadb\/install.my.cnf > \/mnt\/server\/.my.cnf'\r\nfi\r\n\r\n## mkdir and install db\r\necho -e \"installing mysql database\"\r\nrunuser -l container -c 'mkdir -p \/mnt\/server\/run\/mysqld'\r\nrunuser -l container -c 'mkdir -p \/mnt\/server\/log\/mysql'\r\nrunuser -l container -c 'mkdir \/mnt\/server\/mysql'\r\n\r\nrunuser -l container -c 'mysql_install_db --defaults-file=\/mnt\/server\/.my.cnf'\r\n\r\nif [ -f \/mnt\/server\/custom.my.cnf ]; then\r\n echo -e \"moving current config back in place\"\r\n mv \/mnt\/server\/custom.my.cnf \/mnt\/server\/.my.cnf\r\nelse\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/database\/sql\/mariadb\/my.cnf > \/mnt\/server\/.my.cnf\r\nfi\r\n\r\necho -e \"install complete\"\r\n\r\nexit", "container": "mariadb:10.3", "entrypoint": "bash" } From 19f2e376ab2af6e4425a518cee3b36261005416f Mon Sep 17 00:00:00 2001 From: Foks <37844753+FoksVHox@users.noreply.github.com> Date: Sun, 12 Jul 2020 18:34:26 +0200 Subject: [PATCH 381/413] Delete old file --- database/sql/postgres/mariadb/README.md | 17 ----------------- 1 file changed, 17 deletions(-) delete mode 100644 database/sql/postgres/mariadb/README.md diff --git a/database/sql/postgres/mariadb/README.md b/database/sql/postgres/mariadb/README.md deleted file mode 100644 index 10acde47..00000000 --- a/database/sql/postgres/mariadb/README.md +++ /dev/null @@ -1,17 +0,0 @@ -# MariaDB -### From their [Website](https://mariadb.org/) -One of the most popular database servers. Made by the original developers of MySQL. -Guaranteed to stay open source. - -### Minimum RAM warning -There is no actual minimum suggested for MariaDB. - -See here https://mariadb.com/kb/en/library/mariadb-hardware-requirements/ - - -### Server Ports -Ports required to run the server in a table format. - -| Port | default | -|---------|---------| -| Server | 3306 | From b6af2479b7f90d24b581a7924a78cfa37212ed6a Mon Sep 17 00:00:00 2001 From: Foks <37844753+FoksVHox@users.noreply.github.com> Date: Sun, 12 Jul 2020 18:34:46 +0200 Subject: [PATCH 382/413] Delete old files --- .../sql/postgres/mariadb/egg-maria-d-b.json | 26 ------------------- 1 file changed, 26 deletions(-) delete mode 100644 database/sql/postgres/mariadb/egg-maria-d-b.json diff --git a/database/sql/postgres/mariadb/egg-maria-d-b.json b/database/sql/postgres/mariadb/egg-maria-d-b.json deleted file mode 100644 index 12afd857..00000000 --- a/database/sql/postgres/mariadb/egg-maria-d-b.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", - "meta": { - "version": "PTDL_v1" - }, - "exported_at": "2019-11-06T18:52:33-05:00", - "name": "MariaDB", - "author": "parker@parkervcp.com", - "description": "One of the most popular database servers. Made by the original developers of MySQL. Guaranteed to stay open source.", - "image": "quay.io\/parkervcp\/pterodactyl-images:db_mariadb", - "startup": "{ \/usr\/sbin\/mysqld & } && sleep 5 && mysql -u root", - "config": { - "files": "{\r\n \".my.cnf\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"port\": \"port = {{server.build.default.port}}\",\r\n \"bind-address\": \"bind-address=0.0.0.0\"\r\n }\r\n }\r\n}", - "startup": "{\r\n \"done\": \"mysqld: ready for connections\"\r\n}", - "logs": "{}", - "stop": "shutdown; exit;" - }, - "scripts": { - "installation": { - "script": "#!\/bin\/bash\r\n# MariaDB Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nset -x\r\n\r\necho -e \"installing dependencies\"\r\napt-get -y update\r\napt-get -y install curl\r\n\r\n## add user\r\necho -e \"adding container user\"\r\nuseradd -d \/home\/container -m container -s \/bin\/bash\r\n\r\n## own server to container user\r\nchown container: \/mnt\/server\/\r\n\r\n## run install script as user\r\necho -e \"getting my.conf\"\r\nif [ -f \/mnt\/server\/.my.cnf ]; then\r\n echo -e \"moving current config for install\"\r\n mv \/mnt\/server\/.my.cnf \/mnt\/server\/custom.my.cnf\r\n runuser -l container -c 'curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/database\/mariadb\/install.my.cnf > \/mnt\/server\/.my.cnf'\r\nelse\r\n runuser -l container -c 'curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/database\/mariadb\/install.my.cnf > \/mnt\/server\/.my.cnf'\r\nfi\r\n\r\n## mkdir and install db\r\necho -e \"installing mysql database\"\r\nrunuser -l container -c 'mkdir -p \/mnt\/server\/run\/mysqld'\r\nrunuser -l container -c 'mkdir -p \/mnt\/server\/log\/mysql'\r\nrunuser -l container -c 'mkdir \/mnt\/server\/mysql'\r\n\r\nrunuser -l container -c 'mysql_install_db --defaults-file=\/mnt\/server\/.my.cnf'\r\n\r\nif [ -f \/mnt\/server\/custom.my.cnf ]; then\r\n echo -e \"moving current config back in place\"\r\n mv \/mnt\/server\/custom.my.cnf \/mnt\/server\/.my.cnf\r\nelse\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/database\/mariadb\/my.cnf > \/mnt\/server\/.my.cnf\r\nfi\r\n\r\necho -e \"install complete\"\r\n\r\nexit", - "container": "mariadb:10.3", - "entrypoint": "bash" - } - }, - "variables": [] -} \ No newline at end of file From 5c9d8f2a14172ac20c25ddba753f1c9eef49d93d Mon Sep 17 00:00:00 2001 From: Foks <37844753+FoksVHox@users.noreply.github.com> Date: Sun, 12 Jul 2020 18:35:03 +0200 Subject: [PATCH 383/413] Delete old file --- database/sql/postgres/mariadb/install.my.cnf | 189 ------------------- 1 file changed, 189 deletions(-) delete mode 100644 database/sql/postgres/mariadb/install.my.cnf diff --git a/database/sql/postgres/mariadb/install.my.cnf b/database/sql/postgres/mariadb/install.my.cnf deleted file mode 100644 index f1af70ac..00000000 --- a/database/sql/postgres/mariadb/install.my.cnf +++ /dev/null @@ -1,189 +0,0 @@ -# MariaDB database server configuration file. -# -# You can copy this file to one of: -# - "/etc/mysql/my.cnf" to set global options, -# - "~/.my.cnf" to set user-specific options. -# -# One can use all long options that the program supports. -# Run program with --help to get a list of available options and with -# --print-defaults to see which it would actually understand and use. -# -# For explanations see -# http://dev.mysql.com/doc/mysql/en/server-system-variables.html - -# This will be passed to all mysql clients -# It has been reported that passwords should be enclosed with ticks/quotes -# escpecially if they contain "#" chars... -# Remember to edit /etc/mysql/debian.cnf when changing the socket location. -[client] -port = 3306 -socket = /mnt/server/run/mysqld/mysqld.sock - -# Here is entries for some specific programs -# The following values assume you have at least 32M ram - -# This was formally known as [safe_mysqld]. Both versions are currently parsed. -[mysqld_safe] -socket = /mnt/server/run/mysqld/mysqld.sock -nice = 0 - -[mysqld] -# -# * Basic Settings -# -#user = mysql -pid-file = /mnt/server/run/mysqld/mysqld.pid -socket = /mnt/server/run/mysqld/mysqld.sock -port = 3306 -basedir = /usr -datadir = /mnt/server/mysql -tmpdir = /tmp -lc_messages_dir = /usr/share/mysql -lc_messages = en_US -skip-external-locking -# -# Instead of skip-networking the default is now to listen only on -# localhost which is more compatible and is not less secure. -# -# * Fine Tuning -# -max_connections = 100 -connect_timeout = 5 -wait_timeout = 600 -max_allowed_packet = 16M -thread_cache_size = 128 -sort_buffer_size = 4M -bulk_insert_buffer_size = 16M -tmp_table_size = 32M -max_heap_table_size = 32M -# -# * MyISAM -# -# This replaces the startup script and checks MyISAM tables if needed -# the first time they are touched. On error, make copy and try a repair. -myisam_recover_options = BACKUP -key_buffer_size = 128M -#open-files-limit = 2000 -table_open_cache = 400 -myisam_sort_buffer_size = 512M -concurrent_insert = 2 -read_buffer_size = 2M -read_rnd_buffer_size = 1M -# -# * Query Cache Configuration -# -# Cache only tiny result sets, so we can fit more in the query cache. -query_cache_limit = 128K -query_cache_size = 64M -# for more write intensive setups, set to DEMAND or OFF -#query_cache_type = DEMAND -# -# * Logging and Replication -# -# Both location gets rotated by the cronjob. -# Be aware that this log type is a performance killer. -# As of 5.1 you can enable the log at runtime! -general_log_file = /mnt/server/log/mysql/mysql.log -#general_log = 1 -# -# Error logging goes to syslog due to /etc/mysql/conf.d/mysqld_safe_syslog.cnf. -# -# we do want to know about network errors and such -#log_warnings = 2 -# -# Enable the slow query log to see queries with especially long duration -#slow_query_log[={0|1}] -slow_query_log_file = /mnt/server/log/mysql/mariadb-slow.log -long_query_time = 10 -#log_slow_rate_limit = 1000 -#log_slow_verbosity = query_plan - -#log-queries-not-using-indexes -#log_slow_admin_statements -# -# The following can be used as easy to replay backup logs or for replication. -# note: if you are setting up a replication slave, see README.Debian about -# other settings you may need to change. -#server-id = 1 -#report_host = master1 -#auto_increment_increment = 2 -#auto_increment_offset = 1 -#log_bin = /var/log/mysql/mariadb-bin -#log_bin_index = /var/log/mysql/mariadb-bin.index -# not fab for performance, but safer -#sync_binlog = 1 -expire_logs_days = 10 -max_binlog_size = 100M -# slaves -#relay_log = /var/log/mysql/relay-bin -#relay_log_index = /var/log/mysql/relay-bin.index -#relay_log_info_file = /var/log/mysql/relay-bin.info -#log_slave_updates -#read_only -# -# If applications support it, this stricter sql_mode prevents some -# mistakes like inserting invalid dates etc. -#sql_mode = NO_ENGINE_SUBSTITUTION,TRADITIONAL -# -# * InnoDB -# -# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/. -# Read the manual for more InnoDB related options. There are many! -default_storage_engine = InnoDB -# you can't just change log file size, requires special procedure -#innodb_log_file_size = 50M -innodb_buffer_pool_size = 256M -innodb_log_buffer_size = 8M -innodb_file_per_table = 1 -innodb_open_files = 400 -innodb_io_capacity = 400 -innodb_flush_method = O_DIRECT -# -# * Security Features -# -# Read the manual, too, if you want chroot! -# chroot = /var/lib/mysql/ -# -# For generating SSL certificates I recommend the OpenSSL GUI "tinyca". -# -# ssl-ca=/etc/mysql/cacert.pem -# ssl-cert=/etc/mysql/server-cert.pem -# ssl-key=/etc/mysql/server-key.pem - -# -# * Galera-related settings -# -[galera] -# Mandatory settings -#wsrep_on=ON -#wsrep_provider= -#wsrep_cluster_address= -#binlog_format=row -#default_storage_engine=InnoDB -#innodb_autoinc_lock_mode=2 -# -# Allow server to accept connections on all interfaces. -# -bind-address=0.0.0.0 -# -# Optional setting -#wsrep_slave_threads=1 -#innodb_flush_log_at_trx_commit=0 - -[mysqldump] -quick -quote-names -max_allowed_packet = 16M - -[mysql] -#no-auto-rehash # faster start of mysql but no tab completion - -[isamchk] -key_buffer = 16M - -# -# * IMPORTANT: Additional settings that can override those from this file! -# The files must end with '.cnf', otherwise they'll be ignored. -# -!include /etc/mysql/mariadb.cnf -!includedir /etc/mysql/conf.d/ \ No newline at end of file From 567cef877ed99edade4ef299e99796d27e08e215 Mon Sep 17 00:00:00 2001 From: Foks <37844753+FoksVHox@users.noreply.github.com> Date: Sun, 12 Jul 2020 18:35:19 +0200 Subject: [PATCH 384/413] Delete old file --- database/sql/postgres/mariadb/my.cnf | 190 --------------------------- 1 file changed, 190 deletions(-) delete mode 100644 database/sql/postgres/mariadb/my.cnf diff --git a/database/sql/postgres/mariadb/my.cnf b/database/sql/postgres/mariadb/my.cnf deleted file mode 100644 index 3049c1bb..00000000 --- a/database/sql/postgres/mariadb/my.cnf +++ /dev/null @@ -1,190 +0,0 @@ -# MariaDB database server configuration file. -# -# You can copy this file to one of: -# - "/etc/mysql/my.cnf" to set global options, -# - "~/.my.cnf" to set user-specific options. -# -# One can use all long options that the program supports. -# Run program with --help to get a list of available options and with -# --print-defaults to see which it would actually understand and use. -# -# For explanations see -# http://dev.mysql.com/doc/mysql/en/server-system-variables.html - -# This will be passed to all mysql clients -# It has been reported that passwords should be enclosed with ticks/quotes -# escpecially if they contain "#" chars... -# Remember to edit /etc/mysql/debian.cnf when changing the socket location. -[client] -port = 3306 -socket = /home/container/run/mysqld/mysqld.sock - -# Here is entries for some specific programs -# The following values assume you have at least 32M ram - -# This was formally known as [safe_mysqld]. Both versions are currently parsed. -[mysqld_safe] -socket = /home/container/run/mysqld/mysqld.sock -nice = 0 - -[mysqld] -# -# * Basic Settings -# -#user = mysql -pid-file = /home/container/run/mysqld/mysqld.pid -socket = /home/container/run/mysqld/mysqld.sock -port = 3306 -basedir = /usr -datadir = /home/container/mysql -tmpdir = /tmp -lc_messages_dir = /usr/share/mysql -lc_messages = en_US -skip-external-locking -# -# Instead of skip-networking the default is now to listen only on -# localhost which is more compatible and is not less secure. -bind-address=0.0.0.0 -# -# * Fine Tuning -# -max_connections = 100 -connect_timeout = 5 -wait_timeout = 600 -max_allowed_packet = 16M -thread_cache_size = 128 -sort_buffer_size = 4M -bulk_insert_buffer_size = 16M -tmp_table_size = 32M -max_heap_table_size = 32M -# -# * MyISAM -# -# This replaces the startup script and checks MyISAM tables if needed -# the first time they are touched. On error, make copy and try a repair. -myisam_recover_options = BACKUP -key_buffer_size = 128M -#open-files-limit = 2000 -table_open_cache = 400 -myisam_sort_buffer_size = 512M -concurrent_insert = 2 -read_buffer_size = 2M -read_rnd_buffer_size = 1M -# -# * Query Cache Configuration -# -# Cache only tiny result sets, so we can fit more in the query cache. -query_cache_limit = 128K -query_cache_size = 64M -# for more write intensive setups, set to DEMAND or OFF -#query_cache_type = DEMAND -# -# * Logging and Replication -# -# Both location gets rotated by the cronjob. -# Be aware that this log type is a performance killer. -# As of 5.1 you can enable the log at runtime! -general_log_file = /home/container/log/mysql/mysql.log -#general_log = 1 -# -# Error logging goes to syslog due to /etc/mysql/conf.d/mysqld_safe_syslog.cnf. -# -# we do want to know about network errors and such -#log_warnings = 2 -# -# Enable the slow query log to see queries with especially long duration -#slow_query_log[={0|1}] -slow_query_log_file = /home/container/log/mysql/mariadb-slow.log -long_query_time = 10 -#log_slow_rate_limit = 1000 -#log_slow_verbosity = query_plan - -#log-queries-not-using-indexes -#log_slow_admin_statements -# -# The following can be used as easy to replay backup logs or for replication. -# note: if you are setting up a replication slave, see README.Debian about -# other settings you may need to change. -#server-id = 1 -#report_host = master1 -#auto_increment_increment = 2 -#auto_increment_offset = 1 -#log_bin = /var/log/mysql/mariadb-bin -#log_bin_index = /var/log/mysql/mariadb-bin.index -# not fab for performance, but safer -#sync_binlog = 1 -expire_logs_days = 10 -max_binlog_size = 100M -# slaves -#relay_log = /var/log/mysql/relay-bin -#relay_log_index = /var/log/mysql/relay-bin.index -#relay_log_info_file = /var/log/mysql/relay-bin.info -#log_slave_updates -#read_only -# -# If applications support it, this stricter sql_mode prevents some -# mistakes like inserting invalid dates etc. -#sql_mode = NO_ENGINE_SUBSTITUTION,TRADITIONAL -# -# * InnoDB -# -# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/. -# Read the manual for more InnoDB related options. There are many! -default_storage_engine = InnoDB -# you can't just change log file size, requires special procedure -#innodb_log_file_size = 50M -innodb_buffer_pool_size = 256M -innodb_log_buffer_size = 8M -innodb_file_per_table = 1 -innodb_open_files = 400 -innodb_io_capacity = 400 -innodb_flush_method = O_DIRECT -# -# * Security Features -# -# Read the manual, too, if you want chroot! -# chroot = /var/lib/mysql/ -# -# For generating SSL certificates I recommend the OpenSSL GUI "tinyca". -# -# ssl-ca=/etc/mysql/cacert.pem -# ssl-cert=/etc/mysql/server-cert.pem -# ssl-key=/etc/mysql/server-key.pem - -# -# * Galera-related settings -# -[galera] -# Mandatory settings -#wsrep_on=ON -#wsrep_provider= -#wsrep_cluster_address= -#binlog_format=row -#default_storage_engine=InnoDB -#innodb_autoinc_lock_mode=2 -# -# Allow server to accept connections on all interfaces. -# -bind-address=0.0.0.0 -# -# Optional setting -#wsrep_slave_threads=1 -#innodb_flush_log_at_trx_commit=0 - -[mysqldump] -quick -quote-names -max_allowed_packet = 16M - -[mysql] -#no-auto-rehash # faster start of mysql but no tab completion - -[isamchk] -key_buffer = 16M - -# -# * IMPORTANT: Additional settings that can override those from this file! -# The files must end with '.cnf', otherwise they'll be ignored. -# -!include /etc/mysql/mariadb.cnf -!includedir /etc/mysql/conf.d/ \ No newline at end of file From 64b3fd19c8a0c926477f7c02196f418379571678 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sun, 12 Jul 2020 16:39:21 -0400 Subject: [PATCH 385/413] update stock unturned egg. updated to use the built in rocketmod. --- steamcmd_servers/unturned/unturned/egg-unturned.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/steamcmd_servers/unturned/unturned/egg-unturned.json b/steamcmd_servers/unturned/unturned/egg-unturned.json index ca38ecfc..da39b0c8 100644 --- a/steamcmd_servers/unturned/unturned/egg-unturned.json +++ b/steamcmd_servers/unturned/unturned/egg-unturned.json @@ -3,12 +3,12 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-01-18T18:06:35-05:00", + "exported_at": "2020-07-12T16:38:09-04:00", "name": "Unturned", "author": "parker@parkervcp.com", - "description": "The RocketMod server mod for Unturned.", - "image": "quay.io\/parkervcp\/pterodactyl-images:base_debian", - "startup": "wget https:\/\/github.com\/RocketMod\/Rocket.Unturned\/releases\/download\/4.9.3.0\/Rocket.Unturned.zip && unzip -o Rocket.Unturned.zip && .\/Unturned_Headless.x86_64 -batchmode -nographics -bind 0.0.0.0 -port {{SERVER_PORT}}", + "description": "Vanilla Unturned with the included RockerMod.", + "image": "quay.io\/parkervcp\/pterodactyl-images:debian_source", + "startup": ".\/Unturned_Headless.x86_64 -batchmode -nographics -bind 0.0.0.0 -port {{SERVER_PORT}}", "config": { "files": "{}", "startup": "{\r\n \"done\": \"Loading level: 100%\",\r\n \"userInteraction\": []\r\n}", From 3e64b3a76db8290c8fefa49b7762631a1cccdb2a Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sun, 12 Jul 2020 20:07:53 -0400 Subject: [PATCH 386/413] Add Killing Floor 2 This will add Killing Floor 2 --- steamcmd_servers/killing_floor_2/README.md | 13 ++ .../killing_floor_2/egg-killing-floor2.json | 135 ++++++++++++++++++ 2 files changed, 148 insertions(+) create mode 100644 steamcmd_servers/killing_floor_2/README.md create mode 100644 steamcmd_servers/killing_floor_2/egg-killing-floor2.json diff --git a/steamcmd_servers/killing_floor_2/README.md b/steamcmd_servers/killing_floor_2/README.md new file mode 100644 index 00000000..49c02fd1 --- /dev/null +++ b/steamcmd_servers/killing_floor_2/README.md @@ -0,0 +1,13 @@ +# Killing Floor 2 +### From their [Site](https://killingfloor2.com/) +In KILLING FLOOR 2, players descend into continental Europe after it has been overrun by horrific, murderous clones called Zeds that were created by the corporation Horzine. The Zed outbreak caused by Horzine Biotech’s failed experiments has quickly spread with unstoppable momentum, paralyzing the European Union. Only a month ago, the first Zed outbreak from the original KILLING FLOOR ripped through London; now the specimen clones are everywhere. + +### Server Ports +Ports required to run the server in a table format. + +| Port | default | +|------------|---------| +| Game Port | 7777 | +| Query Port | 27015 | +|Extra Ports |---------| +| Web Admin | 8080 | \ No newline at end of file diff --git a/steamcmd_servers/killing_floor_2/egg-killing-floor2.json b/steamcmd_servers/killing_floor_2/egg-killing-floor2.json new file mode 100644 index 00000000..db35b49a --- /dev/null +++ b/steamcmd_servers/killing_floor_2/egg-killing-floor2.json @@ -0,0 +1,135 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2020-07-12T20:06:39-04:00", + "name": "Killing Floor 2", + "author": "parker@parkervcp.com", + "description": "n KILLING FLOOR 2, players descend into continental Europe after it has been overrun by horrific, murderous clones called Zeds that were created by the corporation Horzine. The Zed outbreak caused by Horzine Biotech\u2019s failed experiments has quickly spread with unstoppable momentum, paralyzing the European Union. Only a month ago, the first Zed outbreak from the original KILLING FLOOR ripped through London; now the specimen clones are everywhere.", + "image": "quay.io\/parkervcp\/pterodactyl-images:debian_source", + "startup": "\/home\/container\/Binaries\/Win64\/KFGameSteamServer.bin.x86_64 {{MAP_NAME}}?Port={{SERVER_PORT}}?QueryPort={{QUERY_PORT}}?AdminPassword={{ADMIN_PASS}}?Difficulty={{DIFFICULTY}}$( [ \"$WEB_ADMIN\" == \"true\" ] || printf %s '??WebAdminPort={{WEB_ADMIN_PORT}}' )", + "config": { + "files": "{\r\n \"KFGame\/Config\/KFWeb.ini\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"IpDrv.WebServer.IpDrv.WebServer\": \"{{server.build.env.WEB_ADMIN}}\",\r\n \"IpDrv.WebServer.IpDrv.ListenPort\": \"{{server.build.env.WEB_ADMIN_PORT}}\"\r\n }\r\n },\r\n \"KFGame\/Config\/LinuxServer-KFGame.ini\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"Engine.AccessControl.AdminPassword\": \"{{server.build.env.ADMIN_PASS}}\",\r\n \"Engine.GameReplicationInfo.ServerName\": \"{{server.build.env.SERVER_NAME}}\"\r\n }\r\n }\r\n}", + "startup": "{\r\n \"done\": \"DevOnline: Playfab server registered with lobby ID \"\r\n}", + "logs": "{}", + "stop": "^C" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'debian:buster-slim'\r\n\r\n##\r\n#\r\n# Variables\r\n# STEAM_USER, STEAM_PASS, STEAM_AUTH - Steam user setup. If a user has 2fa enabled it will most likely fail due to timeout. Leave blank for anon install.\r\n# WINDOWS_INSTALL - if it's a windows server you want to install set to 1\r\n# SRCDS_APPID - steam app id ffound here - https:\/\/developer.valvesoftware.com\/wiki\/Dedicated_Servers_List\r\n# EXTRA_FLAGS - when a server has extra glas for things like beta installs or updates.\r\n#\r\n##\r\n\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [ \"${WINDOWS_INSTALL}\" == \"1\" ] || printf %s '+@sSteamCmdForcePlatformType windows' ) +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so", + "container": "debian:buster-slim", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "Steam Username", + "description": "A steam username to use to install the server.\r\n\r\nOnly needed for games that need a user that owns the server", + "env_variable": "STEAM_USER", + "default_value": "", + "user_viewable": 0, + "user_editable": 0, + "rules": "nullable|string" + }, + { + "name": "Steam Password", + "description": "Password for the Steam account to install a server.", + "env_variable": "STEAM_PASS", + "default_value": "", + "user_viewable": 0, + "user_editable": 0, + "rules": "nullable|string" + }, + { + "name": "Steam Auth", + "description": "Will most likely time out before it gets used.", + "env_variable": "STEAM_AUTH", + "default_value": "", + "user_viewable": 0, + "user_editable": 0, + "rules": "nullable|string|max:6" + }, + { + "name": "Steam Server App ID", + "description": "The App ID for the Server", + "env_variable": "SRCDS_APPID", + "default_value": "232130", + "user_viewable": 0, + "user_editable": 0, + "rules": "required|string" + }, + { + "name": "Extra Flags", + "description": "Only needed for specific situations.", + "env_variable": "EXTRA_FLAGS", + "default_value": "", + "user_viewable": 0, + "user_editable": 0, + "rules": "nullable|string" + }, + { + "name": "Map Name", + "description": "The map to load when the server starts\r\n\r\ndefault - 'kf-bioticslab'", + "env_variable": "MAP_NAME", + "default_value": "kf-bioticslab", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string" + }, + { + "name": "Query Port", + "description": "The port steam will use to query the server.", + "env_variable": "QUERY_PORT", + "default_value": "27015", + "user_viewable": 1, + "user_editable": 0, + "rules": "required|numeric|max:65535" + }, + { + "name": "Enable WebAdmin (beta)", + "description": "", + "env_variable": "WEB_ADMIN", + "default_value": "false", + "user_viewable": 1, + "user_editable": 0, + "rules": "required|string|in:true,false" + }, + { + "name": "Admin Password", + "description": "An admin password for the server.", + "env_variable": "ADMIN_PASS", + "default_value": "PleaseChangeMe", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string" + }, + { + "name": "Server Name", + "description": "This is the displayed server name to all players in the server and the server browser", + "env_variable": "SERVER_NAME", + "default_value": "A Pterodactyl Hosted Server", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string" + }, + { + "name": "Server Difficulty", + "description": "0 = Normal, 1 = Hard, 2 = Suicidal, 3 = Hell on Earth", + "env_variable": "DIFFICULTY", + "default_value": "0", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|numeric|max:3" + }, + { + "name": "Web Admin Port", + "description": "The port the webadmin panel should use. This is a beta feature.", + "env_variable": "WEB_ADMIN_PORT", + "default_value": "8089", + "user_viewable": 1, + "user_editable": 0, + "rules": "required|string|max:20" + } + ] +} \ No newline at end of file From 88b0db74ef11bde5b351ad8a278b3b4b7a0decf7 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sun, 12 Jul 2020 20:38:57 -0400 Subject: [PATCH 387/413] update installer with symlink for rocket.unturned --- steamcmd_servers/unturned/unturned/egg-unturned.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/steamcmd_servers/unturned/unturned/egg-unturned.json b/steamcmd_servers/unturned/unturned/egg-unturned.json index da39b0c8..c3ef65f9 100644 --- a/steamcmd_servers/unturned/unturned/egg-unturned.json +++ b/steamcmd_servers/unturned/unturned/egg-unturned.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-07-12T16:38:09-04:00", + "exported_at": "2020-07-12T20:38:02-04:00", "name": "Unturned", "author": "parker@parkervcp.com", "description": "Vanilla Unturned with the included RockerMod.", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'debian:buster-slim'\r\n\r\nDEBIAN_FRONTEND=noninteractive\r\n\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so \/mnt\/server\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so \/mnt\/server\/.steam\/sdk64\/steamclient.so\r\n\r\n## Specific to Unturned\r\ncp -v linux64\/steamclient.so \/mnt\/server\/Unturned_Headless_Data\/Plugins\/x86_64\/steamclient.so", + "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'debian:buster-slim'\r\n\r\nDEBIAN_FRONTEND=noninteractive\r\n\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so \/mnt\/server\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so \/mnt\/server\/.steam\/sdk64\/steamclient.so\r\n\r\n## Specific to Unturned\r\ncd \/mnt\/server\/\r\nln -s steamcmd\/linux64\/steamclient.so Unturned_Headless_Data\/Plugins\/x86_64\/steamclient.so\r\nln -s Extras\/Rocket.Unturned\/ Modules\/", "container": "debian:buster-slim", "entrypoint": "bash" } From 75890b51abea2dcb49ba9f7f343ebd7907eefa70 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sun, 12 Jul 2020 21:25:22 -0400 Subject: [PATCH 388/413] unturned doesn't support symlinks for so files --- steamcmd_servers/unturned/unturned/egg-unturned.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/steamcmd_servers/unturned/unturned/egg-unturned.json b/steamcmd_servers/unturned/unturned/egg-unturned.json index c3ef65f9..177461b1 100644 --- a/steamcmd_servers/unturned/unturned/egg-unturned.json +++ b/steamcmd_servers/unturned/unturned/egg-unturned.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-07-12T20:38:02-04:00", + "exported_at": "2020-07-12T21:24:45-04:00", "name": "Unturned", "author": "parker@parkervcp.com", "description": "Vanilla Unturned with the included RockerMod.", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'debian:buster-slim'\r\n\r\nDEBIAN_FRONTEND=noninteractive\r\n\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so \/mnt\/server\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so \/mnt\/server\/.steam\/sdk64\/steamclient.so\r\n\r\n## Specific to Unturned\r\ncd \/mnt\/server\/\r\nln -s steamcmd\/linux64\/steamclient.so Unturned_Headless_Data\/Plugins\/x86_64\/steamclient.so\r\nln -s Extras\/Rocket.Unturned\/ Modules\/", + "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'debian:buster-slim'\r\n\r\nDEBIAN_FRONTEND=noninteractive\r\n\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so \/mnt\/server\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so \/mnt\/server\/.steam\/sdk64\/steamclient.so\r\n\r\n## Specific to Unturned\r\ncd \/mnt\/server\/\r\ncp steamcmd\/linux64\/steamclient.so Unturned_Headless_Data\/Plugins\/x86_64\/steamclient.so\r\nln -s Extras\/Rocket.Unturned\/ Modules\/", "container": "debian:buster-slim", "entrypoint": "bash" } From 6e7cfaf1784da3b4512231ace3a548067d317cf8 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sun, 12 Jul 2020 22:06:55 -0400 Subject: [PATCH 389/413] fix symlinks properly --- steamcmd_servers/unturned/unturned/egg-unturned.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/steamcmd_servers/unturned/unturned/egg-unturned.json b/steamcmd_servers/unturned/unturned/egg-unturned.json index 177461b1..df6abd65 100644 --- a/steamcmd_servers/unturned/unturned/egg-unturned.json +++ b/steamcmd_servers/unturned/unturned/egg-unturned.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-07-12T21:24:45-04:00", + "exported_at": "2020-07-12T22:04:47-04:00", "name": "Unturned", "author": "parker@parkervcp.com", "description": "Vanilla Unturned with the included RockerMod.", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'debian:buster-slim'\r\n\r\nDEBIAN_FRONTEND=noninteractive\r\n\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so \/mnt\/server\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so \/mnt\/server\/.steam\/sdk64\/steamclient.so\r\n\r\n## Specific to Unturned\r\ncd \/mnt\/server\/\r\ncp steamcmd\/linux64\/steamclient.so Unturned_Headless_Data\/Plugins\/x86_64\/steamclient.so\r\nln -s Extras\/Rocket.Unturned\/ Modules\/", + "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'debian:buster-slim'\r\n\r\nDEBIAN_FRONTEND=noninteractive\r\n\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so \/mnt\/server\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so \/mnt\/server\/.steam\/sdk64\/steamclient.so\r\n\r\n## Specific to Unturned\r\ncd \/mnt\/server\/\r\nln -s ..\/..\/..\/steamcmd\/linux64\/steamclient.so Unturned_Headless_Data\/Plugins\/x86_64\/steamclient.so\r\nln -s ..\/Extras\/Rocket.Unturned\/ Modules\/", "container": "debian:buster-slim", "entrypoint": "bash" } From adc9d39f80d99a16cc624cd3775a18a895cb3eca Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Mon, 13 Jul 2020 10:21:11 -0400 Subject: [PATCH 390/413] replace || with && --- scripts/steamcmd_installer.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/steamcmd_installer.sh b/scripts/steamcmd_installer.sh index b2dce4aa..7742daa9 100644 --- a/scripts/steamcmd_installer.sh +++ b/scripts/steamcmd_installer.sh @@ -41,7 +41,7 @@ chown -R root:root /mnt export HOME=/mnt/server ## install game using steamcmd -./steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [ "${WINDOWS_INSTALL}" == "1" ] || printf %s '+@sSteamCmdForcePlatformType windows' ) +force_install_dir /mnt/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6 +./steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ "${WINDOWS_INSTALL}" == "1" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +force_install_dir /mnt/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6 ## set up 32 bit libraries mkdir -p /mnt/server/.steam/sdk32 From bd97f6c298374056f7806f5be144badb95079d79 Mon Sep 17 00:00:00 2001 From: AwesomenessZ <44243730+AwesomenessZ@users.noreply.github.com> Date: Tue, 14 Jul 2020 13:56:22 -0400 Subject: [PATCH 391/413] Forgot a space in startup command --- 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 b63e19a7..facdad9f 100644 --- a/bots/discord/discord.js/egg-discord-js-generic.json +++ b/bots/discord/discord.js/egg-discord-js-generic.json @@ -8,7 +8,7 @@ "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:debian_nodejs-12", - "startup": "if [[ -d .git ]] && [[ {{AUTO_UPDATE}} == \"1\" ]]; then git pull; fi; if [[ ! -z ${NODE_PACKAGES} ]]; then \/usr\/local\/bin\/npm install ${NODE_PACKAGES}; fi; if [ -f \/home\/container\/package.json ]; then \/usr\/local\/bin\/npm install --production; fi; \/usr\/local\/bin\/node\/home\/container\/{{BOT_JS_FILE}}", + "startup": "if [[ -d .git ]] && [[ {{AUTO_UPDATE}} == \"1\" ]]; then git pull; fi; if [[ ! -z ${NODE_PACKAGES} ]]; then \/usr\/local\/bin\/npm install ${NODE_PACKAGES}; fi; if [ -f \/home\/container\/package.json ]; then \/usr\/local\/bin\/npm install --production; fi; \/usr\/local\/bin\/node \/home\/container\/{{BOT_JS_FILE}}", "config": { "files": "{}", "startup": "{\r\n \"done\": \"change this part\"\r\n}", @@ -78,4 +78,4 @@ "rules": "required|string" } ] -} \ No newline at end of file +} From 2b39774da3618e3537dbfb105d7fb750e13f449e Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Tue, 14 Jul 2020 22:16:44 -0400 Subject: [PATCH 392/413] update pocketmine install script resolves #614 --- minecraft/bedrock/pocketmine_mp/egg-pocketmine-m-p.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/minecraft/bedrock/pocketmine_mp/egg-pocketmine-m-p.json b/minecraft/bedrock/pocketmine_mp/egg-pocketmine-m-p.json index 8f0f3877..98a8d1e5 100644 --- a/minecraft/bedrock/pocketmine_mp/egg-pocketmine-m-p.json +++ b/minecraft/bedrock/pocketmine_mp/egg-pocketmine-m-p.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-01-24T08:59:24-05:00", + "exported_at": "2020-07-14T22:15:06-04:00", "name": "PocketmineMP", "author": "info@swisscrafting.ch", "description": "Pocketmine Egg\r\nby onekintaro from swisscrafting.ch\r\nwith the nice help from #eggs Channel on Pterodactyl-Discord :)", @@ -17,9 +17,9 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/ash\r\n\r\napk add --no-cache curl\r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"\\n downloading pocketmine MP build ${PMMP_VERSION}\"\r\nif [ -z \"$PMMP_VERSION\" ] || [ \"$PMMP_VERSION\" == \"latest\" ]; then\r\n curl -sSL -o PocketMine-MP.phar https:\/\/jenkins.pmmp.io\/job\/PocketMine-MP\/Stable\/artifact\/PocketMine-MP.phar\r\nelse \r\n curl -sSL -o PocketMine-MP.phar https:\/\/jenkins.pmmp.io\/job\/PocketMine-MP\/${PMMP_VERSION}\/artifact\/PocketMine-MP.phar\r\nfi\r\n\r\necho -e \"\\n downloading latest php7.3 build from pocketmine\"\r\ncurl -sSL -o php.binary.tar.gz https:\/\/jenkins.pmmp.io\/job\/PHP-7.3-Linux-x86_64\/lastSuccessfulBuild\/artifact\/PHP_Linux-x86_64.tar.gz\r\n\r\necho -e \"\\n getting default server.properties\"\r\ncurl -sSL https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft_bedrock\/pocketmine_mp\/server.properties > server.properties\r\n\r\necho -e \"\\n unpacking php7 binaries\"\r\ntar -xzvf php.binary.tar.gz\r\n\r\necho -e \"\\n removing pvp7 packages\"\r\nrm -rf \/mnt\/server\/php.binary.tar.gz\r\n\r\necho -e \"\\n creating files and folders\"\r\ntouch banned-ips.tx banned-players.txt ops.txt white-list.txt server.log\r\nmkdir -p players worlds plugins resource_packs", - "container": "alpine:3.10", - "entrypoint": "ash" + "script": "#!\/bin\/bash\r\n\r\napt update\r\napt install -y curl\r\n\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir \/mnt\/server\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"\\n downloading pocketmine MP build ${PMMP_VERSION}\"\r\nif [ -z \"$PMMP_VERSION\" ] || [ \"$PMMP_VERSION\" == \"latest\" ]; then\r\n curl -sSL -o PocketMine-MP.phar https:\/\/jenkins.pmmp.io\/job\/PocketMine-MP\/Stable\/artifact\/PocketMine-MP.phar\r\nelse \r\n curl -sSL -o PocketMine-MP.phar https:\/\/jenkins.pmmp.io\/job\/PocketMine-MP\/${PMMP_VERSION}\/artifact\/PocketMine-MP.phar\r\nfi\r\n\r\necho -e \"\\n downloading latest php7.3 build from pocketmine\"\r\ncurl -sSL -o php.binary.tar.gz https:\/\/jenkins.pmmp.io\/job\/PHP-7.3-Linux-x86_64\/lastSuccessfulBuild\/artifact\/PHP_Linux-x86_64.tar.gz\r\n\r\necho -e \"\\n getting default server.properties\"\r\ncurl -sSL https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/bedrock\/pocketmine_mp\/server.properties > server.properties\r\n\r\necho -e \"\\n unpacking php7 binaries\"\r\ntar -xzvf php.binary.tar.gz\r\n\r\necho -e \"\\n removing pvp7 packages\"\r\nrm -rf \/mnt\/server\/php.binary.tar.gz\r\n\r\necho -e \"\\n creating files and folders\"\r\ntouch banned-ips.tx banned-players.txt ops.txt white-list.txt server.log\r\nmkdir -p players worlds plugins resource_packs", + "container": "debian:buster-slim", + "entrypoint": "bash" } }, "variables": [ From 83139adb6f64b48800a0dff06b4c29d97c66f791 Mon Sep 17 00:00:00 2001 From: Rune Date: Wed, 15 Jul 2020 19:02:24 -0400 Subject: [PATCH 393/413] Added FTB-modpacks.ch egg Added an egg to pull newer FTB packs from modpacks.ch. --- minecraft/java/README.md | 25 +++++++- .../egg-ftb-modpacksch-server.json | 63 +++++++++++++++++++ 2 files changed, 87 insertions(+), 1 deletion(-) create mode 100644 minecraft/java/ftb/feed-the-beast/egg-ftb-modpacksch-server.json diff --git a/minecraft/java/README.md b/minecraft/java/README.md index b93d1f9e..a2359f1f 100644 --- a/minecraft/java/README.md +++ b/minecraft/java/README.md @@ -28,7 +28,30 @@ A generic service to pull forge mod packs from the curseforge site. A generic service to pull forge mod packs from the FTB site. Supply values to 2 variables to use - MODPACK_URL: from the url to the pack https://www.feed-the-beast.com/projects/{MODPACK_URL} -- MODPACK_VERSION: version of the modpack to install +- MODPACK_VERSION: version of the modpack to install + +[FTB Modpacks through modpacks.ch](https://api.modpacks.ch) +A generic service to pull FTB modpacks from api.modpacks.ch. +There are 2 ways to install a server through this service. +The first method only requires you to know the modpacks name and version. +The second method requires you to know the id for both the modpack and version in the api. + +**Method 1 (Recommended)** +- FTB_SEARCH_TERM: the modpack name to query for, must be at least 4 characters long. + EX: for FTB: Interactions you would do "interactions". +- FTB_VERSION_STRING: the string version that you want to install. + EX: for FTB: Interactions 2.0.2, you would put "2.0.2". + +**Method 2** +- FTB_MODPACK_ID: the id that directs to the modpack in the api. + EX: for FTB: Interactions the id would be "5". https://api.modpacks.ch/public/modpack/5 +- FTB_MODPACK_VERSION_ID: the version id in the api. + EX: for FTB: Interactions 2.0.2 the id is "86". https://api.modpacks.ch/public/modpack/5/86 + +**NOTE** +**Not all FTB packs come with a server.properties file, due to this the server.properties file +may not get updated with the correct ip address and port at first launch. +Please restart the server after first launch to fix this.** [FTB Revelation](https://www.feed-the-beast.com/projects/ftb-revelation) Revelation is a general all-purpose modpack with optimal FPS, server performance and stability. diff --git a/minecraft/java/ftb/feed-the-beast/egg-ftb-modpacksch-server.json b/minecraft/java/ftb/feed-the-beast/egg-ftb-modpacksch-server.json new file mode 100644 index 00000000..ab911abb --- /dev/null +++ b/minecraft/java/ftb/feed-the-beast/egg-ftb-modpacksch-server.json @@ -0,0 +1,63 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2020-07-15T18:19:27-04:00", + "name": "FTB-modpacks.ch Server", + "author": "runemaster580@gmail.com", + "description": "Since the release of the FTB APP, FTB modpacks are now distributed through modpacks.ch. This egg was developed for support for modpacks that are distributed through this.", + "image": "quay.io\/pterodactyl\/core:java", + "startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar forge-server.jar", + "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# FTB Pack Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir -p \/mnt\/server\r\nfi\r\n\r\n# Download needed software.\r\nfunction install_required {\r\n apt update\r\n apt install -y curl jq dos2unix\r\n}\r\n\r\n\r\nfunction get_download {\r\n # if no modpack id is set and modpack search term is set.\r\n if [ -z ${FTB_MODPACK_ID} ] && [ \"${FTB_SEARCH_TERM}\" != \"\" ]; then\r\n JSON_DATA=$(curl -sSL https:\/\/api.modpacks.ch\/public\/modpack\/search\/8?term=${FTB_SEARCH_TERM})\r\n \r\n # grabs the first modpack in array.\r\n FTB_MODPACK_ID=$(echo -e ${JSON_DATA} | jq -r \".packs[]\")\r\n fi\r\n \r\n if [ -z ${FTB_MODPACK_VERSION_ID} ] && [ \"${FTB_VERSION_STRING}\" != \"\" ]; then\r\n # grabs the correct version id matching the string.\r\n FTB_MODPACK_VERSION_ID=$(curl -sSL https:\/\/api.modpacks.ch\/public\/modpack\/${FTB_MODPACK_ID} | jq -r --arg VSTRING ${FTB_VERSION_STRING} '.versions[] | select(.name == $VSTRING) | .id')\r\n fi\r\n \r\n echo -e \"ID: ${FTB_MODPACK_ID} VersionID: ${FTB_MODPACK_VERSION_ID}\"\r\n \r\n cd \/mnt\/server\r\n \r\n curl https:\/\/api.modpacks.ch\/public\/modpack\/${FTB_MODPACK_ID}\/${FTB_MODPACK_VERSION_ID}\/server\/linux --output serversetup\r\n chmod +x .\/serversetup\r\n .\/serversetup ${FTB_MODPACK_ID} ${FTB_MODPACK_VERSION_ID} <<< 'y'\r\n}\r\n\r\nfunction cleanup {\r\n rm -rf serversetup\r\n mv forge-*.jar forge-server.jar\r\n}\r\n\r\ninstall_required\r\nget_download\r\ncleanup", + "container": "openjdk:8-jdk-slim", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "FTB Pack search term", + "description": "the search term for finding the modpack. needs to be at least 4 characters long.\r\nFind out what term is needed by using the ftb app and searching with the term. make sure it only returns 1 result.\r\ncan also be searched for via: https:\/\/api.modpacks.ch\/public\/modpack\/search\/8?term={SEARCHTERM}\r\n\r\nonly needed if the modpack id and modpack version id is unknown.", + "env_variable": "FTB_SEARCH_TERM", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "nullable|string|max:99|min:4" + }, + { + "name": "FTB modpack ID", + "description": "The FTB Api modpack ID.\r\nNeeded if not using the search variable\r\n\r\nExample: FTB Interactions ID is 5.\r\nhttps:\/\/api.modpacks.ch\/public\/modpack\/5", + "env_variable": "FTB_MODPACK_ID", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "nullable|string|max:20" + }, + { + "name": "FTB Pack Version", + "description": "what version of the modpack to install. leave empty if using the modpack version id variable.", + "env_variable": "FTB_VERSION_STRING", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "nullable|string|max:20" + }, + { + "name": "FTB Pack Version ID", + "description": "The modpack api version ID.\r\nneeded if not using the string for the version.\r\n\r\nExample FTB Revelations version id for version \"2.0.2\" is 86.\r\nwhich would come out as: https:\/\/api.modpacks.ch\/public\/modpack\/5\/86", + "env_variable": "FTB_MODPACK_VERSION_ID", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "nullable|string|max:20" + } + ] +} \ No newline at end of file From b5a83024faad3ca361dd75ad4a30a469ef3ad374 Mon Sep 17 00:00:00 2001 From: camjac251 Date: Thu, 16 Jul 2020 00:09:21 -0500 Subject: [PATCH 394/413] small grammart fix grammar fix --- steamcmd_servers/rust/rust_autowipe/egg-rust-autowipe.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/steamcmd_servers/rust/rust_autowipe/egg-rust-autowipe.json b/steamcmd_servers/rust/rust_autowipe/egg-rust-autowipe.json index a0214678..6bb60689 100644 --- a/steamcmd_servers/rust/rust_autowipe/egg-rust-autowipe.json +++ b/steamcmd_servers/rust/rust_autowipe/egg-rust-autowipe.json @@ -142,7 +142,7 @@ }, { "name": "Regen Server", - "description": "If the server should have it's files removed and regenerate the server seed.", + "description": "If the server should have its files removed and regenerate the server seed.", "env_variable": "REGEN_SERVER", "default_value": "0", "user_viewable": 1, @@ -159,4 +159,4 @@ "rules": "required|string" } ] -} \ No newline at end of file +} From 9cb254b286922ad9abd56ed86bfce32d6ddbadcb Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Fri, 17 Jul 2020 09:54:15 -0400 Subject: [PATCH 395/413] fix so it only shows up when disabled. --- .../ark_survival_evolved/egg-ark--survival-evolved.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/steamcmd_servers/ark_survival_evolved/egg-ark--survival-evolved.json b/steamcmd_servers/ark_survival_evolved/egg-ark--survival-evolved.json index 247fe5fa..94678900 100644 --- a/steamcmd_servers/ark_survival_evolved/egg-ark--survival-evolved.json +++ b/steamcmd_servers/ark_survival_evolved/egg-ark--survival-evolved.json @@ -8,7 +8,7 @@ "author": "dev@shepper.fr", "description": "As a man or woman stranded, naked, freezing, and starving on the unforgiving shores of a mysterious island called ARK, use your skill and cunning to kill or tame and ride the plethora of leviathan dinosaurs and other primeval creatures roaming the land. Hunt, harvest resources, craft items, grow crops, research technologies, and build shelters to withstand the elements and store valuables, all while teaming up with (or preying upon) hundreds of other players to survive, dominate... and escape! \u2014 Gamepedia: ARK", "image": "quay.io\/parkervcp\/pterodactyl-images:debian_source", - "startup": "rmv() { echo -e \"stoppping server\"; rcon -a 127.0.0.1:${RCON_PORT} -p ${ARK_ADMIN_PASSWORD} -c saveworld && rcon -a 127.0.0.1:${RCON_PORT} -p ${ARK_ADMIN_PASSWORD} -c DoExit; }; trap \\'echo -e \\\"ctrl-c caught\\\" && rmv\\'; cd ShooterGame\/Binaries\/Linux && .\/ShooterGameServer {{SERVER_MAP}}?listen?SessionName='{{SESSION_NAME}}'?ServerPassword={{ARK_PASSWORD}}?ServerAdminPassword={{ARK_ADMIN_PASSWORD}}?Port={{SERVER_PORT}}?RCONPort={{RCON_PORT}}?QueryPort={{QUERY_PORT}}?RCONEnabled={{ENABLE_RCON}}$( [ \"$BATTLE_EYE\" == \"0\" ] || printf %s '?-NoBattlEye' ) -server -log & until echo \"waiting for rcon connection...\"; rcon -a 127.0.0.1:${RCON_PORT} -p ${ARK_ADMIN_PASSWORD}; do sleep 5; done", + "startup": "rmv() { echo -e \"stoppping server\"; rcon -a 127.0.0.1:${RCON_PORT} -p ${ARK_ADMIN_PASSWORD} -c saveworld && rcon -a 127.0.0.1:${RCON_PORT} -p ${ARK_ADMIN_PASSWORD} -c DoExit; }; trap \\'echo -e \\\"ctrl-c caught\\\" && rmv\\'; cd ShooterGame\/Binaries\/Linux && .\/ShooterGameServer {{SERVER_MAP}}?listen?SessionName='{{SESSION_NAME}}'?ServerPassword={{ARK_PASSWORD}}?ServerAdminPassword={{ARK_ADMIN_PASSWORD}}?Port={{SERVER_PORT}}?RCONPort={{RCON_PORT}}?QueryPort={{QUERY_PORT}}?RCONEnabled={{ENABLE_RCON}}$( [ \"$BATTLE_EYE\" == \"0\" ] && printf %s '?-NoBattlEye' ) -server -log & until echo \"waiting for rcon connection...\"; rcon -a 127.0.0.1:${RCON_PORT} -p ${ARK_ADMIN_PASSWORD}; do sleep 5; done", "config": { "files": "{}", "startup": "{\r\n \"done\": \"Waiting commands for 127.0.0.1:\",\r\n \"userInteraction\": []\r\n}", From 27135b8d3f4cddf11db651c405c0696602f939e9 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sat, 18 Jul 2020 21:00:46 -0400 Subject: [PATCH 396/413] change install location --- bots/discord/discord.py/egg-discord-py-generic.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bots/discord/discord.py/egg-discord-py-generic.json b/bots/discord/discord.py/egg-discord-py-generic.json index 1630eda7..47c6404c 100644 --- a/bots/discord/discord.py/egg-discord-py-generic.json +++ b/bots/discord/discord.py/egg-discord-py-generic.json @@ -3,12 +3,12 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-07-11T19:48:14-04:00", + "exported_at": "2020-07-18T20:57:33-04:00", "name": "discord.py generic", "author": "parker@parkervcp.com", "description": "A Discord bot written in Python using discord.py\r\n\r\nhttps:\/\/github.com\/Ispira\/pixel-bot", "image": "quay.io\/parkervcp\/pterodactyl-images:debian_python-3.8", - "startup": "if [[ -d .git ]] && [[ {{AUTO_UPDATE}} == \"1\" ]]; then git pull; fi; if [[ ! -z ${PY_PACKAGES} ]]; then pip install -U --target \/mnt\/server\/ ${PY_PACKAGES}; fi; if [[ -f \/home\/container\/requirements.txt ]]; then pip install -U --target \/mnt\/server\/ -r requirements.txt; fi; \/usr\/local\/bin\/python \/home\/container\/{{BOT_PY_FILE}}", + "startup": "if [[ -d .git ]] && [[ {{AUTO_UPDATE}} == \"1\" ]]; then git pull; fi; if [[ ! -z ${PY_PACKAGES} ]]; then pip install -U --target \/home\/container\/ ${PY_PACKAGES}; fi; if [[ -f \/home\/container\/requirements.txt ]]; then pip install -U --target \/home\/container\/ -r requirements.txt; fi; \/usr\/local\/bin\/python \/home\/container\/{{BOT_PY_FILE}}", "config": { "files": "{}", "startup": "{\r\n \"done\": \"change this part\"\r\n}", From 413e7643917948dc219d62e6f13e051328cb1ffa Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sat, 18 Jul 2020 23:16:13 -0400 Subject: [PATCH 397/413] update node_packages variable make the variable nullable --- bots/discord/discord.js/egg-discord-js-generic.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bots/discord/discord.js/egg-discord-js-generic.json b/bots/discord/discord.js/egg-discord-js-generic.json index facdad9f..8cdad3b3 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": "2020-06-29T17:10:31-04:00", + "exported_at": "2020-07-18T23:13:34-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:debian_nodejs-12", - "startup": "if [[ -d .git ]] && [[ {{AUTO_UPDATE}} == \"1\" ]]; then git pull; fi; if [[ ! -z ${NODE_PACKAGES} ]]; then \/usr\/local\/bin\/npm install ${NODE_PACKAGES}; fi; if [ -f \/home\/container\/package.json ]; then \/usr\/local\/bin\/npm install --production; fi; \/usr\/local\/bin\/node \/home\/container\/{{BOT_JS_FILE}}", + "startup": "if [[ -d .git ]] && [[ {{AUTO_UPDATE}} == \"1\" ]]; then git pull; fi; if [[ ! -z ${NODE_PACKAGES} ]]; then \/usr\/local\/bin\/npm install ${NODE_PACKAGES}; fi; if [ -f \/home\/container\/package.json ]; then \/usr\/local\/bin\/npm install --production; fi; \/usr\/local\/bin\/node\/home\/container\/{{BOT_JS_FILE}}", "config": { "files": "{}", "startup": "{\r\n \"done\": \"change this part\"\r\n}", @@ -75,7 +75,7 @@ "default_value": "", "user_viewable": 1, "user_editable": 1, - "rules": "required|string" + "rules": "nullable|string" } ] -} +} \ No newline at end of file From 28140e9f5769d05e27ebade7f8421f1a811a4fdc Mon Sep 17 00:00:00 2001 From: ListinO Date: Wed, 22 Jul 2020 18:16:25 +0200 Subject: [PATCH 398/413] Fixing the docker-image Fix the bad url used for the image --- mindustry/egg-mindustry.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mindustry/egg-mindustry.json b/mindustry/egg-mindustry.json index 4af7902e..03b04394 100644 --- a/mindustry/egg-mindustry.json +++ b/mindustry/egg-mindustry.json @@ -3,11 +3,11 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-03-01T10:26:07-05:00", + "exported_at": "2020-07-22T18:01:10+02:00", "name": "Mindustry", - "author": "unknown@unknown.com", + "author": "liotino.yoan@gmail.com", "description": "Mindustry is a hybrid tower-defense sandbox factory game. Create elaborate supply chains of conveyor belts to feed ammo into your turrets, produce materials to use for building, and defend your structures from waves of enemies.", - "image": "quay.io\/parkervcp\/pterodactyl-image:debian_openjdk-11", + "image": "quay.io\/parkervcp\/pterodactyl-images:debian_openjdk-11", "startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar server-release.jar port {{SERVER_PORT}},name {{SERVER_NAME}},host {{MAPNAME}}", "config": { "files": "{}", @@ -51,4 +51,4 @@ "rules": "required|string" } ] -} \ No newline at end of file +} From c012c04367febfb97f1342a212d9eb30ba97afec Mon Sep 17 00:00:00 2001 From: parkervcp Date: Thu, 23 Jul 2020 16:18:54 -0400 Subject: [PATCH 399/413] adding a space to start command --- bots/discord/discord.js/egg-discord-js-generic.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bots/discord/discord.js/egg-discord-js-generic.json b/bots/discord/discord.js/egg-discord-js-generic.json index 8cdad3b3..295c8b27 100644 --- a/bots/discord/discord.js/egg-discord-js-generic.json +++ b/bots/discord/discord.js/egg-discord-js-generic.json @@ -8,7 +8,7 @@ "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:debian_nodejs-12", - "startup": "if [[ -d .git ]] && [[ {{AUTO_UPDATE}} == \"1\" ]]; then git pull; fi; if [[ ! -z ${NODE_PACKAGES} ]]; then \/usr\/local\/bin\/npm install ${NODE_PACKAGES}; fi; if [ -f \/home\/container\/package.json ]; then \/usr\/local\/bin\/npm install --production; fi; \/usr\/local\/bin\/node\/home\/container\/{{BOT_JS_FILE}}", + "startup": "if [[ -d .git ]] && [[ {{AUTO_UPDATE}} == \"1\" ]]; then git pull; fi; if [[ ! -z ${NODE_PACKAGES} ]]; then \/usr\/local\/bin\/npm install ${NODE_PACKAGES}; fi; if [ -f \/home\/container\/package.json ]; then \/usr\/local\/bin\/npm install --production; fi; \/usr\/local\/bin\/node \/home\/container\/{{BOT_JS_FILE}}", "config": { "files": "{}", "startup": "{\r\n \"done\": \"change this part\"\r\n}", From 34eed2c0a5809304b1c9b32f7059d483aa3dcbe4 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Fri, 24 Jul 2020 20:45:46 -0400 Subject: [PATCH 400/413] fix velocity proxy config location resolves #628 --- minecraft/proxy/velocity/egg-velocity.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/minecraft/proxy/velocity/egg-velocity.json b/minecraft/proxy/velocity/egg-velocity.json index 7bfb6a83..7cfc2206 100644 --- a/minecraft/proxy/velocity/egg-velocity.json +++ b/minecraft/proxy/velocity/egg-velocity.json @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/ash\r\n# Velocity Proxy Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\napk add --no-cache curl\r\n\r\nmkdir -p \/mnt\/server\/\r\n\r\ncd \/mnt\/server\/\r\n\r\nif [ -z ${VELOCITY_VERSION} ] || [ ${VELOCITY_VERSION} == \"latest\" ]; then\r\n\tVELOCITY_VERSION=\/lastStableBuild\r\nfi\r\n\r\necho -e \"Getting download link\"\r\nDOWNLOAD_ENDPOINT=$(curl https:\/\/ci.velocitypowered.com\/job\/velocity\/${VELOCITY_VERSION}\/ | grep -Eo 'href=\"[^\\\"]+\"' | grep -vE \"view|fingerprint\" | grep \".jar\" | sed -n 's\/.*href=\"\\([^\"]*\\).*\/\\1\/p')\r\nDOWNLOAD_LINK=https:\/\/ci.velocitypowered.com\/job\/velocity\/lastStableBuild\/${DOWNLOAD_ENDPOINT}\r\n\r\necho -e \"Downloading ${DOWNLOAD_LINK}\"\r\ncurl ${DOWNLOAD_LINK} -o ${SERVER_JARFILE}\r\n\r\nif [ -f velocity.toml ]; then\r\n echo -e \"velocity config file exists\"\r\nelse\r\n echo -e \"downloading velocity config file.\"\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft_proxy\/velocity\/velocity.toml -o velocity.toml\r\nfi\r\n\r\necho -e \"install complete\"", + "script": "#!\/bin\/ash\r\n# Velocity Proxy Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\napk add --no-cache curl\r\n\r\nmkdir -p \/mnt\/server\/\r\n\r\ncd \/mnt\/server\/\r\n\r\nif [ -z ${VELOCITY_VERSION} ] || [ ${VELOCITY_VERSION} == \"latest\" ]; then\r\n\tVELOCITY_VERSION=\/lastStableBuild\r\nfi\r\n\r\necho -e \"Getting download link\"\r\nDOWNLOAD_ENDPOINT=$(curl https:\/\/ci.velocitypowered.com\/job\/velocity\/${VELOCITY_VERSION}\/ | grep -Eo 'href=\"[^\\\"]+\"' | grep -vE \"view|fingerprint\" | grep \".jar\" | sed -n 's\/.*href=\"\\([^\"]*\\).*\/\\1\/p')\r\nDOWNLOAD_LINK=https:\/\/ci.velocitypowered.com\/job\/velocity\/lastStableBuild\/${DOWNLOAD_ENDPOINT}\r\n\r\necho -e \"Downloading ${DOWNLOAD_LINK}\"\r\ncurl ${DOWNLOAD_LINK} -o ${SERVER_JARFILE}\r\n\r\nif [ -f velocity.toml ]; then\r\n echo -e \"velocity config file exists\"\r\nelse\r\n echo -e \"downloading velocity config file.\"\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/proxy\/velocity\/velocity.toml -o velocity.toml\r\nfi\r\n\r\necho -e \"install complete\"", "container": "alpine:3.10", "entrypoint": "ash" } From a7d41046c6bc6be13908130c7fc91422242bb10a Mon Sep 17 00:00:00 2001 From: ListinO Date: Mon, 27 Jul 2020 01:43:37 +0200 Subject: [PATCH 401/413] Change to the creator email --- mindustry/egg-mindustry.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mindustry/egg-mindustry.json b/mindustry/egg-mindustry.json index 03b04394..36a5b676 100644 --- a/mindustry/egg-mindustry.json +++ b/mindustry/egg-mindustry.json @@ -5,7 +5,7 @@ }, "exported_at": "2020-07-22T18:01:10+02:00", "name": "Mindustry", - "author": "liotino.yoan@gmail.com", + "author": "unknown@unknown.com", "description": "Mindustry is a hybrid tower-defense sandbox factory game. Create elaborate supply chains of conveyor belts to feed ammo into your turrets, produce materials to use for building, and defend your structures from waves of enemies.", "image": "quay.io\/parkervcp\/pterodactyl-images:debian_openjdk-11", "startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar server-release.jar port {{SERVER_PORT}},name {{SERVER_NAME}},host {{MAPNAME}}", From a8ab1b502d0095523810031435fdcc7aae837421 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Wed, 29 Jul 2020 15:52:22 -0400 Subject: [PATCH 402/413] fix nukkit config download links This fixes the nukkit config links --- minecraft/bedrock/nukkit/egg-nukkit.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/minecraft/bedrock/nukkit/egg-nukkit.json b/minecraft/bedrock/nukkit/egg-nukkit.json index 1444cb91..436e6632 100644 --- a/minecraft/bedrock/nukkit/egg-nukkit.json +++ b/minecraft/bedrock/nukkit/egg-nukkit.json @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/ash\r\n# Nukkit Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk add --no-cache curl openssl\r\n\r\ncd \/mnt\/server\r\n\r\n## Only download if a path is provided, otherwise continue.\r\nif [ ! -z \"${DL_PATH}\" ]; then\r\n MODIFIED_DOWNLOAD=`eval echo $(echo ${DL_PATH} | sed -e 's\/{{\/${\/g' -e 's\/}}\/}\/g')`\r\n wget ${MODIFIED_DOWNLOAD} -O ${SERVER_JARFILE}\r\nelif [ -z \"${NUKKIT_VERSION}\" ] || [ \"${NUKKIT_VERSION}\" == \"latest\" ]; then\r\n wget https:\/\/ci.nukkitx.com\/job\/NukkitX\/job\/Nukkit\/job\/master\/lastSuccessfulBuild\/artifact\/target\/nukkit-1.0-SNAPSHOT.jar -O ${SERVER_JARFILE}\r\nelse\r\n wget https:\/\/ci.nukkitx.com\/job\/NukkitX\/job\/Nukkit\/job\/master\/${NUKKIT_VERSION}\/artifact\/target\/nukkit-1.0-SNAPSHOT.jar -O ${SERVER_JARFILE}\r\nfi\r\n\r\nif [ ! -f nukkit.yml ]; then\r\n wget https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft_bedrock\/nukkit\/nukkit.yml\r\nfi\r\n\r\nif [ ! -f nukkit.yml ]; then\r\n wget https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft_bedrock\/nukkit\/server.properties\r\nfi", + "script": "#!\/bin\/ash\r\n# Nukkit Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk add --no-cache curl openssl\r\n\r\ncd \/mnt\/server\r\n\r\n## Only download if a path is provided, otherwise continue.\r\nif [ ! -z \"${DL_PATH}\" ]; then\r\n MODIFIED_DOWNLOAD=`eval echo $(echo ${DL_PATH} | sed -e 's\/{{\/${\/g' -e 's\/}}\/}\/g')`\r\n wget ${MODIFIED_DOWNLOAD} -O ${SERVER_JARFILE}\r\nelif [ -z \"${NUKKIT_VERSION}\" ] || [ \"${NUKKIT_VERSION}\" == \"latest\" ]; then\r\n wget https:\/\/ci.nukkitx.com\/job\/NukkitX\/job\/Nukkit\/job\/master\/lastSuccessfulBuild\/artifact\/target\/nukkit-1.0-SNAPSHOT.jar -O ${SERVER_JARFILE}\r\nelse\r\n wget https:\/\/ci.nukkitx.com\/job\/NukkitX\/job\/Nukkit\/job\/master\/${NUKKIT_VERSION}\/artifact\/target\/nukkit-1.0-SNAPSHOT.jar -O ${SERVER_JARFILE}\r\nfi\r\n\r\nif [ ! -f nukkit.yml ]; then\r\n wget https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/bedrock\/nukkit\/nukkit.yml\r\nfi\r\n\r\nif [ ! -f nukkit.yml ]; then\r\n wget https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/bedrock\/nukkit\/server.properties\r\nfi", "container": "alpine:3.10", "entrypoint": "ash" } From 2512715f215bd6209b38f755c9e50d02f0550e0b Mon Sep 17 00:00:00 2001 From: Pishangfy <62736272+Pishangfy@users.noreply.github.com> Date: Mon, 3 Aug 2020 00:23:55 +0800 Subject: [PATCH 403/413] Update server.properties download URL --- minecraft/java/tuinity/egg-tuinity.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/minecraft/java/tuinity/egg-tuinity.json b/minecraft/java/tuinity/egg-tuinity.json index d18404cb..9bf94c40 100644 --- a/minecraft/java/tuinity/egg-tuinity.json +++ b/minecraft/java/tuinity/egg-tuinity.json @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# Tuinity Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\napt update\r\napt -y install curl\r\ncd \/mnt\/server\r\n\r\nif [ ! -f server.properties ]; then\r\ncurl -o server.properties https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft_java\/server.properties\r\nfi\r\n\r\ncurl -o ${SERVER_JARFILE} https:\/\/ci.codemc.io\/job\/Spottedleaf\/job\/Tuinity\/lastStableBuild\/artifact\/tuinity-paperclip.jar", + "script": "#!\/bin\/bash\r\n# Tuinity Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\napt update\r\napt -y install curl\r\ncd \/mnt\/server\r\n\r\nif [ ! -f server.properties ]; then\r\ncurl -o server.properties https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/java\/server.properties\r\nfi\r\n\r\ncurl -o ${SERVER_JARFILE} https:\/\/ci.codemc.io\/job\/Spottedleaf\/job\/Tuinity\/lastStableBuild\/artifact\/tuinity-paperclip.jar", "container": "debian:buster-slim", "entrypoint": "bash" } From 8791e65063a9a60bf9ca93f267beff8a87a54b77 Mon Sep 17 00:00:00 2001 From: Pishangfy <62736272+Pishangfy@users.noreply.github.com> Date: Mon, 3 Aug 2020 00:42:46 +0800 Subject: [PATCH 404/413] Update Paper --- minecraft/java/paper/egg-paper.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/minecraft/java/paper/egg-paper.json b/minecraft/java/paper/egg-paper.json index 60fde38e..6dda06d6 100644 --- a/minecraft/java/paper/egg-paper.json +++ b/minecraft/java/paper/egg-paper.json @@ -17,7 +17,7 @@ }, "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\nif [ -f ${SERVER_JARFILE} ]; then\r\n mv ${SERVER_JARFILE} ${SERVER_JARFILE}.old\r\nfi\r\n\r\ncurl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\r\n\r\nif [ ! -f server.properties ]; then\r\n echo -e \"Downloading MC server.properties\"\r\n curl -o server.properties https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft_java\/server.properties\r\nfi", + "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\nif [ -f ${SERVER_JARFILE} ]; then\r\n mv ${SERVER_JARFILE} ${SERVER_JARFILE}.old\r\nfi\r\n\r\ncurl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\r\n\r\nif [ ! -f server.properties ]; then\r\n echo -e \"Downloading MC server.properties\"\r\n curl -o server.properties https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/java\/server.properties\r\nfi", "container": "alpine:3.9", "entrypoint": "ash" } @@ -60,4 +60,4 @@ "rules": "required|string|max:20" } ] -} \ No newline at end of file +} From 4adbd414a509e2f33429ca99891bbe7cd08ba62b Mon Sep 17 00:00:00 2001 From: parkervcp Date: Sun, 2 Aug 2020 14:26:40 -0400 Subject: [PATCH 405/413] fix variable rules makes install repo nullable. --- bots/discord/discord.py/egg-discord-py-generic.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bots/discord/discord.py/egg-discord-py-generic.json b/bots/discord/discord.py/egg-discord-py-generic.json index 47c6404c..9002ca11 100644 --- a/bots/discord/discord.py/egg-discord-py-generic.json +++ b/bots/discord/discord.py/egg-discord-py-generic.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-07-18T20:57:33-04:00", + "exported_at": "2020-08-02T14:23:55-04:00", "name": "discord.py generic", "author": "parker@parkervcp.com", "description": "A Discord bot written in Python using discord.py\r\n\r\nhttps:\/\/github.com\/Ispira\/pixel-bot", @@ -30,7 +30,7 @@ "default_value": "", "user_viewable": 1, "user_editable": 1, - "rules": "required|string" + "rules": "nullable|string" }, { "name": "Install Branch", From 62f860c112f5484293e1045b929fe27fd2739e04 Mon Sep 17 00:00:00 2001 From: parkervcp Date: Sun, 2 Aug 2020 15:41:07 -0400 Subject: [PATCH 406/413] nullable variables makes other variable nullable --- bots/discord/discord.py/egg-discord-py-generic.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bots/discord/discord.py/egg-discord-py-generic.json b/bots/discord/discord.py/egg-discord-py-generic.json index 9002ca11..b34ee6a6 100644 --- a/bots/discord/discord.py/egg-discord-py-generic.json +++ b/bots/discord/discord.py/egg-discord-py-generic.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-08-02T14:23:55-04:00", + "exported_at": "2020-08-02T14:36:53-04:00", "name": "discord.py generic", "author": "parker@parkervcp.com", "description": "A Discord bot written in Python using discord.py\r\n\r\nhttps:\/\/github.com\/Ispira\/pixel-bot", @@ -39,7 +39,7 @@ "default_value": "", "user_viewable": 1, "user_editable": 1, - "rules": "required|string" + "rules": "nullable|string" }, { "name": "User Uploaded Files", @@ -75,7 +75,7 @@ "default_value": "", "user_viewable": 1, "user_editable": 1, - "rules": "required|string" + "rules": "nullable|string" } ] } \ No newline at end of file From 7f386ea32f08cbe4ed3cec845e4a387499a92e95 Mon Sep 17 00:00:00 2001 From: Pishangfy <62736272+Pishangfy@users.noreply.github.com> Date: Tue, 4 Aug 2020 09:35:50 +0800 Subject: [PATCH 407/413] Update Waterfall --- minecraft/proxy/waterfall/egg-waterfall.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/minecraft/proxy/waterfall/egg-waterfall.json b/minecraft/proxy/waterfall/egg-waterfall.json index 1dd4c9f9..1454f996 100644 --- a/minecraft/proxy/waterfall/egg-waterfall.json +++ b/minecraft/proxy/waterfall/egg-waterfall.json @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# Paper Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y curl jq\r\n\r\nmkdir -p \/mnt\/server\/\r\ncd \/mnt\/server\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 if [ -z \"$VANILLA_VERSION\" ] || [ \"${MINECRAFT_VERSION}\" == \"latest\" ]; then\r\n echo -e \"getting latest supported mc version and latest paper build\"\r\n MINECRAFT_VERSION=$(curl -s https:\/\/papermc.io\/api\/v1\/waterfall | jq -r '.versions[0]')\r\n BUILD_NUMBER=$(curl -sSL https:\/\/papermc.io\/api\/v1\/waterfall\/${MINECRAFT_VERSION} | jq -r '.builds.latest')\r\n VER_EXISTS=true\r\n else\r\n echo -e \"checking if version ${MINECRAFT_VERSION} exists\"\r\n VER_EXISTS=$(curl -s https:\/\/papermc.io\/api\/v1\/waterfall | jq -r --arg VERSION ${MINECRAFT_VERSION} '.versions[] | contains($VERSION)' | grep true)\r\n fi\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 waterfall version\"\r\n MINECRAFT_VERSION=${LATEST_WATERFALL_VERSION}\r\n fi\r\n \r\n BUILD_EXISTS=$(curl -sSL https:\/\/papermc.io\/api\/v1\/waterfall\/${MINECRAFT_VERSION} | jq -r --arg BUILD ${BUILD_NUMBER} '.builds.all[] | contains($BUILD)' | grep true)\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 for version ${MINECRAFT_VERSION}\"\r\n BUILD_NUMBER=$(curl -sSL https:\/\/papermc.io\/api\/v1\/waterfall\/${MINECRAFT_VERSION} | jq -r '.builds.latest')\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\/waterfall\/${MINECRAFT_VERSION}\/${BUILD_NUMBER}\/download \r\nfi\r\n\r\nif [ -z ${SERVER_JARFILE} ]; then\r\n SERVER_JARFILE=server.jar\r\nfi\r\n\r\nif [[ ! $SERVER_JARFILE = *\\.jar ]]; then\r\n SERVER_JARFILE=\"$SERVER_JARFILE.jar\"\r\nfi\r\n\r\necho -e \"running curl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\"\r\n\r\ncurl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\r\n\r\nif [ ! -f config.yml ]; then\r\n echo -e \"Downloading waterfall config.yml\"\r\n curl -o config.yml https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft_proxy\/waterfall\/config.yml\r\nelse\r\n echo -e \"Waterfall config.yml exists. Will not pull a new file\"\r\nfi", + "script": "#!\/bin\/bash\r\n# Paper Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y curl jq\r\n\r\nmkdir -p \/mnt\/server\/\r\ncd \/mnt\/server\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 if [ -z \"$VANILLA_VERSION\" ] || [ \"${MINECRAFT_VERSION}\" == \"latest\" ]; then\r\n echo -e \"getting latest supported mc version and latest paper build\"\r\n MINECRAFT_VERSION=$(curl -s https:\/\/papermc.io\/api\/v1\/waterfall | jq -r '.versions[0]')\r\n BUILD_NUMBER=$(curl -sSL https:\/\/papermc.io\/api\/v1\/waterfall\/${MINECRAFT_VERSION} | jq -r '.builds.latest')\r\n VER_EXISTS=true\r\n else\r\n echo -e \"checking if version ${MINECRAFT_VERSION} exists\"\r\n VER_EXISTS=$(curl -s https:\/\/papermc.io\/api\/v1\/waterfall | jq -r --arg VERSION ${MINECRAFT_VERSION} '.versions[] | contains($VERSION)' | grep true)\r\n fi\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 waterfall version\"\r\n MINECRAFT_VERSION=${LATEST_WATERFALL_VERSION}\r\n fi\r\n \r\n BUILD_EXISTS=$(curl -sSL https:\/\/papermc.io\/api\/v1\/waterfall\/${MINECRAFT_VERSION} | jq -r --arg BUILD ${BUILD_NUMBER} '.builds.all[] | contains($BUILD)' | grep true)\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 for version ${MINECRAFT_VERSION}\"\r\n BUILD_NUMBER=$(curl -sSL https:\/\/papermc.io\/api\/v1\/waterfall\/${MINECRAFT_VERSION} | jq -r '.builds.latest')\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\/waterfall\/${MINECRAFT_VERSION}\/${BUILD_NUMBER}\/download \r\nfi\r\n\r\nif [ -z ${SERVER_JARFILE} ]; then\r\n SERVER_JARFILE=server.jar\r\nfi\r\n\r\nif [[ ! $SERVER_JARFILE = *\\.jar ]]; then\r\n SERVER_JARFILE=\"$SERVER_JARFILE.jar\"\r\nfi\r\n\r\necho -e \"running curl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\"\r\n\r\ncurl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\r\n\r\nif [ ! -f config.yml ]; then\r\n echo -e \"Downloading waterfall config.yml\"\r\n curl -o config.yml https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/proxy\/waterfall\/config.yml\r\nelse\r\n echo -e \"Waterfall config.yml exists. Will not pull a new file\"\r\nfi", "container": "debian:buster-slim", "entrypoint": "bash" } @@ -60,4 +60,4 @@ "rules": "required|string|max:20" } ] -} \ No newline at end of file +} From aa6437291e4501565b70afeb4c950e816d4e6700 Mon Sep 17 00:00:00 2001 From: Pishangfy <62736272+Pishangfy@users.noreply.github.com> Date: Tue, 4 Aug 2020 09:51:39 +0800 Subject: [PATCH 408/413] Update README.MD Update repository URL --- minecraft/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/minecraft/README.md b/minecraft/README.md index 51d80c92..c3b4d80f 100644 --- a/minecraft/README.md +++ b/minecraft/README.md @@ -6,13 +6,13 @@ It’s set in infinitely-generated worlds of wide open terrain - icy mountains, [Bedrock](/minecraft/bedrock/) Servers for Bedrock Minecraft (Windows 10, mobile, console) * [Bedrock](/minecraft/bedrock/bedrock/) -* [DragonProxy](/minecraft/bedrock/dragonproxy/) +* [DragonProxy](/minecraft/bedrock/dragon_proxy/) * [Nukkit](/minecraft/bedrock/nukkit/) * [PocketMine MP](/minecraft/bedrock/pocketmine_mp/) [Java](/minecraft/java/) Servers for Java Minecraft * [Cuberite](/minecraft/java/cuberite/) -* [feather](/minecraft/feather/) +* [Feather](/minecraft/java/feather/) * [Feed The Beast](/minecraft/java/ftb/) * [Forge](/minecraft/java/forge/) * [Magma](/minecraft/java/magma/) @@ -27,4 +27,4 @@ It’s set in infinitely-generated worlds of wide open terrain - icy mountains, [Proxies](/minecraft/proxy/) Minecraft Server Proxies * [Waterfall](/minecraft/proxy/waterfall/) Java * [TyphoonLimbo](/minecraft/proxy/typhoonlimbo/) Java -* [Velocity](/minecraft/proxy/velocity/) Java \ No newline at end of file +* [Velocity](/minecraft/proxy/velocity/) Java From f0697717cb94e928f7f013c09c8fd63925f9702b Mon Sep 17 00:00:00 2001 From: Ryan Kubiak Date: Tue, 4 Aug 2020 20:03:55 -0700 Subject: [PATCH 409/413] Enable automatic updates for Stationeers --- steamcmd_servers/stationeers/egg-stationeers.json | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/steamcmd_servers/stationeers/egg-stationeers.json b/steamcmd_servers/stationeers/egg-stationeers.json index c5a094d7..3d498438 100644 --- a/steamcmd_servers/stationeers/egg-stationeers.json +++ b/steamcmd_servers/stationeers/egg-stationeers.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-02-24T18:48:49+01:00", + "exported_at": "2020-08-04T20:01:04-07:00", "name": "Stationeers", "author": "sysadmin@whiteshield.ch", "description": "Stationeers Server\r\n\r\ndefault.ini will be created once you start game. Command parameters override default.ini parameters\r\nDon't forget to change the RCON Password !!\r\n\r\nRemote Administrator:\r\nYou can send commands on web browser.\r\nLink : http:\/\/[dedicated server address]:[GamePort]\r\n\r\nDedicated Server Wiki ==> https:\/\/stationeers-wiki.com\/Dedicated_Server_Guide\r\n\r\nStopping the server don't save the game, for manual save use the Remote Administrator.", @@ -17,8 +17,8 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# Stationeers: 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\nmkdir -p \/mnt\/server\/Engine\/Binaries\/ThirdParty\/SteamCMD\/Linux\r\n\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/Engine\/Binaries\/ThirdParty\/SteamCMD\/Linux\r\n\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 600760 -beta public +quit\r\n\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so", - "container": "ubuntu:16.04", + "script": "#!\/bin\/bash\r\n# Stationeers: 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\ncd \/tmp\r\ncurl -sSL -o steamcmd.tar.gz http:\/\/media.steampowered.com\/installer\/steamcmd_linux.tar.gz\r\nmkdir -p \/mnt\/server\/steamcmd\r\nmkdir -p \/mnt\/server\/Engine\/Binaries\/ThirdParty\/SteamCMD\/Linux\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/Engine\/Binaries\/ThirdParty\/SteamCMD\/Linux\r\ncd \/mnt\/server\/steamcmd\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n.\/steamcmd.sh +login anonymous +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} -beta public +quit\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so", + "container": "debian:buster-slim", "entrypoint": "bash" } }, @@ -76,6 +76,15 @@ "user_viewable": 1, "user_editable": 1, "rules": "required|integer" + }, + { + "name": "Steam App ID", + "description": "Required for automatic updates.", + "env_variable": "SRCDS_APPID", + "default_value": "600760", + "user_viewable": 0, + "user_editable": 0, + "rules": "required|string|max:20" } ] } \ No newline at end of file From ad2d4e1eb6a1cee10a8ab7fcedb9041218718e25 Mon Sep 17 00:00:00 2001 From: Fabian Gabriel <38376434+vntxx@users.noreply.github.com> Date: Sat, 8 Aug 2020 03:58:29 +0200 Subject: [PATCH 410/413] Fixed Mindustry typo :] --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c7c31b91..567449cc 100644 --- a/README.md +++ b/README.md @@ -69,7 +69,7 @@ If you are reading this it looks like you are looking to add an egg to your serv * [Multi Theft Auto](/gta/mtasa/) * [SA-MP](/gta/samp/) -[Mindusrty](/mindustry/) +[Mindustry](/mindustry/) [Minecraft](/minecraft/) * [Bedrock](/minecraft/bedrock/) From 9de38fbbdd462e88260c9dd9a469f29c05b5e810 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Tue, 11 Aug 2020 15:30:01 -0400 Subject: [PATCH 411/413] add travertine proxy server. Resolves #644 Adds readme for waterfall too. Basically a find/replace for waterfall. --- minecraft/proxy/travertine/README.md | 10 +++ .../proxy/travertine/egg-travertine.json | 63 +++++++++++++++++++ minecraft/proxy/waterfall/README.md | 10 +++ 3 files changed, 83 insertions(+) create mode 100644 minecraft/proxy/travertine/README.md create mode 100644 minecraft/proxy/travertine/egg-travertine.json diff --git a/minecraft/proxy/travertine/README.md b/minecraft/proxy/travertine/README.md new file mode 100644 index 00000000..8d797744 --- /dev/null +++ b/minecraft/proxy/travertine/README.md @@ -0,0 +1,10 @@ +# Travertine server +Waterfall, with additional support for Minecraft 1.7.10. + +## 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 | \ No newline at end of file diff --git a/minecraft/proxy/travertine/egg-travertine.json b/minecraft/proxy/travertine/egg-travertine.json new file mode 100644 index 00000000..904e4fb9 --- /dev/null +++ b/minecraft/proxy/travertine/egg-travertine.json @@ -0,0 +1,63 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2020-08-11T15:24:12-04:00", + "name": "Travertine", + "author": "parker@parkervcp.com", + "description": "Travertine is a fork of the well-known Waterfall server teleportation suite.", + "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].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:\"\r\n ]\r\n}", + "logs": "{\r\n \"custom\": false,\r\n \"location\": \"proxy.log.0\"\r\n}", + "stop": "end" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash\r\n# Paper Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y curl jq\r\n\r\nmkdir -p \/mnt\/server\/\r\ncd \/mnt\/server\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 if [ -z \"$VANILLA_VERSION\" ] || [ \"${MINECRAFT_VERSION}\" == \"latest\" ]; then\r\n echo -e \"getting latest supported mc version and latest paper build\"\r\n MINECRAFT_VERSION=$(curl -s https:\/\/papermc.io\/api\/v1\/travertine | jq -r '.versions[0]')\r\n BUILD_NUMBER=$(curl -sSL https:\/\/papermc.io\/api\/v1\/travertine\/${MINECRAFT_VERSION} | jq -r '.builds.latest')\r\n VER_EXISTS=true\r\n else\r\n echo -e \"checking if version ${MINECRAFT_VERSION} exists\"\r\n VER_EXISTS=$(curl -s https:\/\/papermc.io\/api\/v1\/travertine | jq -r --arg VERSION ${MINECRAFT_VERSION} '.versions[] | contains($VERSION)' | grep true)\r\n fi\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 travertine version\"\r\n MINECRAFT_VERSION=$(curl -s https:\/\/papermc.io\/api\/v1\/travertine | jq -r '.versions[0]')\r\n fi\r\n \r\n BUILD_EXISTS=$(curl -sSL https:\/\/papermc.io\/api\/v1\/travertine\/${MINECRAFT_VERSION} | jq -r --arg BUILD ${BUILD_NUMBER} '.builds.all[] | contains($BUILD)' | grep true)\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 for version ${MINECRAFT_VERSION}\"\r\n BUILD_NUMBER=$(curl -sSL https:\/\/papermc.io\/api\/v1\/travertine\/${MINECRAFT_VERSION} | jq -r '.builds.latest')\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\/travertine\/${MINECRAFT_VERSION}\/${BUILD_NUMBER}\/download \r\nfi\r\n\r\nif [ -z ${SERVER_JARFILE} ]; then\r\n SERVER_JARFILE=server.jar\r\nfi\r\n\r\nif [[ ! $SERVER_JARFILE = *\\.jar ]]; then\r\n SERVER_JARFILE=\"$SERVER_JARFILE.jar\"\r\nfi\r\n\r\necho -e \"running curl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\"\r\n\r\ncurl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\r\n\r\nif [ ! -f config.yml ]; then\r\n echo -e \"Downloading travertine config.yml\"\r\n curl -o config.yml https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/proxy\/travertine\/config.yml\r\nelse\r\n echo -e \"Waterfall config.yml exists. Will not pull a new file\"\r\nfi", + "container": "debian:buster-slim", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "Minecraft Version", + "description": "The version of Minecraft that water was built to support.", + "env_variable": "MINECRAFT_VERSION", + "default_value": "latest", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|alpha_num|between:1,6" + }, + { + "name": "Waterfall Jar File", + "description": "The name of the Jarfile to use when running Waterfall.", + "env_variable": "SERVER_JARFILE", + "default_value": "waterfall.jar", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/" + }, + { + "name": "Download Link", + "description": "A link to the server jar to download the waterfall jar.", + "env_variable": "DL_LINK", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "nullable|string" + }, + { + "name": "Waterfall build number", + "description": "Default is latest.\r\n\r\nif set to latest or an invalid version will grab the latest build number.", + "env_variable": "BUILD_NUMBER", + "default_value": "latest", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:20" + } + ] +} \ No newline at end of file diff --git a/minecraft/proxy/waterfall/README.md b/minecraft/proxy/waterfall/README.md index e69de29b..0ca909b9 100644 --- a/minecraft/proxy/waterfall/README.md +++ b/minecraft/proxy/waterfall/README.md @@ -0,0 +1,10 @@ +# Waterfall server +Paper fork of the BungeeCord software, with improved Forge support and more features. + +## 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 | \ No newline at end of file From d0a3e6631a38ab152e7683854d07368c34d3f03d Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Tue, 11 Aug 2020 15:32:17 -0400 Subject: [PATCH 412/413] update generic readmes too --- README.md | 1 + minecraft/README.md | 1 + 2 files changed, 2 insertions(+) diff --git a/README.md b/README.md index 567449cc..c30aa699 100644 --- a/README.md +++ b/README.md @@ -95,6 +95,7 @@ If you are reading this it looks like you are looking to add an egg to your serv * [Proxies](/minecraft/proxy/) (these are for the java version of minecraft) * [Waterfall](/minecraft/proxy/waterfall/) * [TyphoonLimbo](/minecraft/proxy/typhoonlimbo/) + * [Travertine](/minecraft/proxy/travertine/) Java * [Velocity](/minecraft/proxy/velocity/) [Red Dead Redemption](/rdr/) diff --git a/minecraft/README.md b/minecraft/README.md index c3b4d80f..06db4c0d 100644 --- a/minecraft/README.md +++ b/minecraft/README.md @@ -27,4 +27,5 @@ It’s set in infinitely-generated worlds of wide open terrain - icy mountains, [Proxies](/minecraft/proxy/) Minecraft Server Proxies * [Waterfall](/minecraft/proxy/waterfall/) Java * [TyphoonLimbo](/minecraft/proxy/typhoonlimbo/) Java +* [Travertine](/minecraft/proxy/travertine/) Java * [Velocity](/minecraft/proxy/velocity/) Java From a70145dc3d0e5300b2ae0d1f5f37dc880fc149af Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Wed, 12 Aug 2020 08:27:12 -0400 Subject: [PATCH 413/413] update curseforge generic Deals with another edge case for the Valhelsia series resolves #642 --- .../java/forge/curseforge-generic/egg-curseforge-generic.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/minecraft/java/forge/curseforge-generic/egg-curseforge-generic.json b/minecraft/java/forge/curseforge-generic/egg-curseforge-generic.json index bdce412c..4b6e02db 100644 --- a/minecraft/java/forge/curseforge-generic/egg-curseforge-generic.json +++ b/minecraft/java/forge/curseforge-generic/egg-curseforge-generic.json @@ -3,7 +3,7 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-06-06T12:43:08-04:00", + "exported_at": "2020-08-12T08:19:04-04:00", "name": "Curseforge Generic", "author": "parker@parkervcp.com", "description": "A generic egg for a forge modpack", @@ -17,7 +17,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir -p \/mnt\/server\r\nfi\r\n\r\nfunction install_required {\r\n apt update\r\n apt install -y curl jq unzip dos2unix\r\n}\r\n\r\nfunction get_download {\r\n # get json data to work with\r\n echo -e \"Curling the json for the modpack\"\r\n echo -e \"running: curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\"\r\n JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID})\r\n\r\n # if no modpack version is set or is set to latest\r\n if [ -z ${MODPACK_VERSION} ] || [ \"${MODPACK_VERSION}\" = \"latest\" ]; then\r\n echo -e \"Getting latest download url\"\r\n # parse data to get the download url\r\n FILE_ID=$(echo -e ${JSON_DATA} | jq -r .defaultFileId)\r\n echo -e \"File ID is: ${FILE_ID}\"\r\n if [ \"$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .isServerPack\")\" == \"false\" ] && [ \"$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .serverPackFileId\")\" != \"null\" ]; then\r\n FILE_ID=$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .serverPackFileId\")\r\n DOWNLOAD_URL=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/file\/${FILE_ID}\/download-url)\r\n else\r\n DOWNLOAD_URL=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/file\/${FILE_ID}\/download-url)\r\n fi\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n else\r\n echo -e \"Looking for download url for version ${MODPACK_VERSION}\"\r\n # parse files for version match\r\n FILES_JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/files)\r\n # get element number to get the exact location in the json\r\n FILES_JSON_ELEMENT=$(echo -e ${FILES_JSON_DATA} | jq --arg VERSION \"${MODPACK_VERSION}\" '.[] | select(.displayName) | .displayName | contains($VERSION)' | grep -n true | cut -f1 -d: | tail -1)\r\n # if there wasn't a match default to latest\r\n if [ ! -z ${FILES_JSON_ELEMENT} ]; then\r\n echo -e \"No matching version found\"\r\n echo -e \"defaulting to latest\"\r\n DOWNLOAD_URL=$(echo -e ${FILES_JSON_DATA} | jq --arg ELEMENT \"${FILES_JSON_ELEMENT}\" '.[$ELEMENT|tonumber-1] | .downloadUrl')\r\n else\r\n echo -e \"Version match found\"\r\n DOWNLOAD_URL=$(echo -e ${JSON_DATA} | jq -r .latestFiles[0].downloadUrl)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n fi\r\n fi\r\n\r\n ## download modpack files\r\n cd \/mnt\/server\r\n echo \"Executing curl -L ${DOWNLOAD_URL} -o server.zip\"\r\n curl -L \"${DOWNLOAD_URL}\" -o server.zip\r\n unzip -o server.zip\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 if [ -f \/mnt\/server\/*installer.jar ]; then\r\n java -jar *installer.jar --installServer\r\n else\r\n echo \"No forge installer found moving on.\"\r\n fi\r\n mv FTBServer.jar server.jar\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 if [ ! -f \/mnt\/server\/*universal.jar ]; then\r\n mv -v \/mnt\/server\/*\/* \/mnt\/server\/\r\n mv *universal.jar server.jar\r\n else\r\n mv *universal.jar server.jar\r\n fi\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=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${projID}\/file\/${fileID}\/download-url)\r\n # this is saving everything as \/mnt\/server\/mods\/download\r\n echo \"Mod direct url: ${URL}\"\r\n curl -JLO \"${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 -e \"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 -e \"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- | tr -d '\\040\\011\\012\\015'`\r\n FORGE=`grep 'FORGEVER' settings.cfg | sed 's\/;\/\/g' | cut -d '=' -f 2- | tr -d '\\040\\011\\012\\015'`\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 \r\n echo -e ${FORGE_VERSION}\r\n \r\n echo -e \"\\nDownloading Forge Version $FORGE_VERSION\\n\"\r\n echo -e \"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 -e \"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 ftb_install {\r\n chmod +x \/mnt\/server\/settings.sh \r\n . \/mnt\/server\/settings.sh \r\n curl https:\/\/s3.amazonaws.com\/Minecraft.Download\/versions\/${MCVER}\/minecraft_server.${MCVER}.jar -o ${JARFILE} \r\n curl https:\/\/libraries.minecraft.net\/${LAUNCHWRAPPER} -o \/mnt\/server\/libraries\/${LAUNCHWRAPPER}\r\n}\r\n\r\ninstall_required\r\nget_download\r\n\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\nelif [ -f \/mnt\/server\/version.json ]; then\r\n if [ \"$(cat \/mnt\/server\/version.json | jq -r '.packID | contains(\"FTB\")')\" == \"true\" ]; then\r\n ftb_install\r\n fi\r\nelse\r\n forge_install\r\n forge_cleanup\r\nfi", + "script": "#!\/bin\/bash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir -p \/mnt\/server\r\nfi\r\n\r\nfunction install_required {\r\n apt update\r\n apt install -y curl jq unzip dos2unix\r\n}\r\n\r\nfunction get_download {\r\n # get json data to work with\r\n echo -e \"Curling the json for the modpack\"\r\n echo -e \"running: curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\"\r\n JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID})\r\n\r\n # if no modpack version is set or is set to latest\r\n if [ -z ${MODPACK_VERSION} ] || [ \"${MODPACK_VERSION}\" = \"latest\" ]; then\r\n echo -e \"Getting latest download url\"\r\n # parse data to get the download url\r\n FILE_ID=$(echo -e ${JSON_DATA} | jq -r .defaultFileId)\r\n echo -e \"File ID is: ${FILE_ID}\"\r\n if [ \"$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .isServerPack\")\" == \"false\" ] && [ \"$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .serverPackFileId\")\" != \"null\" ]; then\r\n FILE_ID=$(echo -e ${JSON_DATA} | jq -r --arg FILE_ID \"$FILE_ID\" \".latestFiles[] | select(.id==$FILE_ID) | .serverPackFileId\")\r\n DOWNLOAD_URL=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/file\/${FILE_ID}\/download-url)\r\n else\r\n DOWNLOAD_URL=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/file\/${FILE_ID}\/download-url)\r\n fi\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n else\r\n echo -e \"Looking for download url for version ${MODPACK_VERSION}\"\r\n # parse files for version match\r\n FILES_JSON_DATA=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${MODPACK_ID}\/files)\r\n # get element number to get the exact location in the json\r\n FILES_JSON_ELEMENT=$(echo -e ${FILES_JSON_DATA} | jq --arg VERSION \"${MODPACK_VERSION}\" '.[] | select(.displayName) | .displayName | contains($VERSION)' | grep -n true | cut -f1 -d: | tail -1)\r\n # if there wasn't a match default to latest\r\n if [ ! -z ${FILES_JSON_ELEMENT} ]; then\r\n echo -e \"No matching version found\"\r\n echo -e \"defaulting to latest\"\r\n DOWNLOAD_URL=$(echo -e ${FILES_JSON_DATA} | jq --arg ELEMENT \"${FILES_JSON_ELEMENT}\" '.[$ELEMENT|tonumber-1] | .downloadUrl')\r\n else\r\n echo -e \"Version match found\"\r\n DOWNLOAD_URL=$(echo -e ${JSON_DATA} | jq -r .latestFiles[0].downloadUrl)\r\n echo -e \"Download url set to ${DOWNLOAD_URL}\"\r\n fi\r\n fi\r\n\r\n ## download modpack files\r\n cd \/mnt\/server\r\n echo \"Executing curl -L ${DOWNLOAD_URL} -o server.zip\"\r\n curl -L \"${DOWNLOAD_URL}\" -o server.zip\r\n unzip -o server.zip\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 if [ -f \/mnt\/server\/*installer.jar ]; then\r\n java -jar *installer.jar --installServer\r\n else\r\n echo \"No forge installer found moving on.\"\r\n fi\r\n mv FTBServer.jar server.jar\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 if [ ! -f \/mnt\/server\/*universal.jar ]; then\r\n mv -v \/mnt\/server\/*\/* \/mnt\/server\/\r\n if [ ! -f \/mnt\/server\/*universal.jar ]; then\r\n mv forge*.jar server.jar\r\n else\r\n mv *universal.jar server.jar \r\n fi\r\n else\r\n mv *universal.jar server.jar\r\n fi\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=$(curl -sSL https:\/\/addons-ecs.forgesvc.net\/api\/v2\/addon\/${projID}\/file\/${fileID}\/download-url)\r\n # this is saving everything as \/mnt\/server\/mods\/download\r\n echo \"Mod direct url: ${URL}\"\r\n curl -JLO \"${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 -e \"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 -e \"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 -e \"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 -e \"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 ftb_install {\r\n chmod +x \/mnt\/server\/settings.sh \r\n . \/mnt\/server\/settings.sh \r\n curl https:\/\/s3.amazonaws.com\/Minecraft.Download\/versions\/${MCVER}\/minecraft_server.${MCVER}.jar -o ${JARFILE} \r\n curl https:\/\/libraries.minecraft.net\/${LAUNCHWRAPPER} -o \/mnt\/server\/libraries\/${LAUNCHWRAPPER}\r\n}\r\n\r\ninstall_required\r\nget_download\r\n\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\nelif [ -f \/mnt\/server\/version.json ]; then\r\n if [ \"$(cat \/mnt\/server\/version.json | jq -r '.packID | contains(\"FTB\")')\" == \"true\" ]; then\r\n ftb_install\r\n fi\r\nelse\r\n forge_install\r\n forge_cleanup\r\nfi", "container": "openjdk:8-jdk-slim", "entrypoint": "bash" }