Przejdź do treści
Warcon
Open source, MIT Bun · SvelteKit · Postgres Docker Compose

RCON dla WARDOGS bez rozdawania hasła.

Warcon to panel do samodzielnego hostowania dla serwerów dedykowanych WARDOGS. Zarządzaj swoimi serwerami z jednego miejsca, daj każdemu adminowi własny login i rolę, i miej zapis tego, co się dzieje. Hasło RCON pozostaje zaszyfrowane na serwerze, więc twoi admini nigdy nie muszą go widzieć.

Korzystaj z console.warcon.app albo uruchom własną kopię poleceniem docker compose up. W obu przypadkach to ten sam otwartoźródłowy panel.

Przegląd serwera WARDOGS w Warcon z wynikami drużyn, szczegółami mapy i sterowaniem meczem

Zrobiony na wbudowanym serwerze demo, więc liczby są zmyślone.

Problem

Oficjalna konsola webowa łączy się z serwerem gry prosto z przeglądarki przez nieszyfrowany HTTP. Przez to nie da się jej serwować przez HTTPS, a każdy admin potrzebuje hasła RCON.

Co robi Warcon

Warcon wykonuje te wywołania po stronie serwera. Hasło jest przechowywane w postaci zaszyfrowanej AES-GCM, admini logują się na własne konta, a każda akcja jest najpierw sprawdzana względem ich roli.

I wszystko zapisuje

Wpis audytu jest zapisywany, zanim odpowiedź wróci: kto co zrobił, na którym serwerze, komu i czy gra to przyjęła.

Funkcje

Dla klanów i społeczności, z jednym serwerem lub kilkoma.

01

Twoje serwery w jednym miejscu

Dodaj każdy serwer WARDOGS, który prowadzisz, każdy z własnym zaszyfrowanym hasłem RCON. Pilnuje ich proces w tle (worker), a otwarte strony aktualizują się na żywo.

02

Konta zamiast wspólnego hasła

Każdy klan lub społeczność to organizacja z własnymi serwerami i członkami. Przez linki z zaproszeniem ludzie logują się kontem Discord lub Steam, a obsługiwane są też passkeye i aplikacje uwierzytelniające. Role są przypisane do serwera i możesz je edytować albo dodać własne.

03

Dziennik audytu

Logowania, zmiany użytkowników i serwerów oraz komendy do gry, z informacją, kto to zrobił, celem, wynikiem i czasem trwania. Filtruj, eksportuj do CSV lub JSON i czytaj obok własny log serwera gry.

04

Statystyki i historia meczów

Gra przechowuje niewiele historii, więc zapisuje ją worker: gracze online w czasie, dostępność, czas na mapę, godziny największego ruchu, sesje i czas gry oraz każdy mecz z tablicą wyników. Rankingi można upublicznić osobno dla każdego serwera.

05

Historia graczy i notatki

Otwórz gracza, żeby zobaczyć jego sesje, nicki, których używał, i akcje podjęte wobec niego na twoich serwerach, ze wspólnymi notatkami i listą obserwowanych. Opcjonalna ocena ryzyka to tylko wskazówka: RCON nie pokazuje celowania, pozycji ani sterowania, więc nie wykryje cheatów.

06

Automatyzacja z próbnym uruchomieniem

Powitalne szepty, zaplanowane komunikaty, reset mapy, gdy serwer opustoszeje, reguły kicka przy dołączeniu i filtr nicków. Każdą regułę możesz przetestować na ostatnich 24 godzinach, zanim ją włączysz, a wszystko, co robi, trafia do logu.

07

Bany i zarezerwowane sloty na wielu serwerach

Prowadź jedną listę banów i jedną listę zarezerwowanych slotów dla organizacji, z powodami i datami wygaśnięcia, a worker stosuje je na każdym z twoich serwerów.

08

Discord

