Веб-панель
Небольшой сайт, который поднимает сам плагин — без PHP, отдельного хостинга и подключения базы. Последние наказания, активные баны/муты/предупреждения, поиск и страница игрока с 3D-скином, полной историей и альтами.
Включение
web:
enabled: true
host: 0.0.0.0
port: 8085
title: 'Мой сервер — Наказания'
token: '' # пусто = открыто всем; секрет = без него не открыть
hide-staff: false # true скрывает имена персонала на публичной страницеПерезапустите и откройте http://<ip-сервера>:8085/. Откройте порт в файрволе / панели хостинга.
Защита
С token: 'секрет' страница доступна только по http://<ip>:8085/?token=секрет (или с заголовком Authorization: Bearer секрет). И без токена панель только для чтения — забанить из неё нельзя.
За доменом
Поставьте nginx или Caddy впереди, чтобы получить https://bans.вашсервер.ru:
location / {
proxy_pass http://127.0.0.1:8085;
proxy_set_header Host $host;
}JSON-эндпоинты
Страница работает на четырёх эндпоинтах, их можно использовать и самим:
GET /api/stats | активные счётчики |
GET /api/recent?page=1 | новые наказания, по 25 на страницу |
GET /api/list?type=BAN&page=1 | активные одного типа (BAN, IPBAN, MUTE, WARN) |
GET /api/player?name=Steve | профиль, активные наказания, история, альты |
Производительность
Каждый запрос обрабатывается в отдельном потоке и читает базу через IO-поток плагина — игровой поток не затрагивается.