DataServer.ini
Database connection, port, logging, and license for DataServer
Primary configuration file for DataServer. All keys live under a single [DataServerInfo] section.
File Location
DataServer/DataServer.iniLoaded once at startup. Changes require a DataServer restart.
Configuration
All keys belong to section [DataServerInfo].
DataServerODBC
string
(empty)
ODBC DSN name for SQL Server. Must exist in Windows ODBC Data Sources on the DataServer host. Required.
DataServerUSER
string
(empty)
SQL login user. Leave empty to use Windows Authentication if the DSN is configured for it.
DataServerPASS
string
(empty)
SQL login password. Leave empty when using Windows Authentication.
DataServerPort
int
55960
TCP port GameServers connect to. Must match each GameServer's DataServer port setting.
AdvancedLog
0 or 1
0
Enables verbose per-packet logging on both inter-server dispatchers (GS-DS and the extended guild/castle/gens channel). Noisy; use only when diagnosing a specific issue.
LicenseKey
string
(empty)
64-char hex license token tied to this DataServer instance. Required; empty or invalid prevents startup.
Connection Pool
DataServer opens the primary connection plus 4 pool connections, all using the same DSN and credentials. The pool size is fixed at compile time and not configurable via the INI.
Implications for SQL Server sizing:
Each DataServer consumes 5 concurrent SQL logins
The SQL login must permit at least 5 simultaneous sessions
Under load, all 5 can be busy at once; plan
max worker threadsandmax connectionsaccordingly
AdvancedLog
0
Standard log only (connections, errors, summary lines)
1
Adds per-packet header logging for the main GS-DS dispatcher and for the extended guild/castle/gens channel
Leave off in production. Enable temporarily when tracing a specific save or load path, then disable; the extra I/O slows the server under load.
Important Behavior
Keys are read with the Windows INI parser. A missing file or missing key yields the documented default (empty string for text keys, the listed integer for numeric keys), so a missing or unreadable
DataServer.iniresults in an empty DSN and an empty license key, which then fail license activation and the SQL connectLicense activation runs before anything else. An empty or invalid
LicenseKeystops the process before the SQL connect is attemptedPrimary database connection is attempted first; pool connections open next. Either failure keeps the TCP port closed, so GameServers cannot connect
License activation requires the license service to be reachable at startup. Offline grace only applies to heartbeats after a successful activation, not to the activation itself
Quotes, trailing spaces, and BOM can cause silent value truncation
Related files loaded from the DataServer root alongside this INI:
AllowableIpList.txtandBadSyntax.txt
Examples
Common Issues
Startup freezes at "Loading files..." -
LicenseKeyis empty, invalid, or the license service is unreachable"Could not connect to database" - DSN name typo, wrong credentials, or the DSN targets the wrong SQL Server instance
"Could not connect pool connection N" - primary login works but the SQL login's session limit is below 5
GameServer cannot reach DataServer -
DataServerPortchanged but GameServer config was not updated, or a firewall blocks the portExcessive log noise, slow responses -
AdvancedLogleft at1under production load
Related Pages
AllowableIpList.txt - GameServer IP whitelist loaded alongside this INI
BadSyntax.txt - forbidden substrings for character and guild names
ConnectServer.ini - sibling INI for ConnectServer using the same parser conventions
Last updated