From a2f064a813372af128a1fe63db6432ef0a752b78 Mon Sep 17 00:00:00 2001 From: TuEye Date: Fri, 12 Mar 2021 01:33:39 +0100 Subject: [PATCH] * Remove startscript (start.sh) creation from installscript * Changed Startup Command to a start.sh'less version * Moved WINEARCH, WINEPREFIX and WINEDEBUG variables to panel * Removed wine variables from install-script (where possible) --- .../space_engineers/egg-space-engineers.json | 33 +++++++++++++++++-- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/steamcmd_servers/space_engineers/egg-space-engineers.json b/steamcmd_servers/space_engineers/egg-space-engineers.json index d92e612b..824cafcb 100644 --- a/steamcmd_servers/space_engineers/egg-space-engineers.json +++ b/steamcmd_servers/space_engineers/egg-space-engineers.json @@ -4,7 +4,7 @@ "version": "PTDL_v1", "update_url": null }, - "exported_at": "2021-03-11T23:55:52+01:00", + "exported_at": "2021-03-12T01:28:31+01:00", "name": "Space Engineers", "author": "tueye@tuworld.de", "description": "Space Engineers is a voxel-based sandbox game set in space and on planets.", @@ -13,7 +13,7 @@ "quay.io\/parkervcp\/pterodactyl-images:debian_wine-5" ], "file_denylist": [], - "startup": ".\/start.sh", + "startup": "cd \/home\/container\/spaceengineers\/DedicatedServer64\/; wine \/home\/container\/spaceengineers\/DedicatedServer64\/SpaceEngineersDedicated.exe -path Z:\\\\home\\\\container\\\\config -noconsole -ignorelastsession", "config": { "files": "{\r\n \"config\/SpaceEngineers-Dedicated.cfg\": {\r\n \"parser\": \"xml\",\r\n \"find\": {\r\n \"MyConfigDedicated.SessionSettings.GameMode\": \"{{server.build.env.SERVER_MODE}}\",\r\n \"MyConfigDedicated.SessionSettings.MaxPlayers\": \"{{server.build.env.MAX_PLAYERS}}\",\r\n \"MyConfigDedicated.SessionSettings.AutoSaveInMinutes\": \"{{server.build.env.SAVE_INTERVAL}}\",\r\n \"MyConfigDedicated.SessionSettings.EnableSaving\": \"{{server.build.env.SAVE_ENABLED}}\",\r\n \"MyConfigDedicated.LoadWorld\": \"Z:\\\\home\\\\container\\\\config\\\\Saves\\\\{{server.build.env.WORLD_NAME}}\\\\Sandbox.sbc\",\r\n \"MyConfigDedicated.ServerPort\": \"{{server.build.default.port}}\",\r\n \"MyConfigDedicated.SteamPort\": \"{{server.build.env.STEAM_PORT}}\",\r\n \"MyConfigDedicated.ServerName\": \"{{server.build.env.SERVER_NAME}}\",\r\n \"MyConfigDedicated.WorldName\": \"{{server.build.env.WORLD_NAME}}\",\r\n \"MyConfigDedicated.ServerDescription\": \"{{server.build.env.SERVER_DESC}}\",\r\n \"MyConfigDedicated.RemoteApiEnabled\": \"{{server.build.env.REMOTEAPI_ENABLE}}\",\r\n \"MyConfigDedicated.RemoteApiPort\": \"{{server.build.env.REMOTEAPI_PORT}}\"\r\n }\r\n }\r\n}", "startup": "{\r\n \"done\": \"Game ready...\"\r\n}", @@ -22,7 +22,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# Installation Script\r\n#\r\n## Define variables\r\ndlurl=\"https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/steamcmd_servers\/space_engineers\"\r\nexport HOME=\/mnt\/server\r\n\r\n## Install dependencies\r\ndpkg --add-architecture i386\r\napt update\r\napt -y --no-install-recommends install curl unzip libstdc++6 lib32gcc1 ca-certificates libsdl2-2.0-0:i386 cabextract\r\napt install -y --install-recommends wine wine64 xvfb\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\nchown -R root:root \/mnt\r\n\r\n## Install game using steamcmd\r\nmkdir $HOME\/spaceengineers\r\n.\/steamcmd.sh +login anonymous +@sSteamCmdForcePlatformType windows +force_install_dir $HOME\/spaceengineers +app_update ${APPID} ${EXTRA_FLAGS} validate +quit\r\n\r\n## set up 32 bit libraries\r\nmkdir -p $HOME\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p $HOME\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## Create world and config\r\nmkdir -p $HOME\/config\/Saves\r\nif [ ! -d $HOME\/config\/Saves\/World ]\r\nthen\r\n curl $dlurl\/World.zip -o \/tmp\/World.zip\r\n unzip \/tmp\/World.zip -d $HOME\/config\/Saves\/\r\nfi\r\nif [ ! -f $HOME\/config\/SpaceEngineers-Dedicated.cfg ]; then curl $dlurl\/SpaceEngineers-Dedicated.cfg -o $HOME\/config\/SpaceEngineers-Dedicated.cfg; fi\r\n\r\n## Configure server startup config\r\ncat <<\"EOT\" > $HOME\/start.sh\r\n#!\/bin\/sh\r\nexport WINEARCH=win64\r\nexport WINEPREFIX=\/home\/container\/.wine\r\n\r\ncd \/home\/container\/spaceengineers\/DedicatedServer64\/\r\nenv WINEDEBUG=-all wine \/home\/container\/spaceengineers\/DedicatedServer64\/SpaceEngineersDedicated.exe -path Z:\\\\home\\\\container\\\\config -noconsole -ignorelastsession\r\nEOT\r\nchmod +x $HOME\/start.sh\r\n\r\n## Install WineTricks\r\nexport DISPLAY=:0.0\r\nexport WINEPREFIX=$HOME\/.wine\r\nexport WINEARCH=win64\r\nrm -r $HOME\/.wine\r\nrm -r $HOME\/.cache\r\nmkdir -p $HOME\/.wine\r\nmkdir \/tmp\/winetricks\r\ncurl https:\/\/raw.githubusercontent.com\/Winetricks\/winetricks\/master\/src\/winetricks -o \/tmp\/winetricks\/winetricks\r\nchmod +x \/tmp\/winetricks\/winetricks\r\nXvfb :0 -screen 0 1024x768x16 &\r\nenv WINEDEBUG=-all WINEDLLOVERRIDES=\"mscoree=d;mshtml=d\" wineboot --init --force \/nogui\r\nenv WINEDEBUG=-all \/tmp\/winetricks\/winetricks -q vcrun2017 \r\nenv WINEDEBUG=-all \/tmp\/winetricks\/winetricks -q vcrun2013 \r\nenv WINEDEBUG=-all \/tmp\/winetricks\/winetricks -q sound=disabled \r\nenv WINEDEBUG=-all \/tmp\/winetricks\/winetricks -q corefonts\r\nenv WINEDEBUG=-all \/tmp\/winetricks\/winetricks -q --force dotnet48", + "script": "#!\/bin\/bash\r\n# Installation Script\r\n#\r\n## Define variables\r\ndlurl=\"https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/steamcmd_servers\/space_engineers\"\r\nexport HOME=\/mnt\/server\r\n\r\n## Install dependencies\r\ndpkg --add-architecture i386\r\napt update\r\napt -y --no-install-recommends install curl unzip libstdc++6 lib32gcc1 ca-certificates libsdl2-2.0-0:i386 cabextract\r\napt install -y --install-recommends wine wine64 xvfb\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\nchown -R root:root \/mnt\r\n\r\n## Install game using steamcmd\r\nmkdir $HOME\/spaceengineers\r\n.\/steamcmd.sh +login anonymous +@sSteamCmdForcePlatformType windows +force_install_dir $HOME\/spaceengineers +app_update ${APPID} ${EXTRA_FLAGS} validate +quit\r\n\r\n## set up 32 bit libraries\r\nmkdir -p $HOME\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p $HOME\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## Create world and config\r\nmkdir -p $HOME\/config\/Saves\r\nif [ ! -d $HOME\/config\/Saves\/World ]\r\nthen\r\n curl $dlurl\/World.zip -o \/tmp\/World.zip\r\n unzip \/tmp\/World.zip -d $HOME\/config\/Saves\/\r\nfi\r\nif [ ! -f $HOME\/config\/SpaceEngineers-Dedicated.cfg ]; then curl $dlurl\/SpaceEngineers-Dedicated.cfg -o $HOME\/config\/SpaceEngineers-Dedicated.cfg; fi\r\n\r\n## Install WineTricks\r\nexport DISPLAY=:0.0\r\nexport WINEPREFIX=$HOME\/.wine\r\nrm -r $HOME\/.wine\r\nrm -r $HOME\/.cache\r\nmkdir -p $HOME\/.wine\r\nmkdir \/tmp\/winetricks\r\ncurl https:\/\/raw.githubusercontent.com\/Winetricks\/winetricks\/master\/src\/winetricks -o \/tmp\/winetricks\/winetricks\r\nchmod +x \/tmp\/winetricks\/winetricks\r\nXvfb :0 -screen 0 1024x768x16 &\r\nenv WINEDLLOVERRIDES=\"mscoree=d;mshtml=d\" wineboot --init --force \/nogui\r\nenv \/tmp\/winetricks\/winetricks -q vcrun2017 \r\nenv \/tmp\/winetricks\/winetricks -q vcrun2013 \r\nenv \/tmp\/winetricks\/winetricks -q sound=disabled \r\nenv \/tmp\/winetricks\/winetricks -q corefonts\r\nenv \/tmp\/winetricks\/winetricks -q --force dotnet48", "container": "debian:buster-slim", "entrypoint": "bash" } @@ -126,6 +126,33 @@ "user_viewable": true, "user_editable": true, "rules": "required|numeric|max:65535" + }, + { + "name": "WINEARCH", + "description": "WINEARCH. win32 or win64", + "env_variable": "WINEARCH", + "default_value": "win64", + "user_viewable": false, + "user_editable": false, + "rules": "required|string|in:win32,win64" + }, + { + "name": "WINEPREFIX", + "description": "WINEPREFIX", + "env_variable": "WINEPREFIX", + "default_value": "\/home\/container\/.wine", + "user_viewable": false, + "user_editable": false, + "rules": "required|string|max:64" + }, + { + "name": "WINEDEBUG", + "description": "WINEDEBUG: Debug Level of wine", + "env_variable": "WINEDEBUG", + "default_value": "-all", + "user_viewable": false, + "user_editable": false, + "rules": "nullable|string|max:20" } ] } \ No newline at end of file