mirror of
https://github.com/m1ngsama/automa.git
synced 2025-12-24 10:51:20 +00:00
## 重构内容 ### 新增自动化脚本系统 (scripts/) - utils.sh: 通用工具库(日志、Docker操作、备份、网络检查) - setup.sh: 环境初始化脚本(目录结构、权限、配置验证) - mod-manager.sh: Mods管理(Modrinth下载、更新、清理) - backup.sh: 备份管理(世界/配置/mods备份、恢复、清理) - monitor.sh: 服务器监控(状态、资源、玩家、日志分析) ### 增强Makefile集成 新增命令: - minecraft-status: 服务器状态检查 - minecraft-setup: 环境初始化 - minecraft-mods-*: Mods管理命令 - minecraft-backup-*: 备份管理命令 ### 完善文档 - 重写README: 详细的使用指南、故障排查、迁移指南 - 新增CHANGELOG: 完整的重构说明和技术细节 ## 架构改进 ### 整合原有设计 - 继承src/automatic/的日志系统设计 - 改进Modrinth API集成逻辑 - 优化部署流程和备份机制 ### 新增优势 - Docker优先的容器化方案 - 模块化脚本设计,职责单一 - Makefile统一管理入口 - 完整的生命周期自动化 ## 技术特性 - 完善的错误处理和日志记录 - macOS/Linux跨平台兼容 - 敏感信息安全管理 - 持续监控模式 ## 向后兼容 - 保留src/automatic/旧脚本(供参考) - 配置文件格式完全兼容 - Docker Compose配置无变化
4.4 KiB
4.4 KiB
Minecraft 自动化方案重构日志
2025-12-09 - 自动化架构重构
🎯 重构目标
整合原有的本地部署方案(src/automatic/)和 Docker Compose 方案,提供统一的自动化管理系统。
✨ 新增功能
1. 统一的脚本体系
创建 scripts/ 目录,包含以下模块:
-
utils.sh - 通用工具库
- 彩色日志输出
- Docker 环境检查
- 容器状态管理
- 文件备份工具
- 网络连接检测
-
setup.sh - 环境初始化
- 系统环境检查
- 目录结构初始化
- 配置文件验证
- 权限自动修复
-
mod-manager.sh - Mods 管理
- 从 Modrinth 自动下载
- 批量更新 mods
- 列出已安装 mods
- 清理和状态检查
-
backup.sh - 备份管理
- 世界数据备份
- 配置文件备份
- Mods 备份
- 备份恢复功能
- 自动清理旧备份
-
monitor.sh - 服务器监控
- 容器状态检查
- 资源使用监控
- 在线玩家查询
- 日志分析
- 持续监控模式
2. Makefile 集成
在根目录 Makefile 中新增命令:
服务器管理
make minecraft-status- 查看服务器状态make minecraft-setup- 初始化环境
Mods 管理
make minecraft-mods-download- 下载 modsmake minecraft-mods-list- 列出 modsmake minecraft-mods-update- 更新 modsmake minecraft-mods-check- 检查状态
备份管理
make minecraft-backup- 完整备份make minecraft-backup-world- 备份世界make minecraft-backup-list- 列出备份make minecraft-backup-cleanup- 清理备份
3. 完整的文档
重写 minecraft/README.md:
- 详细的快速开始指南
- 完整的命令参考
- 高级用法示例
- 故障排查指南
- 迁移指南
🔄 架构改进
从旧方案继承的优点
-
日志系统
- 保留了
logger.sh的彩色输出设计 - 增强了日志功能(系统信息、时间戳、文件记录)
- 保留了
-
Mods 下载逻辑
- 基于
download-mods.sh改进 - 统一使用
extras/mods.txt格式 - 增加错误处理和重试机制
- 基于
-
部署流程
- 参考
deploy.sh的备份逻辑 - 适配 Docker Compose 环境
- 参考
新增的优势
-
Docker 优先
- 完全容器化部署
- 一致的运行环境
- 简化依赖管理
-
模块化设计
- 每个脚本职责单一
- 通过
utils.sh共享通用功能 - 易于维护和扩展
-
统一管理
- Makefile 统一入口
- 一致的命令格式
- 与其他服务(TeamSpeak、Nextcloud)集成
📂 目录变更
旧结构:
minecraft/
├── src/automatic/
│ ├── deploy.sh
│ ├── download-mods.sh
│ ├── logger.sh
│ └── requirements.txt
新结构:
minecraft/
├── scripts/ # 新增:统一的脚本目录
│ ├── utils.sh
│ ├── setup.sh
│ ├── mod-manager.sh
│ ├── backup.sh
│ └── monitor.sh
├── extras/
│ └── mods.txt # 统一的 mods 配置
├── backups/ # 新增:自动备份目录
├── logs/ # 新增:脚本日志目录
└── src/automatic/ # 保留(供参考)
🔧 技术细节
-
错误处理
- 所有脚本使用
set -e - 完善的返回码检查
- 详细的错误消息
- 所有脚本使用
-
跨平台兼容
- macOS 和 Linux 兼容的命令
- 自动检测
docker composevsdocker-compose - 处理不同的
stat命令格式
-
安全性
- 敏感信息通过
.env管理 - RCON 密码验证
- 备份前的确认机制
- 敏感信息通过
📋 迁移建议
如果使用旧的 src/automatic/ 脚本:
- 旧脚本仍可使用(未删除)
- 建议迁移到新的 Docker 方案
- 新方案提供更多自动化功能
- 通过 Makefile 统一管理更便捷
🎯 后续计划
- 添加定时备份的 systemd/cron 模板
- 集成 Prometheus 指标监控
- 添加自动更新检查
- Web 控制面板集成
- 多服务器管理支持
📝 配置兼容性
- ✅
docker-compose.yml- 无变化 - ✅
.env- 无变化 - ✅
configs/- 无变化 - ✅
mods/- 无变化 - ✅
extras/mods.txt- 格式与旧requirements.txt兼容
🙏 致谢
重构整合了原有设计的精华:
- 日志系统的设计理念
- Modrinth API 集成逻辑
- 部署流程的最佳实践