Create a web-based management interface for Minecraft servers that allows administrators to monitor player activity, execute commands, and manage server resources through an intuitive dashboard. This project aims to simplify Minecraft server administration for educational environments.
- Phase 1 (Current): Core functionality - Server status, player listing, and basic RCON commands
- Phase 2 (April 2025): Advanced features - Player management, world backups, and server performance monitoring
- Phase 3 (June 2025): User management, permissions, and mobile-responsive design
- Docker and Docker Compose
- Git
-
Clone the repository:
git clone https://github.com/schto173/minecraft-manager.git cd minecraft-manager -
Create an environment file:
cp .env.example .env
-
Edit the
.envfile with your Minecraft server details:MC_HOST=minecraft MC_PORT=25565 RCON_PORT=25575 RCON_PASSWORD=your_secure_password -
Start the application with Docker Compose:
docker compose up -d
-
Access the web interface at
http://localhost:3000
-
Install Node.js (v16 or later) and npm
-
Install dependencies:
npm install
-
Create and configure the
.envfile as shown above -
Start the application:
npm start
The included docker-compose.yml sets up both the Minecraft server and web application:
version: '3'
services:
minecraft:
image: itzg/minecraft-server
ports:
- "25565:25565"
environment:
EULA: "TRUE"
RCON_PASSWORD: "${RCON_PASSWORD}"
ENABLE_RCON: "true"
volumes:
- ./minecraft-data:/data
restart: unless-stopped
webapp:
build: .
ports:
- "3000:3000"
environment:
- MC_HOST=minecraft
- MC_PORT=25565
- RCON_PORT=25575
- RCON_PASSWORD=${RCON_PASSWORD}
depends_on:
- minecraft
restart: unless-stoppedTo update the application:
-
Pull the latest changes:
git pull
-
Rebuild and restart the containers:
docker compose down docker compose up -d
If the web app can't connect to the Minecraft server:
- Verify the RCON password matches in both environments
- Ensure the Minecraft server is fully started
- Check logs:
docker compose logs minecraft
If you encounter port conflicts:
- Edit the
docker-compose.ymlfile to change the exposed ports - Update the
.envfile to match the new ports
minecraft-manager/
├── website # Code for Website deployment
├── docker-compose.yml # Docker Compose configuration
└── .env.example # Environment variables template
See CONTRIBUTING.md for detailed information on how to contribute to this project.
This project is licensed under the MIT License - see the LICENSE file for details.
- minecraft-server-util for server status queries
- rcon-client for RCON communication
- itzg/minecraft-server for the Minecraft server Docker image