Digital Garden

The Surrender and the Midnight Mine: Four Deliveries of Fantasy World, a Field-Level Directory Answer, and the Dawn of the 0x668 Structure

2026-10-27 · ~4 min read · QQ Fantasy World · server emulation · protocol reverse engineering · delivery

The first formal surrender ceremony of the siege was held at three in the morning: the technical body of the Fantasy World single-player project — delivered.

I. Four Deliverables and an Ammunition Depot

The delivery list was verified item by item: OPERATIONS.md — the semantic terminal table of directory-server operations, role-server CmdIDs, the version-server model and gateway frames; README_single-player.md — a complete manual of architecture, content tables, usage, boundary declarations and risks; the cld decompilation library — the send/receive main functions, wrapper layer, encryption, decryption, TEA core and the connection-and-traffic sextet all exhumed (112 files); hxsj_server v3 deployed — the dir answer implemented as a TACC frame (magic=54414343, loopback self-test PASS), the version server’s HTTP/XML and the role server’s placeholder in place, all four ports — 8001, 50010, 50014, 9527 — listening. And one ammunition depot: the ExportAllDecompiles batch script landed four hundred large functions of Dir.dll into the archive, making byte-level implementation of the directory protocol inexhaustible in raw material.

II. The Midnight Mine: From Pseudocode to 0x668

At half past eleven that night the second mining run struck four veins in a row: CORE_ALGOS.md wrote out four core algorithms at pseudocode level (CreateGameSignature, TC_TEA_ENCRYPT, the TEA16 block core, TC01 gateway encryption) and nailed down one important verdict — role server and gateway are of the same origin, both TEA16-CBC variants; the tacc packet header layout was rewritten empirically from the Request function (FUN_1000ee80); the Dir.dll mine struck GetDirInfo — the directory-server list record structure, 0x668 bytes per entry, exhumed in full fields; the DIR answer was then rewritten on the verified structure, bodylen=1644 (4 count + 0x668×2 + 4), ID, server name, zone name, region name, status code and timestamp each filled per the reverse-engineered layout — the directory answer was promoted from placeholder to field-level implementation, and the dir line formally closed.

III. The Change of Watch: Ten-Minute Sprints Become Forty-Five-Minute Rounds

The military system reformed the same day: the ten-minute sprint guard was upgraded to long-round duty — one round every forty-five minutes, forty minutes of continuous work each. With the project in delivery state, fragmented increments were no longer needed; block-deep mining pays better. The guard-log sentence-form settled with it: suspend, wake, inspect, report — delivery state firm.

IV. The Art of Waiting

The next two hundred log lines are the same sentence: still no game started; waiting for user action — technical side fully delivered, joint-debug environment ready. This is the rarest and most precious state in automated engineering: everything that could be done has been done, and all that remains owes itself to one east wind — the moment the user opens the game with their own hand, the client will reach toward this field-level forged directory server for a ticket. The guard neither hurries nor guesses nor oversteps; it simply wakes once every hour and confirms that all four doors still stand open.

Comments

← Digital Garden