API
Os dados do seu servidor,nas suas próprias ferramentas.
Uma API somente leitura para servidores Premium: quem está online, a partida, jogadores, abates e histórico. As chaves são criadas em WARPANEL → Configurações → API.
Endpoints · warpanel.gg/api/v1Somente leitura
GET/v1/serversSeus servidores agora (navegador de servidores)
GET/v1/serverO servidor agora
GET/v1/playersJogadores e estatísticas (rankings)
GET/v1/players/{steamId}Um jogador
GET/v1/matchesPartidas recentes
GET/v1/eventsFeed de eventos (abates e resultados)
GET/v1/weaponsArmas
GET/v1/mapsMapas
GET/v1/totalsTotais (hoje, temporada, desde sempre)
GET/v1/historyHistórico e horários de pico
~❯curl -H "Authorization: Bearer $WARPANEL_API_KEY" https://warpanel.gg/api/v1/server
{
"server": {
"id": "x7k2p9",
"name": "[DOGS] Dog House EU | KOTK",
"joinCode": "ABCD1234",
"region": "eu-central",
"source": "rcon"
},
"online": true,
"players": {
"current": 58,
"max": 100
},
"match": {
"map": "Bakurani",
"lighting": "Day",
~❯
Como funciona
- 01JSON somente leitura via HTTPS. URL base: https://warpanel.gg/api/v1
- 02Autenticação: envie a chave como
Authorization: Bearer wpk_…(ouX-API-Key: wpk_…). As chaves são criadas pelo dono do servidor em WARPANEL → Configurações → API. Uma chave de servidor lê um servidor; uma chave de rede (só o dono) lê todos os servidores que o dono tem no WARPANEL. - 03Chaves de rede escolhem o servidor com ?server=<id> (ids vêm de GET /servers; um slug ou código de entrada também funciona) ou ?server=all para combinar os servidores (jogadores são unidos pelo Steam ID). Sem ?server, os endpoints que podem combinar combinam (all), e /server pede um. Uma chave de servidor pode omitir ?server.
- 04Só servidores Premium. Uma chave para de responder (403 premium_required) enquanto o servidor em que foi criada estiver no plano Grátis.
- 0560 requisições por minuto por chave. Cabeçalhos: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset (segundos). Acima do limite: 429 com Retry-After.
- 06Do nosso lado, dados ao vivo ficam em cache por 10 segundos, o feed de eventos por 5 segundos, estatísticas por 1–2 minutos e histórico por 10 minutos, então consultar mais rápido não adianta. Use cache do seu lado também (30–60 s é suficiente para um site).
- 07Horários em ISO 8601, em UTC. /totals e /history aceitam ?tz= (um fuso IANA como Europe/Berlin) para "hoje" e os horários de pico. Steam IDs são strings SteamID64 de 17 dígitos. Os times são Valkyra (vermelho), Lonestar (azul) e Manticore (verde); um servidor comporta até 100 jogadores.
- 08Jogadores que se ocultaram dos rankings ficam fora das listas de jogadores; no resto (lista ao vivo, partidas, eventos) aparecem como "Hidden player" com steamId null.
- 09O CORS está aberto para GET, mas mantenha a chave em um servidor (uma rota de backend, função serverless ou Cloudflare Worker) — qualquer coisa no JavaScript do navegador pode ser lida por qualquer visitante.