automa/minecraft/CHANGELOG.md
m1ngsama 0fe7ed79ad refactor: 重构Minecraft服务器自动化管理方案
## 重构内容

### 新增自动化脚本系统 (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配置无变化
2025-12-09 10:00:00 +08:00

184 lines
4.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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` - 下载 mods
- `make minecraft-mods-list` - 列出 mods
- `make minecraft-mods-update` - 更新 mods
- `make minecraft-mods-check` - 检查状态
**备份管理**
- `make minecraft-backup` - 完整备份
- `make minecraft-backup-world` - 备份世界
- `make minecraft-backup-list` - 列出备份
- `make minecraft-backup-cleanup` - 清理备份
#### 3. 完整的文档
重写 `minecraft/README.md`
- 详细的快速开始指南
- 完整的命令参考
- 高级用法示例
- 故障排查指南
- 迁移指南
### 🔄 架构改进
#### 从旧方案继承的优点
1. **日志系统**
- 保留了 `logger.sh` 的彩色输出设计
- 增强了日志功能(系统信息、时间戳、文件记录)
2. **Mods 下载逻辑**
- 基于 `download-mods.sh` 改进
- 统一使用 `extras/mods.txt` 格式
- 增加错误处理和重试机制
3. **部署流程**
- 参考 `deploy.sh` 的备份逻辑
- 适配 Docker Compose 环境
#### 新增的优势
1. **Docker 优先**
- 完全容器化部署
- 一致的运行环境
- 简化依赖管理
2. **模块化设计**
- 每个脚本职责单一
- 通过 `utils.sh` 共享通用功能
- 易于维护和扩展
3. **统一管理**
- 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/ # 保留(供参考)
```
### 🔧 技术细节
1. **错误处理**
- 所有脚本使用 `set -e`
- 完善的返回码检查
- 详细的错误消息
2. **跨平台兼容**
- macOS 和 Linux 兼容的命令
- 自动检测 `docker compose` vs `docker-compose`
- 处理不同的 `stat` 命令格式
3. **安全性**
- 敏感信息通过 `.env` 管理
- RCON 密码验证
- 备份前的确认机制
### 📋 迁移建议
如果使用旧的 `src/automatic/` 脚本:
1. 旧脚本仍可使用(未删除)
2. 建议迁移到新的 Docker 方案
3. 新方案提供更多自动化功能
4. 通过 Makefile 统一管理更便捷
### 🎯 后续计划
- [ ] 添加定时备份的 systemd/cron 模板
- [ ] 集成 Prometheus 指标监控
- [ ] 添加自动更新检查
- [ ] Web 控制面板集成
- [ ] 多服务器管理支持
### 📝 配置兼容性
-`docker-compose.yml` - 无变化
-`.env` - 无变化
-`configs/` - 无变化
-`mods/` - 无变化
-`extras/mods.txt` - 格式与旧 `requirements.txt` 兼容
### 🙏 致谢
重构整合了原有设计的精华:
- 日志系统的设计理念
- Modrinth API 集成逻辑
- 部署流程的最佳实践