A dedicated server can be hosted on either the dedicated server files, or the client files. When I refer to client files, I mean the files that are also used to play the game and that you get by buying and downloading the game on Steam. If you're just using the client files to host a server, you can safely skip the Downloading section as you already have everything you need.
Unlike the client files, anyone can download the dedicated server files from any Steam account, whether it has ownership of the game or not. The dedicated server files are also substantially smaller than the client files. The dedicated server files are recommended for hosting dedicated servers.
Dedicated server files - Steam desktop client
To download the dedicated server files from the Steam desktop client, simply go into the Library, switch from "ALL GAMES" to "TOOLS", and find "Chivalry: Medieval Warfare Dedicated Server".
Dedicated server files - SteamCMD
SteamCMD is the light-weight steam client, meant for dedicated servers, automation, and other situations where the desktop client is inappropriate. There's a lot more documentation on SteamCMD right here, on the Valve Developer Community wiki. Please read those instructions. When you get to the command to download/update the game, use this command to download thededicated server files (validate is an optional keyword that also validates the server files to ensure integrity)
If you want to host a Beta server, you'd instead use
When you update, if you copy the server files from one machine onto the server machine (or from one place to another for any other reason; i.e. you're not running from the Steam or SteamCMD library directory directly), be sure that you don't overwrite PCServer-UDKGame.ini or PCServer-UDKEngine.ini (if using the client files, don't overwrite UDKGame.ini or UDKEngine.ini), as these contain server-specific settings.
Also, make sure you update the config files (save for UDKGame and UDKEngine) inside any config subdirectories, if you make use of that feature! (Explanation below)
The configuration files are found inside chivalry_ded_server\UDKGame\Config. IF you want to host multiple servers from the same directory, you can copy all of the .ini files in this directory into a new subdirectory (e.g. copy all .ini files into chivalry_ded_server\UDKGame\Config\CTF1); the command to use config subdirectories is explained below in the Running section.
There are two configuration files that server operators should change. Altering other files is not recommended.
(when using the Client files, change UDKGame.ini instead)
Most options are in this file. The most important options are below; some explanations are included in DefaultGame.ini and are reproduced below. I'm going to include the section name, followed by important commands that should appear under that section. Lines preceded by ";" are comments, so they have no effect on the config file; you can copy them in for your own reference or leave them out.
[Engine.AccessControl] (Add this section if it doesn't exist)
[AOC.AOCGame] (for a full list of maps, see the Maplist section below)
(when using the Client files, change UDKEngine.ini instead)
[AOC.AOCGameEngine] - for EXPERIMENTAL global ban list support, add this section, with these contents:
The executable is found at Binaries\Win32\UDK.exe. To run it, create a shortcut, batch file, or whatever other link to the executable and make it look like:
If using the client files
UDK.exe server MAP_NAME?dedicated=true?steamsockets -seekfreeloadingserver
If using the dedicated server files
UDK.exe MAP_NAME?steamsockets -seekfreeloadingserver
You can add a number of additional commands, however only -seekfreeloadingserver is mandatory.
- -multihome=IP_ADDRESS -- Allows you to bind to a different IP address.
- -Port=#### -- Changes the port the server uses
- -QueryPort=#### -- Changes the query port Steam uses for this server
- -log=DIR_NAME\LOG_NAME.log -- Save log files into subdirectory DIR_NAME within the log directory
- -configsubdir=DIR_NAME – Load config files from subdirectory DIR_NAME within the config directory
- -maxplayers=### -- Sets the maximum players allowed into the server
So for instance, your target may look like:
UDK.exe AOCCTF-Moor_p?steamsockets -Port=7000 -QueryPort=7500 -log=CTFServer\server.log -configsubdir=CTFServer -maxplayers=24 -seekfreeloadingserver