☰
Pokemon Auto Chess 完整部署指南:30分钟跑通自己的本地服务器
2026/10/23 11:02:39 网站建设 项目流程

Pokemon Auto Chess 完整部署指南:30分钟跑通自己的本地服务器

【免费下载链接】pokemonAutoChessPokemon Auto Chess Game. Made by fans for fans. Open source, non profit. All rights to the Pokemon Company.项目地址: https://gitcode.com/GitHub_Trending/po/pokemonAutoChess

Pokemon Auto Chess 是一款免费开源的宝可梦自动象棋游戏。从本地环境配置、安装依赖,到数据库与 Firebase 认证接入,按步骤操作即可在自己机器上启动游戏。

一句话认识这款游戏

Pokemon Auto Chess 是一款粉丝为粉丝制作的自动象棋游戏:你摆出宝可梦阵容,系统自动战斗,你负责组队与调整。项目以 GPL-3.0 协议开源,非营利运营,IP 版权归 The Pokémon Company 所有。它适合两类人:想自己搭一台稳定、可自由修改的游戏服务器的玩家,以及想在此基础上做二次开发的开发者。

动手前,先把这份清单打勾

准备工作分三类,逐项确认:

  • 运行环境:Node >= 24.19.0、npm >= 10.8.1,这是package.json里写死的下限,版本偏低会直接起不来。用 nvm 管理版本最省心。
  • 依赖:一条npm install装完所有依赖。⚠️ 注意:项目把 postinstall 钩成了自动下载音乐资源,网络不稳时这一步容易卡住或失败。
  • 要申请的两个账号:MongoDB(本地或云版均可),建一个名为dev的库和一个空的botv2集合;Firebase,建一个项目并在其中创建 Web 应用,登录方式只勾选邮箱/密码和匿名。

完整启动流程:四步到第一局对战

第 1 步:一次性准备。先用 git clone 拉取项目代码:

git clone https://gitcode.com/GitHub_Trending/po/pokemonAutoChess

成功后当前路径下会出现项目目录,包含app/、db-commands/等文件夹。进入项目目录安装依赖:

npm install

它会装完全部依赖并触发音乐资源下载,成功后能看到app/public/src/assets/musics/下出现一批音频文件。

第 2 步:资源与配置。如果上一步音乐没下全,手动补跑:

npm run download-music

把背景音乐重新下载到 musics 目录,完成后核对文件数量即可。接着打包游戏资源:

npm run assetpack

它把app/public/src/assets下的素材打包到app/public/dist/client/assets,完成后目标目录会出现对应的打包产物。然后在仓库根目录新建空的.env文件,写入 MongoDB 与 Firebase 的接入信息:

MONGO_URI=mongodb://localhost:27017/dev FIREBASE_API_KEY=<firebase_api_key> FIREBASE_AUTH_DOMAIN=<firebase_auth_domain> FIREBASE_PROJECT_ID=<firebase_project_id> FIREBASE_STORAGE_BUCKET=<firebase_storage_bucket> FIREBASE_MESSAGING_SENDER_ID=<firebase_messaging_sender_id> FIREBASE_APP_ID=<firebase_app_id> FIREBASE_CLIENT_EMAIL=<client_email> FIREBASE_PRIVATE_KEY=<private_key>

完成后.env共 9 行。前 6 个 FIREBASE 值在控制台 "Configure SDK" 界面获取,最后 2 行来自 Project settings > Service accounts 的服务账号 JSON。

第 3 步:首次运行。启动开发服务器:

npm run dev

它会并行启动前后端进程。用浏览器打开http://localhost:9000/,你会看到游戏主界面,此时已经可以注册邮箱账号、登录并进入匹配。

第 4 步:发布。本地验证满意后,构建生产文件:

npm run build

分别编译客户端与服务端,成功后app/public/dist/下会出现构建产物。再把产物部署到目标机器,启动生产服务:

npm run start

它会以构建产物启动生产服务,游戏在http://localhost:9000/对外提供对战。

新手最常踩的四个坑与解法

  • 症状:启动后服务起不来,或注册登录失败。九成是.env漏项。解法:逐行核对上面 9 项,其中管理员两项(client email 与 private key)最容易被漏掉。
  • 症状:能注册,但匹配不到电脑对手。botv2集合是空的。解法:用数据库客户端(如 MongoDB Compass)把仓库里的db-commands/botv2.json导入botv2集合。
  • 症状:局内没有背景音乐。postinstall 钩子没跑完或下载失败。解法:手动重跑npm run download-music。
  • 症状:安装或启动时报版本不兼容。当前 Node 低于 24.19.0 下限。解法:用 nvm 切到满足要求的新版本,再重新安装依赖。

延伸与相关资源

  • 开发工具:项目用 Biome 做格式化和校验,可直接执行npm run lint、npm run format、npm run check。
  • 部署指南:deployment/README.md 是官方自部署文档,同目录附了配套截图,照着配服务器即可。
  • 预计算数据:游戏从app/models/precomputed读取预计算结果,改动宝可梦或协同数据后要按 README 重新计算,否则线上行为不会变。
  • 管理员权限:想在本地版拥有完整权限,把你的角色改成ADMIN(编辑usermetadatas集合)。
  • 社区反馈:community-servers.md 汇总了社区自托管服务器信息;遇到 bug 可在项目的 issues 区提交。

本地版跑通之后,剩下的都是定制化的事。先开一局和朋友的对战试试手感,再谈改规则。

【免费下载链接】pokemonAutoChessPokemon Auto Chess Game. Made by fans for fans. Open source, non profit. All rights to the Pokemon Company.项目地址: https://gitcode.com/GitHub_Trending/po/pokemonAutoChess

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询