Ваші сервери в одному місці
Додайте кожен сервер WARDOGS, який у вас є, кожен із власним зашифрованим паролем RCON. За ними стежить фоновий процес (воркер), а відкриті сторінки оновлюються наживо.
Warcon — це панель для виділених серверів WARDOGS, яку ви розгортаєте самі. Керуйте своїми серверами з одного місця, дайте кожному адміну власний логін і роль та зберігайте запис того, що відбувається. Пароль RCON залишається зашифрованим на сервері, тож вашим адмінам ніколи не потрібно його бачити.
Користуйтеся на console.warcon.app або запустіть власну копію командою docker compose up. В обох випадках це та сама панель з відкритим кодом.
Офіційна вебконсоль звертається до ігрового сервера просто з браузера через незашифрований HTTP. Через це її не можна віддавати через HTTPS, і кожному адміну потрібен пароль RCON.
Warcon робить ці виклики на боці сервера. Пароль зберігається зашифрованим за допомогою AES-GCM, адміни входять під власними обліковими записами, а кожна дія спершу перевіряється на відповідність їхній ролі.
Запис аудиту створюється до того, як повернеться відповідь: хто що зробив, на якому сервері, щодо кого і чи прийняла це гра.
Додайте кожен сервер WARDOGS, який у вас є, кожен із власним зашифрованим паролем RCON. За ними стежить фоновий процес (воркер), а відкриті сторінки оновлюються наживо.
Кожен клан чи спільнота — це організація з власними серверами й учасниками. За посиланнями-запрошеннями люди входять через Discord або Steam, також підтримуються passkey та застосунки-автентифікатори. Ролі задаються для кожного сервера, і ви можете їх редагувати або додавати власні.
Входи, зміни користувачів і серверів та ігрові команди, з тим, хто це зробив, ціллю, результатом і тривалістю. Фільтруйте, експортуйте у CSV чи JSON і читайте поруч власний журнал ігрового сервера.
Гра зберігає мало історії, тож її записує воркер: гравці онлайн у часі, доступність, час на кожній мапі, найактивніші години, сесії та ігровий час, а також кожен матч із таблицею результатів. Таблиці лідерів можна зробити публічними окремо для кожного сервера.
Відкрийте гравця, щоб побачити його сесії, імена, якими він користувався, і дії щодо нього на ваших серверах, зі спільними нотатками та списком спостереження. Необов’язкова оцінка ризику — лише підказка: RCON не показує прицілювання, позицію чи введення, тож виявити читерство за його допомогою не можна.
Привітальні шепоти, заплановані оголошення, скидання мапи, коли сервер порожніє, правила кіку під час підключення та фільтр імен. Кожне правило можна перевірити на останніх 24 годинах, перш ніж увімкнути, а все, що воно робить, записується в журнал.
Ведіть один список банів і один список зарезервованих слотів для організації, з причинами та датами завершення, а воркер застосовує їх на кожному з ваших серверів.
Надсилайте вибрані події аудиту в канал, отримуйте сповіщення, коли заходить гравець зі списку спостереження, або тримайте для кожного сервера живу картку стану, яка оновлюється в тому самому повідомленні.
Стан і таблиця результатів, кік, бан, кіл, шепіт, зміна команди, оголошення, керування мапою й матчем, редагування ротації, зарезервовані слоти, score tick, зображення спонсора та ServerSettings.ini з перевіркою і застосуванням.
Вебзастосунок віддає сторінки й тримає сесії. Окремий фоновий процес (воркер) робить виклики до RCON-слухача кожного ігрового сервера, перевіряє кожен сервер раз на секунду-дві, коли на ньому грають, і рідше, коли він порожній, та записує те, чого гра не зберігає. Усе зберігається в Postgres; на TimescaleDB старіші вибірки стискаються.
Запускайте його поруч з ігровим сервером, на VPS або на хості контейнерів. Йому потрібно лише дістатися порту RCON: напряму, через приватну мережу або через TLS-проксі на ігровій машині.
Протокол відновлено зворотною розробкою з офіційної консолі та задокументовано в репозиторії. Оновлення гри може його змінити, тож щось може не працювати, доки Warcon не надолужить.
Docker Compose спершу застосовує міграції, а потім запускає вебзастосунок, воркер і базу даних TimescaleDB. Відкрийте адресу, створіть обліковий запис власника, додайте сервер і надішліть адмінам посилання-запрошення. Вбудований демо-сервер дає змогу роззирнутися, перш ніж ви введете справжній пароль.
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 на іншому. Кожна організація починає з трьох ролей нижче. Її власники можуть змінити, що дозволяє кожна з них, або додати власні, наприклад пробну роль, яка може кікати, але не банити.
| Дії | viewer | operator | admin | org owner |
|---|---|---|---|---|
| Стан, гравці, вбивства, ротація, бани й зарезервовані слоти, статистика, таблиці лідерів, статистика гравців | ✓ | ✓ | ✓ | ✓ |
| Оголошення, шепіт, кік, кіл, зміна команди, керування матчем і мапою, зміни ротації наживо, нотатки про гравців і список спостереження | · | ✓ | ✓ | ✓ |
| Бани, зарезервовані слоти, списки банів і зарезервованих слотів організації, збереження ротації, конфігурація та налаштування, автоматизація, журнал аудиту всіх користувачів і журнал сервера, прямий RCON | · | · | ✓ | ✓ |
| Сервери, учасники, ролі, посилання-запрошення та вебхуки Discord; журнал аудиту організації | · | · | · | ✓ |
Ліцензія MIT. Issues та pull request-и вітаються. Повідомлення про вразливості надсилайте через приватне звітування GitHub.
Ставте запитання, повідомляйте про проблеми та спілкуйтеся з тими, хто розробляє й використовує Warcon.
Endpoint-и, які використовує офіційна консоль, наскільки нам вдалося їх розібрати, описані, щоб ви теж могли створювати власні інструменти.
Спільнотний список серверів, щоб гравці могли знайти ваш сервер.