./DedicatedServer on Linux or DedicatedServer.exe on Windows. Set ServerName, Port, QueryPort, IsPublic, MaxPlayers and the password in serversettings.xml next to the executable, and forward UDP 27015 and 27016 to the machine. For a modded server, put the mods in the server's LocalMods folder and list them, in load order, in its config_player.xml. The server will not download or update Workshop mods for you.What you need
- The server app. Barotrauma Dedicated Server is a separate Steam tool, app 1026340, listed as a free download for 64-bit Windows and Linux. Its current public build is 23799137, updated on June 18, 2026, the day of the v1.13.4.0 hotfix for the Summer Update.
- A machine that stays on. The point of a dedicated server is that the campaign does not depend on one player's PC being online. Barotrauma players hit this exact wall: a co-op campaign lives on whoever hosts it, and when the host is offline the crew is stuck.
- Reachable UDP ports, or a network where you can forward them. More on that below, because it causes most "Timed out" reports.
How much CPU and RAM it needs depends on the submarine, the mods and the player count; our game server RAM and sizing guide covers how to measure rather than guess.
Install with SteamCMD
The usual install logs in to SteamCMD anonymously. On Linux:
steamcmd +force_install_dir /home/barotrauma/server \
+login anonymous \
+app_update 1026340 validate \
+quit
cd /home/barotrauma/server
./DedicatedServer
On Windows, the same app_update 1026340 command with a Windows path, then start DedicatedServer.exe from the install folder. Those are the two launch entries Steam itself lists for the app. Run the server as an ordinary user, not as root; our self-hosted server hardening checklist covers the rest of that.
If you already own the game, there is a shortcut players use for a first test: start DedicatedServer.exe from the game's own install folder on the same PC, then join it from the game with a direct connection to 127.0.0.1. That server sees the same mods and config as your game, which makes it the quickest way to check that a modded setup works before you move it to another machine.
serversettings.xml: the settings that matter
The server reads serversettings.xml from its working folder. If the file is missing, it starts with default settings and logs a warning. It rewrites the file when an admin changes settings from the in-game server menu, so edit it while the server is stopped. The attributes the server reads at start:
| Attribute | Default | What it does |
|---|---|---|
ServerName | "Server" | Name in the server list. Cut to 60 characters. |
Port | 27015 | Game traffic, UDP. |
QueryPort | 27016 | Steam query port, used by the server list. |
IsPublic | false | Whether the server is listed publicly. Off by default, so a fresh server only takes direct connections. |
EnableUPnP | false | Asks the router to open the port automatically, if the router allows UPnP. |
MaxPlayers | Set it yourself | Player slots. The code clamps any value to between 1 and 16. |
password | empty | Join password. Lowercase attribute name. |
Command-line arguments override the file for that launch: -name, -port, -queryport, -public true|false, -password, -nopassword, -upnp true|false, -maxplayers, -playstyle and -banafterwrongpassword true|false. They are handy for running two servers from one install on different ports.
The hard cap is worth stating plainly because it surprises people: 16 players. The limit is a constant in the game's network code, so no setting or launch argument raises it.
Ports, and why friends time out
The game uses the Lidgren networking library, which runs over UDP. For players outside your network to join, both ports must reach the server machine:
- Forward UDP 27015 and UDP 27016 (or the ports you set) on the router to the server's local IP, and allow them in the server's firewall.
- Test locally first. On the server machine itself, a direct connection to
127.0.0.1must work. If it does not, the problem is the server, not the network. - Check for CGNAT. If the WAN address your router shows is not the public IP that websites see, your provider shares one address between many customers and port forwarding cannot work. You need a public IPv4 from the provider, or a machine with one, such as a rented VPS.
- UPnP is optional. EnableUPnP is off by default. Turning it on lets the server ask the router to open its port by itself, which only works if the router allows UPnP.
"Timed out" comes up again and again in r/Barotrauma, and the answers there name the same suspects: firewall, antivirus, router, slow connection. One player in a June thread traced a friend's failed joins to distance: a server in Europe, a player in the Americas, and a ping of about 450 ms.
Mods on a dedicated server
This is where Barotrauma servers differ most from the game client, and where most guides are thin. From the game's own content management code:
- The server loads mods from two places:
LocalModsinside the server folder, andWorkshopMods/Installedinside the Barotrauma data folder (on Linux,~/.local/share/Daedalic Entertainment GmbH/Barotrauma/WorkshopMods/Installed). - Which mods are on, and in what order, comes from
config_player.xmlin the server folder: itsContentPackageselement names one core package and the regular packages in load order. That file is the server's mod load order. - The server does not update Workshop mods. Workshop updates for servers are still marked as a to-do in the code. When a mod author pushes an update, the server keeps running the old version until you copy the new one over.
- Prefer
LocalModsfor server mods. A Workshop mod that fails to load is deleted fromWorkshopMods/Installedso the client can reinstall it. On a server with no Workshop updater, that just means the mod is gone. - Keep
filelist.xmllowercase. The game throws an error for any other casing. This bites on Linux, which treatsFileList.xmlas a different file, when mods are copied over from Windows. - Players get the server's mods when they join. The client has a mod download screen that queues the server's content packages, so the server's copy is the one that counts.
Moving a campaign to the server
Multiplayer campaign saves live in the Barotrauma data folder, not the install folder: C:\Users\<you>\AppData\Local\Daedalic Entertainment GmbH\Barotrauma\Multiplayer on Windows and ~/.local/share/Daedalic Entertainment GmbH/Barotrauma/Multiplayer on Linux. To move a campaign from in-game hosting to a dedicated server, copy two files into the server's Multiplayer folder: the save itself and the <save name>_CharacterData.xml file beside it.
The second file is the one people miss. It holds the crew's characters, and the server matches each saved character to a player by account ID, or by IP address when no account ID is available. A player in r/Barotrauma described exactly this after moving: the campaign and mods came across, but the friends lost their characters while the host kept theirs. Copy the character data file, and have everyone join with the same account they used before.
Permissions for a server you are not always on
Campaign play needs someone with the right permissions to run the round, pick destinations and manage the crew. On a dedicated server the owner is not always online, so give a trusted player those rights. Permissions live in Data/clientpermissions.xml in the server folder; each entry needs a name and an endpoint or Steam ID. The permissions that matter for a campaign include ManageRound, ManageCampaign, ManageMap, ManageHires and ManageMoney; SellInventoryItems and SellSubItems control selling. Grant the narrowest set that keeps the campaign moving, and keep Ban, ConsoleCommands and ManagePermissions for yourself.
Updates
Stop the server and re-run the same app_update 1026340 validate command after each game update, then update your server-side mods to match. Barotrauma's updates come as seasonal releases followed by hotfixes, as with the Summer Update and its v1.13.4.0 hotfix in June 2026, so the days right after a release are when a server is most likely to fall out of step with its players. Restart the server after updating and join it once yourself before announcing it.
For a wider look at whether to run this at home or on rented hardware, see our self-host vs rent guide. The server's source code, including every setting above, is public in FakeFish's Barotrauma repository.
FAQ
- What ports does a Barotrauma dedicated server use?
- By default UDP 27015 for game traffic and 27016 for the Steam query port. Change them with the Port and QueryPort attributes in serversettings.xml, or with -port and -queryport on the command line, and forward both on your router.
- How many players can a Barotrauma dedicated server hold?
- Up to 16. The MaxPlayers setting is clamped between 1 and 16 in the game's network code, so no setting or launch argument raises it.
- How do I add mods to a Barotrauma dedicated server?
- Put the mods in the LocalMods folder inside the server folder and list them, in load order, in the ContentPackages element of the server's config_player.xml. The server does not update Workshop mods itself, so copy new versions over when mods update. Joining players download the server's copies.
- Where are Barotrauma multiplayer saves stored?
- In the Multiplayer folder of the Barotrauma data folder: AppData\Local\Daedalic Entertainment GmbH\Barotrauma\Multiplayer on Windows and ~/.local/share/Daedalic Entertainment GmbH/Barotrauma/Multiplayer on Linux. Each campaign has its save plus a file with the same name ending in _CharacterData.xml, which holds the crew's characters.
- Why do my friends get "Timed out" joining my Barotrauma server?
- Usually the ports do not reach the server: forward UDP 27015 and 27016 and allow them in the firewall, and check that your provider is not using CGNAT. Test a direct connection to 127.0.0.1 on the server machine first; very high ping between continents can also cause failed joins.
- Is the Barotrauma dedicated server free?
- Yes. Steam lists Barotrauma Dedicated Server, app 1026340, as a free download for 64-bit Windows and Linux, and SteamCMD installs it with an anonymous login.
Community reading note: Player reports in this piece come from r/Barotrauma threads titled "Help with the dedicated server" (December 2025), "Always getting 'Timed out' when trying to join my friends server." (June 2026), "How to get a dedicated server working?" and "Does someone have a guide on how to host a modded Dedicated Server?" (July 2026), and "Couldn't play your own Barotrauma campaign because the host was offline, so we built a fix" (August 2026). They are player reports, not developer policy.