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).
- 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.
- Plain text + Markdown format:
- 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
- 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.ymland set a valid Discord webhook URL atwebhook.url. - (Optional) Adjust the timestamp format and per-event toggles under
log.*, and setembeds.enabled: trueto use embeds. - Restart the server (or run
/discordlogger reloadafter editing config).
Note: If
webhook.urlis empty/invalid, the plugin will not function until set.
- 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.
Branch Usage:
- Main: Current latest version, not developed on, only updated via PR or for workflow updates
- Dev: May have new features implemented compared to main, is updated frequently and is fairly stable, create branches off dev
- All other branches (e.g. feat/banLogs): Active features in development, not expected to be functional yet, still in active development
To add a new feature:
- Create a branch based off dev
- Name it approprietly (e.g. feat/banLogs)
- Develop feature
- PR into dev
- When enough features are compiled, dev will be PRed into main
- Build with Maven:
git clone https://github.com/GodTierGamers/DiscordLogger.git mvn -B -DskipTests package
