Merge pull request #1028 from TuEye/Add-SpaceEngineers

Add space engineers
This commit is contained in:
Michael (Parker) Parker 2021-03-17 23:35:27 -04:00 committed by GitHub
commit fd8d3ad047
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 356 additions and 0 deletions

View File

@ -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)

View File

@ -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)

View File

@ -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 |

View File

@ -0,0 +1,167 @@
<?xml version="1.0"?>
<MyConfigDedicated xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SessionSettings>
<GameMode>Survival</GameMode>
<InventorySizeMultiplier>3</InventorySizeMultiplier>
<BlocksInventorySizeMultiplier>1</BlocksInventorySizeMultiplier>
<AssemblerSpeedMultiplier>3</AssemblerSpeedMultiplier>
<AssemblerEfficiencyMultiplier>3</AssemblerEfficiencyMultiplier>
<RefinerySpeedMultiplier>3</RefinerySpeedMultiplier>
<OnlineMode>PUBLIC</OnlineMode>
<MaxPlayers>4</MaxPlayers>
<MaxFloatingObjects>56</MaxFloatingObjects>
<MaxBackupSaves>5</MaxBackupSaves>
<MaxGridSize>0</MaxGridSize>
<MaxBlocksPerPlayer>0</MaxBlocksPerPlayer>
<TotalPCU>100000</TotalPCU>
<PiratePCU>50000</PiratePCU>
<MaxFactionsCount>0</MaxFactionsCount>
<BlockLimitsEnabled>GLOBALLY</BlockLimitsEnabled>
<EnableRemoteBlockRemoval>true</EnableRemoteBlockRemoval>
<EnvironmentHostility>SAFE</EnvironmentHostility>
<AutoHealing>true</AutoHealing>
<EnableCopyPaste>false</EnableCopyPaste>
<WeaponsEnabled>true</WeaponsEnabled>
<ShowPlayerNamesOnHud>true</ShowPlayerNamesOnHud>
<ThrusterDamage>true</ThrusterDamage>
<CargoShipsEnabled>true</CargoShipsEnabled>
<EnableSpectator>false</EnableSpectator>
<WorldSizeKm>0</WorldSizeKm>
<RespawnShipDelete>false</RespawnShipDelete>
<ResetOwnership>false</ResetOwnership>
<WelderSpeedMultiplier>2</WelderSpeedMultiplier>
<GrinderSpeedMultiplier>2</GrinderSpeedMultiplier>
<RealisticSound>false</RealisticSound>
<HackSpeedMultiplier>0.33</HackSpeedMultiplier>
<PermanentDeath>false</PermanentDeath>
<AutoSaveInMinutes>5</AutoSaveInMinutes>
<EnableSaving>true</EnableSaving>
<InfiniteAmmo>false</InfiniteAmmo>
<EnableContainerDrops>true</EnableContainerDrops>
<SpawnShipTimeMultiplier>0</SpawnShipTimeMultiplier>
<ProceduralDensity>0.35</ProceduralDensity>
<ProceduralSeed>0</ProceduralSeed>
<DestructibleBlocks>true</DestructibleBlocks>
<EnableIngameScripts>false</EnableIngameScripts>
<ViewDistance>15000</ViewDistance>
<EnableToolShake>true</EnableToolShake>
<VoxelGeneratorVersion>4</VoxelGeneratorVersion>
<EnableOxygen>true</EnableOxygen>
<EnableOxygenPressurization>true</EnableOxygenPressurization>
<Enable3rdPersonView>true</Enable3rdPersonView>
<EnableEncounters>true</EnableEncounters>
<EnableConvertToStation>true</EnableConvertToStation>
<StationVoxelSupport>false</StationVoxelSupport>
<EnableSunRotation>true</EnableSunRotation>
<EnableRespawnShips>true</EnableRespawnShips>
<ScenarioEditMode>false</ScenarioEditMode>
<Scenario>false</Scenario>
<CanJoinRunning>false</CanJoinRunning>
<PhysicsIterations>8</PhysicsIterations>
<SunRotationIntervalMinutes>119.999992</SunRotationIntervalMinutes>
<EnableJetpack>true</EnableJetpack>
<SpawnWithTools>true</SpawnWithTools>
<StartInRespawnScreen>false</StartInRespawnScreen>
<EnableVoxelDestruction>true</EnableVoxelDestruction>
<MaxDrones>5</MaxDrones>
<EnableDrones>true</EnableDrones>
<EnableWolfs>false</EnableWolfs>
<EnableSpiders>false</EnableSpiders>
<FloraDensityMultiplier>1</FloraDensityMultiplier>
<EnableStructuralSimulation>false</EnableStructuralSimulation>
<MaxActiveFracturePieces>50</MaxActiveFracturePieces>
<BlockTypeLimits>
<dictionary />
</BlockTypeLimits>
<EnableScripterRole>false</EnableScripterRole>
<MinDropContainerRespawnTime>5</MinDropContainerRespawnTime>
<MaxDropContainerRespawnTime>20</MaxDropContainerRespawnTime>
<EnableTurretsFriendlyFire>false</EnableTurretsFriendlyFire>
<EnableSubgridDamage>false</EnableSubgridDamage>
<SyncDistance>3000</SyncDistance>
<ExperimentalMode>false</ExperimentalMode>
<AdaptiveSimulationQuality>true</AdaptiveSimulationQuality>
<EnableVoxelHand>true</EnableVoxelHand>
<RemoveOldIdentitiesH>0</RemoveOldIdentitiesH>
<TrashRemovalEnabled>true</TrashRemovalEnabled>
<StopGridsPeriodMin>15</StopGridsPeriodMin>
<TrashFlagsValue>1562</TrashFlagsValue>
<AFKTimeountMin>0</AFKTimeountMin>
<BlockCountThreshold>20</BlockCountThreshold>
<PlayerDistanceThreshold>500</PlayerDistanceThreshold>
<OptimalGridCount>0</OptimalGridCount>
<PlayerInactivityThreshold>0</PlayerInactivityThreshold>
<PlayerCharacterRemovalThreshold>15</PlayerCharacterRemovalThreshold>
<VoxelTrashRemovalEnabled>false</VoxelTrashRemovalEnabled>
<VoxelPlayerDistanceThreshold>5000</VoxelPlayerDistanceThreshold>
<VoxelGridDistanceThreshold>5000</VoxelGridDistanceThreshold>
<VoxelAgeThreshold>24</VoxelAgeThreshold>
<EnableResearch>true</EnableResearch>
<EnableGoodBotHints>true</EnableGoodBotHints>
<OptimalSpawnDistance>16000</OptimalSpawnDistance>
<EnableAutorespawn>true</EnableAutorespawn>
<EnableBountyContracts>true</EnableBountyContracts>
<EnableSupergridding>false</EnableSupergridding>
<EnableEconomy>false</EnableEconomy>
<DepositsCountCoefficient>2</DepositsCountCoefficient>
<DepositSizeDenominator>30</DepositSizeDenominator>
<WeatherSystem>true</WeatherSystem>
<HarvestRatioMultiplier>1</HarvestRatioMultiplier>
<TradeFactionsCount>15</TradeFactionsCount>
<StationsDistanceInnerRadius>10000000</StationsDistanceInnerRadius>
<StationsDistanceOuterRadiusStart>10000000</StationsDistanceOuterRadiusStart>
<StationsDistanceOuterRadiusEnd>30000000</StationsDistanceOuterRadiusEnd>
<EconomyTickInSeconds>1200</EconomyTickInSeconds>
<SimplifiedSimulation>false</SimplifiedSimulation>
<SuppressedWarnings />
<EnablePcuTrading>true</EnablePcuTrading>
<FamilySharing>true</FamilySharing>
<EnableSelectivePhysicsUpdates>false</EnableSelectivePhysicsUpdates>
<PredefinedAsteroids>true</PredefinedAsteroids>
<UseConsolePCU>false</UseConsolePCU>
<MaxPlanets>99</MaxPlanets>
<OffensiveWordsFiltering>false</OffensiveWordsFiltering>
<AdjustableMaxVehicleSpeed>true</AdjustableMaxVehicleSpeed>
</SessionSettings>
<LoadWorld>C:\Users\USERNAME\AppData\Roaming\SpaceEngineersDedicated\Saves\World</LoadWorld>
<IP>0.0.0.0</IP>
<SteamPort>8766</SteamPort>
<ServerPort>27016</ServerPort>
<AsteroidAmount>0</AsteroidAmount>
<Administrators />
<Banned />
<GroupID>0</GroupID>
<ServerName />
<WorldName>World</WorldName>
<VerboseNetworkLogging>false</VerboseNetworkLogging>
<PauseGameWhenEmpty>false</PauseGameWhenEmpty>
<MessageOfTheDay />
<MessageOfTheDayUrl />
<AutoRestartEnabled>true</AutoRestartEnabled>
<AutoRestatTimeInMin>0</AutoRestatTimeInMin>
<AutoRestartSave>true</AutoRestartSave>
<AutoUpdateEnabled>false</AutoUpdateEnabled>
<AutoUpdateCheckIntervalInMin>10</AutoUpdateCheckIntervalInMin>
<AutoUpdateRestartDelayInMin>15</AutoUpdateRestartDelayInMin>
<AutoUpdateSteamBranch />
<AutoUpdateBranchPassword />
<IgnoreLastSession>false</IgnoreLastSession>
<PremadeCheckpointPath />
<ServerDescription />
<ServerPasswordHash />
<ServerPasswordSalt>O+61kcmfFdESpxZr3sQdYQ==</ServerPasswordSalt>
<Reserved />
<RemoteApiEnabled>false</RemoteApiEnabled>
<RemoteSecurityKey>fw8j74YGyC9HnbVWwuyRSA==</RemoteSecurityKey>
<RemoteApiPort>8080</RemoteApiPort>
<Plugins />
<WatcherInterval>30</WatcherInterval>
<WatcherSimulationSpeedMinimum>0.05</WatcherSimulationSpeedMinimum>
<ManualActionDelay>5</ManualActionDelay>
<ManualActionChatMessage>Server will be shut down in {0} min(s).</ManualActionChatMessage>
<AutodetectDependencies>true</AutodetectDependencies>
<SaveChatToLog>false</SaveChatToLog>
<NetworkType>steam</NetworkType>
<ConsoleCompatibility>false</ConsoleCompatibility>
<NetworkParameters />
</MyConfigDedicated>

Binary file not shown.

View File

@ -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"
}
]
}