Skip to content

Host settings

rebaserHEAD edited this page Oct 25, 2026 · 56 revisions

reference, committed verified 2026-10-24 dev dd9b230

Every setting a Release build reads: its default, what the host checks at start-up, and what it sets. A setting that fails its check stops the server before it listens, naming the setting, never its value (Host lifecycle).

A setting can also come from the environment, its name with __ for each :, such as Maps__TickMs.

Note

Generated from the settings classes at dev dd9b230 by Tools/NexusTomorrow.ProtocolReference. Don't edit it by hand: change the setting's documentation or its rule and regenerate.

Gateway

Gateway explains these.

Setting Default Must be Sets
Gateway:Sts:BindAddress 127.0.0.1 An IP address The address to bind
Gateway:Sts:Port 6600 1 to 65,535 The TCP port
Gateway:Login:BindAddress 127.0.0.1 An IP address The address to bind
Gateway:Login:Port 23115 1 to 65,535 The TCP port
Gateway:World:BindAddress 127.0.0.1 An IP address The address to bind
Gateway:World:Port 24000 1 to 65,535 The TCP port
Gateway:WorldPublicAddress 127.0.0.1 An IPv4 address The IPv4 address the login server hands the client for the world listener
Gateway:MaxClientFrameBytes 65536 bytes 64 to 1,048,576 The largest frame a client may send, in bytes
Gateway:ConnectionsPerAddress 8 1 to 1,000 Connections one address may hold at once on each listener
Gateway:PreAuthTimeout 30 s Positive How long a connection may stay open without completing its login
Gateway:OutboundQueueCapacity 4096 16 to 1,048,576 How many messages one connection may have queued for its client; a client that stops reading fills the queue, and the connection is disconnected rather than the sender made to wait
Gateway:DisconnectGrace 5 s 0 to 60 s How long a disconnecting connection may keep trying to deliver what is queued before it is closed regardless, so a client that has stopped reading cannot hold the connection open; zero closes at once
Gateway:LoginAttemptsPerMinute 10 1 to 1,000 Login attempts (STS login starts and login requests) one address may make per minute
Gateway:UnknownAccountSecret none Set: base64 of at least 32 bytes The key from which unknown accounts get stable fake credentials; keep it out of the repository; a secret, never logged
Gateway:DisabledOpcodes none Client opcodes switched off: dropped and counted as if they had no table row

Gateway:Sts:Port, Gateway:Login:Port and Gateway:World:Port must be three different ports.

Account

Owners explains these.

Setting Default Must be Sets
Account:TokenLifetime 60 s Positive How long a game token or a session key stays redeemable

Realm

Owners explains these.

Setting Default Must be Sets
Realm:Id 1 1 to 16,383 The realm's id, which the client keeps as its current realm and a character's unit carries
Realm:Name NexusTomorrow Set The realm's name, shown to the player
Realm:Flags 0 The realm's flags; bit 4 keeps characters to one faction
Realm:PvpType 0 0 to 1 0 PvE, 1 PvP
Realm:NoteTextId 0 A note about the realm, as a text id; 0 for none
Realm:MaxCharactersPerAccount 12 1 to 50 How many live characters an account may hold
Realm:StartLocations none Where a new character stands, by faction; a faction with no entry starts in world 0 at the origin
Realm:StartLocations:<n>:FactionId 0 The faction this location serves
Realm:StartLocations:<n>:WorldId 0 The world id
Realm:StartLocations:<n>:ZoneId 0 The zone id
Realm:StartLocations:<n>:X 0 The x coordinate
Realm:StartLocations:<n>:Y 0 The y coordinate
Realm:StartLocations:<n>:Z 0 The z coordinate

Maps

Map scheduler and Owners explain these.

