To install mods on a Barotrauma dedicated server, install or locate the server, download the Workshop packages on a client or with SteamCMD, copy the package folders into the server’s game directory, enable and order the packages, then restart the server. Clients must use the same package set; they may be offered a “Get Missing Packages” download when they join. The built-in DedicatedServer.exe and a SteamCMD installation both work. Because the official setup pages carry outdated-version notices, treat exact paths and XML settings as build-sensitive and confirm them against the files generated by your installed version.
What do you need before installing Barotrauma mods?
Prepare the server software, a way to obtain the mod files, access to the server’s files, and permission to edit its configuration. You do not need to install a separate mod manager.
- A Barotrauma dedicated server installed with the built-in
DedicatedServer.exeor through SteamCMD. - A Barotrauma client with access to the Steam Workshop, unless you will download Workshop items directly with SteamCMD.
- The Workshop item IDs, package dependencies, and the load order required by the mod author.
- File-transfer access to the machine running the dedicated server.
- Permission to edit the server’s package configuration and
serversettings.xml.
Stop the server before copying files or editing XML. A running process can overwrite settings when it shuts down, leaving a change apparently lost.
Which Barotrauma dedicated-server installation should you use?
Both supported deployment choices can run Workshop content. Use the executable included with a normal game installation when the server shares that installation; use SteamCMD when you want a command-line deployment or a separate server directory.
| Deployment | Best fit | Installation method | Mod-file implication |
|---|---|---|---|
DedicatedServer.exe |
A machine that already has Barotrauma installed | Run the dedicated-server executable from the game files | Copy the client’s downloaded packages into the installation used by the server |
| SteamCMD | Headless, scripted, or separate server installations | Install app 1026340 from SteamCMD |
Download Workshop items with SteamCMD or copy them from a client into the server folder |
The server and the client do not have to use the same physical directory. They do need matching package files and a server configuration that enables the intended packages in the intended order.
How do I install the Barotrauma dedicated server with SteamCMD?
SteamCMD installs the dedicated-server application from the command line. The documented app ID is 1026340.
- Install SteamCMD on the server machine and open its command prompt.
- Log in anonymously:
login anonymous
- Install or update the server and validate the downloaded files:
app_update 1026340 validate
- Start the application when you are ready to test it:
app_run 1026340
Configure the server settings and any required port forwarding before opening it to players. If the server is already installed, locate its DedicatedServer.exe or SteamCMD game directory instead of installing a second copy.
How do I download Barotrauma Workshop mods?
You can obtain packages through the normal Barotrauma client or directly with SteamCMD. The client route is easier for discovering dependencies and arranging a working load order; SteamCMD is useful when the server is headless.
Client Workshop method
- Open the Barotrauma Steam Workshop and subscribe to the desired item.
- Wait for Steam to finish downloading it. Check the dependency notices beside the item’s Subscribe button and subscribe to every required dependency.
- Launch Barotrauma on the client.
- Open Settings, then the content-package or package-management controls.
- Enable the packages you want and drag them into the order specified by the mod author. Keep dependencies ahead of the package that requires them.
Subscribing alone does not configure the dedicated server. It places the package in the client’s Workshop storage; you still have to transfer the folders and reproduce the enabled package set on the server.
SteamCMD Workshop method
Regalis, a Barotrauma developer, described a second approach: use SteamCMD’s workshop_download_item, then move the downloaded files from the Workshop content directory into the game directory used by the dedicated server.
login anonymous
workshop_download_item 602960 <item_id>
Replace <item_id> with the numeric Workshop item ID. Barotrauma’s Workshop content is stored below steamapps/workshop/content/602960. If SteamCMD and the dedicated server use different roots, move or copy the downloaded item into the server’s game folder; downloading it into SteamCMD’s directory does not automatically make it visible to a separate server installation.
Where are the Workshop mod folders stored?
The dedicated-server documentation identifies these client-side WorkshopMods/Installed locations. Use the path for the operating system on which you subscribed to the packages.
| Operating system | Client WorkshopMods/Installed path |
|---|---|
| Windows | %LocalAppData%/Daedalic Entertainment GmbH/Barotrauma/WorkshopMods/Installed |
| Linux | /home/[username]/.local/share/Daedalic Entertainment GmbH/Barotrauma/WorkshopMods/Installed |
| macOS | /Users/[USERNAME]/Library/Application Support/Daedalic Entertainment GmbH/Barotrauma/WorkshopMods/Installed |
The bracketed portion is the account name on that machine. If the server runs on another operating system or account, do not paste the client path into configuration; use the server’s actual game directory and copy the package folders there.
How do I copy Workshop mods to the dedicated server?
Copy the complete package directories, not just individual files. Preserve each package’s internal folder structure so Barotrauma can read its content files and metadata.
- Stop the dedicated server.
- On the client, open the appropriate
WorkshopMods/Installeddirectory, or locate the item understeamapps/workshop/content/602960if you used SteamCMD. - Identify the folders for the selected packages and every dependency.
- Copy those folders to the server’s Barotrauma game directory using your available file-transfer method.
- If the server uses a separate dedicated-server folder, copy the packages into that folder rather than leaving them only in the client or SteamCMD directory.
- Compare the copied folders with the source after transfer. An incomplete copy can leave a package listed but unable to load.
Keep the source copy until the server has successfully started and a client has joined. Workshop-managed packages can be downloaded again; retaining a known-good copy makes it easier to restore a working set after an update.
How do I enable and order packages on the server?
Barotrauma loads only enabled content packages, and load order matters when packages add or override the same definitions. Configure the server with the package controls available in your build, then restart it.
Using the package controls
- Open Barotrauma’s content-package settings on the installation that controls the server.
- Enable the packages you copied and disable unrelated packages.
- Drag packages into the required order. Put a dependency before the mod that depends on it, and follow any ordering note supplied with the Workshop item.
- Save the settings and close the game or server configuration interface.
When the build uses config_player.xml
The older dedicated-server procedure instructs administrators to copy the enabled <contentpackage> entries into the server’s config_player.xml. Because that procedure is marked potentially outdated, first inspect the configuration files generated by your installed build. If your build still uses this file, copy the enabled entries while preserving the surrounding XML structure; do not replace the entire file with a client configuration.
Back up the server configuration before editing it. If the current build has moved package settings to another file or interface, use that current mechanism instead of forcing an old config_player.xml layout. A syntactically valid XML file with the wrong package paths can still produce a server that starts without the intended mods.
How do clients synchronize with a modded server?
When a client joins a purple modded-server listing, Barotrauma can offer a missing-package download. Accepting the prompt downloads the packages and enables them automatically; a mod that changes the user interface may require the client to restart Barotrauma before its changes appear.
Choosing the server download behavior
The AllowModDownloads setting controls whether clients can download mods from the server or are prompted to obtain them from the Workshop. Set it according to how you want to distribute packages, then restart the server so the setting takes effect.
- Allow server downloads when you want joining players to receive the package files directly from the server.
- Require Workshop acquisition when you want clients to subscribe to the original Workshop items themselves.
- Tell players to accept the missing-package prompt when it appears; otherwise they may join without the content or be unable to connect.
All players should ultimately have the same enabled package set and compatible load order. A client restart is a client-side action; it does not replace the server restart required after configuration changes.
Which ports must I forward for a Barotrauma server?
The documented defaults are UDP port 27015 for the server and UDP port 27016 for queries. Forward the ports only when the server must be reachable from outside its local network, and confirm the actual values in serversettings.xml before changing the router or firewall.
| Purpose | Documented default | What to verify |
|---|---|---|
| Game server | UDP 27015 | The server-port value in serversettings.xml and the host firewall rule |
| Server query/listing | UDP 27016 | The query-port value in serversettings.xml and router forwarding |
If you changed either port, players must use the resulting address and port. Changes in serversettings.xml apply only when the game or server starts, so stop and restart after editing the file.
How do I install a mod from a ZIP file instead of the Workshop?
Manual content packages are installed by unzipping the package into the game’s Mods directory. The content-package guide specifies the layout Barotrauma/Mods/<PackageName>.
- Stop Barotrauma or the dedicated server.
- Extract the archive so the package’s files are directly inside
Barotrauma/Mods/<PackageName>, following the archive’s own folder structure. - Open the content-package controls and select the new package.
- Enable it and place it in the required load order.
- Restart when Barotrauma prompts you, or restart the dedicated server before testing.
Unlike Workshop packages, manually installed packages do not update automatically. When the author publishes a new archive, stop the server, replace the old package folder with the new one, confirm the package name and dependencies, and start the server again.
What changes when the server has its own separate folder?
A separate server folder is common with SteamCMD. The important distinction is that SteamCMD’s Workshop download location and the directory read by the dedicated server are different locations unless you deliberately make them the same.
- Download the Workshop item with
workshop_download_item 602960 <item_id>, or obtain it through a client. - Find the resulting package under
steamapps/workshop/content/602960or the client’sWorkshopMods/Installeddirectory. - Move or copy the package into the game folder containing the dedicated server.
- Configure the server’s enabled package entries using the current build’s package controls or configuration file.
- Restart and test from a client that is not using the source folder as its only copy.
Keep the server copy and the download source distinguishable. This prevents an automatic Workshop update or a second transfer from silently changing the files that a running server expects.
How do I troubleshoot a server that starts without its mods?
Work from file presence to configuration, then to client synchronization. Change one thing at a time and restart after each configuration change.
| Symptom | Checks and corrective action |
|---|---|
| The server starts as vanilla | Confirm the complete package folders exist in the server’s game directory, then verify that the packages are enabled in the server’s current configuration. If you copied only the client settings, reproduce the enabled <contentpackage> entries in the server configuration without overwriting unrelated settings. |
| A package is missing from the selection list | Confirm that the package was fully downloaded and that its folder was copied to the directory the server actually reads. Check the Workshop item for dependencies and transfer those packages too. |
| The server loads but content conflicts or fails | Recheck dependency order and move required dependencies ahead of the dependent package. Disable unrelated packages temporarily to isolate an ordering or compatibility conflict. |
| Players are asked for missing packages every time | Confirm that the server copy is complete, the package entries were saved to the server configuration, and AllowModDownloads matches your distribution plan. Restart the server after changing any of those settings. |
| The package appears for the client but its interface changes are absent | Accept the missing-package download, then restart the client if the package changes the user interface. The package can be enabled while the current client session still displays the old interface. |
| The server is not visible or cannot be joined externally | Compare the configured server and query ports with the router and firewall rules. The documented defaults are UDP 27015 and 27016, but use the values in serversettings.xml if you changed them. |
Which version caveats apply to these instructions?
The official dedicated-server mod page identifies version 0.18.12.0, and the hosting page identifies version 0.18.15.0; both pages display 1.13.4.0 as the current version and carry a potentially outdated notice. Those labels make exact filenames, paths, and XML behavior version-sensitive rather than permanent guarantees.
Before applying an older procedure, compare the installed build’s generated directories and configuration files with the names above. If the current dedicated-server interface has replaced a config_player.xml step, follow the current interface. The transferable principles remain the same: obtain the package, place it where the server reads it, enable and order it, restart, and test client synchronization.
What is the safest installation sequence?
For a new server, this order minimizes avoidable mismatches:
- Install or locate the dedicated server.
- Record the server and query ports from
serversettings.xml, then configure forwarding if outside players need access. - Subscribe to Workshop items on a client or download them with SteamCMD, including every displayed dependency.
- Copy the complete package directories into the server’s game folder.
- Enable the packages and set their load order using the controls or configuration format supported by the installed build.
- Set
AllowModDownloadsaccording to whether clients should receive files from the server or obtain them from the Workshop. - Restart the server.
- Join from a client, accept any missing-package prompt, and restart the client if a UI-changing package requires it.
Frequently Asked Questions
Can I run a modded server without installing the full client on that machine?
Yes. A SteamCMD installation provides the dedicated-server files, and Workshop items can be downloaded with SteamCMD using app ID 602960. You then place those files in the separate server directory and configure the enabled packages there.
Why does editing serversettings.xml not change the running server?
Barotrauma reads that file when the game or server starts. Stop and restart the server after saving the change; editing the file while the process is running does not apply it immediately.
What does the purple server listing mean?
It indicates that the server is using content packages. Joining clients can be offered a missing-package download, after which the packages enable automatically; interface-changing packages can still require a client restart.
How can I experiment with a new load order without losing a working setup?
Stop the server and keep a copy of the current package configuration and server package folders before making changes. If the experiment fails, restore that known-good configuration and package set, then restart before inviting players.