使用说明
MCP面板 - 超现代Debian版Minecraft托管服务
MCP面板是一个基于Nette框架的控制面板,它能够在单一的Debian主机上配置基于Spigot的Minecraft服务器。其用户界面使用了
现代感十足的深色主题,配以(某种特色或装饰) MC 紫色#ab47bc) 并且通过协调操作,无需使用RCON即可提供实时控制台访问
在主机上直接运行GNU Screen会话。
特点/功能
- 使用Latte模板和Nette UI工具包渲染的完全响应式着陆页和仪表板视图。
- 基于SQLite的安全注册和登录系统,采用密码哈希和基于会话的认证机制。
- 用于事务性邮件的PHPMailer集成(默认禁用,可通过配置启用)
common.neon)。 - 存储在SQLite中的包目录,用于驱动每个服务器的JVM内存限制。
- 自动化服务器配置,用于准备目录、编写配置并在命名的Screen会话中启动Spigot。
- 使用轻量级JSON端点进行实时控制台流媒体传输和命令注入。
- 管理员工作区,可从单一界面检查用户、软件包和服务器。
项目布局
app/ Nette bootstrap, presenters, templates, and models
scripts/ Utility scripts (database initialization)
storage/ SQLite database file and runtime server directories
www/ Public web root for Apache/Nginx or PHP built-in server
# Zibuu MCP – Autonomous Minecraft Hosting Panel
Zibuu MCP is a lightweight hosting panel that provisions Spigot-based Minecraft servers on a single Debian host. The stack uses PHP, Apache/Nginx, and SQLite, and provides a modern dark UI, PHPMailer-powered notifications, and full console control through GNU Screen instead of RCON.
## Features
- Landing page with responsive dark UI (accent `#ab47bc`).
- User registration & login with secure password hashing.
- Built-in PHPMailer integration for welcome and transactional messages.
- Predefined hosting packages with RAM allocations stored in SQLite.
- Automated Spigot server provisioning with per-instance directories, ports, and EULA acceptance.
- Background process management via GNU Screen for true console access.
- Live log streaming and console command injection from the browser.
- Admin dashboard for viewing users, packages, and all provisioned servers.
## Project structure
public/ 公共网页根目录(置于 Apache/Nginx 的文档根目录之后) assets/ 静态资源(CSS/JS) api/ 用于控制台流和服务器控制的AJAX端点 includes/ 共享的PHP配置和辅助工具 scripts/ 维护工具(数据库初始化) storage/ SQLite数据库文件和服务器目录
## Requirements
- Debian 11+ with Apache or Nginx and PHP 8.1+
- PHP extensions: `pdo_sqlite`, `sqlite3`
- GNU Screen and OpenJDK 17+ on the host
- Spigot `spigot.jar` built with BuildTools (path configured in `app/config/common.neon`)
- Composer for dependency installation
## Quick start
1. **Clone and install dependencies**
```bash
git clone https://github.com/Maz0CZ/mcp.git
cd mcp
composer install
- 准备存储目录
- 运行 Debian 11+ 的主机,配备 Apache 或 Nginx + PHP 8.1+
- PHP 扩展:
pdo_sqlite,sqlite3 - Java 运行时环境(推荐使用 OpenJDK 17 或更高版本)
- GNU Screen
- 水龙头(或称为出水口)
spigot.jar使用BuildTools构建并放置在配置的路径中includes/config.php - Composer(用于安装PHPMailer)
安装
-
克隆仓库 将其放入你的网站根目录并安装PHP依赖项:
composer install -
配置面板 通过调整
includes/config.php:- 设置到你的Spigot的绝对路径
spigot.jar。 - 更新SMTP凭据,并在需要时启用电子邮件。
- 在开发过程中,可选择通过设置来禁用进程控制
enable_process_controltofalse。
- 设置到你的Spigot的绝对路径
-
准备存储目录:
mkdir -p storage/servers chown -R www-data:www-data storage -
配置面板
调整
app/config/common.neon指向您的Spigot JAR文件,调整屏幕/进程设置,并设置SMTP凭据(如果需要) 你打算发送电子邮件。 -
初始化SQLite数据库
-
初始化SQLite数据库 (创建表、默认用户和包):
php scripts/init_db.php默认登录名:
- 顾客:
test@test.cz/test - 管理员:
admin@test.cz/lofaska
- 顾客:
-
为面板服务
要在本地进行评估,请运行PHP内置服务器:
php -S 0.0.0.0:8000 -t www对于生产环境,请将您的Web服务器文档根目录指向
www/目录。
部署说明
- 每个服务器实例都在一个专用的Screen会话中运行
mcp_<id>) 确保可以直接注入命令以 无需启用RCON即可实现完整控制台控制。 - 每个服务器目录的控制台日志流可以通过标准工具(如logrotate、cron作业等)进行轮转。
- 设定
enableProcessControltofalse在里面common.neon在不使用Java/Screen进行开发时,配置(provisioning)仍会创建 在不执行shell命令的情况下管理文件系统资源。
许可证
此项目作为现有状态提供,仅供教育使用。请根据您的托管需求调整工作流程、样式和自动化设置
要求。
5. 配置您的网络服务器 所以文档根目录指向的是 public/ 目录。Apache 虚拟主机配置片段示例:
DocumentRoot /var/www/zibuu/public
<Directory /var/www/zibuu/public>
AllowOverride All
Require all granted
</Directory>
-
提供服务器 直接从仪表板获取。每台服务器都会收到一个专用文件夹,位于
storage/servers/<id>和;与;带有server.properties,eula.txt以及一个滚动控制台日志。面板会在命名的Screen会话中启动服务器(例如。,mcserver_42)。 -
控制台流媒体 通过AJAX轮询控制台日志来处理。在浏览器中输入的命令会被注入到Screen会话中
screen -X stuff,避免依赖RCON。
更新软件包和世界数据
- 要添加或修改托管套餐,请更新
packages通过 SQLite 管理表或扩展管理面板以添加 CRUD 操作。 - 服务器世界(或服务器实例)和配置文件存储在每个服务器目录中;标准的备份工具(例如。,
rsync,tar)可以使用。
开发技巧
- 在本地开发时,若没有可用的Spigot或Screen,设置
enable_process_controltofalse该面板将跳过外壳执行,但仍会创建目录和配置文件。 - 日志流在实际日志文件出现之前,会显示友好的占位符文本。
安全考虑
- 始终通过HTTPS为面板提供服务。
- 限制PHP的exec权限,并仔细验证任何额外的配置值。
- 对于长时间运行的服务器,定期轮转控制台日志(例如,通过cron任务)以避免生成过大的文件。
许可证
此项目仅供教育用途,按原样提供。请根据您的托管工作流程进行定制和扩展。