Skip to content

Endpoint de status ​

O IdleBazaar faz um GET nesse endereço ao salvar o cadastro e depois a cada 10 minutos. O resultado atualiza o selo online/offline, os jogadores online e o recorde.

http
GET https://mygame.com/api/status

Campos do JSON ​

CampoTipoObrigatórioDescrição
onlinebooleansimSe o jogo está no ar. Com false, os jogadores online contam como 0.
players_onlineintegersimJogadores conectados agora. Inteiro maior ou igual a zero.
max_playersintegernãoCapacidade máxima. Se informado, players_online não pode passar dele. Padrão: 0.
record_playersintegernãoRecorde de jogadores online. Padrão: o valor de players_online.
uptimeintegernãoTempo no ar, em segundos. Padrão: 0.
idlebazaar_claimstringnãoSó para reivindicar o jogo: o código gerado na página do jogo.

Exemplo de resposta ​

json
{
  "online": true,
  "players_online": 42,
  "max_players": 1000,
  "record_players": 120,
  "uptime": 3600
}

Exemplos de implementação ​

js
app.get('/api/status', (req, res) => {
  res.json({
    online: true,
    players_online: game.countOnlinePlayers(),
    max_players: 1000,
    record_players: game.recordPlayers(),
    uptime: Math.floor(process.uptime()),
  })
})
php
<?php
header('Content-Type: application/json');
echo json_encode([
    'online' => true,
    'players_online' => $game->countOnlinePlayers(),
    'max_players' => 1000,
    'record_players' => $game->recordPlayers(),
    'uptime' => time() - $game->startedAt(),
]);
python
@app.get("/api/status")
def status():
    return {
        "online": True,
        "players_online": game.count_online_players(),
        "max_players": 1000,
        "record_players": game.record_players(),
        "uptime": int(time.time() - game.started_at),
    }
go
http.HandleFunc("/api/status", func(w http.ResponseWriter, r *http.Request) {
	w.Header().Set("Content-Type", "application/json")
	json.NewEncoder(w).Encode(map[string]any{
		"online":         true,
		"players_online": game.CountOnlinePlayers(),
		"max_players":    1000,
		"record_players": game.RecordPlayers(),
		"uptime":         int(time.Since(game.StartedAt).Seconds()),
	})
})