Как отправлять уведомления Valheim в Discord через ServerManager
В ServerManager уведомления из игры в Discord отправляются через webhooks. Для этого направления не нужен отдельный bot-процесс или RCON-порт. Встроенный Discord-бот требуется для обратного чата и команд из Discord; уведомления можно настроить отдельно от него.
Сначала проверьте условия ServerManager
Автор требует убрать конфликтующие ServerCharacters и старые отдельные OrbOfDiscord DLL и избегать других модов, управляющих теми же сохранениями персонажей. Перед внедрением сохраните резервные копии и согласуйте набор модов сервера с клиентами. Если используются другие BepInEx-плагины, заранее настройте для них required и optional: неуказанные плагины не допускаются у обычных игроков.
Где настроить маршрут уведомлений
- После настройки и запуска ServerManager найдите discord.yml в папке ServerManager внутри каталога сохранений Valheim. При -savedir это <savedir>/ServerManager.
- В нужном канале Discord создайте webhook и скопируйте его URL.
- В discord.yml оставьте bot.enabled: false, если нужны только уведомления из игры.
- В списке webhooks задайте уникальное стабильное name, enabled: true, свой url и список events. В новых шаблонах примеры отключены и credentials пусты.
- Используйте пробелы в YAML и сохраняйте имена ключей. Не включайте URL webhook в опубликованный модпак.
Какие события выбрать
| Ключ события | Что отправляет |
|---|---|
| server.status | Готовность сервера и штатную остановку |
| server.saved | Сохранение мира; это не подтверждение завершения всех сохранений персонажей |
| player.connection | Входы и выходы удалённых игроков |
| chat.shout | Глобальные сообщения из игры |
| player.death, boss.killed | Смерти игроков и убийства боссов |
| server.announcement | Объявления ServerManager и маршрут для тестового сообщения |
Проверьте доставку до широкого включения событий
- На время проверки добавьте server.announcement в events нужного маршрута.
- В серверной консоли выполните sm:discordstatus для диагностики, затем sm:discordtest для пробного сообщения.
- Проверьте, в какой канал пришло сообщение. Тест отправляется маршрутам с server.announcement; его отсутствие в фильтре не доказывает поломку webhook.
- После проверки оставьте только нужные события. Для публичной ленты и закрытых административных предупреждений используйте разные маршруты.
Как применяются изменения
Редактируемые YAML-файлы перечитываются автоматически. Невалидная правка именованного webhook сохраняет последнюю рабочую конфигурацию этого маршрута, а корректные изменения других маршрутов могут примениться. Эти рабочие настройки хранятся только в памяти: после перезапуска ошибочный маршрут будет отключён. Поэтому проверяйте ошибки сейчас, а не считайте продолжение доставки доказательством валидного нового файла.
Гайд был полезен?