Git + Packwiz + FreeFileSync + GitHub Actions
专为 Minecraft 整合包开发设计的全链路自动化解决方案
- 🔄 无缝同步 - FreeFileSync 智能同步开发环境与仓库
- 📦 轻量分发 - Packwiz 元数据管理,包体积 < 100MB
- 🚀 自动构建 - GitHub Actions 自动生成多平台发布包
- 🎯 双平台支持 - 同时支持 CurseForge 和 Modrinth
- 🔍 版本追踪 - Git 完整记录每次变更,支持快速回滚
- 📚 文档集成 - VitePress 驱动的项目文档站点
graph LR
A[本地开发环境] -->|FreeFileSync| B[Git 仓库]
B -->|推送提交| C[GitHub Actions]
C -->|自动构建| D[CurseForge 包]
C -->|自动构建| E[Modrinth 包]
D --> F[玩家下载]
E --> F
GPFG 工作流实现了从开发到发布的全流程自动化:
- 本地开发 - 在真实 Minecraft 环境中测试整合包
- 智能同步 - FreeFileSync 自动过滤并同步关键文件
- 版本控制 - Git 追踪所有配置变更,支持协作开发
- 自动发布 - 提交后自动构建兼容各大启动器的发布包
必需工具:
- Git - 版本控制
- Go - 用于安装 Packwiz
- FreeFileSync - 文件同步
安装 Packwiz:
go install github.com/packwiz/packwiz@latest
克隆仓库:
git clone https://github.com/your-username/your-modpack.git
cd your-modpack
配置 FreeFileSync:
- 打开
SyncSettings.ffs_gui
- 修改路径配置:
- 左侧路径:你的 Minecraft 开发环境目录(如
.minecraft
) - 右侧路径:仓库中的
pack
目录
- 左侧路径:你的 Minecraft 开发环境目录(如
- 保存配置文件
初始化 Packwiz:
cd pack
packwiz init
日常开发步骤:
-
开发阶段 - 在本地 Minecraft 环境中:
# 添加新模组 cd pack packwiz curseforge add <mod-name> # 或从 Modrinth 安装 packwiz modrinth add <mod-name>
-
同步变更 - 使用 FreeFileSync:
- 打开同步脚本
- 选择要同步的文件
- 点击"同步"按钮
- 系统会自动过滤并同步必要文件
-
提交发布:
git add . git commit -m "添加新模组: ModName" git push
-
自动构建 - GitHub Actions 将自动:
- 检测到推送后启动构建
- 生成 CurseForge (.zip) 和 Modrinth (.mrpack) 格式
- 上传到 Artifacts 供下载测试
├── .github/
│ ├── workflows/
│ │ └── curseforge_build.yml # CurseForge 自动构建
│ └── modrinth_build/
│ ├── README.md # Modrinth 构建说明
│ └── modrinth_build.yml # Modrinth 构建工作流
├── pack/ # 整合包核心目录
│ ├── .gitattributes # Git 属性配置
│ ├── .packwizignore # Packwiz 忽略文件
│ └── [整合包配置文件] # 模组列表、配置等
├── wiki/ # VitePress 文档站点
│ ├── .vitepress/
│ ├── index.md
│ └── [其他文档]
├── SyncSettings.ffs_gui # FreeFileSync 同步配置
├── README.md # 项目说明文档
└── LICENSE # 许可证文件
启用 Modrinth 构建:
- 将
.github/modrinth_build/modrinth_build.yml
移动到.github/workflows/
- 可选择性禁用 CurseForge 构建工作流
自定义构建流程:
- 编辑对应的
.yml
文件 - 修改触发条件、构建参数等
本地预览:
cd wiki
npm install
npm run docs:dev
部署到 Vercel/Netlify:
- 连接 Git 仓库
- 设置构建目录为
wiki
- 构建命令:
npm run docs:build
- Fork 仓库 或获得协作者权限
- 创建功能分支:
git checkout -b feature/new-mods
- 本地开发测试 使用相同的 FreeFileSync 配置
- 提交 Pull Request 并描述变更内容
- 代码审查 确保整合包稳定性
- 合并发布 自动触发构建流程
本项目采用 Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License 许可证。
简单来说:
- ✅ 可以下载、使用、分享
- ❌ 不可用于商业用途
- ❌ 不可制作衍生作品
- ✅ 需要注明原作者
- Packwiz - 优秀的整合包管理工具
- FreeFileSync - 强大的文件同步软件
- VitePress - 现代化文档站点生成器
- Minecraft 模组开发社区的无私贡献