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 wszystkimi serwerami z jednego miejsca, daj każdemu adminowi własny login i rolę, i miej zapis wszystkiego, co się dzieje. Hasło RCON pozostaje zaszyfrowane na serwerze. Nikt nie musi go znać.

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

Przegląd serwera w Warcon z wynikami drużyn, sterowaniem meczem i tablicą wyników serwera WARDOGS

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. Nie da się jej hostować na HTTPS, a każdy admin musi dostać surowe hasło RCON.

Co robi Warcon

Warcon rozmawia z serwerem gry z własnego procesu. Trzyma hasło po stronie serwera pod AES-GCM, loguje adminów na ich własne konta i sprawdza rolę przed każdą akcją.

I wszystko zapisuje

Wpis audytu jest zapisywany, zanim odpowiedź zostanie wysłana. Kto co zrobił, na którym serwerze, skąd i czy gra to przyjęła.

Funkcje

Zbudowany dla tych, którzy prowadzą więcej niż jeden serwer.

01

Wszystkie serwery w jednym miejscu

Dodaj tyle serwerów WARDOGS, ile prowadzisz. Każdy ma własne zaszyfrowane hasło RCON, a pulpit pokazuje je wszystkie na żywo.

02

Konta zamiast wspólnego hasła

Osobne konto dla właściciela i każdego członka, z rolami viewer, operator i admin na każdy serwer. Reset hasła, wymuszona zmiana, blokada, unieważnianie sesji i ograniczanie prób logowania. Opcjonalnie logowanie przez Discord.

03

Pełny dziennik audytu

Każde logowanie, każda zmiana użytkownika lub serwera i każda komenda do gry, z wykonawcą, celem, wynikiem, adresem IP i czasem trwania. Filtruj, eksportuj do CSV lub JSON i czytaj obok własny log serwera gry.

04

Statystyki, których gra nie przechowuje

Proces w tle odpytuje każdy serwer: gracze online w czasie, dostępność, czas na mapę, godziny największego ruchu, czas gry i sesje graczy, historia meczów z wynikami.

05

Wszystko, co robi oficjalna konsola

Status i tablica wyników, kick, ban, kill, szept, zmiana drużyny, komunikaty, zmiana mapy i następna mapa, zakończenie lub restart meczu, edycja rotacji, zarezerwowane sloty, score tick, obraz sponsora i cały ServerSettings.ini z walidacją i zastosowaniem.

06

Przetestuj, zanim podepniesz prawdziwy serwer

Wbudowany serwer demonstracyjny udaje prawdziwy listener RCON WARDOGS, więc możesz przejrzeć wszystkie ekrany bez wpisywania ani jednego prawdziwego hasła.

Jak to działa

Jeden proces między twoimi adminami a grą.

Warcon serwuje strony, trzyma sesje i wykonuje wywołania do listenera RCON każdego serwera gry. Proces w tle co jakiś czas odpytuje status i graczy i zachowuje to, czego gra sama nie przechowuje. Postgres przechowuje wszystko, z retencją TimescaleDB dla próbek, gdy jest dostępna.

Uruchom go obok serwera gry, na dowolnym 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
Sesje · role · audyt · odpytywanie
HTTP ▸
Serwer gry
:7776 WDRCON
Postgres
użytkownicy · serwery · audyt · próbki · mecze

Protokół został odtworzony z oficjalnej konsoli i jest udokumentowany w repozytorium.

Własny hosting

Dwa kontenery, jeden plik do edycji.

Docker Compose uruchamia Warcon i bazę TimescaleDB. Otwórz adres, utwórz konto właściciela, dodaj pierwszy serwer i zaproś adminów. Migracje wykonują się przy starcie, a baza żyje w nazwanym wolumenie.

  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 i ENCRYPTION_KEY 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 dokładnie to, czego potrzebuje.

Role są przypisane do serwera. Członek może być adminem na jednym serwerze i viewerem na innym. Właściciel zarządza użytkownikami, serwerami i dostępem oraz widzi cały dziennik audytu.

Akcjevieweroperatoradminowner
Status, gracze, rotacja, bany, zarezerwowane sloty, konfiguracja, log serwera, statystyki
Komunikat, szept, kick, kill, zmiana drużyny, zakończenie lub restart meczu, zmiana mapy, następna mapa, zmiany rotacji na żywo·
Ban i unban, zarezerwowane sloty, score tick, zapis rotacji, obraz sponsora, zastosowanie konfiguracji, surowe wywołania API··
Zarządzanie użytkownikami, serwerami i dostępem; wgląd w cały dziennik audytu···