off = status + errors only · on = per-packet hexdumps + debug lines
🐞 Queued-human teamsdebug only · applies to the NEXT match formed, not one already running
Match Host Settings
Capacity — Max Games / Mode
The max concurrent matches this host sustains per mode (use the Host Benchmark below to find them).
Reported to the control plane, which counts each running match as 100 / max% of this host's capacity and
fills lower-priority tiers only once this host nears its fill threshold. Blank = unset → falls back to the weighted budget.
—
Host Benchmark
Debug — off by default. Load-test how many concurrent sims this host sustains. Set a mirror count,
then start a real game: the host spins up that many shadow matches running the full independent
sim from your live input (output suppressed). Watch max tick vs the budget and CPU; back
off when tick exceeds budget. Set 0 to disable. (Applies to the NEXT match started.)
Shadow mirrors / match:Spin-up gap (ms):
Spin-up gap is host-wide (real allocations too, not just shadows): matches start at most one per gap
instead of all at once, so a burst ramps rather than pinning the CPU and stalling every running match.
Lower = faster starts, bigger CPU spike. 0 = unthrottled batch-start.
Worst ticks — attributed.GC ≈ tick → the sim was stalled by a garbage collection (chase
allocations; note a GC pause is process-wide, so one match's allocation stalls all of them). Otherwise the
phase column names the sim stage that actually ate the time.
Maintenance
On: only the Steam accounts below can log in — everyone else gets the game's own Maintenance popup at login.
The launcher shows MAINTENANCE instead of Play/Update (whitelisted players still see Play) and the Discord board says so.
Players already signed in are not kicked — matches in progress finish. A whitelisted tester must use the
patched client (a Valve-verified SteamID); a stock client's identity can't be trusted, so it never matches.
SteamID64
Note
Game Modes
Which modes the matchmaking queue will actually serve. A request for a mode that's turned off
routes back to the tutorial — the always-available fallback (it can't be disabled). Takes effect on the next match formed.
Matchmaking
Bot-fill off (default) = standard matchmaking: a match forms only when the lobby is full of humans, however long
that takes. On: once the longest-waiting party has waited the time below, the empty seats are filled with bots and the
match forms. A ready-check party that does not accept in time is dropped whole; every other party goes straight back in the queue.
Lobby degradation (off by default): when the population is thin, let a match form with smaller teams after a wait —
e.g. 4v4v4 normally, 3v3v3 after 3 minutes, 2v2v2 after 5. The empty seats stay empty (no bots). A party larger
than the current team size keeps waiting for a fuller lobby (parties are never split). Independent of bot-fill: whichever
fires first forms the match.
Crossroads (4-player co-op, never bot-filled): the queue forms the moment four humans are waiting; after the wait below the
longest-waiting party may start with fewer (Endemic always needs a full party). A party is sent to one of the enabled maps that
serves its difficulty. Only maps marked as matchmade in the catalog can be brought up.
Running Matches
Match Hosts
Worker machines this control plane places matches on. Match-hosts self-register on startup and
heartbeat their load; you can also pin one manually by IP/URL — e.g. http://192.168.0.51:8080.
Allocation prefers online, least-loaded hosts (closest region once you run more than one).
Status
URL
Region
Tier
Capacity
CPU / Mem
Matches
Mode maxes
Source
Name
Host Tokens
Mint a per-host fleet token and give it to a match-host operator. They set it as their
Fleet__Token (it doubles as that host's admin-panel token). Revoke to cut a host off instantly.
Label
Token
Created
New Account Setup
What every newly created account starts with on first login — funds, owned survivors, and starting weapons.
Applies to the next account created; existing accounts are unchanged (edit those in Survivor Accounts below).
Quantities seeded into the account's inventory (bandages, grenades, injectors…). They show in the crib's
Equipment screen; equip one there and it rides the matchmaking ticket into the match's consumable bar.
Only consumables this server simulates actually do anything in-match — the rest are inventory-only.
Vanity Titles & Icons
The profile titles (text in a rarity colour under the player's name) and icons (small images) players own as
inventory items and pick in the crib's profile window; other players see them in the party, on the scoreboard and in the
hover bar. Author them here — the icon designer converts any image to the game client's TGA format in your browser —
then Save (connected cribs are pushed the new table at once) and hand them out below.
Ids below are the retail id space (what old accounts, DLC packs and the shop reference);
new content is numbered from . Details: docs/crib/vanity.md.
Image library — wwwroot/vanity/images, served to every client; the designer above writes here. Hand-made TGAs can be dropped in below (uncompressed or RLE, 24/32 bpp, no image-ID field, bottom-left origin — the client's loader decodes nothing else)
Hand out
Served file
Welcome Popup
The image carousel the crib shows after login — the one server-authored announcement surface the stock client has.
Player groups are rules the server evaluates against each account; a slide goes to everyone or only to
the groups you tick. Images must be 810×477 PNGs (the client drops any other size) and are cached by URL on
every player's disk, so bump a slide's version whenever its image changes. Edits are local until you Save;
the next login gets the saved config. Details: docs/crib/welcome-popup.md.
Images — wwwroot/welcome/img; build new ones with Tools/welcome-slides/build.ps1 or upload an 810×477 PNG
Preview as account
Launcher
What every player's launcher shows and does — Data/launcher.json, served as /api/launcher.
Versions decide the UPDATE prompt: launcher.version is the release players are moved to,
launcher.min the oldest one still allowed to play, patch.version the client patch (DieAuth.dll) they must have —
each must be a tag that exists on the launcher's GitHub releases, or the update fails cleanly. News is the Home headline
(newest first), the tiles and the News screen; a body is Markdown (## headings, bullets, bold) and an image is
16:9. Bodies and images are stored by hash and fetched by a launcher once, ever. Edits are local until you Save.
Content store — Data/launcher-content, by hash; an item is deletable once nothing refers to it
Drop Table
What a finished match PAYS (blueprints, parts, consumables, keys, currency) and what a lockbox holds — Data/drop_table.json,
in the client's own DropTable shapes. Boxes score a match's loot value (points); curves give each reward a
value per loot tier (index = tier, 0 = unauthored) and an optional pity ladder; groups roll their rewards in order
(Simulate below shows the resulting rates); cache boxes are the lockboxes. Edits are local until Save, which
validates the whole document (a refused table writes nothing) and hot-reloads it for the next reward commit — no restart.
A save rewrites the file as plain JSON (the hand-written comments in the shipped file do not survive it).
Design + measured retail values: docs/plans/match-drops-design.md.
The level is derived from experience, never stored — the client runs the same curve over the one
number we send it. It gates the crafting TIER, the ability bar (2 abilities at level 1, the 3rd at 2,
the ultimate at 3), consumable slots (1 / 11 / 19) and trinket slots (23 / 25).
Level 15 = 4545 XP is the one that opens trinket crafting.
Setting a level here also grants every level-up item reward crossed on the way.
Fill EITHER box — "Set to level" wins and rewrites experience to that level's exact start.
Owned quantities. The New Account Setup grant only fires when an account is created, so this is how
an existing account gets some. Adding is a top-up (it merges into the stack) — use a negative
amount to take them away. Equip one in the crib's Equipment screen for it to reach a match.