Setting Default Must be Sets
Maps:PoolThreads the logical processors less three, at least 1 At least 1 How many pool threads run the maps that have no thread of their own; the default leaves three logical processors for the gateway, the realm and account owners and the garbage collector
Maps:DedicatedThreads 0 Not negative How many maps may run on a thread of their own; a dedicated placement past this many runs in the pool
Maps:TickMs 25 ms One of 25, 50, 125 or 250 A map's tick period in milliseconds, which divides 250 so an effect timed on a multiple of 250 ms lands exactly on a tick
Maps:ReplicationEveryTicks 5 How many ticks make one replication interval: TickMs times this is the interval the client is told to send its movement at (WorldSettings.MovementInterval), within the client's 25 to 1,000 ms
Maps:SaveInterval 60 s At least 1 s How often a character that changed is saved in a map; each character's first save falls at random within one interval of its arrival
Maps:NormalDrainBudget 5 ms Positive How long a tick keeps handling normal-priority messages once it has handled NormalDrainFloor of them
Maps:NormalDrainFloor 32 At least 1 How many normal-priority messages a tick handles at least, however long that takes
Maps:AdmitRadius 128 At least 1 How near, in world units, another player must come before a player sees it: the map creates it for the viewer at its next replication flush
Maps:DropRadius 160 At least 1 How far, in world units, a seen player may go before the map destroys it for the viewer; beyond AdmitRadius, so a player near the edge is not created and destroyed over and over
Maps:VisibleCap 256 At least 1 The most other players one player sees at once; past it, the nearest are created first
Maps:SwapsPerCheck 32 At least 1 The most players created for one viewer at one replication flush, so a crowd fills in over a few flushes
Maps:SayRange 155 At least 1 How near, in world units, a player must stand to hear another's /say line, measured in three dimensions from the speaker; a server policy figure, not the client's

Maps:TickMs times Maps:ReplicationEveryTicks must be from 25 to 1,000 ms.

Maps:AdmitRadius must not exceed Maps:DropRadius.

Persistence

Persistence explains these.

Setting Default Must be Sets
Persistence:ConnectionString none Set The Npgsql connection string; a secret, never logged
Persistence:SaveWorkers 4 At least 1 How many queue workers apply work at once
Persistence:FirstRetryDelay 100 ms Positive The wait before the first retry of failed work; each retry doubles it
Persistence:MaxRetryDelay 30 s Positive The longest wait between retries
Persistence:FirstIdBlockTimeout 30 s Positive How long the host's start waits for the first character id block before it fails

Persistence:FirstRetryDelay must not exceed Persistence:MaxRetryDelay.

Cli

Command layer explains these.

Setting Default Must be Sets
Cli:Enabled on Whether the server reads admin commands from its console, which stays off whenever standard input is redirected

Content

Owners explains these.

Setting Default Must be Sets
Content:ClientDataPath none The folder MapGenerator extracted the operator's own client data into, which holds tbl\; never in the repository

AccountDefaults

Owners explains these.

Setting Default Must be Sets
AccountDefaults:Entitlements the full game's set: 4, 10, 14 to 22, 61 and 62, one of each, and the store licenses 12, 3, 27, 23, 25, 26, 36, 71, 74, 75, 42 and 43 at their caps Each entitlement once, by a nonzero id, with a count of at least 1 when one is given The entitlements every account holds, sent with the world grant before character select; unset, the full game's set (FullGame). A list given here replaces that set whole
AccountDefaults:Entitlements:<n>:Id 0 The entitlement, an Entitlement table id
AccountDefaults:Entitlements:<n>:Count none How many of it the account holds; unset, the Entitlement row's maxCount, the most the client counts
AccountDefaults:PremiumTier 1 0 to 31 The premium tier every account holds, sent with the world grant (AccountPremiumTier) and on every player's unit; 1 is the top tier of the premium system the client runs, the full game
AccountDefaults:CreationLevelLimit 3 At least 1 The creation level limit sent with the world grant: of the creation options that need no entitlement, the client offers those starting at this level or below (CreationLevelLimit.Level), and the realm creates only those

Clone this wiki locally