98 lines
7.3 KiB
Markdown
98 lines
7.3 KiB
Markdown
# Ananta (Project Mugen) CBT 4229938 Private Server & Proxy Engine
|
|
|
|
เซิร์ฟเวอร์ส่วนตัว (Private Server) และระบบ HTTPS/SNI Proxy สำหรับเกม **Ananta (Project Mugen / 代号:无限大)** ไคลเอนต์เวอร์ชัน **CBT 4229938** พัฒนาด้วยสถาปัตยกรรม Clean Architecture C# .NET 8 (UX-RPC Binary Protocol) ร่วมกับ Node.js Proxy เพื่อจำลองการเชื่อมต่อและเล่นเกมในโหมด Sandbox / Free-Roam ได้อย่างสมบูรณ์ รองรับทั้งการเข้าเล่นผ่าน PC และ Mobile APK
|
|
|
|
> 📖 **รายการระบบและฟีเจอร์ทั้งหมดของเซิร์ฟเวอร์**: ดูรายละเอียดฟีเจอร์เต็มได้ที่ [docs/FEATURES.md](docs/FEATURES.md)
|
|
|
|
---
|
|
|
|
## 🛠️ ความต้องการของระบบ (Prerequisites)
|
|
|
|
1. **Windows 10 / 11 (64-bit)**
|
|
2. **.NET 8.0 SDK**: [ดาวน์โหลดที่นี่](https://dotnet.microsoft.com/download/dotnet/8.0)
|
|
3. **Node.js (LTS v18 หรือ v20 ขึ้นไป)**: [ดาวน์โหลดที่นี่](https://nodejs.org/)
|
|
4. **Git & Git LFS**: [ดาวน์โหลดที่นี่](https://git-lfs.com/)
|
|
5. ตัวเกม **Ananta / Project Mugen (CBT Client build 4229938 หรือ Mobile APK 4063976)**
|
|
|
|
---
|
|
|
|
## 🚀 วิธีติดตั้งและเปิดใช้งานเซิร์ฟเวอร์
|
|
|
|
### 1. Clone Repository (จำเป็นต้องใช้ Git LFS)
|
|
```bash
|
|
git clone https://gaytea.cod-algieba.ts.net/GaCy/Ananta-ps.git
|
|
cd Ananta-ps
|
|
git checkout dev
|
|
git lfs pull
|
|
```
|
|
|
|
### 2. ติดตั้ง Certificate & Hosts
|
|
รันคำสั่งด้วย PowerShell (Administrator) เพื่อชี้โดเมน NetEase เข้าหาเซิร์ฟเวอร์เครื่องคุณ (`127.0.0.1`):
|
|
```powershell
|
|
powershell -ExecutionPolicy Bypass -File .\Ananta.Proxy\SETUP_PROXY_AS_ADMIN.ps1
|
|
```
|
|
*(หากต้องการยกเลิกการตั้งค่า Hosts ในภายหลัง สามารถรัน `REMOVE_PROXY_HOSTS_AS_ADMIN.ps1`)*
|
|
|
|
### 3. เปิดเซิร์ฟเวอร์
|
|
ดับเบิลคลิกเปิดใช้งานผ่านไฟล์:
|
|
```cmd
|
|
START.cmd
|
|
```
|
|
หรือรันผ่าน PowerShell:
|
|
```powershell
|
|
powershell -ExecutionPolicy Bypass -File .\Run-All.ps1
|
|
```
|
|
เมื่อขึ้นข้อความ `[READY]` แสดงว่าระบบพร้อมทำงาน:
|
|
* **HTTPS Gateway Proxy** (พอร์ต 443/80 และ Mobile Dispatch พอร์ต 5801)
|
|
* **Game Server** (พอร์ต 5200-5202)
|
|
* **GM Admin Web Panel** (พอร์ต 17888)
|
|
* **Debug WebUI Panel** (พอร์ต 5809)
|
|
|
|
### 4. เข้าเล่นเกม
|
|
* **PC:** เปิดไฟล์ `Ananta.exe` แล้วกดเริ่มเกม ตัวเกมจะทำการบายพาสล็อกอินและนำตัวละครเข้าสู่โลก Sandbox ทันที
|
|
* **Mobile (APK):** ชี้เกตเวย์หรือรันผ่าน Wi-Fi Proxy มายัง IP เครื่องเซิร์ฟเวอร์ (พอร์ต 5801/443)
|
|
|
|
### 5. แผงควบคุมผ่านเว็บเบราว์เซอร์
|
|
* **GM Admin Panel**: [http://127.0.0.1:17888/](http://127.0.0.1:17888/) — จัดการไอเทม, กระเป๋า, ผู้เล่น, และอีโคโนมี
|
|
* **Debug WebUI Panel**: [http://127.0.0.1:5809/debug](http://127.0.0.1:5809/debug) — วาร์ปพิกัด, ปรับสภาพอากาศ/เวลา, เสกเอนทิตี, และควบคุมทราฟฟิก
|
|
|
|
---
|
|
|
|
## 📁 โครงสร้างโปรเจกต์ (Project Structure)
|
|
|
|
```text
|
|
Ananta-ps/
|
|
├── Ananta.Proxy/ # Node.js HTTPS Multi-Domain Proxy & Fastpatch Generator
|
|
│ ├── proxy/
|
|
│ │ ├── certs/ # ใบรับรอง SSL สำหรับดักโดเมน NetEase
|
|
│ │ ├── public/ # Static config, version JSON, serverlist, fastpatch.zip
|
|
│ │ └── server.js # Proxy Server หลัก
|
|
├── Ananta.SDK/ # Core Network Frame, Crypto (ChaCha8), และ UxRpc Serialization
|
|
├── Ananta.Server/ # C# .NET 8 UX-RPC Game Server
|
|
│ ├── Ananta.App/ # Console Entrypoint, Admin Web Server (17888) & Debug Panel (5809)
|
|
│ ├── Ananta.Core/ # Client Data Repositories, Wire Codecs & World State
|
|
│ ├── Ananta.Gameplay/ # ระบบ Traversal, City Traffic, Living Crowd & World Engine
|
|
│ ├── Ananta.Handlers/ # RPC Handlers (World, Switching, Gm, Vehicles, Minigames, Police)
|
|
│ ├── Ananta.Network/ # TCP Listener & Rpc Frame Dispatcher
|
|
│ ├── Ananta.RpcTypes/ # DTOs และ Method Contracts ของไคลเอนต์ 4229938
|
|
│ └── ClientData/4229938/ # ไฟล์ Database Configs ของเกม (Json, LFS)
|
|
├── config/ # private-server.json และตารางพิกัดมินิเกม/การจราจร
|
|
├── docs/ # เอกสารเสริม (FEATURES.md, devlog)
|
|
├── tools/ # เครื่องมือเสริม (Car Radio, Injector, Launcher, Python)
|
|
├── Run-All.ps1 # สคริปต์อัตโนมัติ (Fastpatch -> Build -> Launch)
|
|
└── START.cmd # ตัวเปิดเซิร์ฟเวอร์แบบ All-in-One
|
|
```
|
|
|
|
---
|
|
|
|
## ⚠️ ข้อควรระวังและการแก้ปัญหา (Troubleshooting)
|
|
|
|
- **เกมค้างหน้า "Initializing Game" หรือ "Initialize Client"**: ตรวจสอบว่า Fastpatch ถูกสร้างและวางไว้ในโฟลเดอร์รันไทม์เรียบร้อยแล้ว
|
|
- **พอร์ตชน (Ports already in use)**: หากมี Process ค้างอยู่ สามารถปิดผ่าน PowerShell: `Stop-Process -Name node, Ananta.App -Force`
|
|
- **ดาวน์โหลดไม่ผ่าน / ติด LFS Bandwidth**: ตรวจสอบว่า `git lfs pull` ดึงไฟล์โมเดลและ Database ขนาดใหญ่มาครบถ้วน
|
|
|
|
---
|
|
|
|
## ⚖️ ข้อกำหนดและเงื่อนไข (Disclaimer)
|
|
โปรเจกต์นี้จัดทำขึ้นเพื่อการศึกษาด้าน Reverse Engineering, Network Protocol Emulation และการอนุรักษ์ซอฟต์แวร์ (Software Preservation) เท่านั้น ไม่มีส่วนเกี่ยวข้องกับ NetEase Games หรือ Naked Rain แต่อย่างใด ห้ามนำไปใช้ในเชิงพาณิชย์
|