# Blockpanel A comprehensive web-based control panel for managing multiple Minecraft servers. Blockpanel provides an intuitive interface to create, configure, and monitor your Minecraft servers with advanced features like automatic port allocation, proxy management, and real-time server monitoring. ## Features ### Server Management - Create and delete Minecraft servers with automatic configuration - Start, stop, and restart servers with real-time status monitoring - Automatic port allocation and management (25565-25575 range) - EULA acceptance handling for new servers - Server console access with command execution ### Server Configuration - Edit server.properties files through the web interface - World management and configuration - Plugin and mod management with file upload capabilities - Backup and restore functionality ### User Management - Operator (OP) management - add/remove server operators - Whitelist management - control who can join your servers - Player ban/unban system with reason tracking - User authentication and access control ### Monitoring and Logging - Real-time server logs with filtering capabilities - Server performance monitoring - Player activity tracking - Port usage and availability monitoring ### Advanced Features - HAProxy integration for load balancing and proxy management - Docker containerization for isolated server environments - Automatic Java runtime management - REST API for programmatic access - Responsive web interface with dark theme ## System Requirements ### Windows Installation - Windows 10/11 (64-bit) - 4GB RAM minimum, 8GB recommended - 10GB available disk space - Java 17+ (automatically managed by installer) - Python 3.8+ (automatically managed by installer) ### Docker Installation - Docker Engine 20.10+ - Docker Compose v2 - 2GB RAM minimum, 4GB recommended - 5GB available disk space - Linux, Windows, or macOS host system ## Installation ### Windows Desktop Application 1. Download the latest `Blockpanel Setup.exe` from the releases page 2. Run the installer as administrator 3. Follow the installation wizard 4. Launch Blockpanel from the Start Menu or desktop shortcut 5. Access the web interface at `http://localhost:1105` The Windows installer includes: - Portable Java runtime environment - Portable Python runtime environment - Automatic dependency management - Windows service integration - Autostart configuration options ### Docker Deployment 1. Clone the repository: ```sh git clone https://github.com/Luckmuc/Blockpanel.git cd Blockpanel/Dockercontainer ``` 2. Start the application: ```sh docker compose up --build -d ``` 3. Access the web interface at `http://localhost:1105` The Docker deployment includes: - Backend API server (port 8000) - Frontend web interface (port 1105) - HAProxy load balancer (ports 25565-25575, 8404) - Persistent volume storage for server data ## Default Access - **Web Interface**: `http://localhost:1105` - **Default Username**: `admin` - **Default Password**: `admin` - **HAProxy Stats**: `http://localhost:8404` (Docker only) **Important**: Change the default credentials immediately after first login. ## Configuration ### Port Configuration - Frontend: 1105 (web interface) - Backend API: 8000 (internal) - Minecraft Servers: 25565-25575 (automatically allocated) - HAProxy Stats: 8404 (Docker only) ### Server Storage - **Windows**: `%APPDATA%/Blockpanel/mc_servers/` - **Docker**: `/app/mc_servers/` (mapped to Docker volume) ### User Management User accounts are stored in `users.json`. The default admin account should be changed or additional users created through the web interface. ## Development ### Prerequisites - Node.js 18+ - Python 3.8+ - Docker (for containerized development) ### Local Development Setup ```sh # Clone repository git clone https://github.com/Luckmuc/Blockpanel.git cd Blockpanel # Frontend development cd Dockercontainer/frontend npm install npm run dev # Backend development cd ../backend pip install -r requirements.txt python main.py ``` ## Troubleshooting ### Common Issues - **Port conflicts**: Ensure ports 1105 and 25565-25575 are available - **Permission errors**: Run as administrator on Windows or with proper Docker permissions - **Java not found**: Windows installer includes portable Java; for Docker, Java is included in containers - **Server won't start**: Check server logs and ensure EULA acceptance ### Support For issues, feature requests, or contributions, please visit the project repository on GitHub. ## License This project is licensed under the MIT License. See the LICENSE file for details.