Skip to content

Repository files navigation

OPMonitor — Minecraft Paper Plugin

Broadcasts OP player actions to all online players. Fully config-driven via config.yml.

Features

  • Full command monitoring — any command executed by an OP is broadcast (controlled by monitored-commands)
  • Creative inventory tracking — picking items from the creative inventory is broadcast in real-time
  • Gamemode change detection — both /gamemode and F3+F4 switcher are broadcast
  • OP kills — broadcasts when an OP kills another player
  • Exempt players — players listed in exempt-players are silently ignored
  • Cooldowncooldown-ms limits broadcast frequency per player (default 0 = none)
  • Language support — built-in en / zh_cn, switch via language in config
  • History logging (optional) — writes all events to a file when history.enabled: true

Installation

  1. Download OPMonitor-1.1.0.jar
  2. Place in your server's plugins/ folder
  3. Restart the server
  4. Edit plugins/OPMonitor/config.yml to your liking
  5. Run /opmonitor reload to apply changes

Commands

Command Description
/opmonitor Show help
/opmonitor status Show plugin status and monitored command count
/opmonitor reload Reload config and apply changes on the fly

Permissions

Permission Default Description
opmonitor.admin OP Access to /opmonitor commands
opmonitor.see Everyone See broadcast messages

Configuration (config.yml)

enabled: true              # Enable/disable the plugin
language: en               # Broadcast language: en or zh_cn
broadcast-prefix: "&6[OP Monitor] &r"
cooldown-ms: 0             # Cooldown per player in ms, 0 = no cooldown

exempt-players:            # OP players who won't be monitored
  - Tagin_T

history:
  enabled: false           # Write history log to file
  file: "plugins/OPMonitor/history.log"

monitored-commands:        # Commands to broadcast (case-insensitive, no leading /)
  - gamemode
  - tp
  - give
  - ban
  - kick
  # ... 88 commands by default, add or remove as needed

Broadcast Format

[OP Monitor] PlayerName executed OP command: "/gamemode creative"
[OP Monitor] PlayerName picked 64 diamond from Creative
[OP Monitor] PlayerName changed gamemode to CREATIVE
[OP Monitor] PlayerName killed VictimName
  • Player name: blue
  • Items/args/commands: green
  • Commands are wrapped in quotes: PlayerName executed OP command: "/cmd args"

History Log

When history.enabled: true, all broadcast events are written to history.file (default: plugins/OPMonitor/history.log).

One event per line:

[yyyy-MM-dd HH:mm:ss] Tagin_T picked 1 diamond_block from Creative
[yyyy-MM-dd HH:mm:ss] Tagin_T runed /gamemode creative
[yyyy-MM-dd HH:mm:ss] Tagin_T changed gamemode to CREATIVE
[yyyy-MM-dd HH:mm:ss] Tagin_T killed Hiverfy

Format: [timestamp] playername action-description

Building

Requires JDK 17+. The project ships with Maven Wrapper — no global Maven install needed:

./mvnw clean package -DskipTests

The compiled JAR is at target/OPMonitor-1.1.0.jar.

License

MIT

About

A Minecraft server side plugin to record exclusive moves of OP players.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages