Перейти до вмісту
Warcon
Відкритий код, MIT Bun · SvelteKit · Postgres Docker Compose

RCON для WARDOGS без роздавання пароля.

Warcon — це панель для виділених серверів WARDOGS, яку ви розгортаєте самі. Керуйте своїми серверами з одного місця, дайте кожному адміну власний логін і роль та зберігайте запис того, що відбувається. Пароль RCON залишається зашифрованим на сервері, тож вашим адмінам ніколи не потрібно його бачити.

Користуйтеся на console.warcon.app або запустіть власну копію командою docker compose up. В обох випадках це та сама панель з відкритим кодом.

Огляд сервера WARDOGS у Warcon із рахунком команд, деталями мапи та керуванням матчем

Зроблено на вбудованому демо-сервері, тож цифри вигадані.

Проблема

Офіційна вебконсоль звертається до ігрового сервера просто з браузера через незашифрований HTTP. Через це її не можна віддавати через HTTPS, і кожному адміну потрібен пароль RCON.

Що робить Warcon

Warcon робить ці виклики на боці сервера. Пароль зберігається зашифрованим за допомогою AES-GCM, адміни входять під власними обліковими записами, а кожна дія спершу перевіряється на відповідність їхній ролі.

І все записує

Запис аудиту створюється до того, як повернеться відповідь: хто що зробив, на якому сервері, щодо кого і чи прийняла це гра.

Можливості

Для кланів і спільнот, з одним сервером чи кількома.

01

Ваші сервери в одному місці

Додайте кожен сервер WARDOGS, який у вас є, кожен із власним зашифрованим паролем RCON. За ними стежить фоновий процес (воркер), а відкриті сторінки оновлюються наживо.

02

Облікові записи замість спільного пароля

Кожен клан чи спільнота — це організація з власними серверами й учасниками. За посиланнями-запрошеннями люди входять через Discord або Steam, також підтримуються passkey та застосунки-автентифікатори. Ролі задаються для кожного сервера, і ви можете їх редагувати або додавати власні.

03

Журнал аудиту

Входи, зміни користувачів і серверів та ігрові команди, з тим, хто це зробив, ціллю, результатом і тривалістю. Фільтруйте, експортуйте у CSV чи JSON і читайте поруч власний журнал ігрового сервера.

04

Статистика та історія матчів

Гра зберігає мало історії, тож її записує воркер: гравці онлайн у часі, доступність, час на кожній мапі, найактивніші години, сесії та ігровий час, а також кожен матч із таблицею результатів. Таблиці лідерів можна зробити публічними окремо для кожного сервера.

05

Історія гравців і нотатки

Відкрийте гравця, щоб побачити його сесії, імена, якими він користувався, і дії щодо нього на ваших серверах, зі спільними нотатками та списком спостереження. Необов’язкова оцінка ризику — лише підказка: RCON не показує прицілювання, позицію чи введення, тож виявити читерство за його допомогою не можна.

06

Автоматизація з пробним запуском

Привітальні шепоти, заплановані оголошення, скидання мапи, коли сервер порожніє, правила кіку під час підключення та фільтр імен. Кожне правило можна перевірити на останніх 24 годинах, перш ніж увімкнути, а все, що воно робить, записується в журнал.

07

Бани й зарезервовані слоти для кількох серверів

Ведіть один список банів і один список зарезервованих слотів для організації, з причинами та датами завершення, а воркер застосовує їх на кожному з ваших серверів.

08

Discord

Надсилайте вибрані події аудиту в канал, отримуйте сповіщення, коли заходить гравець зі списку спостереження, або тримайте для кожного сервера живу картку стану, яка оновлюється в тому самому повідомленні.

09

Керування з офіційної консолі

Стан і таблиця результатів, кік, бан, кіл, шепіт, зміна команди, оголошення, керування мапою й матчем, редагування ротації, зарезервовані слоти, score tick, зображення спонсора та ServerSettings.ini з перевіркою і застосуванням.

Як це працює

Warcon стоїть між вашими адмінами та грою.

Вебзастосунок віддає сторінки й тримає сесії. Окремий фоновий процес (воркер) робить виклики до RCON-слухача кожного ігрового сервера, перевіряє кожен сервер раз на секунду-дві, коли на ньому грають, і рідше, коли він порожній, та записує те, чого гра не зберігає. Усе зберігається в Postgres; на TimescaleDB старіші вибірки стискаються.

Запускайте його поруч з ігровим сервером, на VPS або на хості контейнерів. Йому потрібно лише дістатися порту RCON: напряму, через приватну мережу або через TLS-проксі на ігровій машині.

Браузер
Адміни входять
HTTPS ▸
Warcon
Веб · воркер · аудит
HTTP ▸
Ігровий сервер
:7776 WDRCON
Postgres
користувачі · сервери · аудит · вибірки · матчі

Протокол відновлено зворотною розробкою з офіційної консолі та задокументовано в репозиторії. Оновлення гри може його змінити, тож щось може не працювати, доки Warcon не надолужить.

Свій сервер

Docker Compose і один файл для редагування.

Docker Compose спершу застосовує міграції, а потім запускає вебзастосунок, воркер і базу даних TimescaleDB. Відкрийте адресу, створіть обліковий запис власника, додайте сервер і надішліть адмінам посилання-запрошення. Вбудований демо-сервер дає змогу роззирнутися, перш ніж ви введете справжній пароль.

  1. 1Машина з Docker: дешевий VPS, старий ПК або сама машина з ігровим сервером.
  2. 2Хост, порт RCON (зазвичай 7776) і пароль RCON вашого сервера.
  3. 3За бажанням: Caddy, nginx, Traefik або Cloudflare Tunnel попереду для HTTPS.
Термінал
git clone https://github.com/warcon-app/warcon.git warcon && cd warcon
cp .env.example .env
# задайте BETTER_AUTH_SECRET, ENCRYPTION_KEY і RELAY_SECRET значеннями з `openssl rand -base64 32`,
# POSTGRES_PASSWORD, а ORIGIN — адресою, яку відкриватимуть люди
docker compose up -d
Ролі

Дайте кожному адміну те, що йому потрібно.

Ролі задаються для кожного сервера окремо, тож учасник може бути admin на одному сервері та viewer на іншому. Кожна організація починає з трьох ролей нижче. Її власники можуть змінити, що дозволяє кожна з них, або додати власні, наприклад пробну роль, яка може кікати, але не банити.

Діїvieweroperatoradminorg owner
Стан, гравці, вбивства, ротація, бани й зарезервовані слоти, статистика, таблиці лідерів, статистика гравців✓✓✓✓
Оголошення, шепіт, кік, кіл, зміна команди, керування матчем і мапою, зміни ротації наживо, нотатки про гравців і список спостереження·✓✓✓
Бани, зарезервовані слоти, списки банів і зарезервованих слотів організації, збереження ротації, конфігурація та налаштування, автоматизація, журнал аудиту всіх користувачів і журнал сервера, прямий RCON··✓✓
Сервери, учасники, ролі, посилання-запрошення та вебхуки Discord; журнал аудиту організації···✓