-
AUC Masterserver v0.1.0 Pre-release
released this
2026-07-22 21:44:57 +02:00 | 0 commits to main since this releaseAUC Masterserver v0.1.0
English
Initial release of the All Under Control Masterserver.
The masterserver provides the central public server list for AUC. Dedicated game servers periodically register through HTTPS, while clients can retrieve the current server list and SQP availability.
Features
POST /heartbeatfor game server registration and updatesGET /listfor the public server browserGET /healthfor service monitoring- Automatic removal of expired game servers
- UDP-based SQP availability and latency checks
- Configurable heartbeat limits, server expiry and SQP timings
- Official-server verification through API-key whitelisting
- BB-Code validation for formatted server descriptions
- IPv4 and IPv6 support
- Cross-platform binaries for:
- Linux AMD64
- Linux ARM64
- Windows AMD64
- macOS ARM64
Security
- Intended for operation behind an nginx reverse proxy
- Internal service binds to
127.0.0.1:5001by default - Trusted proxy handling for the real client IP
- Heartbeat request size and rate limits
- Strict JSON and field validation
- Private and special-purpose IP addresses rejected by default
- API keys are never exposed through the public server list
- Owner-only permissions for the official-server whitelist
- Configurable HTTP server timeouts
Default timings
- Game server expiry: 60 seconds without a heartbeat
- SQP check interval: 20 seconds
- SQP timeout: 3 seconds
- SQP offline threshold: 3 consecutive failures
- Heartbeat rate limit: 5 requests/second per public IP
- Heartbeat burst: 20 requests
An unavailable SQP port only results in
sqp.online=false. The server remains listed as long as valid heartbeats continue to arrive.Deployment notes
The service should be exposed through nginx using HTTPS. TCP port
5001must remain inaccessible from external networks.Existing installations should verify these settings in
master_config.ini:sqpCheckIntervalSeconds=20 sqpTimeoutMilliseconds=3000 sqpFailureThreshold=3Use the provided
SHA256SUMSfile to verify downloaded binaries:sha256sum -c SHA256SUMS
Deutsch
Erste Veröffentlichung des All Under Control Masterservers.
Der Masterserver stellt die zentrale öffentliche Serverliste für AUC bereit. Dedicated Gameserver registrieren sich regelmäßig über HTTPS, während Clients die aktuelle Serverliste und den SQP-Erreichbarkeitsstatus abrufen können.
Funktionen
POST /heartbeatzur Registrierung und Aktualisierung von GameservernGET /listfür den öffentlichen ServerbrowserGET /healthzur Überwachung des Dienstes- Automatisches Entfernen abgelaufener Gameserver
- UDP-basierte SQP-Erreichbarkeits- und Latenzprüfung
- Konfigurierbare Heartbeat-Limits, Ablaufzeiten und SQP-Zeiten
- Verifizierung offizieller Server über eine API-Key-Whitelist
- BB-Code-Validierung für formatierte Serverbeschreibungen
- Unterstützung für IPv4 und IPv6
- Plattformübergreifende Binärdateien für:
- Linux AMD64
- Linux ARM64
- Windows AMD64
- macOS ARM64
Sicherheit
- Für den Betrieb hinter einem nginx-Reverse-Proxy vorgesehen
- Der interne Dienst bindet standardmäßig ausschließlich an
127.0.0.1:5001 - Sichere Auswertung der tatsächlichen Client-IP hinter dem Proxy
- Größen- und Rate-Limits für Heartbeat-Anfragen
- Strikte Validierung von JSON und sämtlichen Feldern
- Private und reservierte IP-Adressen werden standardmäßig abgelehnt
- API-Keys werden niemals über die öffentliche Serverliste ausgegeben
- Ausschließliche Eigentümerrechte für die Official-Server-Whitelist
- Konfigurierbare HTTP-Server-Timeouts
Standardzeiten
- Ablauf eines Gameservers: nach 60 Sekunden ohne Heartbeat
- SQP-Prüfintervall: 20 Sekunden
- SQP-Timeout: 3 Sekunden
- SQP-Offline-Schwelle: 3 aufeinanderfolgende Fehler
- Heartbeat-Limit: 5 Anfragen pro Sekunde und öffentlicher IP-Adresse
- Heartbeat-Burst: 20 Anfragen
Ein nicht erreichbarer SQP-Port führt ausschließlich zu
sqp.online=false. Der Server bleibt gelistet, solange weiterhin gültige Heartbeats eingehen.Hinweise zur Installation
Der Dienst sollte über nginx und HTTPS erreichbar gemacht werden. Der interne TCP-Port
5001darf nicht aus externen Netzwerken erreichbar sein.Bestehende Installationen sollten folgende Einstellungen in der
master_config.iniüberprüfen:sqpCheckIntervalSeconds=20 sqpTimeoutMilliseconds=3000 sqpFailureThreshold=3Die heruntergeladenen Binärdateien können mithilfe der mitgelieferten
SHA256SUMSgeprüft werden:sha256sum -c SHA256SUMSDownloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
2 downloads