ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Pokemon Auto Chess 本地部署指南:7 步从环境搭建到生产上线

Pokemon Auto Chess 本地部署指南:7 步从环境搭建到生产上线

Pokemon Auto Chess 本地部署指南:7 步从环境搭建到生产上线

【免费下载链接】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 是一款由粉丝为粉丝制作的非盈利自走棋游戏,以 GPL-3.0 协议开源。这篇文章带你走完 Pokemon Auto Chess 本地部署的全部流程:装环境、拉资源、配 .env、起服务,最后把生产版本也跑起来。跟着做,你手里就是一个可玩的私服。

第一步:搭好运行环境,把仓库拉到本地

  • 先装 Node 的 LTS 版本,建议用nvm管理,方便随时切到正确的版本;
  • 把仓库 clone 到本地,例如:git clone https://gitcode.com/GitHub_Trending/po/pokemonAutoChess;
  • 在仓库根目录执行npm install装好项目依赖,这一步会自动触发部分安装钩子,耐心等待即可。

第二步:把游戏资源拉下来,一次性打包

资源分两步走,两条命令都在仓库根目录执行:

npm run download-music npm run assetpack
  • download-music负责把背景音乐文件下载到位;
  • assetpack会把 资产目录 里的原始素材打包成游戏实际加载的资源。下面这张精灵图就是其中被打包进游戏的一份资源。

第三步:5 分钟配好 .env

所有密钥都放在仓库根目录的.env文件里。没有这个文件就新建一个,然后分成两层来填。

数据层:建 dev 数据库,用 MONGO_URI 连上

游戏用 MongoDB 存玩家数据。你可以用 MongoDB Atlas(云)或本地安装,两者操作一致:

  1. 建一个名为dev的数据库,里面放一个空的botv2集合;
  2. 如果你想和机器人对战,用 MongoDB Compass 把 机器人数据 导入botv2集合;
  3. 把连接串填进.env,本地部署时形如:
MONGO_URI=mongodb://localhost:27017/dev

认证层:建一个 Firebase 项目,把凭据填进去

玩家注册、登录走的是 Firebase Authentication:

  1. 在 Firebase 控制台建个账号和项目(名字可以叫pokemon-auto-chess-test),再加一个 Web 应用;
  2. 登录方式只勾选邮箱/密码和匿名登录两种;
  3. 在"项目设置 > 服务账号"里生成一个 SDK 管理员私钥;
  4. 把 Web 应用配置和私钥里的字段一并填入.env:
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>

到这里,游戏侧的凭据和服务器侧的管理员凭据就都齐了。

第四步:npm run dev 之后该看什么

一切就绪,执行:

npm run dev

浏览器打开http://localhost:9000/,能看到游戏画面就说明本地环境通了。开发服务器适合快速验证配置、试改代码,但它并不是面向生产的优化版本。

第五步:生产部署:npm run build 之后 npm run start

要正式对外提供服务时:

  1. 先执行npm run build构建出生产产物,这一步通常交给持续集成工具去做;
  2. 把构建产物部署到生产机器,然后运行npm run start拉起服务。

详细的云上部署方案可以参考仓库里的 部署文档。

第六步:日常开发工作流:资产与预计算数据什么时候要刷新

改代码之外,有两件容易漏的事:

  • 动了 原始素材 后,记得重跑npm run assetpack重新打包;
  • 改了宝可梦或协同数据后,跑一次npm run precompute,刷新 预计算数据;
  • 编辑器推荐 VSCode,装上 Biome 负责格式化和校验,装 Inlang 管多语言翻译,日常改起来顺手很多。

技术栈与社区生态

项目以 TypeScript 为主语言,前端辅以 CSS 和 JavaScript,构建、校验工具链也都围绕这套体系展开。它背后有一群持续活跃的开源贡献者,配合持续集成和自动化部署来保证每次发布的质量,社区还维护着多份自建服务器指引。

写在最后

按上面六步走下来,你自己的 Pokemon Auto Chess 服务器已经在localhost:9000上跑起来了。接下来是改配置、加功能,还是直接部署给朋友玩,都随你。

【免费下载链接】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),仅供参考

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进