From ca84ab0ef0c36a710304552a999be6e33db9a0b0 Mon Sep 17 00:00:00 2001 From: Wazbat Date: Fri, 19 Aug 2022 18:38:35 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=A7=B1=20Updated=20starbound=20egg=20inst?= =?UTF-8?q?all=20script?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Updated script to handle multiple or incorrectly named .pak files --- .../starbound/egg-starbound.json | 32 +++++++++++-------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/game_eggs/steamcmd_servers/starbound/egg-starbound.json b/game_eggs/steamcmd_servers/starbound/egg-starbound.json index 6a890b4d..7a4536e0 100644 --- a/game_eggs/steamcmd_servers/starbound/egg-starbound.json +++ b/game_eggs/steamcmd_servers/starbound/egg-starbound.json @@ -1,19 +1,19 @@ { "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", "meta": { - "version": "PTDL_v1", + "version": "PTDL_v2", "update_url": null }, - "exported_at": "2021-07-02T04:25:07+03:00", + "exported_at": "2022-08-19T12:33:06-04: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.", "features": [ "steam_disk_space" ], - "images": [ - "quay.io\/parkervcp\/pterodactyl-images:ubuntu_source" - ], + "docker_images": { + "quay.io\/parkervcp\/pterodactyl-images:ubuntu_source": "quay.io\/parkervcp\/pterodactyl-images:ubuntu_source" + }, "file_denylist": [], "startup": ".\/starbound_server", "config": { @@ -24,7 +24,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\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\/game_eggs\/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", + "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\/game_eggs\/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 # Removes the trailing slash from the full path\r\n dir=${dir%*\/}\r\n echo Sym-linking mod ${dir##*\/} files into the mods folder\r\n INDEX=0\r\n for pakfile in ${dir}\/*.pak\r\n do\r\n echo $pakfile\r\n ln -r -s $pakfile \/mnt\/server\/mods\/${dir##*\/}_${INDEX}.pak\r\n INDEX=$((INDEX+1))\r\n done\r\n done\r\nfi", "container": "debian:buster-slim", "entrypoint": "bash" } @@ -37,7 +37,8 @@ "default_value": "", "user_viewable": false, "user_editable": false, - "rules": "required|string" + "rules": "required|string", + "field_type": "text" }, { "name": "Steam Password", @@ -46,7 +47,8 @@ "default_value": "", "user_viewable": false, "user_editable": false, - "rules": "nullable|string" + "rules": "nullable|string", + "field_type": "text" }, { "name": "Game ID", @@ -55,7 +57,8 @@ "default_value": "211820", "user_viewable": true, "user_editable": false, - "rules": "string" + "rules": "string", + "field_type": "text" }, { "name": "Steam Auth", @@ -64,7 +67,8 @@ "default_value": "", "user_viewable": true, "user_editable": true, - "rules": "nullable|string|max:5" + "rules": "nullable|string|max:5", + "field_type": "text" }, { "name": "Auto Update Server", @@ -73,7 +77,8 @@ "default_value": "1", "user_viewable": true, "user_editable": true, - "rules": "required|boolean" + "rules": "required|boolean", + "field_type": "text" }, { "name": "Use Workshop content", @@ -82,7 +87,8 @@ "default_value": "0", "user_viewable": true, "user_editable": true, - "rules": "required|boolean" + "rules": "required|boolean", + "field_type": "text" } ] -} +} \ No newline at end of file