Wysyłaj wybrane zdarzenia audytu na kanał, dostawaj powiadomienie, gdy dołączy obserwowany gracz, albo trzymaj dla każdego serwera kartę statusu na żywo, aktualizowaną w tej samej wiadomości.

09

Funkcje oficjalnej konsoli

Status i tablica wyników, kick, ban, kill, szept, zmiana drużyny, komunikaty, sterowanie mapą i meczem, edycja rotacji, zarezerwowane sloty, score tick, obraz sponsora i ServerSettings.ini z walidacją i zastosowaniem.

Jak to działa

Warcon stoi między twoimi adminami a grą.

Aplikacja webowa serwuje strony i trzyma sesje. Osobny proces w tle (worker) wykonuje wywołania do listenera RCON każdego serwera gry, sprawdza każdy serwer co sekundę lub dwie, gdy jest ruch, i rzadziej, gdy jest pusty, oraz zapisuje to, czego gra nie przechowuje. Wszystko trafia do Postgresa; na TimescaleDB starsze próbki są kompresowane.

Uruchom go obok serwera gry, na VPS albo na hoście kontenerów. Musi tylko dosięgnąć portu RCON: bezpośrednio, przez sieć prywatną albo przez proxy TLS na maszynie z grą.

Przeglądarka
Admini się logują
HTTPS ▸
Warcon
Web · worker · audyt
HTTP ▸
Serwer gry
:7776 WDRCON
Postgres
użytkownicy · serwery · audyt · próbki · mecze

Protokół został odtworzony z oficjalnej konsoli i jest udokumentowany w repozytorium. Aktualizacja gry może go zmienić, więc coś może przestać działać, dopóki Warcon się nie dostosuje.

Własny hosting

Docker Compose i jeden plik do edycji.

Docker Compose uruchamia aplikację webową, workera i bazę TimescaleDB, a najpierw wykonuje migracje. Otwórz adres, utwórz konto właściciela, dodaj serwer i wyślij adminom link z zaproszeniem. Na wbudowanym serwerze demo możesz się rozejrzeć, zanim wpiszesz prawdziwe hasło.

  1. 1Maszyna z Dockerem: tani VPS, stary PC albo sama maszyna z serwerem gry.
  2. 2Host, port RCON (zwykle 7776) i hasło RCON twojego serwera.
  3. 3Opcjonalnie: Caddy, nginx, Traefik albo Cloudflare Tunnel z przodu dla HTTPS.
Terminal
git clone https://github.com/warcon-app/warcon.git warcon && cd warcon
cp .env.example .env
# ustaw BETTER_AUTH_SECRET, ENCRYPTION_KEY i RELAY_SECRET na wartości z `openssl rand -base64 32`,
# POSTGRES_PASSWORD oraz ORIGIN na adres, który będą otwierać ludzie
docker compose up -d
Role

Daj każdemu adminowi to, czego potrzebuje.

Role są przypisane do serwera, więc członek może być adminem na jednym serwerze i viewerem na innym. Każda organizacja zaczyna z trzema rolami poniżej. Jej właściciele mogą zmienić, na co pozwala każda z nich, albo dodać własne, na przykład rolę próbną, która może kickować, ale nie banować.

Akcjevieweroperatoradminorg owner
Status, gracze, zabójstwa, rotacja, bany i zarezerwowane sloty, statystyki, rankingi, statystyki graczy✓✓✓✓
Komunikat, szept, kick, kill, zmiana drużyny, sterowanie meczem i mapą, zmiany rotacji na żywo, notatki o graczach i lista obserwowanych·✓✓✓
Bany, zarezerwowane sloty, listy banów i zarezerwowanych slotów organizacji, zapis rotacji, konfiguracja i ustawienia, automatyzacja, dziennik audytu wszystkich użytkowników i log serwera, surowy RCON··✓✓
Serwery, członkowie, role, linki z zaproszeniem i webhooki Discorda; dziennik audytu organizacji···✓