This is the configuration for the Kim Jong Un servers.
In order to use this configuration, clone it in your doi/cfg folder, i.e. as doi/cfg/doi-config.
It's not possible in Source configs to handle paths dynamically, thus the location cannot be changed.
Afterwards, create a server config that loads the init-<gamemode>.cfg config files.
For example, for the Coop Commando configuration set, your server.cfg might look like this:
hostname "MY-SERVER-NAME"
rcon_password "MY-PASSWORD"
exec doi-config/init-coop-commando.cfg
The included prepare_server.sh can be used to start up the server and perform most automatic tasks.
It will update SourceMod, Metamod:Source, SourceBans, and etc., as well as install symbolic links to the Git folder where needed.
Lastly, the appropriate workshop ID file in the configs folder for the server has to be passed on commandline to SRCDS via sv_workshop_list_file.
It's not possible to set this dynamically after launch, unfortunately.
The configuration includes a setting of r_hunkalloclightmaps 0 to prevent crashes with large maps like ardennes.
Community made maps of that size contain significant lightmap data, and will otherwise experience what's known as an Engine Hunk Overflow.
Under certain circumstances, like loading such a map as the default server map, it might be necessary to add this to the server launch parameters.
The game server requires certain 32-bit libraries being installed on Linux. These are
glibc
libgcc
libstdc++
SDL2
zlib
It is possible to replace SDL2 with the sdl2-compat compatibility layer that implements SDL2 atop SDL3.
The Steam Client library has the following additional possible dependencies, which are however only loaded by client apps and not servers:
SDL3
libX11
PulseAudio (libpulse)
The game server binaries contain references to the following libraries as well:
OpenAL
util-linux
freetype2
fontconfig
These libraries would only be loaded by the client code paths in engine.so, and thus if the game asks for any of them, there's something going wrong.
In particular, this happened when BattlEye got removed from the game with in 2025 until resolved the next day in a second update.
The tickrate for Day of Infamy should not be changed. While it's possible to run with 128 tick, the game never supported this properly. In particular, at 128 tick, throwables like grenades will start to bounce excessively. Effectively, the game physics break down, even if the game otherwise runs fine.
Included is a SourceMod plugin that automatically adjusts the bot count depending on the amount of players, independent from map scripting. For this to work, the currently active game mode needs to have a server_<gamemode>.cfg as it should have from the gamemodes folder.
In order to enable stats with custom content and the playlist restrictions not to apply, the provided engine_srv.so in the server-patch directory has to be copied into doi/bin. It has been modified to not enforce the aforementioned restrictions.
The admin menu sm_admin requires the keys 6 to 0 to be bound. Add the following to your client configuration (config.cfg):
bind "6" "slot6"
bind "7" "slot7"
bind "8" "slot8"
bind "9" "slot9"
bind "0" "slot10"
Aside from the included plugins the servers run the following additions:
- SourceBans
- Advertisements
- The threaded SQL admins module (included with SourceMod)