Документация · установка
Установка агента Tickwise
Как установить плагин Tickwise на сервер Paper/Purpur и прокси Velocity, привязать его к Telegram и проверить, что он отправляет.
На странице
Tickwise — плагин с открытым кодом для мониторинга Minecraft-серверов на Paper, Purpur и Velocity. Он читает лог сервера, вырезает из него секреты и персональные данные и распознаёт известные проблемы по локальному подписанному пакету сигнатур. В облако агент начинает отправлять данные только после того, как вы явно привяжете сервер. Выполнять команды на сервере он не умеет.
Ниже — установка плагина на Paper и Velocity, привязка к Telegram-боту и что делать, если что-то пошло не так. Установка занимает пару минут на каждый сервер.
Требования
| Платформа | Поддержка в закрытой beta |
|---|---|
| Paper | 1.21.x и 26.x |
| Purpur | как Paper, тот же jar |
| Velocity | 3.x и 4.x |
| Java | 21 и 25 |
| Folia | не поддерживается |
| Fabric, Forge, BungeeCord | не поддерживаются |
Плагин собран против paper-api 1.21.11 и velocity-api 3.5.1. На живых серверах все сочетания версий пока не проверялись.
Где взять плагин
Публичных релизов пока нет. Jar собирается из репозитория:
./gradlew :agent-paper:shadowJar :agent-velocity:shadowJar
| Платформа | Файл |
|---|---|
| Paper и Purpur | agent-paper/build/libs/Tickwise-Paper-0.1.0.jar |
| Velocity | agent-velocity/build/libs/Tickwise-Velocity-0.1.0.jar |
В jar уже встроены подписанный пакет сигнатур и публичные ключи для проверки его подписи, так что локальная диагностика работает сразу после установки.
Установка на Paper и Purpur
- Положите
Tickwise-Paper-0.1.0.jarв папкуplugins/. - Перезапустите сервер.
- Проверьте консоль: агент должен сообщить о запуске.
Настройки лежат в plugins/Tickwise/config.yml, файл создаётся при первом запуске. После правки выполните /tickwise reload.
Роль сервера агент определяет сам: backend, если в config/paper-global.yml включён proxies.velocity.enabled или в spigot.yml стоит settings.bungeecord: true, иначе standalone.
Если агент не смог стартовать, он пишет в консоль Tickwise не запустился и отключается (сервер продолжает работу) и выключает только себя. Сервер продолжает работать.
Установка на Velocity
- Положите
Tickwise-Velocity-0.1.0.jarвplugins/прокси. - Перезапустите прокси.
- Настройки — в
plugins/tickwise/config.toml. Командыreloadна Velocity нет: после правки конфига перезапустите прокси.
Сеть Velocity и backend'ы
Чтобы облако склеивало сбой на прокси и его причину на backend'е в один инцидент:
- поставьте агент и на прокси, и на каждый backend;
- привяжите все серверы из одного Telegram-чата и в одну сеть (по умолчанию она называется
default); - имя backend'а в Tickwise должно совпадать с именем в секции
[servers]файлаvelocity.toml. Задайте его вserver.nameили, если имя отличается, вserver.proxy-alias.
server:
name: "lobby"
Привязка к облаку и Telegram
До привязки агент ничего не отправляет. Привязку может запустить только консоль или игрок с правом tickwise.owner.
-
Укажите адрес облака в
cloud.endpoint. Значение по умолчанию в шаблоне — заглушка, адрес нужно прописать явно. Разрешён толькоhttps://.cloud: endpoint: "https://<адрес облака>" -
В консоли выполните
tickwise link, при желании с именем сервера. Агент выдаст одноразовый код на 15 минут. -
Отправьте код боту Tickwise в Telegram:
/link КОД [имя-сервера] [сеть]. Это можно сделать в личном чате или в группе; в группе команду принимают только от администраторов. Бот покажет имя, платформу, версию и замаскированный IP агента — убедитесь, что это ваш сервер. -
Подтвердите привязку в консоли.
Чат, из которого пришла первая /link, становится организацией: все серверы этого чата видят друг друга, а уведомления о падении сервера приходят в Telegram именно туда. Что умеет бот после привязки — на странице Telegram-бот.
Для Docker и автоматизации есть cloud.auto-link: true: привязка стартует сама через 5 секунд после запуска и печатает код в консоль. Подтвердить его в Telegram всё равно нужно.
Команды и права
Команда без аргументов выполняет status. Из консоли доступны все команды.
| Команда | Право | Что делает |
|---|---|---|
status | tickwise.admin | версия, пакет сигнатур, состояние облака, очередь, активные диагнозы |
diagnose | tickwise.admin | известные проблемы за последние 30 минут: причина и первый шаг |
privacy | tickwise.admin | что отправляется при текущих настройках |
link [имя], link confirm | tickwise.owner | привязка к облаку |
unlink | tickwise.owner | прекратить отправку данных |
pause [мин], resume | tickwise.owner | приостановить отправку (по умолчанию на 60 минут) и возобновить |
maintenance [мин] | tickwise.owner | окно обслуживания (по умолчанию 30 минут): алерты доступности не приходят |
reload | tickwise.owner | перечитать config.yml, только Paper |
tickwise.admin по умолчанию есть у операторов. tickwise.owner не выдаётся никому, даже op, — назначьте его явно через плагин прав. На Velocity права выдаёт плагин прав.
Что работает без облака
Без привязки и при недоступном облаке агент продолжает:
- читать лог и распознавать известные проблемы по встроенному пакету сигнатур — найденное пишется в консоль;
- отвечать на
status,diagnoseиprivacy; - разбирать при старте новые crash report'ы и
hs_err_pid*.logи замечать crash loop (три неудачных запуска за 30 минут).
Без облака не работают уведомления в Telegram, страница инцидента, склейка ошибок прокси и backend'ов и обновление пакета сигнатур. Если облако недоступно после привязки, данные копятся в очереди на диске (по умолчанию до 50 МБ) и уходят, когда связь вернётся.
Если что-то пошло не так
Первый шаг всегда один — tickwise status в консоли: команда показывает состояние облака, последнюю ошибку отправки и время следующей попытки.
| Симптом | Что делать |
|---|---|
Неверный cloud.endpoint в config.yml | используйте адрес с https:// и без логина и пароля в URL |
Не удалось начать привязку | проверьте адрес облака, DNS и исходящий порт 443; адрес должен отвечать без редиректов |
бот: Код истёк | прошло больше 15 минут — выполните tickwise link ещё раз |
бот: Привязывать серверы к группе могут только администраторы чата. | попросите администратора или привяжите сервер из личного чата с ботом |
Сервер уже привязан | сначала tickwise unlink, затем tickwise link |
Облако: BACKOFF с сетевой ошибкой | ничего делать не нужно: агент повторит отправку, данные ждут в очереди |
облако отозвало токен агента (401) | сервер отвязали в боте или привязали заново — выполните tickwise unlink, затем tickwise link |
Проблемы самой сети Velocity агент тоже распознаёт. Самые частые при настройке Velocity forwarding: рассогласован modern forwarding, не совпадает forwarding secret и backend недоступен для прокси. Полный список — в базе ошибок.
Отвязка и удаление
tickwise unlink в консоли удаляет токен с сервера и останавливает отправку; локальная диагностика продолжает работать. Облако об этом не узнаёт: сервер останется в списке бота со статусом «нет связи». Чтобы убрать сервер из Tickwise и отозвать его токен, откройте карточку сервера в боте и нажмите «🔌 Отвязать».
Неотправленные данные остаются в папке outbox/ и уйдут при следующей привязке. Если это не нужно, удалите outbox/ перед tickwise link.
Полное удаление:
tickwise unlink.- Остановите сервер или прокси.
- Удалите jar из
plugins/. - Удалите папку данных:
plugins/Tickwise/на Paper илиplugins/tickwise/на Velocity. В ней лежат токен, соль псевдонимизации, очередь и скачанные пакеты сигнатур.
Как агент обращается с данными, подробно описано на странице Безопасность.