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