MC-Minder
English | 中文
一个为 Minecraft Fabric 服务器设计的智能管理套件,支持 MacOS、Linux 和 Termux/Android 环境。
本项目诞生于在 Termux 上更方便地管理 Minecraft 服务器的需求。
本项目由 AI 辅助编写。
功能特性
- 日志监控:使用 notify 库实时监控服务器日志,事件驱动,低 CPU 占用
- AI 聊天机器人:支持 OpenAI API 和 Ollama,玩家使用
!前缀触发,内置请求限流 - RCON 通信:异步 RCON 协议实现,自动重连,不阻塞事件循环
- 上下文记忆:按玩家保存对话历史,自动过期清理
- HTTP API:RESTful API 用于状态查询、历史记录和命令执行
- 一键安装:交互式初始化,自动检测环境依赖
- 自动更新:内置 self-update 命令
快速开始
一键安装
|
初始化配置
这将引导你完成配置:
- 设置 RCON 密码
- 选择是否启用 AI 功能
- 配置服务器内存和会话名称
启动服务器
安装方式
方式一:预编译二进制(推荐)
# 下载安装脚本
|
# 初始化配置
方式二:从 crates.io 安装
方式三:从源码编译
Termux/Android (aarch64)
使用方法
目录结构
MC_server/ # 服务器根目录
├── fabric-server.jar # 服务端核心
├── server.properties # 服务器配置
├── mc-minder # MC-Minder 二进制
├── start-tui.sh # TUI 启动脚本(图形化界面)
├── backup.sh # 备份脚本
├── config.toml # MC-Minder 配置文件
├── logs/
│ ├── latest.log # 服务器日志
│ └── mc-minder.log # MC-Minder 日志
└── world/
配置
服务器配置(端口、服务器名、IP等)请在 server.properties 中配置。
MC-Minder 配置:编辑 config.toml:
# 服务器配置
[]
= "fabric-server.jar"
= "512M"
= "1G"
= "mc_server"
= "logs/latest.log"
# RCON 配置 - MC-Minder 与 Minecraft 服务器通信必需
[]
= "127.0.0.1"
= 25575
= "your_rcon_password"
# AI 配置 - 留空禁用 AI 功能
[]
= ""
= ""
= "gpt-3.5-turbo"
= "!"
= 150
= 0.7
# Ollama 配置 - 设置 enabled = true 使用本地 AI
[]
= false
= "http://localhost:11434/api/generate"
= "qwen:0.5b"
# 备份配置
[]
= "world"
= "../backups"
= 7
# 通知配置
[]
= ""
= ""
= true
启动脚本命令
MC-Minder 命令行
TUI 管理界面(v0.4.2+)
MC-Minder 现在提供原生 Rust TUI,无需 Shell 脚本和 dialog 依赖:
TUI 功能:
- 主菜单(13 个选项):上下键/数字键导航,Enter 确认
- 服务器控制:后台启动、前台启动、停止、重启、状态查看
- 日志查看:服务器日志和 MC-Minder 日志,支持滚动
- Java 管理:版本检测、切换、安装(Termux)
- 配置向导:交互式配置 10 个参数
- 语言切换:中英文即时切换,持久化保存
- 状态监控:tmux 会话、mc-minder 进程、看门狗状态
键盘快捷键:
- 上下箭头 / j/k:导航
- 1-9:快速选择
- Enter:确认
- Esc/q:返回/退出
AI 聊天使用
玩家在游戏中使用 ! 前缀触发 AI 响应:
!你好
!help
!如何制作钻石剑?
限流机制:
- 同一玩家请求间隔至少 2 秒
- 最大并发请求数为 3
HTTP API
| 端点 | 方法 | 描述 |
|---|---|---|
/status |
GET | 获取服务器状态和运行时间 |
/history |
GET | 获取对话历史 |
/command |
POST | 执行 RCON 命令 |
示例:
# 获取状态
# 执行命令
命令行选项
mc-minder [OPTIONS] [COMMAND]
Commands:
init 交互式初始化配置
gen-config 生成默认配置文件
gen-start 生成 start.sh 脚本
gen-backup 生成 backup.sh 脚本
self-update 更新到最新版本
config 显示当前配置
Options:
-c, --config <PATH> 配置文件路径 [默认: config.toml]
-v, --verbose 启用详细日志
--http-port HTTP API 端口 [默认: 8080]
-h, --help 显示帮助
-V, --version 显示版本
备份
系统要求
- Rust 1.70+(仅编译时需要)
- Java 17+(用于 Minecraft 服务器)
- tmux(用于会话管理)
- 可选:Ollama(用于本地 AI)
Windows 换行符问题
如果在 Windows 上编辑脚本后在 Linux/Termux 上运行报错 $'\r': command not found,请转换换行符:
# 方法一:使用 dos2unix
# 方法二:使用 sed
本项目已在 .gitattributes 中配置 *.sh text eol=lf,Git 检出时会自动使用 LF 换行符。
贡献
欢迎贡献!请随时提交 Pull Request。
- Fork 本仓库
- 创建功能分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 打开 Pull Request
许可证
本项目采用 MIT 许可证 - 详情请见 LICENSE 文件。
致谢
- 本项目99.2%的内容由 AI 编写(v0.3.15起从Trae CN换到了Opencode)
- 我自己不是很懂Rust。v0.3.14(包括0.3.14)前的代码,都是由 "Trae CN" 的智能体编写。v0.3.15(包括0.3.15)之后的代码,都由opencode编写。
- 灵感来源于移动设备上轻量级 Minecraft 服务器管理的需求
作者
- GitHub: @SharkMI-0x7E