
從零跑通 Pokemon Auto Chess本地部署完整指南【免費下載鏈接】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/pokemonAutoChessPokemon Auto Chess 是一款粉絲制作的免費多人自動象棋游戲全部邏輯用 TypeScript 寫成。你只需要一個 MongoDB 和一個 Firebase 賬號就能在本地把它跑起來。這篇文章帶你走完「環(huán)境準(zhǔn)備 → 配置 → 啟動 → 驗收」全流程照著做大約二十分鐘可以開玩。啟動之前環(huán)境準(zhǔn)備與資源下載 ?跑這個游戲的前置成本不高但有幾個坑要提前避開——尤其是 Node 版本。項目package.json里聲明了node 24.19.0版本太舊會直接報錯建議用 nvm 管理版本并切到對應(yīng)版本。一次性準(zhǔn)備工作按順序做四件事克隆倉庫只需做一次git clone https://gitcode.com/GitHub_Trending/po/pokemonAutoChess cd pokemonAutoChess把代碼拉下來后面所有命令都在倉庫根目錄執(zhí)行。安裝依賴npm install裝完依賴它還會自動執(zhí)行postinstall拉取音樂文件、裝好 assetpack 打包器的依賴所以這一步比一般項目慢一些屬于正?,F(xiàn)象。確認(rèn)音樂資源已就位npm install已自動處理單獨跑一遍只是保險npm run download-music把游戲音樂文件下載到app/public/src/assets/musics沒有它進(jìn)游戲后是靜音的。打包游戲資源npm run assetpack它把public/src/assets下的素材打包到app/public/dist/client/assets瀏覽器最終加載的就是打包產(chǎn)物。這一步跳過頁面里會出現(xiàn)一堆缺圖。做完這四步機器上就只?!概渲? 啟動」兩件事了。按編號跑起來三步完成配置與啟動接下來是三件真正的事連數(shù)據(jù)庫、配認(rèn)證、起服務(wù)。所有憑證都寫在倉庫根目錄的.env文件里先新建一個空的.env邊做邊填。第 1 步連上 MongoDB數(shù)據(jù)庫連接串怎么配目標(biāo)讓服務(wù)器有地方存玩家數(shù)據(jù)和對戰(zhàn)記錄。游戲用 MongoDB 存數(shù)據(jù)云端免費的 MongoDB Atlas選 M0 免費檔即可或本地自建都行無論哪種方式都要建好一個名為dev的數(shù)據(jù)庫、一個空的botv2集合然后拿到連接 URI填進(jìn).env# 本地 Mongo 示例云端 Atlas 則是 mongodbsrv://用戶名:密碼集群地址/dev 形式 MONGO_URImongodb://localhost:27017/dev加分項想讓大廳里有機器人陪練用 MongoDB Compass 把 機器人數(shù)據(jù) 導(dǎo)入空的botv2集合即可。怎么確認(rèn)成功用 Compass 或 shell 連上 URI能看到dev庫和botv2集合這一步就算過了。第 2 步創(chuàng)建 Firebase 項目并補齊憑證 目標(biāo)讓玩家能注冊賬號、登錄游戲。Firebase 在這里只干一件事認(rèn)證。操作分三段全部在 Firebase 控制臺完成新建一個項目例如pokemon-auto-chess-test然后注冊一個 Web 應(yīng)用在「Configure SDK」區(qū)域拿到一段 web 配置在 項目設(shè)置 → Service accounts 里生成一個私鑰 JSON。把這些值填進(jìn).env...處換成你項目里的真實值# 來自 Configure SDK 區(qū)域的 web 配置 FIREBASE_API_KEYfirebase_api_key FIREBASE_AUTH_DOMAINfirebase_auth_domain FIREBASE_PROJECT_IDfirebase_project_id FIREBASE_STORAGE_BUCKETfirebase_storage_bucket FIREBASE_MESSAGING_SENDER_IDfirebase_messaging_sender_id FIREBASE_APP_IDfirebase_app_id # 來自 Service accounts 生成的私鑰 JSON FIREBASE_CLIENT_EMAILclient_email FIREBASE_PRIVATE_KEYprivate_key注意兩點私鑰 JSON 里的換行要保留原樣登錄方式里只勾選 email/password 和 anonymous 即可別的不用開。怎么確認(rèn)成功.env里 8 個FIREBASE_*鍵全部有值且沒有尖括號殘留。第 3 步啟動開發(fā)服務(wù)器目標(biāo)把游戲真正跑起來。npm run dev這條命令會并行拉起兩個進(jìn)程esbuild 編譯前端 tsx 以 watch 模式運行后端app/index.ts改代碼能熱更新適合邊調(diào)邊看。怎么判斷項目跑通了 ?啟動后盯兩個地方終端日志看到類似?? Listening on http://localhost:9000、create lobby、init lobby cron jobs的輸出說明服務(wù)已監(jiān)聽端口并成功創(chuàng)建了大廳房間瀏覽器打開http://localhost:9000/能正常渲染出游戲登錄頁用一個新郵箱注冊并登錄然后進(jìn)入大廳看到lobby房間列表房間類型定義在 app/app.config.ts 的rooms配置里。注冊成功本身就是一次完整的端到端驗收前端 → Colyseus 房間 → MongoDB 寫入用戶記錄鏈路全通。如果頁面打不開先回查MONGO_URI是否連得上如果注冊報錯多半是 Firebase 的登錄方式?jīng)]勾對。跑通之后上線部署與日常開發(fā)貼士 本地跑通只是開始后面這幾個知識點能讓你少走不少彎路生產(chǎn)構(gòu)建與啟動開發(fā)服務(wù)器沒做優(yōu)化正式上線前先npm run build構(gòu)建產(chǎn)物在app/public/dist/server再npm run start運行編譯后的入口。Docker 部署更省事docker/README.md 給了容器化方案docker compose up -d會同時拉起 Mongo 和游戲服務(wù)數(shù)據(jù)庫不用自己裝你只需要配好 Firebase然后看http://localhost:9000即可。云端托管deployment/README.md 覆蓋了 Render、Heroku、Koyeb 等平臺的完整部署流程環(huán)境變量清單和本地.env一致平臺部署時記得把公網(wǎng)域名加進(jìn) Firebase 認(rèn)證白名單。素材改了要重新打包每次改動public/src/assets里的資源后重新跑一次npm run assetpack而寶可夢或協(xié)同synergy數(shù)據(jù)的預(yù)計算結(jié)果存放在 app/models/precomputed改這類配置數(shù)據(jù)后要重新生成預(yù)計算數(shù)據(jù)否則客戶端看到的數(shù)值是舊的。代碼風(fēng)格與工具鏈項目用 Biome 做格式化和 lint配置在 biome.json常用命令npm run lint、npm run format、npm run check。推薦 VSCode 裝 Biome 擴(kuò)展保存時自動格式化。給自己開管理員權(quán)限想完全控制本地環(huán)境可在數(shù)據(jù)庫的user_metadata集合里把自己那條記錄的role改成ADMIN就能使用/bot-admin等管理頁面??蛇x環(huán)境變量.env還支持DISCORD_SERVER展示你的社區(qū) Discord 邀請和MIN_HUMAN_PLAYERS控制房間最少真人玩家數(shù)等調(diào)參項按需添加。從一臺筆記本上的npm run dev到對外署一個完整的 Pokemon Auto Chess 服務(wù)器路徑都是通的——本地跑通后對照 README 和部署文檔挑一個方案上線就行。祝開黑愉快?!久赓M下載鏈接】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創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考