Backend (“your server list”) — route checklist

What to implement on your HTTPS server when the hostname in global-metadata.dat points to you.

Documentation map

PageContents
HomeIndex, files to patch, quick routes
ImplementingFiles, patch vs proxy, compliance
Official & listis_official, API vs server tags, checklist
AlkadTirify + Alkad URLs
ArabArab + mixed Facepunch URLs
Real / SKYLIGHTFacepunch + companion URLs

Route matrix — suffix after your API base

Implement these path suffixes once your base URL is embedded in metadata (prefix differs per build).

SuffixUsed for
nexus/Nexus backend
playerAuth/steamSteam auth
public/serverlistMain browser list (JSON; is_official per row)
public/serverlist/bannedBanned list
discord/...Discord link / login / friends (per build)
Companionavatar, subscriptions/* (separate host on stock Real/SKYLIGHT)

Metadata fragments (copy)

public/manifest/?public_key=
public/steamServers/playerCounts/rust

Stub or implement if your client hits them.

Minimum viable custom server list

  1. HTTPS with a valid certificate for the hostname in metadata.
  2. …/public/serverlist → compatible JSON.
  3. …/public/serverlist/banned if requested (Arab build may still use Facepunch for banned until patched).
  4. Nexus / playerAuth stubs or real behavior if the UI calls them.

For exact JSON fields, capture traffic from a test client or reverse-engineer IL2CPP types.