Compatibility
Minecraft: Java Edition
Platforms
Links
Tags
Creators
Details
Creative Logger
A lightweight staff accountability plugin for Paper servers. Logs creative mode activity, commands, punishments, and more to Discord — one plain-text message per event, no embeds. Sends through webhooks (or, optionally, your own Discord bot).
Each log category has its own destination and on/off toggle. Configure everything in-game with /creativelog setup or by editing the config files directly.
What it logs
| Category | Trigger | Default |
|---|---|---|
| Creative | Items taken from the creative inventory (net-new only) | ✅ On |
| Give Commands | /give by any player or console |
⬜ Off |
| Gamemode | Any gamemode change, any player | ⬜ Off |
| Punishments | /ban, /ban-ip, /kick, /tempban, /unban, /pardon, /mute, /tempmute, /unmute, /warn and more |
⬜ Off |
| OP Changes | /op and /deop |
⬜ Off |
| Command Spy | Configurable watched-commands list | ⬜ Off |
| Server | Server start and stop | ⬜ Off |
| Connections | Player joins and leaves | ⬜ Off |
| Whitelist | /whitelist add / remove |
⬜ Off |
| Console | Mirrors the live server console to Discord; optional two-way control (allowlisted users run commands from a channel via a bot) | ⬜ Off |
| Chat | Player chat messages | ⬜ Off |
Exempt players: exclude specific players from logging, per category, via /creativelog setup → [Exempt Players] or exempt.yml.
Custom loggers: define your own loggers in custom-loggers.yml — each with its own trigger (command, chat, join/leave, or a game event like block-place), its own Discord webhook, and its own message. Wildcard matching, placeholders ({player}, {command}, {block}, coords, …), optional role/user ping, per-logger cooldown, and an optional cancel flag that blocks the action when it matches. Manage them with /creativelog setup → [Custom Loggers].
Webhooks by default — a bot if you want one: webhooks are all you need. Optionally, every destination also accepts a Discord channel ID sent by your own bot: turn on bot.enabled and set bot.token in config.yml (off by default) — mix webhooks and bot channels freely across categories and custom loggers.
Updates never touch your settings: when a new plugin version adds config options, your existing config.yml is upgraded automatically — every value you set is kept, new options arrive with safe defaults and their documentation comments, and your previous file is saved as config.yml.bak.
Proxy support: hosted somewhere discord.com is blocked? Route all Discord traffic through a SOCKS5 or HTTP proxy — a proxy: section in config.yml, no restart needed.
Reliable delivery: messages go through a retry queue — rate limits and brief Discord/network outages don't lose logs. /creativelog status shows the full delivery state when something's off.
Example messages
🎁 BKHorn — Diamond Sword ×1 [Sharpness 5]
🎮 BKHorn — Survival → Creative
🔨 BKHorn — /ban Steve griefing
🌐 BKHorn joined (first join!)
🖥️ Server started
Setup
- Drop the JAR in
plugins/ - Start the server once to generate config files
- Run
/creativelog setupin-game and click to set webhook URLs and toggle categories - Alternatively, edit
plugins/CreativeLogger/config.ymldirectly and run/creativelog reload
OPed players get a short welcome line on join and are warned if any enabled category is missing a destination. When a new plugin version is released, OPs are notified on join (both toggleable in config.yml).
Admin access
By default, all OPed players can use /creativelog setup. To restrict access, add usernames to plugins/CreativeLogger/admins.yml — once at least one name is listed, only those players can make changes in-game.
Commands & permissions
| Command | Description | Permission |
|---|---|---|
/creativelog setup |
Opens the in-game config panel | creativelog.admin (OP default) |
/creativelog reload |
Reloads config from disk | creativelog.admin (OP default) |
/creativelog status |
Delivery diagnostics (works from console) | creativelog.admin (OP default) |
Requirements
- Paper or Purpur
- Java 21+
- Two JARs are provided — pick the right one for your server:
CreativeLogger-legacy-X.Y.Z.jar→ Minecraft 1.21.xCreativeLogger-X.Y.Z.jar→ Minecraft 26.1+
⚠️ Privacy notice
This plugin transmits the following player data to the Discord webhooks/channels configured by the server administrator:
- Player username
- Inventory actions (items taken in creative mode)
- Commands executed
- Gamemode changes
- Join/leave events (if enabled)
- Chat messages (if the chat category is enabled)
- Server console output (if the console category is enabled)
All of the above goes only to the Discord destinations configured by the server admin. Server administrators should inform their players that activity logging is in use.
bStats: the plugin collects anonymous usage statistics via bStats (server/player counts, plugin config toggles — never player data). Opt out globally in plugins/bStats/config.yml.
Update check: the plugin queries the Modrinth API periodically to detect new versions (no data sent beyond a standard HTTP request). Disable with update-check: false.
Optional console control: if the admin enables console.control, messages from allowlisted Discord users in the configured channel are executed as server console commands. This is off by default and requires a Discord bot token the admin provides.


