Pular para o conteúdo
Warcon
Código aberto, MIT Bun · SvelteKit · Postgres Docker Compose

RCON para WARDOGS, sem distribuir a senha.

Warcon é um painel auto-hospedado para servidores dedicados de WARDOGS. Administre seus servidores de um só lugar, dê a cada admin seu próprio login e função, e mantenha um registro do que acontece. A senha RCON fica criptografada no servidor, então seus admins nunca precisam vê-la.

Use em console.warcon.app ou rode sua própria cópia com docker compose up. É o mesmo painel de código aberto nos dois casos.

Visão geral de um servidor de WARDOGS no Warcon mostrando a pontuação das equipes, os detalhes do mapa e o controle da partida

Capturada no servidor de demonstração embutido, então os números são inventados.

O problema

O console web oficial chama o servidor do jogo direto do navegador por HTTP sem criptografia. Por isso ele não pode ser servido por HTTPS, e cada admin precisa da senha RCON.

O que o Warcon faz

O Warcon faz essas chamadas no lado do servidor. A senha fica armazenada criptografada com AES-GCM, os admins entram com as próprias contas e cada ação é verificada antes pela função de quem a executa.

E deixa tudo registrado

Um registro de auditoria é gravado antes de a resposta voltar: quem fez o quê, em qual servidor, com quem, e se o jogo aceitou.

Recursos

Para clãs e comunidades, com um servidor ou vários.

01

Seus servidores em um só lugar

Adicione cada servidor de WARDOGS que você administra, cada um com sua própria senha RCON criptografada. Um processo worker fica de olho neles, e as páginas se atualizam ao vivo enquanto estão abertas.

02

Contas, não uma senha compartilhada

Cada clã ou comunidade é uma organização com seus próprios servidores e membros. Pelos links de convite, as pessoas entram com Discord ou Steam, e há suporte a chaves de acesso (passkeys) e apps autenticadores. As funções são por servidor, e você pode editá-las ou criar as suas.

03

Uma trilha de auditoria

Logins, alterações de usuários e servidores, e comandos do jogo, com quem fez, o alvo, o resultado e quanto tempo levou. Filtre, exporte em CSV ou JSON e leia ao lado o próprio log do servidor do jogo.

04

Estatísticas e histórico de partidas

O jogo guarda pouco histórico, então o worker registra: jogadores online ao longo do tempo, disponibilidade, tempo por mapa, horários de pico, sessões e tempo de jogo, e cada partida com seu placar. Os rankings podem ser públicos por servidor.

05

Histórico e notas de jogadores

Abra um jogador para ver as sessões, os nomes que ele já usou e as ações aplicadas a ele nos seus servidores, com notas compartilhadas e uma lista de observação. A pontuação de risco opcional é só um indício: o RCON não mostra mira, posição nem inputs, então não tem como detectar trapaça.

06

Automação que você pode simular

Sussurros de boas-vindas, anúncios agendados, reset de mapa quando o servidor esvazia, regras de kick ao conectar e um filtro de nomes. Você pode testar cada regra com as últimas 24 horas antes de ativá-la, e tudo o que ela faz fica registrado.

07

Bans e vagas reservadas compartilhados entre servidores

Mantenha uma lista de bans e outra de vagas reservadas para a organização, com motivos e datas de expiração, e o worker as aplica em cada um dos seus servidores.

08

Discord

Publique em um canal os eventos de auditoria que você escolher, seja avisado quando um jogador observado entrar ou mantenha para cada servidor um card de status ao vivo que se atualiza na mesma mensagem.

09

Os controles do console oficial

Status e placar, kick, ban, kill, sussurro, troca de equipe, anúncios, controle de mapa e de partida, edição da rotação, vagas reservadas, score tick, imagem do patrocinador e ServerSettings.ini com validação e aplicação.

Como funciona

O Warcon fica entre seus admins e o jogo.

O app web serve as páginas e mantém as sessões. Um processo worker separado faz as chamadas ao listener RCON de cada servidor do jogo, consulta cada servidor a cada um ou dois segundos quando está movimentado e com menos frequência quando está vazio, e registra o que o jogo não guarda. Tudo fica armazenado no Postgres; com TimescaleDB, as amostras mais antigas são comprimidas.

Rode ao lado do servidor do jogo, em um VPS ou em um host de contêineres. Ele só precisa alcançar a porta RCON: diretamente, por uma rede privada ou através de um proxy TLS na máquina do jogo.

Navegador
Os admins fazem login
HTTPS ▸
Warcon
Web · worker · auditoria
HTTP ▸
Servidor do jogo
:7776 WDRCON
Postgres
usuários · servidores · auditoria · amostras · partidas

O protocolo foi obtido por engenharia reversa do console oficial e está documentado no repositório. Uma atualização do jogo pode mudá-lo, então algo pode quebrar até o Warcon se adaptar.

Auto-hospedar

Docker Compose e um único arquivo para editar.

O Docker Compose inicia o app web, o worker e um banco TimescaleDB, e aplica as migrações antes. Abra a URL, crie a conta de dono, adicione um servidor e envie um link de convite aos seus admins. Um servidor de demonstração embutido permite dar uma olhada antes de digitar uma senha de verdade.

  1. 1Uma máquina com Docker: um VPS barato, um PC velho ou a própria máquina do servidor do jogo.
  2. 2O host, a porta RCON (geralmente 7776) e a senha RCON do seu servidor.
  3. 3Opcional: Caddy, nginx, Traefik ou um Cloudflare Tunnel na frente para HTTPS.
Terminal
git clone https://github.com/warcon-app/warcon.git warcon && cd warcon
cp .env.example .env
# defina BETTER_AUTH_SECRET, ENCRYPTION_KEY e RELAY_SECRET com valores de `openssl rand -base64 32`,
# POSTGRES_PASSWORD, e ORIGIN com a URL que as pessoas vão abrir
docker compose up -d
Funções

Dê a cada admin o que ele precisa.

As funções são por servidor, então um membro pode ser admin em um servidor e viewer em outro. Cada organização começa com as três funções abaixo. Os donos dela podem mudar o que cada uma permite ou criar as suas, como uma função para admins em teste que pode dar kick mas não ban.

Açõesvieweroperatoradminowner da organização
Status, jogadores, kills, rotação, bans e vagas reservadas, estatísticas, rankings, estatísticas por jogador✓✓✓✓
Anúncio, sussurro, kick, kill, troca de equipe, controle de partida e de mapa, edições de rotação ao vivo, notas de jogadores e a lista de observação·✓✓✓
Bans, vagas reservadas, as listas de bans e de vagas reservadas da organização, salvar a rotação, configuração e ajustes, automação, a trilha de auditoria de todos os usuários e o log do servidor, RCON bruto··✓✓
Servidores, membros, funções, links de convite e webhooks do Discord; a trilha de auditoria da organização···✓