Forlix SrcDS Manager (2011/06)
This is a Source Dedicated Server manager for Windows hosts. It monitors all configured SrcDS processes in parallel, restarts servers
in case of crashes, pings the servers every few seconds to determine if they are still responsive, and keeps servers up to date.
With this tool, your Windows SrcDS will be one of the first to update and come back online after a required game update.
The manager is easily installed as a Windows Service in the desired location using a single command and spawns all SrcDS processes in the
background once started. A shutdown or stop signal makes the manager service kill all its servers and then end itself.
|

The service installed on a Windows 2003 server
|
Automatic update support (which is broken when using the out-of-the-box Windows-SrcDS) is added and managed for all servers.
A supplied Metamod:Source plugin "MRRPatch" places a marker file
update_request.txt in the gamedir and shuts down the server with a configurable delay once it
receives an out-of-date message (MasterRequestRestart or short MRR). Before attempting to (re-)launch a server,
the manager always checks for the existence of this file and initiates the HldsUpdateTool if required.
Installation:
Place the srcds_mgr.exe and your adapted srcds_mgr.cfg files in a folder
of your choice. A recommended location is the directory where you installed the HldsUpdateTool. To install the service,
open a command prompt, change to that directory and type srcds_mgr.exe -i. The service is now installed
and can be launched from the Services Management Console. Uninstallation is done the same way, using the argument -u.
For automatic update support, install the MM:S plugin on all servers launched by the manager. Simply extract the ZIP file with the addons folder
into your mod folder and MM:S will automatically load the plugin on the next mapchange or server restart.
It is highly recommended to disable error reporting via Control Panel > System > Advanced,
and also to disable "Application Popups" by setting the Registry-Key
"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Windows\ErrorMode" to 2
(MS KB 128642). Otherwise you may experience the manager
continuously trying to restart a server without success, because the crashed instance is still waiting for someone to acknowledge the popup.
Notes on manual control:
A GUI monitor application is planned (in the distant future...), from where individual servers can be stopped and restarted,
or the update process triggered manually. Right now, stopping individual servers is not possible, and neither is the changing of startup
parameters for individual servers without restarting the service (and thereby all servers). To manually initiate an update on one of the servers,
you can issue the manual trigger command of the MM:S plugin via RCON (see below).
Detailed features:
- Monitoring of up to 16 server processes independently in parallel
- Server health is checked by sending A2S_INFO queries at fixed intervals
- Server memory usage is monitored, and a server terminated if the set limit has been exceeded
- Process priority and affinity can be set for each server individually
- Keeps a detailed logfile regarding the restarts and updates of all servers
- Only one server will be updated at a time using a queue system
- HldsUpdateTool output is logged to a seperate file
- An unsuccessful HldsUpdateTool run will cause the update to be repeated up to 2 times
- Server shutdown can be postponed until player count drops to a threshold
- Any connected players will be notified of the server shutdown and update in advance
Changes in v1.03: (2011/06)
Configuration file for SrcDS Manager (srcds_mgr.cfg):
This file is parsed once on service startup. The syntax is similar to HL config files - if a key or value contains no spaces,
surrounding quotes can be omitted. Double-slash comments are supported. Detailed errors including line numbers will be
printed to the logfile if the parsing was unsuccessful.
// Forlix SrcDS Manager configuration file
// List all servers and their parameters
"My First CS:S Server"
// Friendly name used to identify the server in the logfile
{
Path "C:\Program Files\Valve SrcDS"
// Path to the servers root directory
Exec "\orangebox\srcds.exe"
// Relative path to the srcds.exe file (appended to "Path")
GameDir cstrike
// Name of the mod folder (cstrike, tf, ...)
Host 1.2.3.4
Port 27015
// Server IP (or DNS name) and port
MaxPlayers 24
MapName de_dust
// Max players and initial map to be loaded
MiscArgs "-nohltv +log 1"
// List any other start parameters for srcds.exe
Priority High
// Process priority (values as listed in Windows Task Manager)
Affinity 0xFFFFFFFF
// Affinity bitmask (0xFFFFFFFF: All CPU's, 0x05: CPU0+CPU2)
MaxMemory 192
// Memory limit (Paged+Nonpaged) in megabytes
// Recommended minimum values: CS:S: 150, TF2: 500
UpdTool "\HldsUpdateTool.exe"
// Relative path to HldsUpdateTool (appended to "Path")
UpdGame "Counter-Strike Source"
// Game update string required by HldsUpdateTool
}
Configuration ConVars for the MRRPatch plugin:
forlix_mrrpatch_triggerdelay (default 120)
- Sets the time in seconds between receiving an MRR and trying a server shutdown
forlix_mrrpatch_maxplayers (default 8)
- Server shutdown will be postponed until player count has dropped to this threshold
forlix_mrrpatch_version
- Version tracking (don't modify this)
-
Servers running this plugin (Game-Monitor.com)
ConCommands:
forlix_mrrpatch_manualtrigger
- Initiates the shutdown sequence as if an MRR has been received
|