Actions

Difference between revisions of "Dedicated Server Guide"

From Unofficial Stationeers Wiki

(Added ADMINPASSWORD PARAM)
(misspelt english month of october)
 
(62 intermediate revisions by 22 users not shown)
Line 1: Line 1:
 
[[Category:Tutorials]]
 
[[Category:Tutorials]]
  
== Getting the server files ==
+
== General Requirements ==
SteamCmd on Windows and Linux<br>
+
* Linux or Windows system, either physical or virtualized
https://developer.valvesoftware.com/wiki/SteamCMD
+
* It is NOT recommended also running a Stationeers client, so '''hosting the server on your PC while playing at the same time might lead to issues'''. (there will be issues with router NAT-loopback).
 +
* 16 or more Gigabytes of RAM. The server will load with less, but will run out of RAM quickly, potentially leading to instability or crashes.
  
''This is a command line tool''
+
== Quickstarts & Panels ==
 +
 
 +
=== StationeersServerUI ===
 +
 
 +
''Docker + Native Linux & Windows''
 +
 
 +
[https://github.com/SteamServerUI/StationeersServerUI StationeersServerUI] offers an intuitive webUI, easy configuration, smart backups, full steamcmd handling with auto-updates, <br>
 +
a discord integration for your community to interact with the server, tons of other helpful features like a remote console '''and works straight out of the box'''. <br>
 +
Created in 2024 with love and attention to detail, updated regularly by [https://github.com/JacksonTheMaster JacksonTheMaster] & the [https://github.com/orgs/SteamServerUI/people StationeersServerUI Team]
 +
 
 +
=== Pterodactyl ===
 +
[https://github.com/BadDucky52 BadDucky52] has updated the [https://github.com/HaseoTM/parkervcp-eggs/blob/master/game_eggs/steamcmd_servers/stationeers/stationeers_vanilla/egg-stationeers.json older] pterodactyl egg for the current Dedicated Server:<br>
 +
[https://github.com/BadDucky52/PterodactylGameEggs/blob/main/egg-stationeers.json Current Pterodactyl Egg by BadDucky52] <br>
 +
 
 +
== DIY Solutions ==
 +
 
 +
=== Requirements ===
 +
** '''Linux: Glibc 2.38''' (Ubuntu '''24'''.04 LTS, Debian '''Bookworm''' (12), Debian '''Trixie''' (13))
 +
** '''Windows: Microsoft Visual C++ 2015, 2017 and 2019 runtime''' [https://docs.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170 click here to download it].
 +
 
 +
It is, of course, possible to run the server without external images or tools simply by downloading it from SteamCMD and executing it. Everything you ''should'' need is Documented below.
 +
 
 +
=== Getting the server files ===
 +
SteamCmd installed on the operating system you are running the server with. See [https://developer.valvesoftware.com/wiki/SteamCMD The SteamCMD Documentation]
 +
''(This is a command line tool)''
 +
 
 +
For the stable branch:
 +
''(The "stable" branch is what you Download by default when you select Stationeers in your Steam Library)''
  
 
<code>steamcmd +login anonymous +app_update 600760 validate +quit</code>
 
<code>steamcmd +login anonymous +app_update 600760 validate +quit</code>
  
== Dedicated Server Commands ==
+
For the beta branch:
 +
 
 +
<code>steamcmd +login anonymous +app_update 600760 -beta beta validate +quit</code>
 +
 
 +
''For getting back from beta to public use -beta public, SteamCMD has trouble with caching sometimes''
 +
 
 +
=== Default ports ===
 +
27016: Game port (UDP).
 +
27015: Steam update port. (UDP).
 +
 
 +
=== Server Startup Arguments (Post September 2025)===
 +
 
 +
With the release of the [https://store.steampowered.com/news/app/544550/view/533235259603419415 terrain update], the flags the Dedicated Server accepts where changed. <br>
 +
''If you are running an older version (such as the prerocket or preterrain branch, ask on the Stationeers Discord server in either #modding or #dedicated-server''''
 +
 
 
String parameters can take space with double quotes.
 
String parameters can take space with double quotes.
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! parameter !! value !! etc
+
! Flag !! Value !! Description
 
|-
 
|-
| -batchmode|| || Dedicated server runs without UI and start to listen port.
+
| <code>-file start</code>
 +
| <code><stationname> [worldid] [difficulty] [startcondition] [startlocation]</code>
 +
| Tries to load the latest save for the specified station. If not found, starts a new world with the given parameters and saves it.<br>
 +
- <code>stationname</code>: Required. This is the name of your save.<br>
 +
- <code>worldid</code>: Optional, but required to start a new game if no existing station is found.<br>
 +
- <code>difficulty</code>: Optional, defaults to "Normal" if not provided.<br>
 +
- <code>startcondition</code>: Optional, defaults to the default start condition for the world setting if not provided.<br>
 +
- <code>startlocation</code>: Optional, defaults to "DefaultStartLocation" if not provided.<br>
 +
- '''When you add optional arguments, you cannot leave one out.''' <br> For example, <stationname> [worldid] [startlocation] '''would not work''', <br> you would need to add [difficulty] and [startcondition] too.
 
|-
 
|-
| -nographics|| || When running in batch mode, do not initialize graphics device at all.
+
| <code>-logFile</code>
 +
| <code>"path"</code>
 +
| Specifies a custom log file path if <code>output_log.txt</code> is not used. Example:<br>
 +
<code>-logFile "server.log"</code>
 
|-
 
|-
| -logfile|| "path" || If no output_log.txt use this parameter. Check examples below for syntax
+
| <code>-settings</code>
 +
| see below
 +
| Changes the default settings to desired values e.g -settings ServerName "MyNewStationeersServer". '''For a full list and examples, see below.'''
 
|-
 
|-
| -autostart|| || Dedicated server start to listen port without player input.<br> It's always enabled on Linux dedicated server
+
|}
 +
 
 +
=== World types (October 2025) ===
 +
''Note:'' RoundRobin StartLocations and Community StartConditions are only available on BETA at the moment.
 +
 
 +
{| class="wikitable"
 
|-
 
|-
| -autosaveinterval|| integer || Save world in every interval.
+
! World Name !! WorldID !! Difficulty IDs !! StartCondition IDs !! StartLocation IDs
 
|-
 
|-
| -creator|| int64|| Set creator's steam id as gamedata and key-value.<br>
+
| Lunar (The Moon)
This is for future integration of server instancing.
+
| <code> Lunar </code>
 +
| <code>Creative, Easy, Normal, Stationeer</code>
 +
| <code>DefaultStart, DefaultStartCommunity, Brutal, BrutalCommunity</code>
 +
| <code>LunarSpawnCraterVesper, LunarSpawnMontesUmbrarum, LunarSpawnCraterNox, LunarSpawnMonsArcanus, LunarSpawnRoundRobin</code>
 
|-
 
|-
| -worldname || string || Save game data automatically to existing file.
 
 
|-
 
|-
| -worldtype || string  ||  Worldtype(Moon, Mars, Europa2, Mimas, Vulcan2, Space, Loulan)<br><u>Will overwrite actual map on server browser if you use rocket to travel beween maps etc</u>
+
| Mars
 +
| <code> Mars2 </code>
 +
| <code>Creative, Easy, Normal, Stationeer</code>
 +
| <code>DefaultStart, DefaultStartCommunity, Brutal, BrutalCommunity</code>
 +
| <code>MarsSpawnCanyonOverlook, MarsSpawnButchersFlat, MarsSpawnFindersCanyon, MarsSpawnHellasCrags, MarsSpawnDonutFlats, MarsSpawnRoundRobin</code>
 
|-
 
|-
| -loadworld
 
| string  || Load world from saved file. If loadworld is enabled, worldname command is ignored.
 
 
|-
 
|-
| -gameport  || integer  || UDP port for game. Avoid to set 27015-27020. It's steam's local server query ports.
+
| Europa
 +
| <code> Europa3</code>
 +
| <code>Creative, Easy, Normal, Stationeer</code>
 +
| <code>EuropaDefault, EuropaDefaultCommunity, EuropaBrutal, EuropaBrutalCommunity</code>
 +
| <code>EuropaSpawnIcyBasin, EuropaSpawnGlacialChannel, EuropaSpawnBalgatanPass, EuropaSpawnFrigidHighlands, EuropaSpawnTyreValley, EuropaSpawnRoundRobin</code>
 
|-
 
|-
| -updateport
 
| integer
 
| UDP port for steam query
 
 
|-
 
|-
| -servername
+
| Mimas
| string
+
| <code> MimasHerschel</code>
| Server title. <br>''(Depreciated: commandline only uses the first word, use servername in default.ini instead)''
+
| <code>Creative, Easy, Normal, Stationeer</code>
 +
| <code>MimasDefault, MimasDefaultCommunity, MimasBrutal, MimasBrutalCommunity</code>
 +
| <code>MimasSpawnCentralMesa, MimasSpawnHarrietCrater, MimasSpawnCraterField, MimasSpawnDustBowl, MimasSpawnRoundRobin</code>
 
|-
 
|-
| -basedirectory
 
| string
 
| Absolute base directory for custom profile Ex)<br> -basedirectory C:\Profile\Player1 <br> Config Path : default.ini <code>C:\Profile\Player1\</code> <br> Save Path : <code>C:\Profile\Player1\saves\[worldname]</code>
 
 
|-
 
|-
| -password
+
| Vulcan
| string
+
| <code> Vulcan </code>
| set server password
+
| <code>Creative, Easy, Normal, Stationeer</code>
 +
| <code>VulcanDefault, VulcanDefaultCommunity, VulcanBrutal, VulcanBrutalCommunity</code>
 +
| <code>VulcanSpawnVestaValley, VulcanSpawnEtnasFury, VulcanSpawnIxionsDemise, VulcanSpawnTitusReach, VulcanSpawnRoundRobin</code>
 
|-
 
|-
| -maxplayer
 
| integer
 
| set maxplayer of dedicated server
 
 
|-
 
|-
| -clearallinterval
+
| Venus
| integer
+
| <code> Venus </code>
| set the interval to run clearall command.<br>
+
| <code>Creative, Easy, Normal, Stationeer</code>
Default and minimum value is 60 seconds.
+
| <code>VenusDefault, VenusDefaultCommunity, VulcanBrutal, VulcanBrutalCommunity</code><br>Note: Yes, Venus is using '''Vulcan'''Brutal & '''Vulcan'''BrutalCommunity
 +
| <code>VenusSpawnGaiaValley, VenusSpawnDaisyValley, VenusSpawnFaithValley, VenusSpawnDuskValley, VenusSpawnRoundRobin</code>
 
|-
 
|-
| -bindip
 
| string
 
| Bind specific IP address on dedicated server when it has multiple IP addresses.
 
 
|-
 
|-
 
|}
 
|}
batchmode, nographics and logfile are Unity3D commands.
+
When selecting a start location you can pick ''<WorldID>Random'' to have each new player spawn in a randomly selected location on the map. This is designed to be used with the <WorldID>BrutalCommunity StartCondition which spawns each new player with a brutal start crate.
 
 
https://docs.unity3d.com/Manual/CommandLineArguments.html
 
 
 
== Examples ==
 
 
 
<span style="font-size: 120%;"> Dedicated server starts new Mars world. Autosave every 5 mins to Mars1. </span>
 
rocketstation_DedicatedServer.exe -batchmode -nographics -autostart -autosaveinterval=300 -worldtype=Mars -worldname=Mars1 -basedirectory="C:\Server\User1"
 
 
 
<span style="font-size: 120%;"> Load Mothership file. Autosave every 5 mins. </span>
 
rocketstation_DedicatedServer.exe -batchmode -nographics -autostart  -gameport=27200 -updateport=27016 -autosaveinterval=300 -loadworld=Mothership
 
 
 
 
 
<span style="font-size: 120%;"> Load . Autosave  every 5 mins. C:\Profile\Player1\saves\Mothership C:\Profile\Player1\saves\map1 </span>
 
rocketstation_DedicatedServer.exe -batchmode -nographics -autostart -autosaveinterval=300 -gameport=27200 -updateport=27016 -loadwo
 
rld=Mothership -worldname=map1 -basedirectory="C:\Profile\Player1"
 
 
 
 
 
<span style="font-size: 120%;"> Example -logfile syntax </span>
 
-logFile "C:\Server_Path\rocketstation_DedicatedServer_Data\output_log.txt"
 
 
 
 
 
<span style="font-size: 120%;"> Example -loadworld="myworld" directory structure. </span>
 
'''Note:''' ''BaseDirectory'' is by default in SteamApps/common/Stationeers Dedicated Server/''<Contents of BaseDirectory>'' if installed with SteamCMD<br>
 
 
 
<big>'''Linux:'''</big><br>
 
-loadworld="myworld" will look for a folder named "myworld" in the ''saves'' directory like this:<br>
 
''BaseDirectory''/saves/myworld/<br>
 
 
 
<big>'''Windows:'''</big><br>
 
-loadworld="myworld" will look for a folder named "myworld" in the ''saves'' directory like this:<br>
 
''BaseDirectory''\saves\myworld\
 
 
 
<big>'''Details:'''</big><br>
 
In the world directory named "myworld", there must be a few files:
 
* world.bin
 
* world.xml
 
* world_meta.xml
 
'''Note:''' The names of these files ''do not'' correspond to your custom world name. These will always be called world.bin etc..<br>
 
The server will automatically generate these upon first start. If you are importing another world, make sure these are in place in the correct directory for the server to load them.<br>
 
There is also one more file that will be created:
 
* worldsettings.xml
 
 
 
===== Configuration from default.ini =====
 
default.ini will be created once you start it up for the first time. <u>Command parameters override default.ini</u>
 
<hr><pre>
 
[SERVER]
 
SERVERNAME=My First Stationeers Server
 
GAMEPORT=27500
 
UPDATERPORT=27015
 
PASSWORD=
 
ADMINPASSWORD=
 
MAPNAME=Moon
 
DESCRIPTION=Stationeers
 
MAXPLAYER=10
 
[RCON]
 
RCONPASSWORD=stationeers
 
</pre><hr>
 
''MAPNAME is always ignored''
 
 
 
== Configuration from setting.xml ==
 
'''Undocumented feature'''
 
 
 
''The server is mostly a stripped down client as such it inherits certain features''
 
  
 +
Tutorial Maps
 
{| class="wikitable"
 
{| class="wikitable"
! XML Attribute
 
! Parameter<br>''Case Sensitive''
 
! Details
 
 
|-
 
|-
| <RespawnCondition>
+
! World Name !! WorldID
| Easy, Normal, Stationeer
+
|-
| Or a custom key from a mod.<br>''Seems to be used as spawn conditions instead for new players''
+
|-
 +
| Inventory Tutorial
 +
| <code> Tutorial1 </code>
 
|-
 
|-
| <StartingConditions>
+
| Connection Tutorial
| Default, Minimal, Vulcan, BareBones
+
| <code> Tutorial2 </code>
| Or a custom key from a mod.<br>''Server ignores this, define custom worldtype''
 
 
|-
 
|-
| <ResearchPoolKey>
 
| ResearchOff, ResearchOn
 
| Or a custom key from a mod.<br>''Server ignores this''
 
 
|-
 
|-
| <SunOrbitPeriod>
+
| Atmospherics Tutorial
| default=1
+
| <code> Tutorial3 </code>
| Multiplier on the time it takes for the sun to orbit, default is 20 minutes, 10 minute day 10 night.
 
 
|-
 
|-
! colspan=3 | Undocumented
 
 
|-
 
|-
| <UseCustomWorkThreadsCount>false</UseCustomWorkThreadsCount>
+
| Airlocks Tutorial
| true, false
+
| <code> Airlock </code>
|
 
 
|-
 
|-
| <MinWorkerThreads>
 
| number
 
| default=8
 
 
|-
 
|-
| <MinCompletionPortThreads>
+
| Furnace Tutorial
| number
+
| <code> FurnaceBasics </code>
| default=8
 
 
|-
 
|-
| <MaxWorkerThreads>100</MaxWorkerThreads>
 
| number
 
| default=100
 
 
|-
 
|-
| <MaxCompletionPortThreads>50</MaxCompletionPortThreads>
+
| Manufacturing Tutorial
| number
+
| <code> Manufacturing </code>
| default=50
 
 
|-
 
|-
| <CoroutineTimeBudget>1</CoroutineTimeBudget>
 
| number
 
| default=1
 
 
|-
 
|-
 
|}
 
|}
  
Example Setting.xml
+
===== Configuration =====
<pre>
+
In your server directory, a file called setting.xml will be created once you start it up for the first time. <br>
<?xml version="1.0" encoding="utf-8"?>
+
While you can ''technically'' edit that, '''this approach is not guaranteed to work (bugged for a while)'''. <br>
<SettingData xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
'''It is recommended to use the -setting flag instead.'''
<RespawnCondition>Stationeer</RespawnCondition>
 
<StartingConditions>Mimimal</StartingConditions>
 
<ResearchPoolKey>ResearchOff</ResearchPoolKey>
 
<SunOrbitPeriod>1</SunOrbitPeriod>
 
</SettingData>
 
</pre>
 
 
 
== Savegames ==
 
=== Configuration from worldsettings.xml ===
 
'''Undocumented feature'''
 
 
 
''The server is mostly a stripped down client as such it inherits certain features''
 
  
 
{| class="wikitable"
 
{| class="wikitable"
! XML Attribute
 
! Parameter
 
! Details
 
 
|-
 
|-
| <GameMode>
+
! Setting !! Value !! Description
| Creative, Survival
+
|-
|  
+
| ServerVisible
 +
| true / false
 +
| Shows / hides the server in the ingame server list
 +
|-
 +
|-
 +
| GamePort
 +
| 27016 / any port
 +
| The port that players connect to
 +
|-
 +
|-
 +
| UpdatePort
 +
| 27015 / any port
 +
| Steam update port. ''Unclear if this is actually used by the game at the moment.''
 +
|-
 +
|-
 +
| UPNPEnabled
 +
| true / false
 +
| Enable or disable UniversalPlugAndPlay (Auto port forwarding, your router must support)
 
|-
 
|-
| <HungerRate>
 
| default=0.25
 
| Multiplier on the amount of hunger generated per game tick.
 
 
|-
 
|-
| <StartingCondition>
+
| ServerName
| N/A
+
| "My Game Server" / your desired server name
| Can only be defined in custom world before generation
+
| Description
 
|-
 
|-
|}
 
 
=== Configuration from world.xml ===
 
 
{| class="wikitable"
 
! XML Attribute
 
! Parameter
 
! Details
 
 
|-
 
|-
| <ResearchKey>
+
| ServerPassword
| ResearchOff, ResearchOn
+
| "MySuperSecurePassword" /  your desired server password
| Or a custom key from a mod.
+
| Description
 +
|-
 +
|-
 +
| ServerAuthSecret
 +
| "MySuperSecureSecret" /  your desired admin secret
 +
| Description
 +
|-
 
|-
 
|-
| <RespawnCondition>
+
| ServerMaxPlayers
| Easy, Normal, Stationeer
+
| 1-20
| Or a custom key from a mod.<br>''Seems to be used as spawn conditions instead for new players''
+
| The number of available player slots. Shouln't exceed 20.
 
|-
 
|-
|}
 
 
== Server Administrator ==
 
 
===In Game Admin===
 
ADMINPASSWORD parameter must be added to default.ini and set a password. This is different from the RCON password.
 
 
All commands are typed in the chat (enter) by default, starting with /login
 
 
 
 
===Browser Based RCON===
 
You can send commands on web browser, but this feature is currently broken. Login works, but all other commands are disabled.
 
<nowiki>Link : http://[dedicated server address]:[GamePort]</nowiki>
 
[[File:Dediserv1.png|frameless|735x735px]]
 
 
=== Command Lists ===
 
{| class="wikitable"
 
!Command
 
!Parameter
 
!Details
 
 
|-
 
|-
|login
+
| AutoSave
|password
+
| true / false
|RCONPASSWORD is defined in default.ini. Default rcon password is stationeers.
+
| Enable or disable autosaves
 
|-
 
|-
|save
 
|worldname
 
|Save world to basedirectory
 
 
When basedirectory is "C:\Profile\Player1",
 
 
>> save "Moon 2"
 
 
Save world to "C:\Profile\Player1\Moon 2"
 
 
>> save Moon
 
 
Save world to "C:\Profile\Player1\Moon"
 
 
|-
 
|-
|shutdown
+
| SaveInterval
|[-m message] [-t timeout in seconds]
+
| 300
|Shutdown dedicated server. If you run this command without any parameters, dedicated server will shutdown immediately. Countdown starts from 10 seconds. >> shutdown -m "Server will shutdown in 30 seconds" -t 30
+
| Time in seconds between each autosave. Shouldn't be below 60 sec.
 
|-
 
|-
|notice
 
|message
 
|Notice to all players. >> notice "Welcome to Stationeers!"
 
 
|-
 
|-
|status
+
| AutoPauseServer
|
+
| true / false
|Display game state and player lists.
+
| Weather the server should auto pause or not if no players are connected
 
|-
 
|-
|ban
 
|steamId timeout
 
|Ban player for specific time. Timeout is double in hour. 0.5 is 30 minutes. 0 is infinite. >> ban 76561198299941358 0.5
 
 
|-
 
|-
|unban
+
| UseSteamP2P
|steamId
+
| true / false
|Remove player from the ban lists.
+
| Weather the server should allow SteamP2P connections. Keep this disabled.
 
|-
 
|-
|kick
 
|steamId
 
|Kick player from the current server.
 
 
|-
 
|-
|clearall
+
| StartLocalHost
|
+
| true / false
|Delete disconnected players
+
| Do not change this, this is required to be able to connect.
 
|-
 
|-
|hungerRate
+
 
|hunger rate
 
|Set hunger rate of server. 0 to disable hunger, higher numbers to make hunger drop more quickly.
 
 
|}
 
|}
Game client displays messages in the system message window at this moment.
 
[[File:Dediserv2.png|frameless|332x332px]]
 
  
== Modding on Servers ==
+
=== Command Examples ===
'''Undocumented feature'''<br>
+
 
Mods are supported on Dedicated servers, however it requires additional manual configuration - Necessitating direct file access and editing on the dedicated server. To install mods, you'll need to manually obtain the mod data first - Either from the Steam Workshop, or built yourself. Upload/Store the mods in a specific folder on the server - You will also likely want to edit default.ini on the server to point to a particular server folder rather then the default directory, defined below.  Then manually add ModConfig.xml in the root directory of the server executible files, and manually edit the file to add each individual mod.<br>
+
==== '''Linux''' ====
 +
Note: Logging to console on Linux is slightly broken - we recommend to log to a log file instead and <code> tail -f </code> that
 +
 
 +
Explanation: ''Server starts a new Map on <code> Lunar </code> saved to <code> saves/MyLunarMap </code> , advertises itself with 6 player slots in the server list as <code> MyLunarServer </code> on port </code> 27016 </code> with password <code> MySuperSecurePassword </code> and saves every 5 minutes.<br>''
 +
 
 +
<code>./rocketstation_DedicatedServer.x86_64 -file start MyLunarMap Lunar -logFile "./server.log" -settings StartLocalHost true ServerVisible true GamePort 27016 UPNPEnabled false ServerName "MyLunarServer" ServerPassword "MySuperSecurePassword" ServerMaxPlayers 6 AutoSave true SaveInterval 300 ServerAuthSecret "MySuperSecureSecret" UpdatePort 27015 AutoPauseServer true UseSteamP2P false LocalIpAddress 0.0.0.0 & tail -f server.log</code>
 +
 
 +
Explanation: ''Server starts a new Map on <code> Lunar </code> with Difficulty <code>Easy</code>, Startcondition <code>DefaultStart</code> and StartLocation <code>LunarSpawnCraterVesper</code>, saved to <code> saves/MyLunarMap </code> , advertises itself with 6 player slots in the server list as <code> MyLunarServer </code> on port </code> 27016 </code> with password <code> MySuperSecurePassword </code> and saves every 5 minutes.<br>''
  
=== ModConfig.xml ===
+
<code>./rocketstation_DedicatedServer.x86_64 -file start MyLunarMap Lunar Easy DefaultStart LunarSpawnCraterVesper -logFile "./server.log" -settings StartLocalHost true ServerVisible true GamePort 27016 UPNPEnabled false ServerName "MyLunarServer" ServerPassword "MySuperSecurePassword" ServerMaxPlayers 6 AutoSave true SaveInterval 300 ServerAuthSecret "MySuperSecureSecret" UpdatePort 27015 AutoPauseServer true UseSteamP2P false LocalIpAddress 0.0.0.0 & tail -f server.log</code>
Place a modconfig.xml in the serverfiles root (next to executable).
 
  
<HR><pre>
+
Explanation: ''Server starts a new Map on <code> Mars2 </code> saved to <code> saves/MyLunarMap </code> , advertises itself in the server with 6 player slots in the server list as <code> MyLunarServer </code> on port </code> 27016 </code> '''without''' password and saves every 5 minutes.<br>''
<?xml version="1.0" encoding="utf-8"?>
 
<ModConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
 
  <Mods>
 
    <unsignedLong>1</unsignedLong>
 
    <unsignedLong>1001</unsignedLong>
 
    <unsignedLong>1002</unsignedLong>
 
  </Mods>
 
  <DisabledMods>
 
  </DisabledMods>
 
  <LocalMods>
 
    <LocalMod>
 
      <folder>YourFirstModFolderHere</folder>
 
      <modID>1001</modID>
 
    </LocalMod>
 
    <LocalMod>
 
      <folder>YourSecondModFolderHere</folder>
 
      <modID>1002</modID>
 
    </LocalMod>
 
  </LocalMods>
 
</ModConfig>
 
</pre><HR>
 
  
Assign a number to each entry you want to add.<br>
+
<code>./rocketstation_DedicatedServer.x86_64 -file start MyMarsMap Mars2 -logFile "./server.log" -settings StartLocalHost true ServerVisible true GamePort 27016 UPNPEnabled false ServerName "MyLunarServer" ServerMaxPlayers 6 AutoSave true SaveInterval 300 ServerAuthSecret "MySuperSecureSecret" UpdatePort 27015 AutoPauseServer true UseSteamP2P false LocalIpAddress 0.0.0.0 & tail -f server.log</code>
Numbers seem to default to 4 digits for mods when generated by the client,<br>
 
so try and keep the same structure in the server to prevent complications.<br>
 
''1 is core file and always need to be enabled''
 
  
=== Storing Mods ===
+
Explanation: ''Server starts a new Map on <code> Lunar </code> saved to <code> saves/MyLunarMap </code>, '''does not advertise itself in the server list''' but is available for 6 players to direct connection via <code> <serverIP>:27016 </code> </code> with password <code> MySuperSecurePassword </code> and saves every 5 minutes.<br>''
WIN: C:\Users\'''USERNAME_HERE'''\Documents\My Games\Stationeers\mods\
 
LIN: /home/'''USERNAME_HERE'''/My Games/Stationeers/mods/
 
OSX: /Users/'''USERNAME_HERE'''/My Games/Stationeers/mods/
 
  
 +
<code>./rocketstation_DedicatedServer.x86_64 -file start MyLunarMap Lunar -logFile "./server.log" -settings StartLocalHost true ServerVisible false GamePort 27016 UPNPEnabled false ServerName "MyHiddenLunarServer" ServerPassword "MySuperSecurePassword" ServerMaxPlayers 6 AutoSave true SaveInterval 300 ServerAuthSecret "MySuperSecureSecret" UpdatePort 27015 AutoPauseServer true UseSteamP2P false LocalIpAddress 0.0.0.0 & tail -f server.log</code>
  
\Modname or workshopid\About\
+
===== Additional info about the Linux commands =====
(file containing description about mod and thumbnail)
+
* LocalIpAddress 0.0.0.0 is required to allow the server to bind to all network interfaces on your Linux Server. On some distros, you might wanna specify the actual interface IP instead.
\Modname or workshopid\GameData\
+
* The server starts with the specified values, but technically in the background (& sign at the end of the command). You can foreground it again by using <code fg </fg>
(files you want to <u>append</u> to the core gamedata)
+
* tail -f debug.log runs in the foreground, showing the log output in your current attached terminal.
 +
* When you now Ctrl+C, '''the server will not stop''' - instead it will remain in the '''background as long as your session is open''' If you, for example, disconnect your SSH connection the server will stop because an ending SSH connection typically sends a SIGHUP (hangup signal) to all processes in the session, including background processes,. You might wanna look into using [https://youtu.be/UxbiDtEXuxg?si=_j3MumpVcCCk4xGQ tmux].
  
It's recommended to only put entries in the mod files you want to add or replace,<br>
+
==== '''Windows''' ====
do not try and replace the whole file for compatibility issues and errors.
 
  
There are some examples of how to make your own mods in:
+
Explanation: ''Server starts a new Map on <code> Lunar </code> saved to <code> saves/MyLunarMap </code> , advertises itself with 6 player slots in the server list as <code> MyLunarServer </code> on port <code> 27016 </code> with password <code> MySuperSecurePassword </code> and saves every 5 minutes.<br>''
\Steam\steamapps\common\Stationeers\rocketstation_Data\StreamingAssets\
 
Look for ExampleMod.zip and AttributesExampleMod.zip .
 
  
= Linux Server with LinuxGSM =
+
<code>.\rocketstation_DedicatedServer.exe -file start MyLunarMap Lunar -settings StartLocalHost true ServerVisible true GamePort 27016 UPNPEnabled false ServerName "MyLunarServer" ServerPassword "MySuperSecurePassword" ServerMaxPlayers 6 AutoSave true SaveInterval 300 ServerAuthSecret "MySuperSecureSecret" UpdatePort 27015 AutoPauseServer true UseSteamP2P false</code>
You could run a Linux Dedicated Server on these Distros:
 
* Ubuntu 16.04/18.04 LTS
 
* Debian 8
 
* CentOS 7
 
  
=== Installation on a Ubuntu 18.04 LTS Server ===
+
Explanation: ''Server starts a new Map on <code> Lunar </code> with Difficulty <code>Easy</code>, Startcondition <code> DefaultStart </code> and StartLocation <code> LunarSpawnCraterVesper </code>, saved to <code> saves/MyLunarMap </code> , advertises itself with 6 player slots in the server list as <code> MyLunarServer </code> on port <code> 27016 </code> with password <code> MySuperSecurePassword </code> and saves every 5 minutes.<br>''
It's possible to download the iso-file for installation from here:<br>
 
https://ubuntu.com/download/server<br>
 
<br>
 
This should not be a tutorial how to set up a VM and install Ubuntu. There are many of them already out there.
 
<br>
 
First it#s necessary to install all the dependencies for LinuxGSM:
 
<br>
 
    sudo dpkg --add-architecture i386; sudo apt update; sudo apt install mailutils postfix curl wget file tar bzip2 gzip unzip bsdmainutils python util-linux ca-certificates binutils bc jq tmux lib32gcc1 libstdc++6 lib32stdc++6 steamcmd zlib1g
 
<br>
 
To not having the server running whit root privilges it is recomend to setup a new user for the gameserver.<br>
 
To create a new user in linux use:
 
    adduser stserver
 
  
'''For security best practice, ensure you set a strong password!'''
+
<code>.\rocketstation_DedicatedServer.exe -file start MyLunarMap Lunar Easy DefaultStart LunarSpawnCraterVesper -settings StartLocalHost true ServerVisible true GamePort 27016 UPNPEnabled false ServerName "MyLunarServer" ServerPassword "MySuperSecurePassword" ServerMaxPlayers 6 AutoSave true SaveInterval 300 ServerAuthSecret "MySuperSecureSecret" UpdatePort 27015 AutoPauseServer true UseSteamP2P false</code>
  
After installing the dependencies and creating a user its time to switch to that user and do the rest of the job.
 
    su - stserver
 
  
<br>Download linuxgsm.sh whit wget.
+
Explanation: ''Server starts a new Map on <code> Lunar </code> saved to <code> saves/MyLunarMap </code>, does NOT advertise itself in the server list but is available for 6 players to direct connect via <code> <serverIP>:27016 </code> </code> with password <code> MySuperSecurePassword </code> and saves every 5 minutes.<br>''
  wget -O linuxgsm.sh https://linuxgsm.sh
 
  
<br>Make the script executeable.
+
<code>.\rocketstation_DedicatedServer.exe -file start MyLunarMap Lunar -settings StartLocalHost true ServerVisible false GamePort 27016 UPNPEnabled false ServerName "MyHiddenLunarServer" ServerPassword "MySuperSecurePassword" ServerMaxPlayers 6 AutoSave true SaveInterval 300 ServerAuthSecret "MySuperSecureSecret" UpdatePort 27015 AutoPauseServer true UseSteamP2P false</code>
  chmod +x linuxgsm.sh
 
  
<br>Setup the Stationeers Server instance.
+
===== Additional info about the commands =====
  bash linuxgsm.sh stserver
+
The server will stay running until you close the terminal. When you close (don't logoff) a RDP session, the server does not stop.
  
<br>Run the installer following the on-screen instructions.
+
== Administrator: run a command on the server ==
  ./stserver install
 
  
<br>The script now download the server binarys and default configuration.
+
The same <code> ServerAuthSecret </code> parameter must be added to the -setting flag (see above) and inside the clients setting.xml ''("client"=your local PC, '''not''' the server)''
=== Start and Stop the Server ===
 
To start the server use this command.
 
  ./stserver start
 
<br>In Default the server will start a Moon map. To join the server use the local IP whit the Port 27500.
 
<br>To join the server from a different lokation, it's necessary to forward the port 27500/tcp and 27015/tcp to the local server.
 
<br>If its not possible to connect make sure the Ubuntu Firewall is of or configured to let this ports open. To check this run this as root user.
 
  ufw status
 
<br>or to disable it
 
  ufw disable
 
  
<br>To see the details
+
All commands are typed in the client console (F3) and prefixed by a <code> serverrun </code> like so:
  ./stserver details
 
  
<br>To stop the server use
+
<code> serverrun say Hello World </code>
  ./stserver stop
 
  
<br>This command shows all atributes
+
=== Server Terminal Console===
  ./stserver help
+
When running the server from windows, you can type commands in the terminal application which acts like a console
  
<br>To show the live console of the server use:
+
=== Command Lists ===
  ./stserver console
+
{| class="wikitable"
'''To exit the console pres CTRL+b and then "d"'''
+
!Command
 +
!Details
 +
!Parameter
 +
|-
 +
| HELP
 +
| Displays the list of commands.
 +
| Arguments:
 +
* commands
 +
* list (l)
 +
* <key>
 +
* tofile: prints the help output to file
 +
|}
 +
 
 +
== Modding on Servers ==
 +
''removed very outdated information here - please ask on the Stationeers Discord server in either #modding or #dedicated-server''
 +
 
 +
 
 +
 
 +
There are some examples of how to make your own mods in:
 +
\Steam\steamapps\common\Stationeers\rocketstation_Data\StreamingAssets\
 +
Look for ExampleMod.zip and AttributesExampleMod.zip .
  
== Edit configuration ==
 
The Configuration is stored under the folder lgsm/config-lgsm/stserver. There are three files:
 
* _default.cfg (contains the whole configuration with the default values '''Do not edit this file''')
 
* common.cfg (the settings for this server)
 
* stserver.cfg (the settings for this instance)
 
If there is only one instance/server running and there will not be any other server it doesn't matter if you change the settings in common.cfg or stserver.cfg. If you planing to run more than on server or instance on the same VM you have to consider if the setting should apply server wide (all instances), or just for a specific Stationeers instance.
 
  
=== Example: Change map to Mars ===
+
[https://github.com/rocket2guns/StationeersDedicatedServerGuide/blob/main/README.md%20Official%20Server%20Guide VERY Outdated official guide]
Use your favorite texteditor (ex. vi or nano) and open the _default.cfg (remember not to do any changes here) search for the setting you want to change and copy the text. In our example it is this:
 
  worldtype="Moon"
 
  worldname="moon_save"
 
<br>Now open the file you want to configure. If you want any instance to run a Mars map use common.cfg or if only one instance should run this map use stserver.cfg (or stserver-2.cfg for the next instance). Paste the text at the end of the file and change "Moon" to "Mars"
 
  worldtype="Mars"
 
  worldname="mars_save"
 
<br>Now restart your server with ./stserver restart
 
<br>Make sure you also change the worldname (this is the folder where the savegame is) if the savegame-file is for a different world than the config is set to the server will not start.
 

Latest revision as of 10:23, 11 November 2025


General Requirements[edit]

  • Linux or Windows system, either physical or virtualized
  • It is NOT recommended also running a Stationeers client, so hosting the server on your PC while playing at the same time might lead to issues. (there will be issues with router NAT-loopback).
  • 16 or more Gigabytes of RAM. The server will load with less, but will run out of RAM quickly, potentially leading to instability or crashes.

Quickstarts & Panels[edit]

StationeersServerUI[edit]

Docker + Native Linux & Windows

StationeersServerUI offers an intuitive webUI, easy configuration, smart backups, full steamcmd handling with auto-updates,
a discord integration for your community to interact with the server, tons of other helpful features like a remote console and works straight out of the box.
Created in 2024 with love and attention to detail, updated regularly by JacksonTheMaster & the StationeersServerUI Team

Pterodactyl[edit]

BadDucky52 has updated the older pterodactyl egg for the current Dedicated Server:
Current Pterodactyl Egg by BadDucky52

DIY Solutions[edit]

Requirements[edit]

    • Linux: Glibc 2.38 (Ubuntu 24.04 LTS, Debian Bookworm (12), Debian Trixie (13))
    • Windows: Microsoft Visual C++ 2015, 2017 and 2019 runtime click here to download it.

It is, of course, possible to run the server without external images or tools simply by downloading it from SteamCMD and executing it. Everything you should need is Documented below.

Getting the server files[edit]

SteamCmd installed on the operating system you are running the server with. See The SteamCMD Documentation (This is a command line tool)

For the stable branch: (The "stable" branch is what you Download by default when you select Stationeers in your Steam Library)

steamcmd +login anonymous +app_update 600760 validate +quit

For the beta branch:

steamcmd +login anonymous +app_update 600760 -beta beta validate +quit

For getting back from beta to public use -beta public, SteamCMD has trouble with caching sometimes

Default ports[edit]

27016: Game port (UDP). 27015: Steam update port. (UDP).

Server Startup Arguments (Post September 2025)[edit]

With the release of the terrain update, the flags the Dedicated Server accepts where changed.
If you are running an older version (such as the prerocket or preterrain branch, ask on the Stationeers Discord server in either #modding or #dedicated-server''

String parameters can take space with double quotes.

Flag Value Description
-file start <stationname> [worldid] [difficulty] [startcondition] [startlocation] Tries to load the latest save for the specified station. If not found, starts a new world with the given parameters and saves it.

- stationname: Required. This is the name of your save.
- worldid: Optional, but required to start a new game if no existing station is found.
- difficulty: Optional, defaults to "Normal" if not provided.
- startcondition: Optional, defaults to the default start condition for the world setting if not provided.
- startlocation: Optional, defaults to "DefaultStartLocation" if not provided.
- When you add optional arguments, you cannot leave one out.
For example, <stationname> [worldid] [startlocation] would not work,
you would need to add [difficulty] and [startcondition] too.

-logFile "path" Specifies a custom log file path if output_log.txt is not used. Example:

-logFile "server.log"

-settings see below Changes the default settings to desired values e.g -settings ServerName "MyNewStationeersServer". For a full list and examples, see below.

World types (October 2025)[edit]

Note: RoundRobin StartLocations and Community StartConditions are only available on BETA at the moment.

World Name WorldID Difficulty IDs StartCondition IDs StartLocation IDs
Lunar (The Moon) Lunar Creative, Easy, Normal, Stationeer DefaultStart, DefaultStartCommunity, Brutal, BrutalCommunity LunarSpawnCraterVesper, LunarSpawnMontesUmbrarum, LunarSpawnCraterNox, LunarSpawnMonsArcanus, LunarSpawnRoundRobin
Mars Mars2 Creative, Easy, Normal, Stationeer DefaultStart, DefaultStartCommunity, Brutal, BrutalCommunity MarsSpawnCanyonOverlook, MarsSpawnButchersFlat, MarsSpawnFindersCanyon, MarsSpawnHellasCrags, MarsSpawnDonutFlats, MarsSpawnRoundRobin
Europa Europa3 Creative, Easy, Normal, Stationeer EuropaDefault, EuropaDefaultCommunity, EuropaBrutal, EuropaBrutalCommunity EuropaSpawnIcyBasin, EuropaSpawnGlacialChannel, EuropaSpawnBalgatanPass, EuropaSpawnFrigidHighlands, EuropaSpawnTyreValley, EuropaSpawnRoundRobin
Mimas MimasHerschel Creative, Easy, Normal, Stationeer MimasDefault, MimasDefaultCommunity, MimasBrutal, MimasBrutalCommunity MimasSpawnCentralMesa, MimasSpawnHarrietCrater, MimasSpawnCraterField, MimasSpawnDustBowl, MimasSpawnRoundRobin
Vulcan Vulcan Creative, Easy, Normal, Stationeer VulcanDefault, VulcanDefaultCommunity, VulcanBrutal, VulcanBrutalCommunity VulcanSpawnVestaValley, VulcanSpawnEtnasFury, VulcanSpawnIxionsDemise, VulcanSpawnTitusReach, VulcanSpawnRoundRobin
Venus Venus Creative, Easy, Normal, Stationeer VenusDefault, VenusDefaultCommunity, VulcanBrutal, VulcanBrutalCommunity
Note: Yes, Venus is using VulcanBrutal & VulcanBrutalCommunity
VenusSpawnGaiaValley, VenusSpawnDaisyValley, VenusSpawnFaithValley, VenusSpawnDuskValley, VenusSpawnRoundRobin

When selecting a start location you can pick <WorldID>Random to have each new player spawn in a randomly selected location on the map. This is designed to be used with the <WorldID>BrutalCommunity StartCondition which spawns each new player with a brutal start crate.

Tutorial Maps

World Name WorldID
Inventory Tutorial Tutorial1
Connection Tutorial Tutorial2
Atmospherics Tutorial Tutorial3
Airlocks Tutorial Airlock
Furnace Tutorial FurnaceBasics
Manufacturing Tutorial Manufacturing
Configuration[edit]

In your server directory, a file called setting.xml will be created once you start it up for the first time.
While you can technically edit that, this approach is not guaranteed to work (bugged for a while).
It is recommended to use the -setting flag instead.

Setting Value Description
ServerVisible true / false Shows / hides the server in the ingame server list
GamePort 27016 / any port The port that players connect to
UpdatePort 27015 / any port Steam update port. Unclear if this is actually used by the game at the moment.
UPNPEnabled true / false Enable or disable UniversalPlugAndPlay (Auto port forwarding, your router must support)
ServerName "My Game Server" / your desired server name Description
ServerPassword "MySuperSecurePassword" / your desired server password Description
ServerAuthSecret "MySuperSecureSecret" / your desired admin secret Description
ServerMaxPlayers 1-20 The number of available player slots. Shouln't exceed 20.
AutoSave true / false Enable or disable autosaves
SaveInterval 300 Time in seconds between each autosave. Shouldn't be below 60 sec.
AutoPauseServer true / false Weather the server should auto pause or not if no players are connected
UseSteamP2P true / false Weather the server should allow SteamP2P connections. Keep this disabled.
StartLocalHost true / false Do not change this, this is required to be able to connect.

Command Examples[edit]

Linux[edit]

Note: Logging to console on Linux is slightly broken - we recommend to log to a log file instead and tail -f that

Explanation: Server starts a new Map on Lunar saved to saves/MyLunarMap , advertises itself with 6 player slots in the server list as MyLunarServer on port </code> 27016 </code> with password MySuperSecurePassword and saves every 5 minutes.

./rocketstation_DedicatedServer.x86_64 -file start MyLunarMap Lunar -logFile "./server.log" -settings StartLocalHost true ServerVisible true GamePort 27016 UPNPEnabled false ServerName "MyLunarServer" ServerPassword "MySuperSecurePassword" ServerMaxPlayers 6 AutoSave true SaveInterval 300 ServerAuthSecret "MySuperSecureSecret" UpdatePort 27015 AutoPauseServer true UseSteamP2P false LocalIpAddress 0.0.0.0 & tail -f server.log

Explanation: Server starts a new Map on Lunar with Difficulty Easy, Startcondition DefaultStart and StartLocation LunarSpawnCraterVesper, saved to saves/MyLunarMap , advertises itself with 6 player slots in the server list as MyLunarServer on port </code> 27016 </code> with password MySuperSecurePassword and saves every 5 minutes.

./rocketstation_DedicatedServer.x86_64 -file start MyLunarMap Lunar Easy DefaultStart LunarSpawnCraterVesper -logFile "./server.log" -settings StartLocalHost true ServerVisible true GamePort 27016 UPNPEnabled false ServerName "MyLunarServer" ServerPassword "MySuperSecurePassword" ServerMaxPlayers 6 AutoSave true SaveInterval 300 ServerAuthSecret "MySuperSecureSecret" UpdatePort 27015 AutoPauseServer true UseSteamP2P false LocalIpAddress 0.0.0.0 & tail -f server.log

Explanation: Server starts a new Map on Mars2 saved to saves/MyLunarMap , advertises itself in the server with 6 player slots in the server list as MyLunarServer on port </code> 27016 </code> without password and saves every 5 minutes.

./rocketstation_DedicatedServer.x86_64 -file start MyMarsMap Mars2 -logFile "./server.log" -settings StartLocalHost true ServerVisible true GamePort 27016 UPNPEnabled false ServerName "MyLunarServer" ServerMaxPlayers 6 AutoSave true SaveInterval 300 ServerAuthSecret "MySuperSecureSecret" UpdatePort 27015 AutoPauseServer true UseSteamP2P false LocalIpAddress 0.0.0.0 & tail -f server.log

Explanation: Server starts a new Map on Lunar saved to saves/MyLunarMap , does not advertise itself in the server list but is available for 6 players to direct connection via <serverIP>:27016 </code> with password MySuperSecurePassword and saves every 5 minutes.

./rocketstation_DedicatedServer.x86_64 -file start MyLunarMap Lunar -logFile "./server.log" -settings StartLocalHost true ServerVisible false GamePort 27016 UPNPEnabled false ServerName "MyHiddenLunarServer" ServerPassword "MySuperSecurePassword" ServerMaxPlayers 6 AutoSave true SaveInterval 300 ServerAuthSecret "MySuperSecureSecret" UpdatePort 27015 AutoPauseServer true UseSteamP2P false LocalIpAddress 0.0.0.0 & tail -f server.log

Additional info about the Linux commands[edit]
  • LocalIpAddress 0.0.0.0 is required to allow the server to bind to all network interfaces on your Linux Server. On some distros, you might wanna specify the actual interface IP instead.
  • The server starts with the specified values, but technically in the background (& sign at the end of the command). You can foreground it again by using <code fg </fg>
  • tail -f debug.log runs in the foreground, showing the log output in your current attached terminal.
  • When you now Ctrl+C, the server will not stop - instead it will remain in the background as long as your session is open If you, for example, disconnect your SSH connection the server will stop because an ending SSH connection typically sends a SIGHUP (hangup signal) to all processes in the session, including background processes,. You might wanna look into using tmux.

Windows[edit]

Explanation: Server starts a new Map on Lunar saved to saves/MyLunarMap , advertises itself with 6 player slots in the server list as MyLunarServer on port 27016 with password MySuperSecurePassword and saves every 5 minutes.

.\rocketstation_DedicatedServer.exe -file start MyLunarMap Lunar -settings StartLocalHost true ServerVisible true GamePort 27016 UPNPEnabled false ServerName "MyLunarServer" ServerPassword "MySuperSecurePassword" ServerMaxPlayers 6 AutoSave true SaveInterval 300 ServerAuthSecret "MySuperSecureSecret" UpdatePort 27015 AutoPauseServer true UseSteamP2P false

Explanation: Server starts a new Map on Lunar with Difficulty Easy, Startcondition DefaultStart and StartLocation LunarSpawnCraterVesper , saved to saves/MyLunarMap , advertises itself with 6 player slots in the server list as MyLunarServer on port 27016 with password MySuperSecurePassword and saves every 5 minutes.

.\rocketstation_DedicatedServer.exe -file start MyLunarMap Lunar Easy DefaultStart LunarSpawnCraterVesper -settings StartLocalHost true ServerVisible true GamePort 27016 UPNPEnabled false ServerName "MyLunarServer" ServerPassword "MySuperSecurePassword" ServerMaxPlayers 6 AutoSave true SaveInterval 300 ServerAuthSecret "MySuperSecureSecret" UpdatePort 27015 AutoPauseServer true UseSteamP2P false


Explanation: Server starts a new Map on Lunar saved to saves/MyLunarMap , does NOT advertise itself in the server list but is available for 6 players to direct connect via <serverIP>:27016 </code> with password MySuperSecurePassword and saves every 5 minutes.

.\rocketstation_DedicatedServer.exe -file start MyLunarMap Lunar -settings StartLocalHost true ServerVisible false GamePort 27016 UPNPEnabled false ServerName "MyHiddenLunarServer" ServerPassword "MySuperSecurePassword" ServerMaxPlayers 6 AutoSave true SaveInterval 300 ServerAuthSecret "MySuperSecureSecret" UpdatePort 27015 AutoPauseServer true UseSteamP2P false

Additional info about the commands[edit]

The server will stay running until you close the terminal. When you close (don't logoff) a RDP session, the server does not stop.

Administrator: run a command on the server[edit]

The same ServerAuthSecret parameter must be added to the -setting flag (see above) and inside the clients setting.xml ("client"=your local PC, not the server)

All commands are typed in the client console (F3) and prefixed by a serverrun like so:

serverrun say Hello World

Server Terminal Console[edit]

When running the server from windows, you can type commands in the terminal application which acts like a console

Command Lists[edit]

Command Details Parameter
HELP Displays the list of commands. Arguments:
  • commands
  • list (l)
  • <key>
  • tofile: prints the help output to file

Modding on Servers[edit]

removed very outdated information here - please ask on the Stationeers Discord server in either #modding or #dedicated-server


There are some examples of how to make your own mods in:

\Steam\steamapps\common\Stationeers\rocketstation_Data\StreamingAssets\

Look for ExampleMod.zip and AttributesExampleMod.zip .


VERY Outdated official guide