From c8b6bbeb710f30cd36f122231c3014be71c38846 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Sun, 28 Jun 2020 17:49:11 -0400 Subject: [PATCH 1/3] 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 1a9d37bfba2664e48395d6ec9e16dc4ffea53813 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Mon, 29 Jun 2020 09:47:40 -0400 Subject: [PATCH 2/3] 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 836b18bbccc6e1762afa19a602cad1bc7d916fc6 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Mon, 29 Jun 2020 11:36:51 -0400 Subject: [PATCH 3/3] 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",