Serversettings.xml
serversettings.xml is a file that stores all the settings for the Barotrauma dedicated and client-hosted server.
It is located in the Barotrauma root directory (same place as the Barotrauma.exe).
Configuration Fields
Config Field | Default Value | Allowed Values | Description |
---|---|---|---|
tickrate | 20 | 0< (Int) | Sets the server's tickrate. |
randomizeseed | True | True/False (Bool) | Sets if the server should generate a new seed each round.
|
userespawnshuttle | True | True/False (Bool) | Allows or disallows the use of a respawn shuttle for respawning.
Only works if respawning is allowed.
|
respawninterval | 300 | 0< (Int) | Sets time between each respawn wave, in seconds. |
maxtransporttime | 180 | 0< (Int) | Sets maximum time the respawn shuttle has to dock to the submarine, in seconds.
If time runs out before the shuttle docks it will automatically return to the first outpost. |
minrespawnratio | 0.2 | 0.0-1.0 (Float) | Sets minimum percentage of dead players required for the respawn timer to start. |
autorestartinterval | 60 | 0< (Float) | Sets time for automatic starting of a round, in seconds.
Only works if "autorestart" is set to True. |
startwhenclientsready | False | True/False (Bool) | Allows or disallows the server to automatically start a round if enough players are ready.
|
startwhenclientsreadyratio | 0.8 | 0.0-1.0 (Float) | Sets minimum ratio of players required to be ready for a round to be automatically started.
Only works if "startwhenclientsready" is set to True. |
allowspectating | True | True/False (Bool) | Allows or disallows players from spectating.
|
endroundatlevelend | True | True/False (Bool) | Sets if the round should be ended once the submarine reaches the end of the level.
|
saveserverlogs | True | True/False (Bool) | Sets if server logs should be saved once the server is turned off.
|
allowragdollbutton | True | True/False (Bool) | Allows or disallows the use of the ragdoll button. (Exact key depends on keybind configuration)
|
allowfiletransfers | True | True/False (Bool) | Allows or disallows file transfers for server files to clients.
Note: currently only .sub files can be transferred, if a client is missing a content package they won't be able to connect at all.
|
voicechatenabled | True | True/False (Bool) | Allows or disallows the use of voicechat.
|
playstyle | Casual | Serious/Casual/Roleplay/Rampage/SomethingDifferent (String) | Sets server playstyle displayed in the server browser and lobby.
|
allowvotekick | True | True/False (Bool) | Allows or disallows players from voting to kick other players.
|
allowendvoting | True | True/False (Bool) | Allows or disallows players from voting to end the round.
|
allowrespawn | True | True/False (Bool) | Allows or disallows respawning.
|
botcount | 0 | 0-maxbotcount (Int) | Sets number of bots that should be spawned in a round. |
maxbotcount | 16 | 0-16 (Int) | Sets maximum allowed bots in a round. |
botspawnmode | Normal | Normal/Fill (String) | Sets how bots should be spawned.
|
allowdisguises | True | True/False (Bool) | Allows or disallows players to disguise themselves.
|
allowrewiring | True | True/False (Bool) | Allows or disallows players from rewiring anything.
|
allowfriendlyfire | True | True/False (Bool) | Allows or disallows friendly fire between players.
|
banafterwrongpassword | True | True/False (Bool) | Enables or disables auto-banning after too many failed password retries.
|
maxpasswordretriesbeforeban | 3 | 0< (Int) | Sets after how many failed password retries the player is auto-banned.
Only works if "banafterwrongpassword" is set to True. |
selectedsubmarine | N/A (Alphabetically picks first submarine) | String | Sets submarine that will be used in a round. |
selectedshuttle | N/A (Alphabetically picks first shuttle) | String | Sets respawn shuttle that will be used in a round. |
traitorsenabled | No | Yes/No/Maybe (String) | Sets the chance of traitors appearing in a round.
|
traitorsminplayercount | 1 | 0< (Int) | Sets minimum number of players required for a traitor to be picked. |
traitorsminstartdelay | 90 | 0< (Float) | Sets minimum amount of time that must pass before a traitor is selected, in seconds. |
traitorsmaxstartdelay | 180 | 0< (Float) | Sets maximum amount of time that must pass before a traitor is selected, in seconds. |
traitorsminrestartdelay | 30 | 0< (Float) | Sets minimum amount of time that must pass before another traitor is selected, in seconds. |
traitorsmaxrestartdelay | 90 | 0< (Float) | Sets maximum amount of time that must pass before another traitor is selected, in seconds. |
subselectionmode | Manual | Manual/Random/Vote (String) | Sets how the next submarine should be picked.
|
modeselectionmode | Manual | Manual/Random/Vote (String) | Sets how the Game Mode should be chosen.
|
endvoterequiredratio | 0.6 | 0.0-1.0 (Float) | Sets amount of endround votes required to end the round.
Only used if "allowendvoting" is set to True. |
kickvoterequiredratio | 0.6 | 0.0-1.0 (Float) | Sets amount of votekick votes required to kick a player.
Only used if "allowvotekick" is set to True. |
killdisconnectedtime | 120 | 0< (Float) | Sets amount of time a player must be disconnected from their body for the character to be killed. |
kickafktime | 120 | 0< (Float) | Sets amount of time a player must be AFK to be auto-kicked. |
karmaenabled | False | True/False (Bool) | Enables or disables the Karma system. |
karmapreset | default | default/strict/custom (String) | Sets the karma rules preset that should be used.
Only works if "karmaenabled" is set to True. |
gamemodeidentifier | sandbox | Sandbox/Mission/Campaign (String) | Sets game mode |
missiontype | All | Salvage/Monster/Cargo/Combat/All (String) | Sets mission types that the server should run, if multiple are selected the server randomly chooses one. All includes all. |
autobantime | 3600 | 0< (Float) | Sets ban length for players who are vote-kicked, in seconds. |
maxautobantime | 86400 | 0< (Float) | Sets maximum auto-ban length that can be set in the lobby host UI. |
name | Server | String | Sets server name. |
public | false | True/False (Bool) | Sets if the server should be shown in the server browser.
Note: Even if the server isn't public any player can still connect to it unless it has a whitelist or password. |
port | 27015 | Valid port (Int) | Sets server's port for player connections.
Port must be port-forwarded for the server to be connectable and visible in the server browser. |
queryport | 27016 | Valid port (Int) | Sets server's port for querying with steam for connections.
Port must be port-forwarded for the server to be connectable and visible in the server browser. |
maxplayers | 10 | 1-16 (Int) | Sets max players. |
enableupnp | false | True/False (Bool) | Sets if the server should attempt to use UPnP to allow players to connect (instead of port-forwarding).
Note: Not all routers support UPnP This is also unnecessary if hosting from a client (not dedicated server), as client-hosting uses Steam P2P for connections. |
autorestart | false | True/False (Bool) | Allows or disallows the server from auto-starting rounds in the lobby.
Uses time set in autorestartinterval. |
LevelDifficulty | 20 | 0-100 (Int) | Sets level difficulty. |
AllowedRandomMissionTypes | Salvage,Monster,Cargo,Combat,All | Deprecated, missiontype is able to randomize now. | N/A |
AllowedClientNameChars | 32-33,38-46,48-57,65-90,91-91,93-93,95-122,192-255,384-591,1024-1279,19968-40959,13312-19903, 131072-15043983,15043985-173791,173824-178207,178208-183983,63744-64255,194560-195103 |
UTF-16 character code ranges (Int) | Sets characters that are allowed in player's names. |
ServerMessage | String | Sets the text displayed in the server's info box. | |
Password | String | Sets password required to enter the server. |
Default
Default settings for new game installs.
<?xml version="1.0" encoding="utf-8"?> <serversettings name="Server" public="false" port="27015" queryport="27016" password="" enableupnp="false" autorestart="false" LevelDifficulty="20" ServerMessage="" AllowedRandomMissionTypes="Salvage,Monster,Cargo,Combat,All" AllowedClientNameChars="32-33,38-46,48-57,65-90,91-91,93-93,95-122,192-255,384-591,1024-1279,19968-40959,13312-19903,131072-15043983,15043985-173791,173824-178207,178208-183983,63744-64255,194560-195103" tickrate="20" randomizeseed="True" userespawnshuttle="True" respawninterval="300" maxtransporttime="180" minrespawnratio="0.2" autorestartinterval="60" startwhenclientsready="False" startwhenclientsreadyratio="0.8" allowspectating="True" endroundatlevelend="True" saveserverlogs="True" allowragdollbutton="True" allowfiletransfers="True" voicechatenabled="True" playstyle="Casual" allowvotekick="True" allowendvoting="True" allowrespawn="True" botcount="0" maxbotcount="16" botspawnmode="Normal" allowdisguises="True" allowrewiring="True" allowfriendlyfire="True" banafterwrongpassword="True" maxpasswordretriesbeforeban="3" traitorsenabled="No" traitorsminplayercount="1" traitorsminstartdelay="90" traitorsmaxstartdelay="180" traitorsminrestartdelay="30" traitorsmaxrestartdelay="90" subselectionmode="Manual" modeselectionmode="Manual" endvoterequiredratio="0.6" kickvoterequiredratio="0.6" killdisconnectedtime="120" kickafktime="120" karmaenabled="False" karmapreset="default" gamemodeidentifier="sandbox" missiontype="All" maxplayers="10" autobantime="3600" maxautobantime="86400" />