Mod Master Server

FastAPI · Neon Postgres · GitHub Releases

/api/py/health

System

checking…
Servers online—
Servers total—
Players online—
Players stored—
Downloads—
  • Neon database: not configuredDATABASE_URL — servers, players, mod_downloads tables
  • GitHub releases: not configuredGITHUB_TOKEN (fine-grained, Contents: read-only) + GITHUB_REPO=owner/name
  • Admin API key: not configuredMASTER_API_KEY — sent as X-API-Key header
  • Public server registration: not configuredALLOW_PUBLIC_SERVER_REGISTRATION=true lets anyone add a server (off by default)

Latest mod release

Fetching from GitHub…

Live server list

Loading servers…

Endpoints /api/py

Interactive docs

Mod updates

  • GET/update/{project}/{channel}
    302 to the channel build (stable/rc/beta/alpha/dev); ?format=json for metadata
  • GET/update/{project}
    Current version per channel
  • GET/mod/latest
    Latest GitHub release metadata
  • GET/mod/check?current=1.2.0
    Compare a client version to latest
  • GET/mod/download
    302 to a short-lived signed asset URL
  • GET/mod/download/{asset_id}
    Download a specific asset

Server list

  • GET/servers
    Online servers (official first)
  • POST/servers
    Register; returns a one-time server tokenX-API-Key
  • POST/servers/{id}/heartbeat
    Report player counts and online playersX-Server-Token
  • PATCH/servers/{id}
    Update name, description, tagsX-Server-Token
  • DELETE/servers/{id}
    Remove the serverX-Server-Token

Player data

  • GET/players/{uuid}
    Fetch stored player dataX-Server-Token
  • PUT/players/{uuid}
    Upsert player JSON data (merge by default)X-Server-Token
  • POST/players/{uuid}/session
    Add playtime from a finished sessionX-Server-Token
  • GET/players
    List and search playersX-API-Key
  • DELETE/players/{uuid}
    Delete a player recordX-API-Key

Endpoints marked X-Server-Token also accept the admin X-API-Key. Update endpoints are also served at the short path /update/… in addition to the /api/py/update/… form.