diff --git a/README.md b/README.md index 1f490e83..170a5b85 100644 --- a/README.md +++ b/README.md @@ -174,6 +174,7 @@ If you are reading this it looks like you are looking to add an egg to your serv * [dedicated](/steamcmd_servers/scpsl/dedicated) * [multiadmin](/steamcmd_servers/scpsl/multiadmin) * [Soldat](/steamcmd_servers/soldat) +* [Space Engineers](/steamcmd_servers/space_engineers) * [Squad](/steamcmd_servers/squad) * [Starbound](/steamcmd_servers/starbound) * [Stationeers](/steamcmd_servers/stationeers) diff --git a/steamcmd_servers/README.md b/steamcmd_servers/README.md index c93a074a..ec24c44e 100644 --- a/steamcmd_servers/README.md +++ b/steamcmd_servers/README.md @@ -87,6 +87,9 @@ This is a collection of servers that use SteamCMD to install. ## Soldat [Soldat](soldat) +## Space Engineers +[Space Engineers](space_engineers) + ## Squad [Squad](squad) diff --git a/steamcmd_servers/space_engineers/README.md b/steamcmd_servers/space_engineers/README.md new file mode 100644 index 00000000..61ebb364 --- /dev/null +++ b/steamcmd_servers/space_engineers/README.md @@ -0,0 +1,27 @@ +# Space Engineers +Space Engineers is a voxel-based sandbox game set in space and on planets. + +Many parts of this egg are based on the work of [mmmaxwwwell](https://github.com/mmmaxwwwell/space-engineers-dedicated-docker-linux). A thank you therefore goes to him. + +**NOTE** +Because of the winetricks installation, the install process could take some time. Likewise, the first start of the server takes its time. + +When installed, the Server loads a base World and config from this repo. New world must be generated with the Windows Dedicated Server and then uploaded to the /config/Saves folder. +Everything which is not defined in a variable could be edited directy in the config file /config/SpaceEngineers-Dedicated.cfg. + +## Minumum server settings +### RAM +This server requires about 6GB. + +Based on the information provided by the developer: [See here](https://www.spaceengineersgame.com/dedicated-servers/) + +### Disk +This server uses about 7GB of diskspace. + +## Server Ports + +| Port | default | +|-------|---------| +| Game | 27016 | +| Steam | 8766 | +| API | 8081 | diff --git a/steamcmd_servers/space_engineers/SpaceEngineers-Dedicated.cfg b/steamcmd_servers/space_engineers/SpaceEngineers-Dedicated.cfg new file mode 100644 index 00000000..1679bc81 --- /dev/null +++ b/steamcmd_servers/space_engineers/SpaceEngineers-Dedicated.cfg @@ -0,0 +1,167 @@ + + + + Survival + 3 + 1 + 3 + 3 + 3 + PUBLIC + 4 + 56 + 5 + 0 + 0 + 100000 + 50000 + 0 + GLOBALLY + true + SAFE + true + false + true + true + true + true + false + 0 + false + false + 2 + 2 + false + 0.33 + false + 5 + true + false + true + 0 + 0.35 + 0 + true + false + 15000 + true + 4 + true + true + true + true + true + false + true + true + false + false + false + 8 + 119.999992 + true + true + false + true + 5 + true + false + false + 1 + false + 50 + + + + false + 5 + 20 + false + false + 3000 + false + true + true + 0 + true + 15 + 1562 + 0 + 20 + 500 + 0 + 0 + 15 + false + 5000 + 5000 + 24 + true + true + 16000 + true + true + false + false + 2 + 30 + true + 1 + 15 + 10000000 + 10000000 + 30000000 + 1200 + false + + true + true + false + true + false + 99 + false + true + + C:\Users\USERNAME\AppData\Roaming\SpaceEngineersDedicated\Saves\World + 0.0.0.0 + 8766 + 27016 + 0 + + + 0 + + World + false + false + + + true + 0 + true + false + 10 + 15 + + + false + + + + O+61kcmfFdESpxZr3sQdYQ== + + false + fw8j74YGyC9HnbVWwuyRSA== + 8080 + + 30 + 0.05 + 5 + Server will be shut down in {0} min(s). + true + false + steam + false + + \ No newline at end of file diff --git a/steamcmd_servers/space_engineers/World.zip b/steamcmd_servers/space_engineers/World.zip new file mode 100644 index 00000000..4925919a Binary files /dev/null and b/steamcmd_servers/space_engineers/World.zip differ diff --git a/steamcmd_servers/space_engineers/egg-space-engineers.json b/steamcmd_servers/space_engineers/egg-space-engineers.json new file mode 100644 index 00000000..44498f22 --- /dev/null +++ b/steamcmd_servers/space_engineers/egg-space-engineers.json @@ -0,0 +1,158 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1", + "update_url": null + }, + "exported_at": "2021-03-17T23:07:02+01:00", + "name": "Space Engineers", + "author": "tueye@tuworld.de", + "description": "Space Engineers is a voxel-based sandbox game set in space and on planets.", + "features": null, + "images": [ + "quay.io\/parkervcp\/pterodactyl-images:debian_wine-5" + ], + "file_denylist": [], + "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}", + "logs": "{}", + "stop": "^C" + }, + "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## 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" + } + }, + "variables": [ + { + "name": "APP ID", + "description": "The ID corresponding to the game to download.", + "env_variable": "APPID", + "default_value": "298740", + "user_viewable": false, + "user_editable": false, + "rules": "required|numeric|digits_between:1,6" + }, + { + "name": "Server Name", + "description": "Name of the server, appears in Steam browser.", + "env_variable": "SERVER_NAME", + "default_value": "Pterodactyl Space Engineer Server", + "user_viewable": true, + "user_editable": true, + "rules": "required|string|max:64" + }, + { + "name": "World Name", + "description": "Name of your world (and of your save folder)", + "env_variable": "WORLD_NAME", + "default_value": "World", + "user_viewable": true, + "user_editable": true, + "rules": "required|string|max:20" + }, + { + "name": "Server Description", + "description": "Description of the game", + "env_variable": "SERVER_DESC", + "default_value": "Pterodactyl Space Engineer Server", + "user_viewable": true, + "user_editable": true, + "rules": "required|string|max:200" + }, + { + "name": "Game Mode", + "description": "Game Mode setting: Survival, Creative", + "env_variable": "SERVER_MODE", + "default_value": "Survival", + "user_viewable": true, + "user_editable": true, + "rules": "required|string|in:Survival,Creative" + }, + { + "name": "Maximum Players", + "description": "", + "env_variable": "MAX_PLAYERS", + "default_value": "4", + "user_viewable": true, + "user_editable": true, + "rules": "required|numeric|digits_between:1,3" + }, + { + "name": "Enable Saving", + "description": "", + "env_variable": "SAVE_ENABLED", + "default_value": "true", + "user_viewable": true, + "user_editable": true, + "rules": "required|string|in:true,false" + }, + { + "name": "Auto Save Interval", + "description": "Time between auto saves specified in minutes", + "env_variable": "SAVE_INTERVAL", + "default_value": "5", + "user_viewable": true, + "user_editable": true, + "rules": "required|numeric|digits_between:1,3" + }, + { + "name": "Steam Port", + "description": "Steam Port", + "env_variable": "STEAM_PORT", + "default_value": "8766", + "user_viewable": true, + "user_editable": true, + "rules": "required|numeric|max:65535" + }, + { + "name": "Enable Remote Api", + "description": "Enable Remote Api", + "env_variable": "REMOTEAPI_ENABLE", + "default_value": "false", + "user_viewable": true, + "user_editable": true, + "rules": "required|string|in:true,false" + }, + { + "name": "Remote Api Port", + "description": "Remote Api Port", + "env_variable": "REMOTEAPI_PORT", + "default_value": "8081", + "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