DiscordLogger
A minimal, reliable Minecraft server logging plugin that posts clean messages to a Discord webhook — in Markdown or rich embeds.
Built for Paper/Spigot 1.21+, tested with Geyser/Floodgate (Bedrock cross-play).
✨ Features
- Discord webhook logging
- Plain text + Markdown format:
`HH:mm:ss dd:MM:yyyy` - **<Category>**: <message>
- Embeds (optional) with per-category colors, configurable author, player avatar thumbnails, server icon, and timestamps.
- Config-toggleable events (all on by default):
- Server: Start, Stop, Server Command e.t.c.
- Player: Join, Quit, Chat, Command, Death e.t.c.
- Moderation: Ban, Unban, Kick, Op, Deop, Whitelist Toggle, Whitelist Add/Remove e.t.c.
- Live reload command:
/discordlogger reload (perm: discordlogger.reload)
- Geyser-friendly death messages: built from server-side damage context (not client-localized text).
- Automatic Config Updater: Updates the config.yml file with new features
- Automatic update prompts: Plugin will prompt you when a new version is available
- Nickname support: Nicknames are recognized in server logs
📦 Installation
- Download the latest release and place the JAR in your server’s
plugins/ folder.
- Start the server once to generate
plugins/DiscordLogger/config.yml.
- Edit
config.yml and set a valid Discord webhook URL at webhook.url.
- (Optional) Adjust the timestamp format and per-event toggles under
log.*, and set embeds.enabled: true to use embeds.
- Restart the server (or run
/discordlogger reload after editing config).
Note: If webhook.url is empty/invalid, the plugin will not function until set.
🔌 Compatibility
- Server: Paper/Spigot 1.21+ (Tested on 1.21.8 Paper)
- Java: 21+
- Cross-play: Compatible with Geyser/Floodgate — death messages are server-generated for consistency across Java/Bedrock names/locales.