网页版三国杀无名杀5分钟本地启动指南【免费下载链接】noname项目地址: https://gitcode.com/GitHub_Trending/no/noname浏览器直接打开的方式 · 武将记录的构成方式 · 扩展加载的最小路径周五晚上想拉几个人打一局网页版三国杀又不想装客户端克隆无名杀noname仓库跑一个服务就是最省事的做法。这是一个完全开源的三国杀项目武将、卡牌、音频、游戏模式全部以 JS 数据文件形式放在仓库里服务端只是一个带文件读写接口的静态资源服务。clone 下来执行一条命令就能启动浏览器打开页面即可进游戏。下面先走一遍从启动到看懂结构的最短路径再拆解三个主要子系统最后看自定义扩展是怎么被加载的。先跑起来无名杀本地部署的最短路径仓库根目录的noname-server.js是启动入口deno.json里已经定义好了start任务直接照抄即可git clone https://gitcode.com/GitHub_Trending/no/noname cd noname deno task start服务默认监听 8089 端口启动后在浏览器打开http://localhost:8089就能看到主界面并选模式。这里有个前提README 明确建议 Chrome 系内核浏览器、内核版本大于等于 85低版本 Firefox 不推荐。不想装 Deno 的话项目提供了 Dockerfile按 docker/docker.md 的三步构建运行即可即无名杀 docker 部署示例命令把容器内的 8089网页游戏和 8080联机大厅映射到宿主机的 8734 和 8324。另外deno.json里还有个watch任务改代码时能自动重载后面你会用到。三大子系统武将 / 卡牌 / 音频武将一个目录系列一个武将一行数据。character/按系列分目录standard/是标准武将sp/、shenhua/、sixiang/、shiji/等各有完整的一套数据文件。结构非常紧凑character/standard/character.js里一条武将记录长这样caocao: [male, wei, 4, [jianxiong, hujia], [zhu]], // 依次为性别、势力、体力上限、技能列表、死亡语音/立绘数组第 4 项技能名指向同目录skill.js里的技能定义第 5 项可以用die:前缀指向死亡语音。对应两千多个武将的立绘放在image/character/一共两千三百多张图文件名与武将标识一致。卡牌一套牌池一个文件。card/目录下十几套牌池各占一个文件standard.js是杀闪桃基础牌guojhan.js是国战牌池sp.js、mtg.js、gwent.js等是各类扩展牌组。模式决定了用哪套牌——模式本身在mode/目录同样一模式一文件共 14 个从identity.js身份场到doudizhu.js斗地主都在里面。音频命名约定即机制。audio/分四类background/放背景音乐die/一个武将一条死亡台词card/female与card/male按性别放武将语音skill/放了五千六百多个技能音效。技能定义里写audio: 2运行时就会从skill/技能名1.mp3和skill/技能名2.mp3里随机挑一个播放。完整的命名和路径规则写在 docs/audio-guide.md这套文档对写自定义技能的人最有价值。默认之外扩展是怎么被加载的仓库本身是本体超出本体的内容都以扩展形式加载。游戏启动时会遍历已登记扩展逐个调用 noname/init/loading.js 里的loadExtension()把其中的武将、技能、卡牌、模式、翻译统一注册进全局lib对象。有个约定值得记住扩展里的武将如果没有显式指定立绘和死亡语音加载器会自动补路径为ext:扩展名/武将名.jpg和die:ext:扩展名/武将名.mp3——这就是做无名杀自定义武将时素材该放的位置。技能实现分新旧两种写法v1.10.6 起主推带async的新写法和旧式 step 写法只差一个await迁移成本很低。对照示例在 docs/async-guide.md现成的完整实现可以直接看character/standard/skill.js挑一个你熟悉的武将技能读一遍比读文档快。踩坑与排错打开页面是空白或一半功能不可用。原因是你直接双击了index.html走的是file://协议。游戏启动时会尝试自动升级成 HTTP 协议game/entry.js里有大段处理逻辑但切换过程并不稳定。处理别直接开文件用deno task start走http://localhost:8089进入配置和数据的读写都走服务的/readFile、/writeFile接口见noname-server.js也不依赖浏览器 localStorage。弹出内核版本过低提示。原因是game/entry.js启动时检查 UAChrome 系内核低于 85 会触发客户端升级提示。处理升级浏览器或直接换最新版 Chrome / Edge。这条是硬限制没有配置项能绕过。弹出扩展加载出错。原因是某个扩展的 JS 抛了异常加载流程会 catch 住继续走游戏本身通常还能玩处理逻辑在noname/init/index.js。处理看控制台里的堆栈定位是哪个扩展的问题确认不影响游玩的话可以在设置 → 通用 → 无视扩展报错里关掉这个弹窗。建议第一步启动后在身份场选几个熟脸武将打三局然后打开character/standard/character.js找到你的武将把那条五项数组和界面上的显示逐项对上仓库各目录的含义基本就清楚了。之后无论是看扩展实现还是找新牌池都是照着这个规则查目录。【免费下载链接】noname项目地址: https://gitcode.com/GitHub_Trending/no/noname创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?