serverconfig.xml - Dawn-of-Light/DOLSharp GitHub Wiki
The serverconfig.xml file is located in your DOL server "config" directory, this file is used for server startup.
<ServerName>Test Server</ServerName>
<ServerNameShort>TESTSERVER</ServerNameShort>
<AutoAccountCreation>True</AutoAccountCreation>
<GameType>Normal</GameType>
<CheatLoggerName>cheats</CheatLoggerName>
<GMActionLoggerName>gmactions</GMActionLoggerName>
<InvalidNamesFile>./config/invalidnames.txt</InvalidNamesFile>
-
<ServerName> and <ServerNameShort> are pretty much straight forward.
-
<AutoAccountCreation> enable Creation of Player Account when they first Login with an new Account Name, using password provided as default password. (can be later changed with in-game /password command)
-
<GameType> can change the default rules set of the server. You can choose along Normal, Casual, Roleplay, PvE, PvP, Test pre-defined rules set.
-
<CheatLoggerName> and <GMActionLoggerName> set the name of Log4j backend for specific Cheat Detected Actions or Privileged Account Actions.
-
<InvalidNamesFile> is the path to a text file containing line-separated Forbidden Name Constraints (can support Regular Expression by encapsulating constraint in /), this file is checked for Player Creation Names or Last Names setting in game.
<IP>0.0.0.0</IP>
<Port>10300</Port>
<UdpIP>0.0.0.0</UdpIP>
<UdpPort>10400</UdpPort>
// leave this untouched
<RegionIP>127.0.0.1</RegionIP>
<RegionPort>10400</RegionPort>
<DetectRegionIP>True</DetectRegionIP>
// this can be disabled most of the time
<EnableUPnP>True</EnableUPnP>
The only parameters really needed here are <IP>, <Port>, <UdpIP>, <UdpPort>, these are meant to initialize socket listening for player packets, Set them accordingly to your Firewall Settings.
Other Parameters are meant for future use in case DOL Server implements multi-instances feature running a clustered farm of servers, each one running a subset of Regions.
<DBType>MYSQL</DBType>
<DBConnectionString>Server=localhost;Port=3306;Database=DOLDATABASE;User ID=DOLUSER;Password=DOLPASSWORD;Treat Tiny As Boolean=False</DBConnectionString>
<DBAutosave>True</DBAutosave>
<DBAutosaveInterval>10</DBAutosaveInterval>
-
<DBType> and <DBConnectionString> is described in the Database topic, you can refer to the MySQL or SQLite documentation for Connection String syntax.
-
<DBAutosave> and <DBAutosaveInterval> enable a specific Timer Thread in Game Server that run periodic data objects update in Database, this can prevent losing too much data after an unexpected shutdown, only very few objects are saved through this Timer (GamePlayer / Inventory Mostly) other world static objects are written to database when they are updated in runtime.
<ScriptCompilationTarget>./lib/GameServerScripts.dll</ScriptCompilationTarget>
<ScriptAssemblies>System.dll,log4net.dll,System.Xml.dll</ScriptAssemblies>
Dawn Of Light support Dynamic Script compilation at server Startup, it gather all C# file in the ./scripts directory and build the GameServerScripts.dll to allow for Core extensions without needing all the build chain.
-
<ScriptCompilationTarget> set the path where to write the resulting Game Server Scripts Binary
-
<ScriptAssemblies> lists the Assemblies needed to successfully compile Game Server Scripts, if you add any custom file to the scripts directory needing an external libraries this is the place to set the dependencies. (By default Game Server Scripts Compilation will use all DLL Binaries detected in ./lib directory as referenced assemblies)
<LogConfigFile>./config/logconfig.xml</LogConfigFile>
<CpuUse>4</CpuUse>
-
<LogConfigFile> set the path to your Custom Log4j configuration file, you can filter server output log in there and change the default rotation constraints.
-
<CpuUse> set the number of Game Timer Threads to use for server Runtime, Game Timers are shared accross Game Regions to keep a Mono-Thread Behavior for each area of the game. If you restraint your world to only 1 or 2 Regions, or have all your players gathered in the same area, you won't be able to take advantage of Game Timer Threading...