Servers.cfg: Difference between revisions
No edit summary |
No edit summary |
||
Line 200: | Line 200: | ||
{{CLArg|IsLoggingMaster <1/0>|If 1, this server will propagate the configured loglevels to all of the connected servers.}} | {{CLArg|IsLoggingMaster <1/0>|If 1, this server will propagate the configured loglevels to all of the connected servers.}} | ||
{{CLArg|MARTYEnabled <1/0>|Enable/disable the MARTY anti-cheat.}} | {{CLArg|MARTYEnabled <1/0>|Enable/disable the MARTY anti-cheat.}} | ||
{{CLArg|DebugSendPlayersDelayMS <n>|When sending the list of characters to a client, delay the SQL query by this many milliseconds.}} | |||
{{CLArg|DefaultLoyaltyPointsFakeAuth <n>|Number of loyalty points automatically granted to FakeAuth accounts.}} | |||
{{CLArg|DefaultLoyaltyLegacyPointsFakeAuth <n>|Number of loyalty legacy points automatically granted to FakeAuth accounts. ''Legacy?''}} | |||
{{CLArg|ForceOverloadProtection <1/0>|Forces overload protection to be enabled.}} | |||
{{CLArg|OverloadProtection_LauncherHighWaterMarkPercent <decimal>|Launcher upper bound for overload protection. When the percentage of launchers that cannot launch a server rises above this percentage, engage overload protection.}} | |||
{{CLArg|OverloadProtection_LauncherLowWaterMarkPercent <decimal>|Launcher lower bound for overload protection. When the percentage of launchers that cannot launch a server drops below this percentage, disengage overload protection.}} | |||
{{CLArg|OverloadProtection_SQLQueueHighWaterMark <n>|SQL upper bound for overload protection. When the size of the SQL queue grows larger than this, engage overload protection.}} | |||
{{CLArg|OverloadProtection_SQLQueueLowWaterMark <n>|SQL lower bound for overload protection. When the size of the SQL queue drops below this, disengage overload protection.}} | |||
{{CLArg|MapserverIdleExit <n>|Shut down mapservers if they are idle for this many minutes. Default is 0 (idle shutdown is disabled). Keep in mind that maps without {{ms|Transient}} in their maps.db entry will never shut down, even after being idle.}} | |||
{{CLArg|MapserverIdleUpkeep <n>|Number of minutes a mapserver must be idle before performing idle maintenance. Idle maintenance will attempt to minimize the memory footprint of the mapserver by compacting the working set. Default is 20 minutes.}} | |||
{{CLArg|MapserverDailyUpkeep <start> <end>|Specify an hour range (24-hour clock) for when to perform daily maintenance on static mapservers. Daily maintenance is disabled by default.}} | |||
{{CLArg|SendDoorsToAllMaps <1/0>|Whether door updates should be sent to all mapservers. This is a legacy behavior; by default, updates are only sent to static maps and supergroup bases, and not mission maps, raid maps and arena maps.}} | |||
{{CLArg|MetricsEnabled <1/0>|Enable ZeroMQ metrics. Disabled by default.}} | |||
{{CLArg|MetricsIPAddress <ip>|IP address for the ZeroMQ instance.}} | |||
{{CLArg|MetricsPortNumber <port>|Port for the ZeroMQ instance.}} | |||
{{CLArg|MetricsMQType <n>|This is "the socket type of the metrics system's ZeroMQ connection".}} | |||
{{CLArg|MetricsHighWaterMark <n>|The high water mark of the ZeroMQ connection.}} | |||
{{CLArg|AdvertisedIp <ip>|Force mapservers to advertise this IP address to clients rather than what the mapserver wants. This is useful for NATed servers. | |||
''This really shouldn't be in servers.cfg. It belongs in individual launcher configurations instead.''}} | |||
}} | }} | ||
Revision as of 15:44, 21 May 2019
servers.cfg is the main configuration file for the dbserver. Other components load the file as well, including the launcher, arenaserver, raidserver, and statserver.
The directives in the file are used to populate the global ServerCfg configuration. Directive names are also case-insensitive. Lines with a leading #
are ignored.
Configuration directives
servers.cfg is a list of config options, one per line. If a config option is repeated, the last one in the file overrides all others. Each line has several words, separated by spaces or tabs. If there are extra words on the end of the line, they are ignored. Spaces can be included in a word by surrounding it with double quotes.
Anywhere that DNS names are used, IP addresses can be used instead.
|
The DNS name of the dbserver. This is used by other components to determine where to connect. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Auxiliary dbservers. Launchers can connect to multiple dbservers; more servers are specified as | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
The name of the shard this dbserver manages. This must match a shard name in turnstile_server.cfg. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Enable fake auth. This lets clients log in directly to the dbserver (with any account) instead of going via an authserver. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
The DNS name and port to use when connecting to the authserver. Either this or | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Local IP addresses. If an address matches the top two octets of any address specified here, the dbserver considers it local. What is this actually for? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
The SQL database type. The supported configurations are | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
The name of the dbserver database. Most common name is | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
The connection string for the database connection. Example: SqlLogin "DRIVER={SQL Server Native Client 11.0};Server=localhost\SQLEXPRESS;Uid=sa;Pwd=YourL33TPASS!;" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
An SQL query to initialize the dbserver database for the first time. If SqlInit "CREATE DATABASE cohdb;" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Enable or disable the use of DDL for manipulating the database. This is the master switch for all of the related SQL directives. DDL must be enabled in order to perform many operations for altering the database schema. If a required DDL command is not allowed, the server will exit. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Same as | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Allow the | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Allow the | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Allow the | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Allow the | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Allow the | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Set the access level of new characters. This should be 0 for any production system. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Set the log file directory. Default is | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Set the behavior of assertion failures. Multiple modes can be specified if the argument is wrapped in quotes. Possible modes are:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
The maximum number of players that can be connected at any time. The maximum value is AUTH_SIZE_MAX (8191): #define AUTH_SIZE_MAX (((1<<14)/2)-1) //so Auth server treats any number (1<<14) or bigger as being zero. So we're saying that you //can't have a max size > 1<<13-1 so that you can have 1<<13 available for the queue. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Unsure what this is. It's only used in one place, queueservercomm, so it doesn't actually seem to be a server-side login attempt limiter. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Unsure about this. It's only ever sent to authserver when it queries how many are online, but that code is dead: if (server_cfg.min_players && 0 /*sqlFifoNearFull()*/) authPutU16(pak,server_cfg.min_players); else authPutU16(pak,AUTH_SIZE_MAX+server_cfg.max_players); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Enable or disable the use of the queueserver. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Put F2P players in the queue if the account server is down. Presumably? clientcomm s_skipQueue | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Let people into the shard even if we would queue them normally? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Disable the statserver; have the launcher send | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Set the "registry name". This is used to construct the path to the Windows registry keys. Default is | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Extra parameters to send to launched mapservers. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Possibly perform extra verification checks on containers? Sends | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Possibly perform extra verification checks on containers? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Enable the logserver. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Set the IP address of the logserver. This implies enabling the logserver. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Enable verbose logging. Of what? Inter-server handover? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Set the IP address of the chatserver. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Runs some kind of stored procedure. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Appears to be global max level for NPCs. It doesn't seem to be max level for characters, which you might think. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
NPC max level for blue zones? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
NPC max level for red zones? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Number of shared H/V character slots per player? Default is 12, maximum is 48. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Number of days to keep stored backups (characters?) for. Minimum is 30 days. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Highest level of character that can be moved to offline storage. Default is 35. Probably? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Number of days before a character is moved to offline storage. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Sends | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Log when packets are dropped or received out of order. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Extra verification on auth packets? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Hostname for the master beaconserver. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Don't launch the master beaconserver. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Number of beaconrequestservers to launch. Negative values correspond to 2. Default is -1. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Don't preload the crash report DLL. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Cache directory for requests made to the beaconservers. Probably. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Don't launch any beaconclients. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Don't launch any TSR mapservers. TSR mapservers preload data to shared memory to make loading other mapservers faster. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Difference in hours between the time on the mapserver and the dbserver. Default comes from the OS. This is sent from dbserver to mapserver, but doesn't seem used? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Disable on-disk container backups. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Experience multiplier. Default is 1.0. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Auction entries for accounts that have not logged in in this many days are not sent. Default is 60. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
This is associated with BlockFreePlayersIfNoAccountServer and EnqueueWithAuthLimiter, but I'm really not sure what it's for. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Characters greater than this access level can bypass the auth limiter. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
A comma or space delimited list of map keys to not load. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
A comma or space delimited list of disabled zone events. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
A list of commands to be executed by the client upon connection. See Client-to-dbserver#DBGAMESERVER_SEND_PLAYERS. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Deprecated. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
The maximum amount of bytes allowed in the send queue to the missionserver. Default is | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
The maximum amount of bytes allowed in the publish queue to the missionserver. Default is | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
The locale of the shard. This must either be a locale name or 0 (in which case English is chosen). Possible values are:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Force user authbits to be set regardless of the state in the database. The format is comma or space-separated authbit names; see | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Whether or not this shard is a beta shard. On beta shards, users can use the broken mission fix every 10 minutes, rather than every 3 days. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Whether or not this shard is a VIP shard. Only accounts marked as VIP can log into this shard. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Deprecated. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Deprecated. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Deprecated. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Deprecated. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Set/unset the Going Rogue authbit. Only works on FakeAuth shards. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Deprecated. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Show the nag dialogs and buy button for Going Rogue. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
How many days of past karma event history to read on load. Default is 30. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Number of seconds to keep character names temporarily reserved. This must be greater than the client refresh time, which is 600. Default is 1200. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Set the log level of the various log types. This directive can appear multiple times. Possible levels are:
Possible log types are listed below. They are case-insensitive. General
dbserver
Mapserver
Accountserver
Arenaserver
Auctionserver
Missionserver
Raidserver
Statserver
Turnstileserver
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
If 1, this server will propagate the configured loglevels to all of the connected servers. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Enable/disable the MARTY anti-cheat. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
When sending the list of characters to a client, delay the SQL query by this many milliseconds. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Number of loyalty points automatically granted to FakeAuth accounts. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Number of loyalty legacy points automatically granted to FakeAuth accounts. Legacy? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Forces overload protection to be enabled. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Launcher upper bound for overload protection. When the percentage of launchers that cannot launch a server rises above this percentage, engage overload protection. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Launcher lower bound for overload protection. When the percentage of launchers that cannot launch a server drops below this percentage, disengage overload protection. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
SQL upper bound for overload protection. When the size of the SQL queue grows larger than this, engage overload protection. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
SQL lower bound for overload protection. When the size of the SQL queue drops below this, disengage overload protection. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Shut down mapservers if they are idle for this many minutes. Default is 0 (idle shutdown is disabled). Keep in mind that maps without | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Number of minutes a mapserver must be idle before performing idle maintenance. Idle maintenance will attempt to minimize the memory footprint of the mapserver by compacting the working set. Default is 20 minutes. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Specify an hour range (24-hour clock) for when to perform daily maintenance on static mapservers. Daily maintenance is disabled by default. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Whether door updates should be sent to all mapservers. This is a legacy behavior; by default, updates are only sent to static maps and supergroup bases, and not mission maps, raid maps and arena maps. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Enable ZeroMQ metrics. Disabled by default. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
IP address for the ZeroMQ instance. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Port for the ZeroMQ instance. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
This is "the socket type of the metrics system's ZeroMQ connection". | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
The high water mark of the ZeroMQ connection. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Force mapservers to advertise this IP address to clients rather than what the mapserver wants. This is useful for NATed servers. This really shouldn't be in servers.cfg. It belongs in individual launcher configurations instead. |
Example
DBServer 127.0.0.1 ShardName SCRUBBED UseFakeAuth 1 #AuthServer 127.0.0.1 DefaultAccessLevel 255 NoStats 1 LocalIP 127.0.0.1 MaxPlayers 300 AssertMode Fulldump UseQueueServer 0 UseLogServer 0 OverrideAuthBit RogueAccess ChatServer 127.0.0.1 KarmaEventHistoryDays 30 MapserverIdleUpkeep 20 MapserverIdleExit 20 FastStart 1 MaxPlayerSlots 1000 MaxDualSlots 1000 AuctionInvMaxLastLoginDays 1000 // BeaconMasterServer 192.168.0.1 RequestBeaconServerCount 0 BeaconRequestCacheDir "c:\beaconrequestcache" DoNotLaunchBeaconClients 1 DoNotLaunchMapserverTSRs 0 AuthnameLimiterEnabled 0 AuthnameLimiterAccessLevel 20 SetLogLevel "Auction" -2 SetLogLevel "Chat" 1 SetLogLevel "Admin" -2 SetLogLevel "Bug" -2 SetLogLevel "CharSlotApply" -2 SetLogLevel "Debug" -2 SetLogLevel "Delete" -2 SetLogLevel "deletion" -2 SetLogLevel "entity" -2 SetLogLevel "Error" -2 SetLogLevel "cheaters" -2 SetLogLevel "MARTY" -2 SetLogLevel "Offline" -2 SetLogLevel "Powers" -2 SetLogLevel "Rewards" -2 SetLogLevel "SuperGroup" -2 SetLogLevel "SystemSpecs" -2 SetLogLevel "sze_rewards" -2 SetLogLevel "turnstile" -2 SetLogLevel "cmds" -2 SetLogLevel "internalcmds" 1 SqlDbProvider mssql SqlDbName coh SqlAllowDDL 1 SqlLogin "Driver={SQL Server Native Client 11.0};server=localhost;database=coh;trusted_connection=Yes;" SqlInit 1