Putting a server on the public list
A server announces itself to the public list at kcd-mp.com once a minute, and every launcher’s Servers tab shows
what the list has. Nothing has to be registered: a server that can be reached is on the list from its first minute and
off it three minutes after its last announcement. The settings are [master] and [server] in server.toml
(Server configuration).
1. The port
Section titled “1. The port”The server takes one UDP port, [server] port (7777 by default). Open it on the machine’s firewall and, behind a
home router, forward it to the machine - UDP, not TCP. Two servers on one machine take two ports.
2. The address
Section titled “2. The address”The list shows a server under the address it sees the announcement come from - the machine’s public address, which is right for a server on a rented box or behind a plain home connection. When it is not - a server that should be found under a hostname, or one behind an address the list cannot see - name it:
[master]url = "https://kcd-mp.com/server-list" # the public list; "" = announce nowhere (a private server)interval_seconds = 60 # how oftenpublic_address = "" # "" = the address the list sees; else a hostname or an addressurl = "" keeps a server off the list altogether - a test server, a private one for friends who connect by address. The
environment variables KCDMP_MASTER_URL and KCDMP_MASTER_ADDRESS stand in for the two addresses when set, and the
command line’s --master / --master-address beat both.
3. What players see
Section titled “3. What players see”The list carries the server’s name, its level, the players on it against max_players, the game mode’s name,
the server’s version and whether a password is needed:
[server]name = "KCD:MP dev server" # the name in the list and in the welcomemotd = "" # a line shown to every joining playerpassword = "" # players must type it to join; "" = openmax_players = 32level = "klaster" # klaster, trosecko or kutnohorskoA player picks the server in the launcher’s Servers tab (or types its address under Direct connect), gives the
password if there is one, and the launcher boots their game onto the server’s level. A client and a server only play
together on the same protocol number - the release notes give it - so a server is updated together with the client
release; [server] build_hash can further require one game build.
The list is also a page on the website, kcd-mp.com/server-list, with the same entries.
4. Keeping it yours
Section titled “4. Keeping it yours”- Admins:
[accounts] adminslists the registered names whose owners may use the server’s own commands after/login(Setting up);[commands] publicnames the built-ins anyone may use,disabledswitches some off. - Registration:
[accounts] registration = falsestops new/registerclaims once your regulars have theirs;login_holdkeeps a registered name frozen in a world of its own until it logs in, so nobody plays under it meanwhile. - Bans:
/kickban <player> [minutes]and/unbanin the chat, or a game mode’s own rules; the bans live next to the player records. - Cheating: the server owns every player’s health, stamina, items and position - it judges what the clients report
against its own record, and the world data sharpens that judgement: the terrain and the
collision geometry catch a player through a wall or in the air, the tables make a hit what the game says it is, and the
inventory audit (
[audit]) catches items a player cannot explain.
