docs(skill): record round-2/3 client-test lessons in AI TOOLBOX
This commit is contained in:
1 parent
5cc172239d
commit
eb58b2e464
2 files changed
+36
No files matched your search
@@ -129,3 +129,23 @@ commit สุดท้ายของ Rust (`ebc27a1`) อ้างชื่อ
|
||||
- **ใช้ data files Rust PS ได้ทันที** (freesr-data.json / persistent / res.json / teleports.json / challenge_data.json / mission_unlocks.json / versions.json) — ฟอร์แมต JSON ตรงกัน รวม enum string อย่าง `main_character: "FemaleHarmony"`
|
||||
- **Build**: `go build -o gameserver-go.exe ./cmd/gameserver` + `./cmd/sdkserver`; ทดสอบ: `go test ./...`; เปิดด้วย `run_go.bat` (UDP 23301 + HTTP 21000 เหมือนเดิม)
|
||||
- **ที่ตั้ง skill library**: `tools/AI TOOLBOX/` (ทั้งสองโปรเจกต์มี copy — อัปเดตต้นฉบับที่เดียวแล้วก็อป)
|
||||
|
||||
## 13. บทเรียนรอบทดสอบ client จริง (2026-10-07 01:00-01:53)
|
||||
|
||||
- **Req id ≠ ScRsp id — เช็ค reply จาก Cmd enum เสมอ**: บันทึกเดิมบอกตอบ
|
||||
`GetSwitchHandDataScRsp = 8104` แต่ 8104 คือ `SwitchHandStartCsReq` (Req!)
|
||||
ของจริงคือ **8108** — ส่ง id ผิดฝั่งไปหา client = client มองไม่เห็นคำตอบ
|
||||
- **teleport id ซ้ำกันทุกแมพ** (1001, 1002, ...): ห้ามค้น teleports.json ทั่วโลกด้วย id เดียว —
|
||||
วาปแล้วอาจไปผิดภูมิภาค (AA → AP) — ใช้ floor จาก `scene_identifier` กำหนดขอบเขตเสมอ
|
||||
(`findEntryByTeleportInFloor`)
|
||||
- **client layout drift**: payload ของ cmd เดียวกันอาจ parse ไม่ผ่าน proto ที่ถืออยู่
|
||||
(GetSceneMapInfo 1461) → raw handler + lenient wire-walk fallback + log hexdump
|
||||
เพื่อแกะ layout จริงจาก log
|
||||
- **challenge_id=0**: เมื่อ decoder ตาม tag ไม่เจอ ให้สแกน varint ทุก field หาค่าที่
|
||||
"หน้าตาเป็น challenge id" (`detectChallengeID` — range ต่อโหมด + เช็ค challenge_data)
|
||||
- **StartChallengeScRsp 4.6.51 ต้องมี stage_info (tag 13)** — boss node buff echo
|
||||
- **arena 3014101 client ไม่มี** แม้ res.json จะมี — fallback 3000101 ทั้ง StartChallenge และ Tierce
|
||||
- **GetUnreleasedBlockInfo 4.6.51 = CsReq 4190 → ScRsp 4112** (retcode tag 14) —
|
||||
Endgame entry รอ response นี้ก่อนเปิด UI (บันทึก Rust บอก 4130 ผิด)
|
||||
- **Activity schedule จริง**: `tools/march7_dump/Config/Custom/ActivityConfig.json`
|
||||
(147 activities จาก client 4.6.51) — อย่าส่ง synthetic id เพราะ Travel Log จะว่าง
|
||||
Reference in new issue
Block a user