Adds a Minecraft Server Management Protocol endpoint to server software that does not provide Mojang's native implementation.
The Minecraft Server Management Protocol is the newer management API for Minecraft servers. It exposes server information and management actions through JSON-RPC over WebSocket, instead of relying on older mechanisms such as server-list ping or RCON. This plugin brings that protocol shape to older server versions and proxy environments so external tools can speak one management protocol across mixed infrastructure.
rpc.discover, so clients can inspect which methods are available.Reference: https://minecraft.wiki/w/Minecraft_Server_Management_Protocol
| Platform | Status |
|---|---|
| Spigot / Paper | Main supported runtime. Built against the Spigot 1.8.8 API for legacy compatibility. |
| Velocity | Proxy runtime support for discovery, players, kick, proxy status, proxy stop, system messages, and proxy/player notifications. |
| BungeeCord | Proxy runtime support for discovery, players, kick, proxy status, proxy stop, system messages, and proxy/player notifications. |
For legacy SpaceChunks usage, install the Spigot/Paper build on the backend server when you need live server status and online player counts from old Minecraft versions.
| Method group | Spigot / Paper | Velocity | BungeeCord |
|---|---|---|---|
rpc.discover | yes | yes | yes |
minecraft:players | yes | yes | yes |
minecraft:players/kick | yes | yes | yes |
minecraft:server/status | yes | yes, proxy status | yes, proxy status |
minecraft:server/stop | yes | yes, stops proxy | yes, stops proxy |
minecraft:server/system_message | yes | yes, proxy players | yes, proxy players |
minecraft:server/save | yes | no | no |
minecraft:allowlist/* | yes | no | no |
minecraft:bans/* | yes | no | no |
minecraft:ip_bans/* | yes | no | no |
minecraft:operators/* | yes | no | no |
minecraft:serversettings/* | partial | no | no |
minecraft:gamerules/* | yes | no | no |
Spigot/Paper server settings are limited to APIs available through the Spigot 1.8.8 API. Implemented settings are autosave, difficulty, use_allowlist, player_idle_timeout, allow_flight read-only, motd read-only, spawn_protection_radius, game_mode, and view_distance read-only.
| Notification group | Spigot / Paper | Velocity | BungeeCord |
|---|---|---|---|
minecraft:notification/server/started | yes | yes | yes |
minecraft:notification/server/stopping | yes | yes | yes |
minecraft:notification/server/status | yes | yes | yes |
minecraft:notification/server/activity | yes | yes | yes |
minecraft:notification/players/joined | yes | yes | yes |
minecraft:notification/players/left | yes | yes | yes |
minecraft:notification/server/saving | yes | no | no |
minecraft:notification/server/saved | yes | no | no |
minecraft:notification/allowlist/* | management API changes only | no | no |
minecraft:notification/bans/* | management API changes only | no | no |
minecraft:notification/ip_bans/* | management API changes only | no | no |
minecraft:notification/operators/* | management API changes only | no | no |
minecraft:notification/gamerules/* | management API changes only | no | no |
The service is disabled by default. Enable it only after setting a secret and deciding where it should listen.
Spigot/Paper uses plugins/MinecraftServerManagementProtocolLegacySupport/config.yml:
management-server-enabled: true
management-server-host: localhost
management-server-port: 25585
management-server-secret: 'replaceWithExactly40AlphaNumericCharacters'
management-server-allowed-origins: ''
management-server-tls-enabled: false
management-server-tls-keystore: ''
management-server-tls-keystore-password: ''
Velocity and BungeeCord create management-server.properties in the plugin data folder with the same setting names.
management-server-enabled: Starts or disables the management endpoint.management-server-host: Interface to bind. Use localhost when only local tooling or a reverse proxy should connect.management-server-port: Port for the WebSocket server. Use a fixed port for production.management-server-secret: Required shared secret. It must be exactly 40 alphanumeric characters.management-server-allowed-origins: Comma-separated list of allowed browser origins when authenticating through Sec-WebSocket-Protocol.management-server-tls-enabled: Enables wss://. Requires a valid keystore.management-server-tls-keystore: Path to a PKCS12 keystore.management-server-tls-keystore-password: Keystore password. It can also be supplied through MINECRAFT_MANAGEMENT_TLS_KEYSTORE_PASSWORD or the JVM property management.tls.keystore.password.Licensed under the Apache License, Version 2.0. See LICENSE.
Adds legacy version support for Minecraft Server Management Protocol