diff --git a/steamcmd_servers/valheim/egg-valheim.json b/steamcmd_servers/valheim/egg-valheim.json index 060cd65b..0ced06f6 100644 --- a/steamcmd_servers/valheim/egg-valheim.json +++ b/steamcmd_servers/valheim/egg-valheim.json @@ -4,7 +4,7 @@ "version": "PTDL_v1", "update_url": null }, - "exported_at": "2021-02-06T12:50:53-06:00", + "exported_at": "2021-02-06T19:50:18-06:00", "name": "Valheim", "author": "magi1053@outlook.com", "description": "A brutal exploration and survival game for 1-10 players, set in a procedurally-generated purgatory inspired by viking culture.", @@ -12,17 +12,16 @@ "images": [ "quay.io\/parkervcp\/pterodactyl-images:debian_source" ], - "file_denylist": "", - "startup": "export templdpath=$LD_LIBRARY_PATH;\r\nexport LD_LIBRARY_PATH=.\/linux64:$LD_LIBRARY_PATH;\r\nexport SteamAppId={{APP_ID}};\r\n.\/valheim_server.x86_64 -nographics -batchmode -name \"{{SERVER_NAME}}\" -port {{PORT}} -world \"{{WORLD}}\" -password \"{{PASSWORD}}\" -public 1 -logFile \/dev\/stdout |\r\n\tsed -u -E '\/^\\(Filename:.*Line:[[:space:]]+[[:digit:]]+\\)$\/d' | \r\n\tsed -u -E '\/^([[:space:]]+)?$\/d' &\r\nexport LD_LIBRARY_PATH=$templdpath;\r\nfunction shutdown() { echo 1 > server_exit.drp; echo \"Server exit signal set\"; };\r\ntrap shutdown 15;\r\nwait $!;", + "startup": "{{PRE_INIT}}; .\/valheim_server.x86_64 -nographics -batchmode -name \"{{SERVER_NAME}}\" -port {{SERVER_PORT}} -world \"{{WORLD}}\" -password \"{{PASSWORD}}\" -public 1 | sed -uE \"{{FILTER}}\" & trap \"echo 1 > server_exit.drp\" 15; wait $!", "config": { "files": "{}", - "startup": "{\r\n \"done\": \"Game server connected\"\r\n}", + "startup": "{\r\n \"done\": \"DungeonDB Start\"\r\n}", "logs": "{}", "stop": "^C" }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# Valheim Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\napt update\r\napt -y install curl unzip lib32gcc1 ca-certificates xvfb\r\ncd \/tmp\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\nmkdir -p \/mnt\/server\/steam\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steam\r\n\r\nexport HOME=\/mnt\/server\r\nexport AUTO_UPDATE=1\r\n\r\ncd \/mnt\/server\/steam\r\nchown -R root:root \/mnt\r\n\r\n.\/steamcmd.sh +login anonymous +force_install_dir \/mnt\/server +app_update 896660 validate +quit\r\n\r\n## setup 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v \/mnt\/server\/steam\/linux32\/steamclient.so \/mnt\/server\/.steam\/sdk32\/steamclient.so\r\n\r\n## setup 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v \/mnt\/server\/steam\/linux64\/steamclient.so \/mnt\/server\/.steam\/sdk64\/steamclient.so", + "script": "#!\/bin\/bash\r\n# Valheim 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 --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 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} +quit\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so", "container": "debian:buster-slim", "entrypoint": "bash" } @@ -55,23 +54,32 @@ "user_editable": true, "rules": "required|string|max:20" }, - { - "name": "Server Port", - "description": "Game server port.", - "env_variable": "PORT", - "default_value": "2456", - "user_viewable": true, - "user_editable": true, - "rules": "required|string|max:20" - }, { "name": "App ID", - "description": "Steam App ID.", - "env_variable": "APP_ID", - "default_value": "892970", + "description": "Valheim steam app id for auto updates.", + "env_variable": "SRCDS_APPID", + "default_value": "896660", "user_viewable": true, "user_editable": false, - "rules": "required|string|max:20" + "rules": "nullable|numeric" + }, + { + "name": "Before Server Start", + "description": "Helper script to manage the server instance", + "env_variable": "PRE_INIT", + "default_value": "export templdpath=$LD_LIBRARY_PATH; export LD_LIBRARY_PATH=.\/linux64:$LD_LIBRARY_PATH; export SteamAppId=892970", + "user_viewable": false, + "user_editable": false, + "rules": "required|string" + }, + { + "name": "Console FIlter", + "description": "Remove spam from the console output.", + "env_variable": "FILTER", + "default_value": "\/^\\(Filename:.*Line:[[:space:]]+[[:digit:]]+\\)$\/d; \/^([[:space:]]+)?$\/d", + "user_viewable": false, + "user_editable": false, + "rules": "string" } ] } \ No newline at end of file