ThunderHosting

API di hosting giochi: gestire e ordinare server

Crea una chiave API, controlla i server, leggi la console e ordina nuovi server pagati con il credito prepagato.

Con una chiave API dell’organizzazione, script e bot fanno ciò che fai nella pagina del server. Il riferimento completo è nell’area clienti in Organizzazione, Sviluppatori, Server di gioco.

1. Creare una chiave

  1. Apri Organizzazione, Impostazioni, Chiavi API e crea una chiave.
  2. Scegli l’ambito game:read per leggere server e console, oppure game:write per anche controllarli e ordinare.
  3. Copia la chiave (inizia con org_k_). Viene mostrata una sola volta.

2. Controllare un server

GET/api/v1/customer/game-serversv1
POST/api/v1/customer/game-servers/{id}/powerv1
bash
API="https://api.thunderhosting.com/management"

curl -H "Authorization: Bearer org_k_..." \
  $API/api/v1/customer/game-servers

curl -X POST -H "Authorization: Bearer org_k_..." -H "Content-Type: application/json" \
  -d '{"action":"restart"}' \
  $API/api/v1/customer/game-servers/SERVER_ID/power

3. Console: comandi e output

GET/api/v1/customer/game-servers/{id}/console?lines=100v1
POST/api/v1/customer/game-servers/{id}/command/capturev1
bash
curl -X POST -H "Authorization: Bearer org_k_..." -H "Content-Type: application/json" \
  -d '{"command":"list","waitMs":1500}' \
  $API/api/v1/customer/game-servers/SERVER_ID/command/capture

# {"command":"list","lines":["There are 2 of a max of 20 players online: Alex, Sam"]}

L’endpoint console restituisce le ultime righe (fino a 500). L’endpoint capture invia un comando e restituisce ciò che il server ha stampato nel tempo di attesa. Usa /command se l’output non ti serve.

4. Ordinare un server con il credito prepagato

POST/api/v1/customer/game-servers/quotev1
POST/api/v1/customer/game-servers/ordersv1
bash
curl -X POST -H "Authorization: Bearer org_k_..." -H "Content-Type: application/json" \
  -H "Idempotency-Key: my-order-001" \
  -d '{"game":"minecraft-paper","plan":"custom","memoryMb":8192,"cpuPercent":200,
       "diskMb":40960,"eulaAccepted":true,"acceptTerms":true}' \
  $API/api/v1/customer/game-servers/orders
  • Ricarica prima il credito prepagato; l’ordine viene pagato subito con esso.
  • Usa quote con lo stesso contenuto per vedere il prezzo prima di ordinare.
  • Se il credito non basta, la risposta è 402 e non viene ordinato nulla.
  • Invia un Idempotency-Key così una richiesta ripetuta non ordina mai due volte.
  • Poi interroga la lista dei server con il subscriptionId ricevuto finché il server è ACTIVE.

Una chiave API è come una password per la tua organizzazione. Tienila segreta, dai a ogni script la sua chiave ed elimina le chiavi che non usi più.