Changelog
[1.0.4] - 2025-11-15
Added
- Discord webhook integration
- Optional webhook support to send server events to a Discord channel
- Configurable username and avatar for webhooks
- Chat relay to Discord
- Optional: send player chat messages to the configured webhook (
discord.send-chat)
- Template configurable via
discord.chat-message-template (placeholders: {player}, {displayname}, {message}, {server})
Changed
- Improved Discord embed handling for join/quit notifications
- Embeds are used by default when
discord.use-embeds is enabled
Fixed
- Fixed avatar fetch issues in Discord embeds
- Crafatar UUIDs are now handled without hyphens and requests prefer a direct PNG URL
- Added validation/fallback logic when building embed image URLs to reduce broken images
Removed
- Player avatar is no longer automatically attached to join/quit embeds by default (avoids broken/placeholder images)
Config Changes
Added to config.yml (under discord):
# Chat relay: send player chat messages to Discord webhook
send-chat: false
# Template for chat messages sent to Discord (placeholders: {player}, {displayname}, {message}, {server})
chat-message-template: "{displayname}: {message}"
Notes / Upgrade
- After upgrading, review and set
discord.webhook-url and enable discord.enable: true to activate integration.
- Restart the server after changing Discord-related settings.
Technical
- Uses asynchronous HTTP requests to avoid blocking the server thread when calling webhooks.
- Embed JSON is built with safe escaping and optional author/thumbnail fields.