Files

131 lines
7.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: ananta-ps-engine
description: >-
Expert toolkit, procedures, and architectural patterns for reverse engineering,
proxying, and emulating NetEase Unity/il2cpp games (specifically Project Mugen /
Ananta CBT 4229938 and similar NetEase titles). Use when the user asks to analyze,
build, configure, debug, patch, or run private servers, proxies, authentication bypasses,
combat routers, NPC/monster spawners, weather engines, or protocol handlers.
---
# Ananta & NetEase Unity Private Server Engine Skill
This skill provides the comprehensive architectural blueprint, protocol specifications, and operational runbooks for developing and maintaining private servers for **Project Mugen / Ananta (client 4229938)** and similar NetEase Unity/il2cpp titles.
---
## Architecture Overview
```mermaid
flowchart TD
subgraph Client["Ananta Client (Unity IL2CPP 4229938)"]
CA["GameAssembly.dll\n(TLS & Anti-Cheat Bypassed)"]
UI["Unity UI & MPay WebView"]
GameWorld["In-Game World\n(Combat / NPCs / Weather)"]
end
subgraph Proxy["HTTPS Proxy Stack (:443, :80, :5801)"]
Cert["DRMK Local Proxy Root CA"]
AuthBypass["MPay JS Bridge Auth Bypass"]
ShaderOOM["Shader Warmup OOM Suppressor"]
ServerList["7-Column Server List Provider"]
end
subgraph Server["Game Server (.NET 8 C#)"]
LoginGate["Login & Gate Service (:5200, :5201)"]
WorldRouter["UXRPC Game Router (:5202)"]
CombatRouter["Pure DRMK Combat Router"]
NpcRouter["Unified Agent & POI Spawner"]
DebugAPI["Embedded Debug WebUI (:5809)"]
end
UI -->|HTTPS Login & Gateway| Proxy
CA -->|UXRPC Protocol| Server
Proxy -->|Redirect to Gate| LoginGate
LoginGate -->|Hand off to World| WorldRouter
WorldRouter --> CombatRouter
WorldRouter --> NpcRouter
DebugAPI -->|REST Controls| WorldRouter
```
---
## Core System Pillars & Reference Manuals
### 1. Unified NPC & Monster Entity System
- **Single Agent Model**: Monsters, bosses, street citizens, police officers, and domestic animals all share the exact same entity schema defined in `AgentConfig.json` (9,347 records).
- **Faction Camps**: Camp `0`/`26` for hostile monsters/bosses, Camp `2` for civilians, Camp `11` for animals, Camp `16..25` for police/guards.
- **POI Actions**: Idle (`2`), Walk (`1`), Run (`4`), Phone Call (`11`), Lean on Wall (`10`), Sit (`12`/`13`), Clapping (`6`), and Panic (`3`).
- **Player-Relative Grid**: Spawns groups in front of the player based on live yaw angle and configurable X/Z spacing.
- 📖 [Detailed NPC & Monster System Guide](./references/npc_and_monster_system.md)
### 2. Pure DRMK Combat & Character Switching
- **Unbroken Combos**: Eliminates artificial server-side cooldown ticks (`SkillCooldownUntilTicks`) so multi-hit light attacks, heavy attacks, and skills chain smoothly without animation stutter.
- **Authoritative Replenish**: Stamina and ultimate charge are replenished exclusively when the full combo chain finishes (`restoreResources == true`).
- **Clean Despawn (`SyncLogicAgentLeave`)**: Formally removes previous characters from the world when switching, completely preventing character lockups, ghost entities, and floating "F" interaction prompts.
- 📖 [Detailed Combat & Switching Architecture Guide](./references/combat_and_switching_system.md)
### 3. Scene ("Raid") Switching, Weather & Map Warp
- **Triad ID Architecture**: Scene transitions require authoritative `raidId`, `instanceId`, and `universeId` matching `RaidConfig.json` and `MapentranceConfig.json`.
- **Hybrid Atmospheric Control**: 5 standard weather states (`WeatherCatalog4229938`) coupled with client overrides for GPU particle rain (`SetGPURainActive`) and Volumetric Exponential Fog (`SetFogDensity`).
- **2-Click Pin & Warp**: Click once to place pin, click pin again to warp. Protects against fallback to void coordinates `(0, 0, 0)`.
- 📖 [Detailed Scene, Weather & Map Warp Guide](./references/scene_and_weather_system.md)
### 4. Embedded Debug API & Web Management Panel
- **Integrated Daemon**: Self-contained HTTP REST server on `http://127.0.0.1:5809/` with frontend `index.html` compiled into `Ananta.App.dll`.
- **Interactive Catalog Table**: Realtime search across all 9,347 agents with category tabs, pose picker, and `[➕ Add]` buttons to queue spawn commands instantly.
- 📖 [Detailed Debug API & WebUI Guide](./references/debug_api_and_webui.md)
### 5. Multi-Domain HTTPS Proxy & Auth Bypass
- **Native MPay JS Bridge**: Auto-authenticates web logins without touching NetEase authentication servers.
- **Shader Warmup OOM Prevention**: Suppresses the 11k shader pre-warmup routine (`triggerWarmupBelowVersion: ""`) to prevent 19GB memory exhaustion.
- **7-Column Server List**: Passes client Contract MD5 verification.
- 📖 [Detailed Proxy & Security Bypass Guide](./references/proxy_and_security_bypass.md)
### 6. Protocol Codec & V7 4-Step World Entry
- Strict handoff sequence: `SyncLogicAgentEnter` $\to$ `SyncManagedLogicAgent` $\to$ `SyncRaidBattleUnitSpirit` $\to$ `SyncPlayerCurrentSpirit` $\to$ `SyncSceneLoadCompleted`.
- 📖 [Detailed Protocol & World Entry Guide](./references/protocol_and_world_entry.md)
### 7. Client Binary Patching (`GameAssembly.dll`)
- TLS certificate pinning bypass (`ValidateCertificate` $\to$ `31 C0 C3`).
- NEAC anti-cheat driver suppression.
- 📖 [Detailed Binary Patching Guide](./references/binary_patching_guide.md)
### 8. Asset Decryption, UXRPC Protocol & Codebase Architecture
- L50 VFS v8 index XOR decryption (`CF DD A2 4D 1E 83 96 4C 63 98 BB 3B 25 B6 3D C1`).
- Media payload (MP4) XOR `0x76` recovery and Pse LZ4 128 KiB chunked texture streams.
- Complete 25 UXRPC Service IDs, Method IDs, and ordered binary serialization schemas.
- Map Fog removal via `PlayerClientInfoAchievement.SceneFogMaps` and `SyncSceneFogMapAllUnlock`.
- Unlimited currency initialization in `PlayerClientInfoItem` (`Money`, `Gold`, `BindingGold`, `FreeGold`).
- 📖 [Asset Decryption & Codebase Architecture Guide](./references/asset_decryption_and_architecture.md)
---
## Standard Runbook
### Step 1: Network & Certificate Preparation
1. Verify `C:\Windows\System32\drivers\etc\hosts` redirects `l50.update.netease.com` and related domains to `127.0.0.1`.
2. Ensure `DRMK Local Proxy Root` CA is installed in `Cert:\LocalMachine\Root`.
3. Verify ports `80`, `443`, `5801`, `5200`, `5201`, `5202`, and `5809` are free.
### Step 2: Game Directory Verification
- `NtUniSdkBase.dll`: Must be original NetEase DLL (~6.16 MB), never a dummy stub.
- `GameAssembly.dll`: Patched with TLS pinning bypass (`31 C0 C3`).
- `boot.config`: Original game version (`pkg-version=20260804051818394p0`).
### Step 3: Launching Stack
Run proxy and server together:
```powershell
# From workspace root:
.\START.cmd
```
### Step 4: Verification Checklist
- [ ] Proxy logs `[PX] listening on https://0.0.0.0:443`.
- [ ] Server prints `[READY] Приватный Сервер | client=4229938 | login=:5200,:5201 | game=:5202`.
- [ ] Launch `Ananta.exe`.
- [ ] No "Configuration content is corrupted" dialog.
- [ ] No 19GB RAM OOM crash.
- [ ] WebUI accessible at `http://127.0.0.1:5809/`.
- [ ] Entering world completes with active character controllable.