ShadowOfTheColossus-PC
Shadow of the Colossus 的原生 Windows 移植(PS4,CUSA08809)——请自备游戏转储。面向 PC 的原生移植。
AI 翻译
尚未检测到更新。GitHub 发布版本后会显示在这里。
制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Tài liệu cho developer (kiến trúc, giao thức, luật từng game, cách thêm game mới):
docs/GUIDE.md.
Tám game: Tiến Lên Miền Nam (
/api/ws,/api/rooms,/api/leaderboard), Mèo Nổ (/api/meono/*), Cờ Tỷ Phú (/api/typhu/*), Đá Quý — lối chơi Splendor (/api/splendor/*), Cờ Cá Ngựa (/api/cangua/*), Ô Ăn Quan (/api/oanquan/*), Nối Chữ (/api/noichu/*) và Đấu Súng — lối chơi Bang! kèm 7 bản mở rộng (/api/bang/*), cùng chung hạ tầng hub / Redis / chat. Luật từng game nằm sau mộtGameAdapter(src/server/adapters.ts), code ởsrc/game/,src/meono/,src/typhu/,src/splendor/,src/bang/,src/cangua/,src/oanquan/,src/noichu/. Trên Vercel, các endpoint/api/<game>/<kind>dùng chung một function độngapi/[game]/[kind].tsđể nằm trong giới hạn 12 function của gói Hobby.
Backend cho các game online của site game, gồm luật chơi, phòng chơi và WebSocket realtime. Phần giao diện nằm trong repo zonenop-game (chạy ở https://play.fudio101.com, bản Vercel zonenop-game.vercel.app; route /tien-len …) và kết nối tới backend này qua NEXT_PUBLIC_TIENLEN_SERVER_URL (máy dự phòng: NEXT_PUBLIC_TIENLEN_FALLBACK_URL). Repo portfolio không còn chứa game.
Trình duyệt (zonenop-game /tien-len …)
│ wss://…/api/ws (thử máy chính trước, không trả lời thì sang máy dự phòng)
├──────────────────────────────────────┐
▼ ▼
play-api.fudio101.com (máy chính) be-game-omega.vercel.app (dự phòng)
Cloudflare Tunnel → Traefik → Vercel Functions api/*.ts
src/local.ts trong Docker (region sin1, Fluid compute)
│ CAS (Lua) + pub/sub │ CAS (Lua) + pub/sub
▼ ▼
Redis trong compose (./data/redis) Upstash Redis
Hai backend chạy cùng code từ main. Redis: riêng mỗi máy như sơ đồ, và đó là trạng thái hiện tại (máy chính: sharedStore: false; máy dự phòng: Upstash). Việc chuyển máy chính sang Upstash chung (công cụ src/tools/migrate-store.ts và cấu hình REDIS_URL đã có trong repo) chưa được thực hiện, còn chờ buổi diễn tập. Khi đã chuyển, hai máy dùng chung một kho (phòng, sảnh, bảng điểm là một): xem mục "Frontend chọn backend thế nào" trong docs/DEPLOYMENT.md và "Chuyển sang / quay lại kho chung" trong docs/SELF_HOSTING.md. Môi trường, luồng phát hành và lưu ý vận hành: docs/DEPLOYMENT.md.
| Game | Code | Số người | WebSocket | Sảnh phòng | Bảng xếp hạng |
|---|---|---|---|---|---|
| Tiến Lên Miền Nam | src/game/ | 2–4 | /api/ws | /api/rooms | /api/leaderboard |
| Mèo Nổ | src/meono/ | 2–7 (tuỳ chế độ) | /api/meono/ws | /api/meono/rooms | /api/meono/leaderboard |
| Cờ Tỷ Phú | src/typhu/ | 2–6 | /api/typhu/ws | /api/typhu/rooms | /api/typhu/leaderboard |
| Đá Quý (Splendor) | src/splendor/ | 2–4 | /api/splendor/ws | /api/splendor/rooms | /api/splendor/leaderboard |
| Đấu Súng (Bang!) | src/bang/ | 3–8 | /api/bang/ws | /api/bang/rooms | /api/bang/leaderboard |
| Cờ Cá Ngựa | src/cangua/ | 2–4 | /api/cangua/ws | /api/cangua/rooms | /api/cangua/leaderboard |
| Ô Ăn Quan | src/oanquan/ | 2–4 | /api/oanquan/ws | /api/oanquan/rooms | /api/oanquan/leaderboard |
| Nối Chữ | src/noichu/ | 2–8 | /api/noichu/ws | /api/noichu/rooms | /api/noichu/leaderboard |
/rooms trả các phòng còn người (tối đa 30), /leaderboard?limit=20 (1–100) trả điểm mọi thời đại. GET /api/health kiểm tra store (Redis/RAM, vòng pub/sub) và báo commit đang chạy, redisId, sharedStore, now (chi tiết: docs/GUIDE.md → HTTP endpoints). Bảng route nằm ở src/server/app.ts.
Tài khoản (đăng nhập bắt buộc để vào bàn; chi tiết: docs/GUIDE.md → "Tài khoản và theo dõi"): POST /api/auth/register, POST /api/auth/login, POST /api/auth/logout, GET/PATCH /api/auth/me, GET/PATCH /api/auth/prefs (cài đặt giao diện theo tài khoản, mỗi game một mục), POST /api/track (đếm lượt xem), và cho admin GET /api/admin/stats, GET /api/admin/users, PATCH /api/admin/users/<id>. /leaderboard trả bảng mùa này ({season:"current", rows}) từ Postgres; ?season=old trả bảng cũ. /api/health thêm accounts: "postgres" | "memory" | "unconfigured" | "unavailable". Chưa có DATABASE_URL thì ở dev tài khoản nằm trong bộ nhớ (mất khi restart, mỗi máy một danh sách); ở production (NODE_ENV=production hoặc VERCEL) thì tài khoản chưa cấu hình: route auth/admin/track trả 503 và không vào bàn được, trừ khi đặt ACCOUNTS_MEMORY=1.
Trên Vercel có 5 function: api/ws.ts, api/rooms.ts, api/leaderboard.ts, api/health.ts (Tiến Lên + health) và api/[game]/[kind].ts cho mọi endpoint của 6 game còn lại. Mọi file đều export cùng một server; app.ts định tuyến theo path. Game mới chỉ cần thêm route trong app.ts, không thêm file vào api/.
Mèo Nổ (src/meono/cards.ts): 6 gói mở rộng (imploding, streaking, barking, attacking, defending, zombie). Chủ phòng chọn một trong 16 chế độ PRESETS (mỗi chế độ có số người tối thiểu/tối đa riêng) hoặc custom để tự tick gói; khi đó tối đa 5 người với bộ gốc, 6 nếu có gói bất kỳ, 7 nếu có Attacking Kittens. Không ai được "Không!" (Nope) chặn lá của chính mình: lá Không! đầu tiên không thể do người đánh lá gốc chơi, và không ai chặn lại lá Không! của chính mình (người đánh lá gốc vẫn được Không! đáp lại người vừa chặn).
以上为 README 的开头部分。其余内容请阅读原文。 查看完整 README ↗