Вебхук отправляет короткое сообщение в канал Discord, когда на сервере что-то происходит: он запускается, останавливается или падает, игрок заходит или выходит, завершается бэкап. Все участники канала видят это, не открывая панель. Вебхук также может отправлять данные на любой другой https-адрес, для ваших собственных инструментов.
Настроить вебхуки сервера может только его владелец. Люди, которых вы пригласили на сервер, эту страницу не видят.
1. Создайте вебхук в Discord
Вам нужно право управлять вебхуками на сервере Discord. Обычно оно есть у владельца и администраторов.
- В Discord откройте Настройки сервера и перейдите в раздел Интеграции.
- Нажмите Создать вебхук, задайте ему имя и выберите текстовый канал, в который он будет писать, например канал
#server-alerts. - Нажмите Копировать URL вебхука.
Discord объясняет эти шаги с картинками в своём руководстве Intro to Webhooks. Относитесь к URL вебхука как к паролю: любой, у кого он есть, может писать в этот канал.
2. Добавьте его на сервер
- Откройте свой сервер в панели и нажмите Вебхуки в меню слева.
- Нажмите Добавить или Новый вебхук, если на сервере уже есть вебхук.
- Укажите Название, если хотите. Оно нужно только вам и подписывает вебхук в списке.
- Вставьте адрес в поле URL. Он должен начинаться с
https://. Если это вебхук Discord, панель покажет Вебхук Discord распознан. - В разделе Отправлять, когда отметьте нужные события (см. ниже). Событие Сервер упал отмечено сразу, и должно быть отмечено хотя бы одно событие.
- Нажмите Создать вебхук.
События
| Событие | Когда оно отправляется |
|---|---|
| Сервер запущен | Когда сервер работает и готов принимать игроков, в том числе после перезапуска. |
| Сервер остановлен | Остановка, которую кто-то запросил: вы, участник команды или расписание. |
| Сервер упал | Сервер остановился без команды. Сообщение приходит через минуту-две, когда мы уверены, и в нём сказано, поднялся ли сервер сам. |
| Игрок зашёл | С ником игрока, в играх, которые сообщают, кто в сети. Игры, которые сообщают только число, указывают, сколько игроков. |
| Игрок вышел | То же самое, когда кто-то выходит. Игроки проверяются раз в минуту, пока сервер работает. |
| Бэкап завершён | Удался ли бэкап и какого он размера. |
| Установка завершена | После первой установки или переустановки. |
| Перенос завершён | Когда перенос вашего сервера завершён. |
У серверов Project Zomboid есть дополнительные события, которые берутся из журнала игры: Игрок погиб, Убийство в PvP, Действие админа, Мод обновлён, Начат отсчёт до перезапуска и Пересылать игровой чат. Чат отправляется только если вы его отметите, и только общий чат: личные сообщения, чат фракции и чат убежища не отправляются никогда.
Что приходит
- В Discord сообщения приходят от PlayNHost короткими карточками с названием сервера, тем, что произошло, и временем. Discord показывает время в часовом поясе каждого читателя.
- В сообщениях указано название вашего сервера, но никогда нет его адреса или ID, поэтому их можно отправлять в публичный канал. Чтобы изменить показываемое название, переименуйте сервер. См. Как переименовать сервер и изменить число слотов для игроков.
- Игрок не может отправить пинг в ваш канал через свой ник. Ник вроде
@everyoneприходит простым текстом. - Любой другой адрес получает события в формате JSON. См. раздел Для ваших собственных инструментов ниже.
Выключите вебхук, измените его или удалите
- Переключатель в строке вебхука выключает его и снова включает. Пока вебхук выключен, его настройки сохраняются.
- Откройте меню строки и выберите Изменить, чтобы поменять название, адрес или события, или Удалить, чтобы убрать вебхук. Больше ничего не затрагивается: сервер продолжает работать, а канал просто перестаёт получать сообщения.
Полезно знать
- На сервере может быть до 10 вебхуков, например по одному на канал.
- Чтобы канал оставался читаемым, каждый вебхук отправляет не больше 4 сообщений в минуту и 40 в час. Лишние сообщения пропускаются, а не отправляются с опозданием, и в следующем сообщении указано, сколько предыдущих обновлений пропущено.
- Если вебхук удалён в Discord, панель сама отключает его при следующей попытке отправки, и в строке появляется Выкл. Создайте новый вебхук в Discord, выберите Изменить, вставьте новый адрес и снова включите вебхук.
- Кнопки проверки нет. Чтобы проверить новый вебхук, отметьте Сервер запущен и перезапустите сервер. Сообщение придёт вскоре после того, как сервер будет готов.
- Вебхуки нужны для канала, общего для вашей группы. Об уведомлениях только для вас, в панели или по почте, см. Как управлять уведомлениями и настройками.
Для ваших собственных инструментов
Адрес, который не является вебхуком Discord, получает запрос POST с телом в формате JSON:
sourceравенPlayNHost.eventsсодержит список. У каждого события естьtype(например,server.crashилиplayer.join),server(название сервера),at(когда это произошло), читаемыеtitleиtext, а также объектdataс подробностями.skippedпоказывает, сколько предыдущих сообщений пропущено из-за лимита, описанного выше.
Адрес должен использовать https и указывать на публичный адрес в интернете. Перенаправления не выполняются. Сообщения не подписываются, поэтому держите сам адрес в секрете.
Связанные статьи
- Как посмотреть, что происходило на вашем сервере: кто запускал, останавливал или менял что-то и когда.
- Как исправить сервер, который не запускается: поможет, если уведомление о падении приходит снова и снова.



