1
0
Fork
You've already forked BaroMaster
0
A Barotrauma Legacy Master Server replacement https://baromaster.catsarch.com
  • PHP 91.6%
  • CSS 8.4%
2026年06月13日 11:17:18 -04:00
all_shared.php Remove unneeded PHP closing tags 2025年03月27日 09:26:04 -04:00
Barotrauma Legacy Master Server Interaction Documentation.md Cleanup of the master server interaction documentation file 2025年09月26日 16:42:25 -04:00
favicon.ico Add a basic landing page that shows how to use the master server and gives a count of online servers and players 2025年03月14日 11:12:24 -04:00
index.php fix: add quotes around the url on the webpage too 2026年05月07日 08:02:02 -04:00
LICENSE Initial commit 2025年03月10日 15:35:02 -04:00
masterserver2.php Remove unneeded PHP closing tags 2025年03月27日 09:26:04 -04:00
masterserver3.php Instead of erroring on longer server names cut them off instead 2025年06月13日 12:13:09 -04:00
masterserver_shared.php Remove unneeded PHP closing tags 2025年03月27日 09:26:04 -04:00
README.md docs: add slash to the end of master server url like the website shows 2026年05月07日 08:03:07 -04:00
style.css homepage: deal with smaller screen sizes better 2026年06月13日 11:17:18 -04:00
versioninfo.xml Initial commit 2025年03月10日 15:38:36 -04:00

Barotrauma Legacy Master Server

Quick links:

Overview

This project aims to be a Barotrauma Legacy master server replacement.

The master server controls the in-game server list, without it you need an outside way of discovering servers and their connection details.

While it isn't 100% faithful to the operation of the original master server I believe the changes are for the better. See the Differences section for more info.

Here to use a new Barotrauma Legacy master server?

Edit config.xml inside of your Barotrauma Legacy folder and change the value of masterserverurl so that it looks like masterserverurl="https://baromaster.catsarch.com/".

The URL can be changed to any other master server as well.

I'm the host of https://baromaster.catsarch.com and plan to keep it running for the forseeable future.

Hosting

All you need to run this is a PHP capable webserver that can work with PDO sqlite databases. Using external databases is currently not supported but pull requests are welcome.

As soon as it's being served by something capable of processing PHP and handling PDO sqlite databases you're in business! When any page is accessed a database with all of the necessary columns will be automatically created.

Master Server operation and interaction documentation

To see my findings on how the master server is expected to operate and interact with clients and servers check out the Barotrauma Legacy Master Server Interaction Documentation file.

It explains what I've found the master server's responsibilities to be, how it should deal with them, and how this master server implementation handles them.

Differences

In a couple of places this master server implementation differs from what the Barotrauma client and server allow you to do. All of them are listed below.

  1. Higher maxmimum player count. Because it appears to be possible to mod a server to allow more players without any client side modification, this master server implementation allows a max player count of up to 99.

  2. Server names must be unique. This is to prevent easy impersonation of another server by using the same name.

  3. Leading and trailing spaces are trimmed from the name in the server list. This is to try and enforce keeping server names unique and prevent easily bypassing it by adding a space at the beginning or end of a name.

  4. All space server names are not allowed. This is to prevent servers with seemingly blank names from appearing in the server list.

  5. Server names are truncated after 21 characters. serversettings.xml allows you to set a name of any length, which could lead to clipping into other columns in the server browser. Therefore this master server implementation will try and mimic what the modern version of the game does and truncate names that are too long. Names longer than this can still be submitted and the full name will still be shown when clients join the server.

  6. Updates will not be served via the launcher (by default). This is to avoid licensing problems for redistributing the game. It also avoids security issues because you'd be in control of both the files being served and their expected checksums. This is just default behavior, but anyone could easily edit versioninfo.xml and change this. If you choose another master server please think twice before clicking that "Download" button in the launcher.

  7. The launcher will not show the real changelog if the game is out of date. This is because the included version.xml file will instead show a message on how to update manually because the files aren't served.