A comprehensive, secure Minecraft server management solution with a modern web interface. Monitor, manage, and control your Minecraft server from anywhere with real-time metrics, player management, file operations, and more.
The Project consists of three integrated components that work together to provide complete server management:
- Plugin - PaperMC/Spigot plugin providing a secure REST API
- Backend - Rust server handling communication and serving the web interface
- Frontend - Modern single-page web application for server management
┌─────────────┐ ┌──────────────┐ ┌───────────┐
│ Frontend │ ←─────→ │ Backend │ ←─────→ │ Plugin │
│ (Browser) │ HTTP │ (Rust) │ API │ (Java) │
└─────────────┘ └──────────────┘ └───────────┘
↓
┌───────────┐
│ Minecraft │
│ Server │
└───────────┘
- Real-time server metrics with live graphs (last 10 minutes)
- TPS, memory usage, CPU usage, and player count tracking
- Server uptime and current player statistics
- Automatic metric collection every 2 seconds
- Log search functionality with highlighting
- List all installed plugins
- Detailed server configuration display
- World information (environment, difficulty, PvP status, seed)
- GeyserMC detection and Bedrock port display
- Network information and game modes
- View all players who have joined the server
- See online status and play time for each player
- View player inventories
- Search players by name or UUID
- Kick online players
- Ban and unban players
- Manage operator status
- Display player heads from Mojang API
- Whitelist management
- Blacklist (ban list) management
- Operator list management
- Automatic UUID resolution for player names
- Console access with log viewing
- Command execution directly from web interface
- Graphical Server settings editor (server.properties)
- Game rules editor with categorized settings
- Server shutdown functionality
- Combined server logs (console and chat)
- Browse server files and directories
- Upload files to Server
- Download files from server
- Create and delete folders
- Edit files
- Rename files and folders
- View images from Server
- File sorting by name, size, or date
- File search functionality
- Change log tracking for all file operations
- Create Custom crafting recipes
- Send messages as Server to players
- Execute in-game commands with slash notation
- Java 21 or higher
- PaperMC or Spigot 1.21.1+
- Maven (for building from source)
- Docker and Docker Compose
- Build the plugin:
cd plugin
mvn clean package-
Copy the JAR file into the
pluginsDirectory on your Minecraft server -
Start your Minecraft server. The plugin will generate configuration files in
plugins/RandomBytesMCControl/:plugin.config- Contains the API port (default: 25575)API-KEY.txt- Your unique API key for backend authenticationpublic-key.txt- RSA public key for encrypted communication
- Navigate to the backend directory:
cd backend-frontend- Create the configuration file:
cp backend.config.example backend.config- Edit
backend.configwith your server details:
plugin_host=your-minecraft-server-ip
plugin_port=25575
api_key=your-api-key-from-plugin
backend_port=8080
-
Change the Port in
docker-compose.ymlif you changed it inbackend.config. -
Start the backend with Docker:
sudo docker compose up --build -d- View logs (optional):
sudo docker compose logs -fThe system implements multiple security layers:
- API Key Authentication - All backend-to-plugin communication requires a valid API key
- RSA-2048 Key Exchange - Initial connection uses public key cryptography
- Reverse Proxy Compatible - Can be placed behind authentication proxies
- Deploy behind a reverse proxy with authentication (Authelia, OAuth2 Proxy, etc.)
- Use HTTPS with valid SSL certificates for remote access
- Connect over VPN or SSH tunnel when accessing over the internet
- Backend: Rust (Axum web framework, Tokio async runtime)
- Database: None (stateless, communicates directly with Minecraft server files)
- Frontend: JavaScript, HTML, CSS (no frameworks)
- Deployment: Docker Compose
- HTTP | Frontend: 8080 (default)
- REST API | Plugin: 25575 (default)
This software is licensed under the GNU General Public Licence Version 3. Refer to the LICENCE file for more information.
