ModsJava
Storm Panel
Secure cloud-based Minecraft server management live metrics, remote console and player moderation.
⬇ Download on Spigot
StormPanel
Secure cloud-based Minecraft server management
Secure cloud-based Minecraft server management
StormPanel is a lightweight Minecraft server agent that securely connects your Paper server to a remote web management panel.
The plugin collects live server metrics, sends them to your StormPanel Cloud backend and allows authorized administrators to manage the server from a web interface.
StormPanel is designed for server owners, hosting providers and Minecraft networks that want to build their own modern server management dashboard.
Features
- Secure WebSocket connection to a remote StormPanel Cloud
- Unique installation identity and secret
- Secure server pairing system
- Automatic reconnect after connection loss
- Live server status
- Online player count
- Maximum player count
- TPS monitoring
- MSPT monitoring
- Memory usage monitoring
- Server uptime
- Minecraft and server software information
- Online player list
- Player UUID, world, position, ping and game mode
- Remote console commands
- Configurable command allowlist and blocklist
- Remote player kick
- Remote mute
- Remote temporary or permanent ban
- Remote IP ban
- Optional remote shutdown
- Configurable moderation command templates
- Action result responses
- Heartbeat and connection monitoring
Important
StormPanel is an Agent plugin.
The plugin does not contain a complete standalone website.
To use the web management features, you need either:
- A compatible StormPanel Cloud and website
- Your own Node.js Cloud backend and custom website
The communication flow is:
Code (Text):
Website
|
REST API
|
StormPanel Cloud
|
Secure WebSocket
|
StormPanel Agent
|
Minecraft Server
Supported server software
- Paper 1.21
- Java 21
Other Paper-based server software may work, but is not guaranteed unless explicitly tested.
Installation
- Stop your Minecraft server.
- Download the StormPanel plugin.
- Place the JAR file inside the server's
folder.Code (Text):plugins
- Start the server.
- Open
.Code (Text):plugins/StormPanel/config.yml
- Configure the StormPanel Cloud WebSocket URL and panel URL.
- Reload or restart the server.
- Run
.Code (Text):/stormpanel pair
- Copy the generated pairing code.
- Open your StormPanel website pairing page.
- Enter the pairing code and select a server name.
After pairing, the Agent stores its server ID and secure server token inside:
Code (Text):
plugins/StormPanel/credentials.json
Commands
Code (Text):
/stormpanel status
/stormpanel pair
/stormpanel reconnect
/stormpanel reload
- /stormpanel status - Shows Cloud connection and pairing status.
- /stormpanel pair - Requests a new pairing code.
- /stormpanel reconnect - Reconnects the Agent to the Cloud.
- /stormpanel reload - Reloads the Agent configuration.
Remote player actions
StormPanel supports the following remote player actions:
Code (Text):
kick_player
mute_player
ban_player
ipban_player
Example:
Code (Text):
remote-control:
player-actions:
kick: "kick {player} {reason}"
mute: "tempmute {player} {duration} {reason}"
ban: "tempban {player} {duration} {reason}"
ipban: "tempbanip {player} {duration} {reason}"
Code (Text):
{player}
{uuid}
{duration}
{reason}
Code (Text):
tempmute
tempban
tempbanip
Remote console security
Remote console access can be restricted with allowed and blocked command prefixes.
Example:
Code (Text):
security:
allowed-command-prefixes:
- "say"
- "list"
- "kick"
blocked-command-prefixes:
- "op"
- "deop"
- "reload"
- "stop"
- "plugman"
It only allows an authorized StormPanel administrator to send that command from the web panel.
For security reasons, it is strongly recommended to use a strict allowlist.
Configuration example
Code (Text):
cloud:
websocket-url: "wss://api.example.com/agent"
panel-url: "https://example.com/stormpanel/pair"
remote-control:
enabled: true
console:
enabled: true
player-actions:
enabled: true
kick: "kick {player} {reason}"
mute: "tempmute {player} {duration} {reason}"
ban: "tempban {player} {duration} {reason}"
ipban: "tempbanip {player} {duration} {reason}"
shutdown:
enabled: false
metrics:
enabled: true
interval-seconds: 5
include-player-list: true
include-player-addresses: false
security:
log-remote-commands: true
allowed-command-prefixes:
- "say"
- "list"
- "kick"
blocked-command-prefixes:
- "op"
- "deop"
- "reload"
- "stop"
- "plugman"
Changing only the following settings does not create a complete self-hosted StormPanel installation:
Code (Text):
cloud.websocket-url
cloud.panel-url
- Node.js Cloud backend
- WebSocket server
- REST API
- Website
- Database
- Domain
- Valid SSL certificate
Security recommendations
- Always use WSS instead of an unencrypted WebSocket connection.
- Never share credentials.json.
- Never expose the Cloud administrator key in frontend JavaScript.
- Use a strict remote command allowlist.
- Disable remote shutdown unless it is required.
- Do not include player IP addresses unless necessary.
- Only pair servers with a trusted StormPanel installation.
- Use HTTPS for every website and API endpoint.
Requirements
- Java 21
- Paper 1.21
- Internet access to the configured StormPanel Cloud
- A compatible Cloud backend and website for remote management
Support
When requesting support, please include:
- Minecraft version
- Paper build
- StormPanel version
- Relevant console error
- Your configuration with all secrets removed
Never publish your installation secret, server token, administrator key or credentials.json file.
Storm Panel is a free Minecraft Java mod. Compatible with Minecraft 1.21. Downloaded 7 times (via Spigot). Download it and open it directly in the game.