Skip to main content

Register a server in the SanVerse directory

The current alpha lets a developer account create a server record from the SanVerse dashboard. This is a free masterlist registration, not paid hosting and not a charge for player slots. The launcher shows the server only while its instance authenticates heartbeats with the issued masterlist token.

Before you start

  • Create a SanVerse account.
  • Have a unique lowercase slug made of letters, numbers and hyphens.
  • Prepare a short description, region, language and game mode.
  • Use de as the only platform value. SanVerse currently supports GTA San Andreas Definitive Edition only.
  • Have a public DNS hostname or public IP address and a port from 1024 through 65535 for the server connection. Loopback, private, documentation and other non-routable addresses are rejected.

Create the record

  1. Sign in and open Dashboard.
  2. Select Servers, then Add server.
  3. Enter the server metadata and submit the form.
  4. Copy the returned masterlist token immediately. It is displayed once and must be stored outside source control. Registration does not provision or sell a SanVerse server.

Add the token to the server's private server.json (never to a client resource or Git):

{
"masterlist": {
"enabled": true,
"serverId": "your-server-id",
"token": "your-masterlist-token",
"controlPlaneUrl": "https://api.example.com"
}
}

The server uses this credential only for masterlist authentication and heartbeat/join-ticket verification. It is never returned in public directory responses. Rotate it from Dashboard if it is exposed; the previous token is revoked.

The connection host and port are owner-only metadata. They are excluded from the public directory response and are provided only through the launcher-scoped join flow after its ticket checks.

Send heartbeats

Your server sends authenticated heartbeats to the control plane with its current and maximum player counts. A valid heartbeat updates the directory status. A server is shown as online only while it continues to meet the 90-second heartbeat window.

Send the credential in X-Server-Token, never in a query string or request body:

POST /api/v1/servers/{serverId}/heartbeat
X-Server-Token: your-server-credential
Content-Type: application/json

{
"currentPlayers": 0,
"maxPlayers": 64,
"serverVersion": "0.1.0",
"protocolVersion": 1,
"platforms": ["de"]
}

Never place the credential in a public repository, a client build or a browser. If it is exposed, open the server settings in the dashboard and rotate it. Rotation revokes the prior credential.

What is not available yet

The alpha does not make a server verified, featured or cross-platform merely because it is listed. Those programmes and compatibility claims will have their own documented requirements before they are shown publicly.