Dark Messiah of Might and Magic is an action fantasy RPG. The dedicated server component can be run as a Windows Service using FireDaemon Pro, which lets you start the application automatically at boot prior to login, start multiple instances of the application and more. This HOWTO will show you how to set it up. You can also use Fusion to manage FireDaemon and other Windows services via a web browser.

Dark Messiah of Might and Magic Dedicated Server Setup Under FireDaemon Pro

First download and extract SteamCMD. The download is small (< 2 MB).

Go to the directory where you installed SteamCMD and create a shortcut to "SteamCMD.exe". Next edit the properties of the shortcut and in the target box, at the end of it (with a space before the following), put:

+login USERNAME PASSWORD +force_install_dir "C:\Dark Messiah" +app_update 2145 validate +quit

Replace USERNAME and PASSWORD with your Steam login info. The Target box should now look like:

C:\SteamCMD\steamcmd.exe +login USERNAME PASSWORD +force_install_dir "C:\Dark Messiah" +app_update 2145 validate +quit

Now click the shortcut you created and let it run to download the server files. It might take a few hours to update everything. You should also run the shortcut every week or so to grab the latest server updates. Make sure to stop your server first.

There are a few bugs in the Dark Messiah of Might & Magic Dedicated Server software that were not fixed when the game was ported to SteamCMD. To fix this, install GCFScape from here. Run the installer. On the last screen before installing, be sure to select "Associate with VPK files". Then click next to continue the installation of GCFScape on your computer.

Once you've installed GCFScape, visit the /vpks/ folder within the folder where you installed Dark Messiah of Might & Magic. Drag the file depot_2132_dir.vpk to GCFScape. Right click the folder shown below root and select Extract. Save these files to an empty folder so we can use them later.

Repeat this process for depot_2133_dir.vpk, depot_2134_dir.vpk, depot_2135_dir.vpk and depot_2144_dir.vpk. Be sure to save all these extracted folders to the same folder.

Once you've extracted all these files, copy them to the folder where you installed Dark Messiah of Might & Magic, allowing any existing files to be overwritten.

Finally, revisit the folder where you installed SteamCMD and copy all the .dll files to the /bin/ folder within your Dark Messiah installation, overwriting files as needed.

Dark Messiah of Might & Magic uses one configuration file, server.cfg, to store your settings. A sample server.cfg file is included at the end of this HOWTO. Edit this file to suit your preferences and save it in the /cfg/ folder of your server installation.

Download and install FireDaemon Pro into the directory of your choice, typically C:\Program Files\FireDaemon.

Next start the FireDaemon GUI from the desktop shortcut. Click on the "Create a new service definition" button in the toolbar (or type Ctrl+N) and enter the information into the fields as you see below. Adjust the paths to suit your installation. Note the required parameters.

  • Executable: The path to your Dark Messiah of Might & Magic srcds.exe file. The default path is C:\dark messiah\srcds.exe.
  • Working Directory: The directory containing your Dark Messiah of Might & Magic srcds.exe file. The default path is C:\dark messiah.
  • Parameters: -console +maxplayers 16 +map ctf_3 -port 27015 -ip +exec server.cfg
    • "-console" enables text base server display. The server can only be automatically restarted in text based mode.
    • "+map" loads a specified map on server startup. You can change "ctf_3" to whatever map you want. This command should never be removed.
    • "+maxplayers 16" This controls the maximum of amount of players you want your server to run. You can only control the max players on server startup. This command should never be removed.
    • "-port 27015" This is the default server port for your server. You can change it to anywhere from 27015 to 27020. Changing it is generally used when you host multiple servers (as each server has to use its own port when using the same IP). Be sure this port is open to traffic. This command should never be removed.
    • "-ip" should be the IP of your computer (not, go here to get your IP). This command should never be removed.
    • "+exec server.cfg" This executes your server.cfg file on server startup. If you run multiple servers from the same installation, you can specify other config files (e.g. server2.cfg)

Now click on the Settings tab. If you DON'T want to see your dedicated server running, uncheck the Interact with Desktop check box & select “Hidden” from the “Show Window” dropdown. You may optionally run Dark Messiah of Might & Magic as the user you installed it as. In the Logon Account field type your username (e.g. Administrator) and then enter the user's password twice in the Password and Confirm fields. You can change the Process Priority to allocate more CPU time to the dedicated server or specify which CPU or core the dedicated server will run on (in the case of multi-processor, hyperthreaded or multi-core CPUs).

Now click on the Lifecycle tab. Uncheck Graceful Shutdown as Dark Messiah of Might & Magic doesn't respond to it.

Now click OK to finish setup and start your dedicated server!

Dark Messiah of Might & Magic server.cfg File

Below is a sample Dark Messiah of Might & Magic server.cfg file.

// server name
 hostname "Your Server name here"
 // server admin (rcon) passsword
 rcon_password "yourrconpasshere"
 // server join password
 sv_password "yourpasshere"
 //Game Play Vars
 mp_friendlyfire 1
 sv_alltalk 0
 sv_pausable 0
 sv_cheats 0
 sv_consistency 1
 sv_voiceenable 1
 mp_gametype 2 //[0|1|2] 0 = Deathmatch 1 = Team Deathmatch 2 = Campaign
 // bandwidth rates/settings
 sv_minrate 3000
 sv_maxrate 20000
 decalfrequency 60
 sv_maxupdaterate 100
 sv_minupdaterate 30
 // server logging
 sv_logbans 1
 sv_logecho 1
 sv_logfile 1
 sv_log_onefile 0
 //Specify that we want this specific servers logs placed in a folder called logs/server1
 //to separate them from another servers logs
 sv_logsdir "logs/server1"
 log 1
 // operation
 sv_lan 0
 // region the server should appear in under the steam browser
 sv_region 0
 sv_contact "www.example.com"