About this project
# HyperCraft
**Self-hosted Minecraft Server Panel — One binary, one machine, any number of servers.**
HyperCraft is a lightweight management tool designed specifically for Minecraft servers. It consolidates complex server operations into a browser-based interface, allowing users to easily manage multiple game server instances without requiring deep Linux system knowledge.
## Core Features
### Minimalist Deployment
- **Single Binary**: The backend and frontend are packaged together. No Go, Node.js, Java, or other runtime environments need to be installed on the target machine.
- **No External Dependencies**: No database (such as MySQL/PostgreSQL) or Docker is required. Simply download and extract to start.
- **Daemon Mode**: The panel runs as a daemon. Server processes remain running even if the browser tab is closed, network connectivity is lost, or the router restarts.
### Powerful Multi-Instance Management
- **Unlimited Instances**: Run multiple Minecraft servers (Java Edition or Bedrock Edition) simultaneously on a single machine.
- **Graceful Control**: Supports starting, graceful shutdown, restarting, and forceful termination. Graceful shutdown sends the `stop` command first to wait for world saves, upgrading signals only after a timeout.
- **Automatic Crash Restart**: Optional configuration that automatically recovers the server when it crashes unexpectedly.
### Immersive Terminal Experience
- **True Terminal Console**: Servers run on pseudo-terminals, supporting Tab completion, color output, and adaptive window width. Completion content is handled by the running server kernel.
- **Reconnection Support**: Uses a circular buffer to record historical output. Upon reconnection, the console automatically fills in missing historical logs, ensuring no duplication or omission.
### Automated Operations Tools
- **Java Environment Management**: One-click installation of Eclipse Temurin JRE/JDK, supporting multiple versions coexisting (e.g., running both old 1.12 servers and the latest version). The panel automatically detects and installs the required Java version.
- **Server Core Library**: Built-in download sources for cores like Paper and Velocity. A single download can be copied to any number of instances.
- **Plugin Management**: Supports pulling plugins from platforms such as Modrinth, Hangar, SpigotMC, and GitHub Releases. Provides global library and instance-level management, retaining each version separately for rollback purposes.
- **Build Library/Market**: Supports parsing `.schem` files for入库 analysis, allowing direct viewing of dimensions and materials, and one-click installation to specified instances.
### Security and Monitoring
- **Resource Monitoring**: Real-time display of CPU/memory curves for each instance, as well as total machine memory, disk, CPU, and network traffic. Data collection is performed independently by the daemon, unaffected by web page status.
- **Secure Defaults**: Uses PBKDF2-SHA256 password hashing, supports login rate limiting, concurrent connection limits, HttpOnly + SameSite session cookies, and device token verification.
- **File Safety**: All file operation paths are isolated via `os.Root`, strictly confined within instance directories to prevent unauthorized access.
### Other Practical Features
- **Configuration File Editor**: Formulates `server.properties`, preserving comments and key order, auto-escaping Chinese characters, and writing only modified key-value pairs.
- **Configuration History**: Maintains independent Git repositories for each instance to record configuration changes, supporting Diff viewing and restoration (note: does not include world data backups).
- **Database Environment**: One-click startup of MySQL, PostgreSQL, or MongoDB to meet plugin requirements needing database support.
- **Local Terminal**: Access to the real Shell of the machine hosting the panel (disabled by default), facilitating system-level commands.
- **Panel Self-Update**: Click on the interface to replace the binary file and restart in place; automatic rollback occurs upon failure.
## Quick Start
The release artifact is a single-file binary, supporting architectures such as Linux amd64/arm64.
```bash
# 1. Create directory and download
sudo mkdir -p /opt/hypercraft && cd /opt/hypercraft
sudo wget https://github.com/Lanscarlos/HyperCraft/releases/download/v0.4.0/hypercraft-0.4.0-linux-amd64.tar.gz
sudo tar -xzf hypercraft-0.4.0-linux-amd64.tar.gz --strip-components=1
# 2. Install systemd service
sudo cp hypercraft.service /etc/systemd/system/
sudo systemctl enable --now hypercraft
# 3. View initial admin password
sudo journalctl -u hypercraft -f
```
Open `http://your_server_ip:19190` to log in. The first launch generates a random administrator password and prints it once in the logs.
> **Security Tip**: The panel listens on plaintext HTTP by default. If exposing it to the public internet, please configure reverse proxy TLS or use an SSH tunnel.
## Interface Overview
- **Dashboard**: Card-style display of server statuses, supporting direct power on/off, with disk warnings pinned at the top.
- **New Instance Wizard**: A five-step process guiding core selection, Java installation, and instance naming.
- **File Manager**: Supports drag-and-drop upload, breakpoint resumption, and online editing of configuration files.
- **Mobile Adaptation**: On narrow screens, priority is given to status, power controls, and consoles, with the sidebar collapsing into a drawer mode.
## Technical Details
- **Language**: Go (Backend) + Vanilla JS (Frontend, no UI framework dependency).
- **Performance**: The panel's resident heap memory is approximately 2 MB.
- **Build**: Requires Go 1.25+ and Node 20+ to build from source.
- **Protocol**: MIT License.
## Known Limitations and Future Plans
- **Currently Not Implemented**: Player list/whitelist management (requires manual JSON editing), automatic backups, scheduled tasks, more core types (Fabric/Forge), Windows terminal support.
- **System Compatibility**: Temurin provides only glibc builds; musl systems (such as Alpine) may not run correctly. The panel will detect this and prompt accordingly.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.