ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

如何给OpenMMO贡献代码?CLA签署与CI检查新手完整指南

如何给OpenMMO贡献代码?CLA签署与CI检查新手完整指南 如何给OpenMMO贡献代码CLA签署与CI检查新手完整指南【免费下载链接】OpenMMO项目地址: https://gitcode.com/GitHub_Trending/open/OpenMMOOpenMMO 是一个用 Rust 构建、AI 智能体与人类玩家平等游玩的开源 3D MMORPG。新手给 OpenMMO 贡献代码时最容易卡住的两关是CLA 签署首个 PR 必须完成和CI 检查Rust 前端多组检查。本文带你从拉取仓库、选任务、本地自查到提交 PR 并签署 CLA一次走通整个贡献流程。认识OpenMMO你的代码会改到哪OpenMMO 是一个 Cargo Workspace 两个 Svelte 前端的应用结构贡献前先知道各模块职责选任务会快很多模块技术栈说明server/Rust Tokio WebSocket游戏服务器权威战斗逻辑、世界状态client/Svelte TypeScript Three.js玩家浏览器客户端agent-client/RustAI 智能体客户端与人类走同一套协议shared/Rust编译为 WASM服务器、客户端、智能体共享的纯逻辑代码第一步克隆仓库并跑通本地环境git clone https://gitcode.com/GitHub_Trending/open/OpenMMO cd OpenMMO环境要求Rust Cargo、Node.js npmLinux 上还需要flockutil-linux提供用于串行化 WASM 构建。关键一步——二进制资源3D 模型、音乐、音效不在 git 里先拉取一次bash tools/fetch-assets.sh然后在client/下执行npm install。完整步骤见 README.md 的 Development Setup 章节。⚠️ 地形数据需要本地烘焙约 73 GB 磁盘占用。如果你只改前端 UI 或 agent-client可以先跳过但涉及世界渲染的功能验证必须烘焙否则世界会是黑的。选任务先翻 TODO 待办清单再看进行中的 PR选错任务是新手最常见的浪费doc/TODO.md是维护者的 backlog也是最想要的工作来源——列表更新很快动手前先对照当前代码确认条目还没被做掉动手前检查开放的 PR多位贡献者并行开发一个任务可能在一天之内被别人认领较大的改动新系统、UI、设计决策建议先开一个 issue 描述方案再动手写代码。CI 会跑的 3 组检查推送前本地自查一遍CI 配置在 .github/workflows/ci.yml每个 PR 都会自动运行。提前在本地跑同样的命令可以省掉一轮推送—失败—修复的往返① Rust在仓库根目录cargo fmt --all --check cargo clippy --workspace --all-targets --locked -- -D warnings cargo test --workspace --locked-D warnings表示任何警告都会导致 CI 失败这是新手 PR 最常见的挂法。② Client在client/目录npm run build:wasm # WASM 绑定 生成数据必需见下方说明 npm test # vitest 单元测试 npm run check # svelte-check tsc npm run lint # eslint npm run format:check # prettier可用 npm run format 自动修复③ Dashboard在dashboard/目录npm ci后依次跑check/lint/test/build只在你改了 dashboard/ 时才需要关心。一个容易踩的坑WASM 产物不存入 git。修改了shared/里的 Rust 代码后必须重新npm run build:wasmCI 也会先构建再跑客户端检查。第一个 PR 的必过关卡CLA 签署流程首次提交 PR 时机器人会自动留言要求你签署 贡献者许可协议。流程很短但必须先签才能合并打开 CLA.md 通读条款核心是你授予维护者对贡献内容的版权与专利许可以保护你自己和项目的用户在 PR 评论区原样输入下面这句话机器人靠精确匹配识别I have read the CLA Document and I hereby sign the CLA机器人会在cla-signatures分支记录你的签名CLA 检查变绿即可等待合并。机器人逻辑见 .github/workflows/cla.yml——如果状态一直不更新可以再评论recheck触发复查。PR 规范来自 CONTRIBUTING.md分支名短小、kebab-case如fix-chip-through-floorcommit message 用祈使句、说明意图与现有历史风格一致PR 描述写清楚改了什么、怎么测的任务来自 TODO 清单时引用对应条目特殊提醒二进制资产走另一条路3D 模型、音乐、音效不进 git托管在外部数据集并由 assets.lock 锁定版本只有client/public下的图标等图片是直接进 PR 的。如果要提交二进制资产请按 doc/ASSETS.md 的数据集 PR 流程走并在doc/assets/对应文件中记录资源来源与许可证。常见问题速答PR 卡在 CLA 检查不动检查评论是否一字不差或补一条recheck评论。clippy 挂了但我本地没报错本地确认用的是--locked和-D warnings与 CI 完全一致。改了 shared/ 客户端没反应忘了npm run build:wasm。不知道做什么回到 doc/TODO.md 挑一个未勾选项先确认没有人在做。关键文件速查文件用途CONTRIBUTING.md贡献指南选任务、CI 检查、PR 规范CLA.md贡献者许可协议全文doc/TODO.md维护者的任务 backlog.github/workflows/ci.ymlCI 检查配置.github/workflows/cla.ymlCLA 签署机器人配置doc/ASSETS.md二进制资产贡献流程doc/devlog/README.md开发日志了解项目演进上下文照着选任务 → 本地跑通 CI 同款检查 → 提交 PR → 签署 CLA四步走你的第一个 OpenMMO PR 就能顺利合并。【免费下载链接】OpenMMO项目地址: https://gitcode.com/GitHub_Trending/open/OpenMMO创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表