Aplicații
API public (fără autentificare)
Cele patru endpoint-uri GET pe care le citește chiar site-ul și care nu cer cont: setări, statistici, starea serviciilor și catalogul de jocuri.
Site-ul public își ia datele de la aceste endpoint-uri, deci le poți citi și tu. Toate sunt GET, răspund JSON și nu cer token. Adresa de bază este https://api.dominosland.com.
Structura câmpurilor poate evolua odată cu site-ul. Folosește doar câmpurile de care ai nevoie și tratează orice câmp lipsă ca „necunoscut”, nu ca zero.
curl https://api.dominosland.com/api/site/statsGET /api/site/stats
Statistici publice pentru site-uri și launcher. Răspunsul este ținut în cache 30 de secunde pe server, iar numerele de membri Discord se reîmprospătează la 5 minute.
- generatedAt: momentul calculării.
- servers: total, online, players, slots, byGame (pe tip de joc: servers, online, players) și list (doar serverele online cu adresă IP publică, cel mult 100, cu id, name, gameType, address, players, maxPlayers, map).
- games.supported: numărul de jocuri din catalog (fără „other”).
- plans: active (numărul de planuri) și currency.
- creators.live și partners: numere.
- discord: members și online, citite din invitația publică, sau null dacă nu e setată sau nu răspunde.
- jarvis: online, localConnected și providers (id, keys, available).
GET /api/site/settings
Tema, planurile, partenerii și linkurile comunității, citite de site, launcher și aplicația mobilă.
- theme și media_player (quality_options, subtitles, watch_to_earn cu enabled, credits_per_block, block_minutes).
- live_creators: listă cu id, name, platform.
- billing: currency, providers, plans, coinRedeem și limitLabels (planurile cu prețurile lor curente).
- partners și community (brand_name, tagline, discord_invite_url, bot_invite_url, socials).
- generatedAt.
GET /api/partners/public
Lista partenerilor aprobați și vizibili, cea afișată pe pagina de parteneri. Fără date personale ale solicitanților.
- partners: un obiect pe partener, cu id, name, game, gameLabel, address, website, discordInvite, description, playerCount, logoUrl și accentColor (null unde nu se știe).
- games: jocurile din catalog (id, label) pe care le poate alege un solicitant.
- generatedAt.
GET /api/hub/status
Starea serviciilor, cea folosită de /status și /ecosystem (vezi ghidul „Starea serviciilor”).
- status: „online”, „degraded” sau „down”.
- checkedAt și latencyMs (cât a durat verificarea).
- components: listă cu id, name, group, state („online”, „degraded”, „down” sau „unknown”), detail, checkedAt și, uneori, latencyMs.
- Alte câmpuri tehnice, precum vps.uptimeSec, folosit de pagina /status.
GET /api/games/catalog
Catalogul de jocuri pe care GamePanel știe să le instaleze.
- service, brand, count (numărul de jocuri) și generatedAt.
- games: un obiect pe joc, între altele cu gameType, label, installMethod, ports (game, query, rcon) și linkuri către pagina jocului.
Limitări
- API-ul are limitare de cereri. Valorile implicite din cod sunt 60 de cereri la 10 secunde și 300 la 60 de secunde (per utilizator autentificat, altfel per IP); echipa le poate schimba. Peste limită primești 429 (Too Many Requests).
- Din browser, cererile cross-origin sunt acceptate doar de pe domeniul dominosland.com și subdomeniile lui (CORS). Din scripturi pe server sau din curl nu există această restricție.
- Restul endpoint-urilor cer autentificare și nu sunt documentate aici.