无名杀 noname:一款免费开源的三国杀网页版,浏览器里直接开局
【免费下载链接】noname项目地址: https://gitcode.com/GitHub_Trending/no/noname
无名杀(noname)是一个完全免费、开源的三国杀网页版项目:不用下载安装客户端,浏览器打开就能打一场身份局。它把数百名武将的卡牌数据、十几种游戏模式全部以纯代码形式开放,你既可以当玩家,也可以当"改卡作者"。
本文会带你搞清楚三件事:无名杀凭什么值得玩、如何在自己电脑上跑起来、以及内容目录是怎么组织的。看完后,你至少能独立启动一局游戏,并知道从哪里下手改牌改将。
游戏内的三国战场背景图,对应身份场开局时的氛围呈现
一、为什么选它:免费、透明、可改
这一节回答一个朴素的问题:市面上三国杀网页版不少,无名杀的特殊在哪?
- 没有付费墙:无武将抽卡、无氪金卡包,全部角色和技能都能直接使用,协议层面保证你"想玩谁就玩谁"。
- 代码全透明:武将的体力、技能、死亡语音全部是明文 JavaScript 数据,不是打包后的黑盒。你看到的每一局结算,逻辑都能追到源码。
- 本地即存档:对局与设置保存在浏览器本地,断线后重新打开页面可以继续,换设备也不强制绑定账号。
武将长什么样?看 character/standard/ 下的一条定义就懂了:
caocao: ["male", "wei", 4, ["jianxiong", "hujia"], ["zhu"]], // 性别、势力、体力上限、技能列表、附加标记,一目了然一行数据就是一张"武将卡",这也是后面自定义扩展的入口。
二、内容组织:武将、卡牌、模式各在哪
想在游戏里加东西之前,先知道东西放在哪。整个仓库按"内容类型"分目录,思路很直白:
character/:武将数据。子目录即扩展包——standard/是魏蜀吴群基础武将,sp/、shenhua/、yijiang/、yingbian/等分别是不同批次的特殊包,diy/留给玩家自制内容。每个包内结构一致:character.js(属性)、skill.js(技能逻辑)、intro.js(简介)等。card/:卡牌定义。standard.js里是杀、闪、桃等基础牌,gujian.js、mtg.js等则是各主题扩展包的新牌。mode/:游戏模式。身份局在identity.js,国战双将在guozhan.js,斗地主在doudizhu.js,单人本在single.js,还有boss.js、brawl.js等共十余种玩法。audio/与image/:配套资源。audio/skill/下五千多个技能语音 mp3,audio/die/是死亡台词;image/character/存武将立绘,image/background/存场景背景。
国战与身份场共用的战场背景,策略对抗从这里开始
这种"一个扩展包 = 一个目录、目录内文件职责固定"的结构,意味着你复制一个现有包、改名、改数据,就是一个新扩展——这是无名杀生态里成百上千扩展包能共存的基础。
三、快速上手:本地启动无名杀的三种方式
这一节给你三条从"零"到"能玩"的路径,按环境要求从低到高排列,任选其一即可。
先拿到源码(仓库是只读的,克隆即可用):
git clone https://gitcode.com/GitHub_Trending/no/noname cd noname方式一:Node.js 起正式服务(推荐)
项目自带 noname-server.js,基于 Express 的静态服务加联机接口,默认监听 8089 端口:
node noname-server.js # 需要换端口时:node noname-server.js --port 8088启动后浏览器访问http://localhost:8089即可进入选模式界面。若还需要多人联机大厅,game/server.js里的 WebSocket 服务监听 8080,局域网内其他人用"主机IP:8080"就能加入你的局。
方式二:Docker 容器化部署
不想装 Node 环境就走容器,参考 docker/ 下的说明:
docker build -t noname . docker run -dit --name noname -p 8734:8089 -p 8324:8080 noname游戏界面在8734,联机大厅在8324,端口可随意改。适合想保持主机环境干净、或打算长期挂机的场景。
方式三:任意静态服务器快速测试
无名杀本体是纯前端,临时验证时随便起个静态服务也行:
python3 -m http.server 8000访问http://localhost:8000直接玩。注意两点:README 建议用 Chrome 系内核且版本不低于 85,低版本 Firefox 表现不稳定;且联机功能依赖 Node 服务,此方式只适合单机体验。
三种方式的适用场景对比:
| 启动方式 | 依赖 | 适用场景 | 支持联机 |
|---|---|---|---|
| Node.js + noname-server.js | Node.js | 日常游玩,功能完整 | 是 |
| Docker | Docker | 环境隔离、长期运行 | 是 |
| 静态服务器 | 任意 | 快速冒烟测试 | 否 |
四、进阶玩法:改一个武将需要动几处
前面你已经看到"一行数据 = 一个武将",这一节说明想真正动手时,改哪些文件、按什么顺序验证。
第一步:挑一个扩展包当模板。新手建议复制character/extra/(官方预留的自定义包)而不是改基础包——基础包被大量逻辑引用,改坏了排查成本高。
第二步:按固定结构补数据。新武将至少碰三个文件:
character.js:登记 id、性别、势力、体力、技能名列表;skill.js:实现技能逻辑,写法可对照 docs/async-guide.md 里的事件与时序说明;intro.js/pinyin.js:界面显示用的简介与拼音标注。
第三步:资源按需挂接。立绘放image/character/下用武将 id 命名;语音放audio/die/(死亡台词)和audio/skill/(技能音),挂接规则在 docs/audio-guide.md 里有详细格式说明,支持按路径、数字后缀、引用其他技能等多种写法。
第四步:设置里勾选扩展包再刷新页面,游戏才会加载你的新内容——这是新手最常踩的坑,见下文 FAQ。
火攻主题背景,对应游戏内锦囊牌与技能演出效果
改界面同理:layout/下按default/、mobile/、mode/分主题存放 CSS,font/提供 8 款 woff2 字体。调配色、换字体只动样式文件,不碰逻辑,风险低见效快。
五、常见问题与持续参与
遇到卡点先看这里,四条都是高频真实问题。
Q: 我加了武将,为什么游戏里看不到?A: 九成是扩展包没被启用。进设置页勾选对应扩展包(或检查你的包是否放在了某个已有扩展目录内),刷新页面后才会被加载;文件名和目录名也需要与扩展包注册名一致。
Q: 想组一场局域网多人局怎么操作?A: 用方式一或方式二启动 Node 服务(联机大厅走 8080 端口),确保所有设备在同一网络,其他玩家在地址栏填"主机IP:8080"加入即可。静态服务器方式不提供联机。
Q: 浏览器版本有要求吗?A: 有。项目要求 Chrome 系内核版本不低于 85,低版本浏览器(尤其老 Firefox)可能出现样式错乱或脚本报错。
Q: 游戏进度存在哪里,换电脑会丢吗?A: 对局数据保存在浏览器 localStorage 中,只跟随当前浏览器。想保留可在开发者工具里导出,或在新设备浏览器里重新设置。
枭雄主题背景,游戏内置的多种场景皮肤之一
想做得更深一点,可以沿着这几条线参与项目:
- 修 bug / 提功能:贡献规范见根目录 CONTRIBUTING.md,PR 请推到
PR-Branch分支; - 做扩展:按第四节的目录约定创建自己的武将包、卡牌包,这是门槛最低也最有成就感的参与方式;
- 补文档:
docs/目前只有异步机制和音频两篇指南,技能编写、界面定制都是空缺,写一篇就能帮到后来人。
现在就可以行动:克隆仓库、运行一条node noname-server.js,一分钟后在浏览器里开局——想改什么武将,答案就在这个仓库的目录里。
【免费下载链接】noname项目地址: https://gitcode.com/GitHub_Trending/no/noname
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考