Ananta (Project Mugen) CBT 4229938 Private Server & Proxy Engine
เซิร์ฟเวอร์ส่วนตัว (Private Server) และระบบ HTTPS/SNI Proxy สำหรับเกม Ananta (Project Mugen / 代号:无限大) ไคลเอนต์เวอร์ชัน CBT 4229938 ที่พัฒนาด้วยสถาปัตยกรรม C# .NET 8 (UX-RPC Binary Protocol) ร่วมกับ Node.js Proxy เพื่อจำลองการเชื่อมต่อและเล่นเกมในโหมด Sandbox / Free-Roam ได้อย่างสมบูรณ์
📋 สรุปสถานะฟีเจอร์ของระบบ (Feature Status Matrix)
ตารางแสดงรายละเอียดฟีเจอร์ทั้งหมด แบ่งตามสถานะการทำงานจริง:
| ฟีเจอร์ / ระบบ | สถานะ | รายละเอียดการทำงาน |
|---|---|---|
| Combat & Skill System (ระบบต่อสู้และสกิล) | 🟢 ใช้งานได้สมบูรณ์ | ผูก Weapon Profile, Basic Attack Combo, Heavy Attack, Active Skill, Dodge, Unique Ultimate Skill และ Fight Resources (SP/Energy) ให้กับตัวละครทุกตัว (ทั้ง MC ชาย/หญิง และตัวละครทั้งหมด) ทันทีเมื่อเข้าเกมหรือสลับตัวละคร พร้อมประมวลผล Skill RPC และ Damage Hit Notification ในเซิร์ฟเวอร์ |
| Authentication & MPay Bypass | 🟢 ใช้งานได้สมบูรณ์ | บายพาสล็อกอินผ่าน MPay JavaScript Bridge ใน NtUniSdkBase.dll อัตโนมัติ ไม่ต้องกรอกรหัสผ่าน |
| HTTPS Gateway & Multi-Domain Proxy | 🟢 ใช้งานได้สมบูรณ์ | จำลอง SSL SNI บนพอร์ต 443/80 หลอกระบบอัปเดต และบีบ Contract MD5 7-column ไม่ให้ขึ้นปิดปรับปรุง |
| World Entry (V7 4-Step Handoff) | 🟢 ใช้งานได้สมบูรณ์ | ส่งลำดับ SyncLogicAgentEnter -> SyncManagedLogicAgent -> SyncRaidBattleUnitSpirit -> SyncPlayerCurrentSpirit -> SyncSceneLoadCompleted เข้าสู่เมืองได้ 100% |
| Character Switching (สลับตัวละคร) | 🟢 ใช้งานได้สมบูรณ์ | สลับตัวละครได้ในฉากเดียวกัน พิกัดต่อเนื่อง และส่ง isAgentSwitch: true ทำให้มุมกล้อง Cinemachine ติดตามตัวละครใหม่ถูกต้อง ไม่หลุดลอย พร้อมรีไอน์เชียลไลซ์สกิลของตัวละครใหม่ทันที |
| Traversal & Parkour (สลิง/เกี่ยวต่อสู้/ปีนป่าย) | 🟢 ใช้งานได้สมบูรณ์ | ปลดล็อกบัฟเคลื่อนไหวใยแมงมุม (FeiSuo / Grapple Hook / Wall Rush / Dive Damage) ให้กับทุกตัวละคร รองรับการใช้สลิงเกี่ยวต่อสู้โดยไม่หลุดจากการเชื่อมต่อ |
| Anti-Cheat Suppression | 🟢 ใช้งานได้สมบูรณ์ | ดักปิด DavinciReport, DavinciMgr.CheckTimeScale (แก้บัค Connection Lost เวลาสลิงเกี่ยวหรือเกิด Slow Motion) และดูดซับ GmDaVinciCode ฝั่งเซิร์ฟเวอร์ |
| Camera & Cinemachine Handling | 🟢 ใช้งานได้สมบูรณ์ | จัดการทรานซิชันมุมกล้อง Cinemachine ระหว่างการเคลื่อนไหว สลับตัวละคร และโหมดอิสระ ปิดการ Force Debug Photo ที่เคยกวนระบบกล้องเกมหลัก |
| RAM Warmup OOM Prevention | 🟢 ใช้งานได้สมบูรณ์ | ปิดการสั่งคอมไพล์ 11,384 PSO Shaders รวดเดียว ลดเวลาโหลดจาก 40 วิเหลือ 0.01 วิ และไม่กินแรม 16-19GB จนเกมแครช |
| Retail Game Switches & All-Map Unlock | 🟢 ใช้งานได้สมบูรณ์ | ปลดล็อกตู้เสื้อผ้า (Closet), กาชา (Gacha), ห้าง (Mall), โทรศัพท์ (Phone), แผนที่เปิดหมด หมอกควัน (Fog) ถูกเคลียร์ |
Web Debug Panel (:5809/debug) |
🟢 ใช้งานได้สมบูรณ์ | แดชบอร์ดเว็บสำหรับวาร์ปตามพิกัด (Teleport), ปรับเวลาสภาพอากาศ, เสกมอนเตอร์, และเปิดหน้าต่างวิดีโอ |
| Safe Fastpatch Loader | 🟢 ใช้งานได้สมบูรณ์ | ตัวสร้าง fastpatch_4229938.zip อัตโนมัติ ทุกคำสั่งถูกครอบด้วย pcall ป้องกันข้อความคำสั่งรั่วขึ้นหน้าจอ และหมดปัญหาเกมค้างหน้า Initialize Client |
| Monster Spawning (เสกมอนเตอร์) | 🟡 กำลังพัฒนา / มีข้อจำกัด / บัค | เสกได้ผ่าน GM Console (Alt+F1) และ Debug Panel (CMD:SPAWN_ENEMY) ส่งคำสั่งเข้า gCS.LuaUtils.AddEnemy โดยตรงไม่ขึ้นเป็นตัวหนังสือบนจอ แต่การเกิดจะขึ้นอยู่กับ NavMesh ใน Chunk นั้นๆ |
| Realtime 3D Cutscenes & Timelines | 🟢 ใช้งานได้สมบูรณ์ | เล่นคัทซีน Realtime 3D In-Engine ผ่าน Cinemachine และ Timeline ภายในตัวเกมโดยตรง (14 Presets บน Web Debug Panel) ตัดคัทซีนวิดีโอพรีเรนเดอร์ที่ไม่มีไฟล์ออกแล้ว |
| Taffy Signature Weapon & Combat (塔菲专属武器/技能) | 🟢 ใช้งานได้สมบูรณ์ | มอเตอร์ไซค์ล้อเดียวของ Taffy เป็นการแปลงสภาพอาวุธค้อนของ Taffy โดยตรง (Active Skill 51935230) เซิร์ฟเวอร์ผูกสกิลเฉพาะตัวและรองรับ RPC การขับขี่ไว้สมบูรณ์แล้ว |
| Gacha System (ตู้สุ่มตัวละคร) | 🟡 กำลังพัฒนา / มีข้อจำกัด / บัค | หน้าร้านค้าเปิดตู้ได้และบายพาสวันหมดอายุ CBT แล้ว แต่ผลการสุ่มยังเป็นการให้ไอเทมแบบสุ่มตายตัว (ยังไม่มี Database เรทกาชาแบบเต็มระบบ) |
| Phone Customization (ตกแต่งมือถือ) | 🟡 กำลังพัฒนา / มีข้อจำกัด / บัค | ปลดล็อกไอเทมเคสมือถือ วอลเปเปอร์ จี้ห้อย (1..200) ในหน่วยความจำ แต่ยังไม่บันทึกความเปลี่ยนแปลงข้าม Session แบบถาวร |
| Monster Combat AI & Aggro | 🔴 ยังทำไม่ได้ / วางแผนไว้ | มอนเตอร์ที่เสกออกมาจะยืนนิ่งหรือเคลื่อนที่พื้นฐาน ยังไม่มี Behavior Tree เชิงรุกเข้าโจมตีผู้เล่น (ต้องรอเขียน Combat AI Loop ฝั่งเซิร์ฟเวอร์) |
| Multiplayer Co-op (เล่นด้วยกันหลายคน) | 🔴 ยังทำไม่ได้ / วางแผนไว้ | ปัจจุบันเซิร์ฟเวอร์รองรับการเข้าเล่นแบบคนเดียว (Local Single-Player Sandbox) ระบบ Broadcast ผู้เล่นอื่นในฉากเดียวกันอยู่ใน Roadmap |
| Main Story Quest Engine | 🔴 ยังทำไม่ได้ / วางแผนไว้ | เควสต์เนื้อเรื่องหลักยังไม่เปิดใช้งาน เนื่องจากต้องใช้ State Machine และ Triggers ที่ผูกกับ Script เควสต์ขนาดใหญ่ |
| In-game Shop Real Money | 🔴 ไม่ทำ (ปิดถาวร) | ระบบเติมเงินจริงถูกปิดไว้ถาวรเพื่อความปลอดภัย ปลดล็อกของทั้งหมดให้ฟรีผ่าน Sandbox แทน |
| City Traffic & Crowd Simulation | 🔴 อยู่ในแผนพัฒนา | การจำลองฝูงชนและรถยนต์สัญจรแบบหนาแน่นทั้งเมืองปิดไว้ชั่วคราว เพื่อประหยัด CPU และ Memory |
🛠️ ความต้องการของระบบ (Prerequisites)
- Windows 10 / 11 (64-bit)
- .NET 8.0 SDK: ดาวน์โหลดที่นี่
- Node.js (LTS v18 หรือ v20 ขึ้นไป): ดาวน์โหลดที่นี่
- Git & Git LFS: ดาวน์โหลดที่นี่
- ตัวเกม Ananta / Project Mugen (CBT Client build 4229938)
🚀 วิธีติดตั้งและเปิดใช้งานเซิร์ฟเวอร์
1. Clone Repository (จำเป็นต้องใช้ Git LFS)
git clone https://github.com/CAtlas0784/vibe-lay-gu-game.git
cd vibe-lay-gu-game
git lfs pull
2. ติดตั้ง Certificate & Hosts
รันคำสั่งด้วย PowerShell (Administrator) เพื่อชี้โดเมน NetEase เข้าหาเซิร์ฟเวอร์เครื่องคุณ (127.0.0.1):
powershell -ExecutionPolicy Bypass -File .\Ananta.Proxy\SETUP_PROXY_AS_ADMIN.ps1
(หากต้องการยกเลิกการตั้งค่า Hosts ในภายหลัง สามารถรัน REMOVE_PROXY_HOSTS_AS_ADMIN.ps1)
3. เปิดเซิร์ฟเวอร์
ดับเบิลคลิกเปิดใช้งานผ่านไฟล์:
START.cmd
หรือรันผ่าน PowerShell:
powershell -ExecutionPolicy Bypass -File .\Run-All.ps1
เมื่อขึ้นข้อความ [READY] แสดงว่าทั้ง Node.js Proxy (พอร์ต 443/80) และ C# Game Server (พอร์ต 5200-5202) พร้อมทำงานเรียบร้อยแล้ว
4. เข้าเล่นเกม
- เปิดไฟล์
Ananta.exe - ตัวเกมจะผ่านหน้า Splash และหน้า
Initializing gameเข้าสู่หน้าจอหลัก - กดเริ่มเกม ตัวเกมจะทำการบายพาสล็อกอินและนำตัวละครเข้าสู่โลก Sandbox ทันที!
5. หน้าต่าง Debug Panel
ระหว่างที่เปิดเซิร์ฟเวอร์ สามารถเปิด Browser ไปที่:
http://localhost:5809/debug
เพื่อใช้วาร์ปไปยังจุดต่าง ๆ ในเมือง, ปรับเวลา, เปลี่ยนสภาพอากาศ, หรือเสกเอนทิตี
📁 โครงสร้างโปรเจกต์ (Project Structure)
vibe-lay-gu-game/
├── Ananta.Proxy/ # Node.js HTTPS Multi-Domain Proxy & Fastpatch Generator
│ ├── proxy/
│ │ ├── certs/ # ใบรับรอง SSL สำหรับดักโดเมน NetEase
│ │ ├── public/ # Static config, version JSON, serverlist, fastpatch.zip
│ │ ├── tools/ # generate_client_config_patch.js (ตัวฉีด Lua Hooks)
│ │ └── server.js # Proxy Server หลัก
├── Ananta.SDK/ # โค้ด Core Network Frame, Crypto (ChaCha8), และ UxRpc Message
├── Ananta.Server/ # C# .NET 8 UX-RPC Game Server
│ ├── Ananta.App/ # Console Entrypoint, Session Hub & Debug Web Panel
│ ├── Ananta.Core/ # Client Data Repositories, Wire Codecs & World State
│ ├── Ananta.Gameplay/ # ระบบ Traversal, Web Swing & Buff Handlers
│ ├── Ananta.Handlers/ # RPC Handlers (World, Switching, Gm, Vehicles, Fashion, Gacha)
│ ├── Ananta.Network/ # TCP Listener & Rpc Frame Dispatcher
│ └── ClientData/4229938/ # ไฟล์ Database Configs ของเกม (Json, LFS)
├── config/ # private-server.json (ตั้งค่าพอร์ต, ไอดีตัวละคร, บัฟ)
├── Run-All.ps1 # สคริปต์อัตโนมัติ (Fastpatch -> Build -> Launch)
├── START.cmd # ตัวเปิดเซิร์ฟเวอร์แบบ All-in-One คลิกเดียวจบ
└── .gitattributes # กำหนด Git LFS สำหรับ SceneitemConfig.json (135 MB)
⚠️ ข้อควรระวังและการแก้ปัญหา (Troubleshooting)
- เกมค้างหน้า "Initializing Game" หรือ "Initialize Client": ตรวจสอบให้แน่ใจว่าได้ใช้
fastpatch_4229938.zipที่สร้างจากgenerate_client_config_patch.jsเวอร์ชันล่าสุด ซึ่งครอบpcallและไม่มีคำสั่งเรียก property ของ C# โดยตรง - พอร์ตชน (Ports already in use): หากมี Process เก่าค้างอยู่ สามารถปิด Node.js หรือ dotnet ที่ค้างผ่าน Task Manager หรือรัน
Stop-Process -Name node, Ananta.App -Force - ดาวน์โหลดไม่ผ่าน / ติด LFS Bandwidth: ตรวจสอบว่า
git lfs pullดึงไฟล์SceneitemConfig.jsonขนาด 135 MB มาครบถ้วน (ไฟล์ต้องไม่ใช่ Pointer text ขนาด 130 bytes)
⚖️ ข้อกำหนดและเงื่อนไข (Disclaimer)
โปรเจกต์นี้จัดทำขึ้นเพื่อการศึกษาด้าน Reverse Engineering, Network Protocol Emulation และการอนุรักษ์ซอฟต์แวร์ (Software Preservation) เท่านั้น ไม่มีส่วนเกี่ยวข้องกับ NetEase Games หรือ Naked Rain แต่อย่างใด ห้ามนำไปใช้ในเชิงพาณิชย์