CITY RESTORATION · SEPTEMBER 29, 2026
Qeynos first.
North and South Qeynos are the active work area. Qeynos Hills remains queued until both cities finish acceptance. This report is not a 100% certification.
Full North Qeynos completion plan: all 29 checks, ordered work and acceptance requirements
North Qeynos: original water-fog runtime in QA
The native QA client now connects original sky ambient metadata, terrain vertex lighting and the camera’s water region to the recovered Titanium fog arithmetic. Thirty original actor radii were extracted directly from WLD; the Human radius matches the running original client exactly.
283 library tests, two actor-bound tests, the original guild brightness fixture, a short swim-return rehearsal, four North water geometry tests, Windows compilation and the Linux release build pass. The first live candidate exposed a spawn-size versus eye-height guard error; that was corrected and regression-tested.
The isolated native client completed a short Temple pond dip and ordinary swim/jump return. Its camera switched to water fog RGB (1, 3, 2), range 0–300, then back to dry fog. Air fell from 50 to 43 and refilled to 50; health stayed 27/27. Underwater and returned-bank screenshots were inspected. This verifies the transition and safe return, not yet a matched Titanium color comparison.
Titanium subsequently produced the same rainy-day underwater color and range. A new regression replays its captured inputs against Rust and also checks the settled pond-floor brightness. All three source-asset fog tests pass. The original test’s automated mouse return failed when a corpse-loot window intercepted input; normal keyboard movement recovered to dry land with air 50 and health still 27/27. The failed controller is disabled, and this is not credited as a successful automated round trip.
Not yet accepted: other ambient/weather colors, vision effects, other bodies, transition cadence and full lighting. Normal Rust world lighting still has fixed ambient/directional values; the original sky-to-world lighting path is being traced separately. This is isolated QA only; public downloads and the spectator are unchanged. No additional completion percentage has been awarded.
North lighting: original vertex colors were being lost during export
A comparison inside the monk guild exposed a concrete asset defect: the exporter passed 0–255 color bytes into glTF’s 0–1 color fields. Nonzero channels were clamped to full intensity. That destroyed baked RGB detail and the alpha channel used to control outdoor lighting. The original archives were present, but this part of their data was not surviving conversion.
The conversion is now corrected and tested across all 256 byte values. The old export fails the original-client terrain-lighting comparison; the corrected export matches both measured guild positions within 0.000002. North’s 2,449 nodes, 2,448 meshes and 45,180 triangles are unchanged, as are expanded non-color geometry, materials, texture content, animations and eight metadata files. The corrected export restores intermediate lighting alpha on 63,786 vertices and intermediate RGB on 38,777 vertices.
281 Rust library tests pass, with two pre-existing ignored tests. All four actual North swimming tests still pass with the corrected geometry. Existing exporter regressions also pass. The new assets are staged only in isolated QA, with the old asset link preserved for rollback; public downloads, the spectator and shared assets are unchanged. Full environment acceptance remains open, including underwater fog, lighting transitions and remaining sky layers. No percentage credit is awarded for an unfinished whole check.

Temple pond: swimming repair in QA, not yet accepted
Original Titanium was tested in the Temple of Life pond using ordinary movement. Its authored body/head water regions match all 18 checks at nine captured positions. The character dives by looking down, resurfaces by looking up, and returns to the bank. Read-only inspection records air falling from 50 to 41 underwater and refilling to 50 after resurfacing.
The Rust client’s simplified floating ignored Swimming skill and look angle. The new candidate uses the original water-motion coefficients, server-sent movement speeds, skill 50, look-directed ascent/descent and the source shore-exit impulse. The skills window also mislabeled Pick Pockets as Swimming and Swimming as Taunt; these now use the correct IDs 50 and 73.
Live test found a timing failure: applying drag once per rendered frame caused excessive coasting at 7–8 FPS. That candidate was rejected. The revised adapter samples the original configured 100 Hz motion independently of rendering—an explicit modernization of the old frame-rate-dependent behavior. Actual North geometry tests now produce the same dive and stopping results at 5, 7, 10, 30, 60, 100, 144 and 200 FPS. Four geometry/wire tests and 266 library tests pass; two pre-existing library tests remain ignored.
The revised Linux QA build has now been inspected live at 7–8 FPS. The ordinary Human enters the pond, stops after release, dives to the original −16-unit floor, resurfaces and returns to the dry bank. Three consecutive underwater receipts show identical coordinates and zero velocity; 279 body/head/motion samples are retained. The corrected Skills window shows Swimming 100 and Taunt 0, matching this character’s server data.


Breath integration: first live drowning fixture passes
The QA client now reads profile air, signed equipment stamina, food/drink, worn effects and buff caster metadata. Breath uses the authored head region, not the camera or body region. Its original ANSI spell table contains 7,872 records; actual Enduring Breath and Stamina effects pass source-file tests. Unknown required inputs suspend damage with a visible warning, rather than granting silent unlimited air or guessing damage.
Inspected normal-player tests on September 29 show air falling from 50 to 29 and refilling to 50 after resurfacing. A second dive reached zero. The next breath tick requested 3 damage, and the server independently reported HP falling from 27 to 24. Ordinary swim/jump input returned the character to the dry bank; air refilled to 50 and damage stopped. No immunity, GM privileges, HP/coordinate edits or forced actors were used. The verifier retains 42 consecutive countdown samples and the server HP receipt.

Original comparison procedure failed: a later Titanium test overran while its monitor was being prepared, and the QA character drowned before the escape input. Its chat shows repeated 3-point drowning hits, but this is not counted as a successful controlled one-tick test. The level-1 character respawned with its inventory; the new corpse contains no items, coins or experience. Both QA sessions are camped. Further timed tests must start their complete supervisor while still dry.
Current checks: 276 library tests pass, two pre-existing library tests remain ignored; all four actual North water geometry/wire tests pass when explicitly run with the original export. Linux release and Windows compilation pass. The first spell loader failed on legitimate decimal teleport coordinates; the corrected loader only interprets breath-related effect payloads. Live bard/equipment spell variants, other water routes, sewer handoffs, low ceilings, race variants and underwater presentation remain open. Only isolated QA is affected; public downloads and the spectator are unchanged. No whole-water or percentage credit is awarded for this partial batch.
Temple of Life: both local portals now work in Rust QA
Normal walking in the original Titanium client confirmed both authored transfers: into the Temple at X −714, Y −168, body Z −10, heading 462, and back to the city at X −153, Y −30, body Z 9, heading 250. Neither reloads North Qeynos. Read-only packet capture verifies the ordered zone-line/departure/arrival history and server-provided destination records.
The first Rust candidate still missed the thin entrance trigger. The original executable checks a lower region point, not the body origin. That calculation is now source-guarded for the measured standing Human. Actual-asset ordinary-walk tests and the live Linux round trip pass, including floor settling, destination heading, server-saved positions and no repeated teleport. Both live views were inspected. 259 library tests pass, two pre-existing tests remain ignored; Linux release and Windows compilation checks pass.




Candidate 3e980734 is isolated QA only. Production spectator and public downloads are unchanged. Other race/size/posture hulls remain unverified. A separate server defect logs legitimate transfers as “Possible Hack” in both the original client and Rust; no detector was disabled, no warning erased, and no immunity or GM transport was used. Full local-transport acceptance therefore remains open. The complete plan and checklist retain these remaining requirements without increasing the percentage for this partial fixture.
Server repair staged, not yet deployed: all 6,563 map-tree nodes were compared with the original source. The candidate checks the authored departure region, matching server destination, client version, instance and recent movement before accepting a local transfer. Missing or invalid metadata retains the warning. The four recorded original/Rust transfers pass alongside rejection controls: 10,278 sanitizer-backed checks and 24 actual map-loader tests, including preservation of sewer water behavior. Full dependent rebuild and isolated linking pass. Active server executables, rules and stored warnings are unchanged; runtime acceptance awaits the pending maintenance decision. This is not a completed live-server fix and adds no percentage credit.
Dranom and Aenia: eye height and bed support repaired
Dranom’s original red outfit and bearded face match the Rust asset selection. The comparison exposed a separate camera error: native used an eye height of 5.52 units for this Human, while Titanium uses 7.44. Read-only tracing of the original camera confirmed its 6.2-unit base height multiplied by actor scale, and its ordinary downward look-pitch bias. Both calculations are corrected in Rust.
The Linux QA build was inspected at the same saved character position. Dranom’s standing height and the room now align closely after allowing for Titanium’s window border and coordinate quantization. This is not pixel-perfect lighting or animation acceptance. That comparison exposed Aenia sitting below the bed; the follow-up repair and live retest are shown below.


Read-only inspection confirms that Titanium raises Aenia from the server’s Z 3.75 onto the original bed surface, rendering her at Z 6.052521. Rust now resolves the same nearby solid support without changing server coordinates, model scale or the sitting pose. A first candidate failed because ordinary NPCs use land/water gravity mode 3; the corrected interpretation was rebuilt and retested. Flying, dead, moving and submerged actors are excluded from this conservative support repair.


This accepts the reproduced Aenia support fixture, not every model, moving actor, camera posture or lighting condition. Two citizen/face fallback cases and the remaining full-appearance matrix continue below; overall North coverage remains 52%.
First-person furniture collision repaired and compared live
Titanium traces a 1-unit camera sphere from the character’s body toward its intended eye and separates it from a hit by 0.001 units. Rust previously omitted this first-person trace. The dedicated repair checks solid zone and current door geometry without changing character coordinates or the spectator/chase rig. Source hash/byte checks confirm the original radius and separation; triangle faces, edges, vertices, winding and clear paths have regressions.
A ray-only first attempt failed the ceiling test and was corrected before QA installation. The actual room ceiling is at 12 units: the radius-aware native probe returns 10.999001. The live original furniture-edge reference has standing pose 100, idle animation 71, and its eye clamped to body Z 3.751990. The native relogin at the quantized saved position reproduces Z 3.750000 and the low view below. Walking clear normally restores eye height 7.440000.


This closes the reproduced furniture-edge camera defect, not full camera parity. The Human sitting/crouching follow-up is below. Low-headroom automatic posture, all races, moving-door cases and exact lighting remain open. Production spectator and public downloads are unchanged.
Sitting and crouching: measured original/native comparison
Titanium uses the full animated head attachment for sitting, including its horizontal shift. Rust previously applied only a vertical offset. The repaired Human sitting eye now agrees with the original within 0.002 world units at the same saved position. The old calculation fails the reference by over 0.4 units.


The live reference also caught an input mistake before acceptance: Titanium’s /duck is a social emote, while its C key toggles crouching. The native candidate now has a separate rebindable crouch toggle, default Z to preserve existing C/X bindings. Original crouched eye Z 3.751000 and native Z 3.750000 agree within the floor offset; toggling back restores native eye 7.440000 without moving the player.


This accepts the tested Human sitting/crouching eye positions and recovery only. Looting, combat/mounted camera branches, automatic low-headroom posture, other races and full social-emote/input parity remain open. QA build 56b5381 only; production spectator and public downloads are unchanged. No whole-check or percentage credit added.
Natural evening shift verified
The ordinary Rust-client player observed the day pair Leanon/Erabb followed by the night pair Quinon/Dagarok, with approved target selections and the outgoing names absent afterward. Persisted live condition values agree. The 80-second recording and inspected captures required no clock changes, forced NPCs or character relocation. Morning, night startup and separate daytime restart were already checked; combat/respawn interruption and exact historical North-specific boundary hours remain open.
Citizen outfits and the cellar return route
The normal native player walked back from Pelshia through the cellar corridors, stairs and door 74 to Crow’s bar, without teleporting or bypassing collision. This completes the tested cellar route in both directions; other passages and full original/native route comparisons remain open.
Sabnie’s leather outfit and cap now have inspected Titanium/Rust captures at the same saved player position. Nerissa also returned on her untouched patrol, allowing a live purple-robe, gold-trim and cap comparison. Together with Pelshia’s plain outfit, three of the four female-citizen base variants have inspected clothing matches. Whysia’s texture-5 case remains open. One matched citizen does not certify every NPC or equipment variation.



Source-asset regression covers the base, leather-cap and robe geometry, original texture dependencies and complete cloak panels. It passes with the installed Titanium export; the earlier hand-orientation regression also passes, and the new test compiles for Windows. No public executable or production spectator was replaced.
Complete North static-appearance dependency inventory
126 required NPC definitions, including the script-only fire hatchling, produce 54 static appearance variants and 47 loaded asset combinations. All load nonempty geometry and decoded texture dependencies through the actual native resolver. This is dependency coverage, not complete appearance acceptance.
The separate equipment inventory now traces 131 potentially equipped loot paths across 56 NPCs and 41 items. All 22 current held-model dependencies load and decode; seven armor-item candidates still require per-actor material and live equipment checks. The audit respects NoPet and slot restrictions but deliberately overcounts possible loot outcomes rather than claiming to reproduce each random roll.
A historical-model review found 15 item-specific weapon mapping candidates against the installed Al’Kabor/TAKP references. Their 23 candidate model dependencies also load. These related reference databases are not independent historical proofs; no shared item rows or runtime cache were changed. A first-hand EQEmulator investigation confirms the distinction between Classic dagger model 5 and newer 10650. Fire Beetle Eye’s conflicting no-model reference remains separate. Original/P99 appearance evidence and controlled cache activation are still required.
Henlom’s face 3 and Berane’s face 7 now have inspected original/native comparisons at their normally saved player positions. Both correctly retain the authored gray-haired, gray-bearded QCM face, green shirt and brown apron, as Titanium does. No appearance database change was needed. An actual-asset regression covers both requested faces and retained head/body textures; it passes and compiles for Windows. This accepts their base appearance selection, not lighting, every idle frame or equipment.




Two source-fallback cases still need original comparison: Whysia’s skin 5 and the mangy rat’s face 1. Dranom’s requested face retains the same source face as Titanium while preserving all 13 real skin-2 body substitutions; a regression test covers that combination. Beetle skin 1 is already present in the base export, not missing. Loot-driven equipment remains to be reviewed for 73 NPCs; one has tint metadata and two have explicit held-item IDs.
Pelshia: original-client comparison repaired two native defects
Titanium reports Pelshia as apprehensive. The native client incorrectly interpreted the server’s reversed four-rank faction wire ordering as the internal faction enum. Decoding is corrected, all nine ranks and short packets have regression coverage, and fresh normal-player native login now shows apprehensive while her shop still opens. No server faction was changed.
The same matched-location comparison exposed a model error: native substituted QCF for the missing registered QCN actor, giving her a light blouse, purple skirt and black hair. Titanium displays the original HUF blue bodice, white collar and brown hair. The corrected native fallback now visibly matches that model; male and neutral citizen mappings are unchanged. This accepts Pelshia’s texture0 fixture, not every citizen armor/robe variant or exact lighting.



The separate scroll-stack repair uncovered a server reload defect: world and zone handlers loaded a different database object from the one gameplay reads. The attempted108-item/cache update was fully reverted; every item field and all113server process mappings were verified restored, with no process restart. The QA account’s temporary maintenance privileges were removed. Both reload handlers are now corrected in source and compile successfully, but corrected runtime deployment and normal-player scroll acceptance remain open. The holdings audit covered12named stores; earlier prose saying13was a counting error, not an additional checked store.
Underground stock verified; five later-era scroll gates repaired
Normal cellar traversal through door74, both stair sections and the lower guild hall reached Pelshia without teleporting or bypassing collision. Her16-entry shop displays the restored Renux’s Translations at840c, with a nonstackable1/1 limit. No purchase or fixture funding was used. All five restored North stock entries now have inspected native display evidence.

Balhallia’s Reanimation, Reconstitute, Reparation, Renewal and Restoration scrolls were incorrectly configured to unlock with Velious. The March19,2002 patch and contemporary Qeynos reports place that resurrection line after the supported ceiling. Only those five merchant gates changed from2to3. Full inventory rollback rehearsal and readback pass; Classic and Kunark stock is unchanged, and the modeled Velious inventory no longer exposes them. No expansion was enabled.
Merchant quantities: bulk purchase, partial sale and buyback verified
The native shop now selects an item before purchase, shows available stock, provides bounded quantity controls, and quotes the complete purchase cost. The live Crow test bought20 brews in one transaction for740c; sold7 for168c, leaving13; and bought those7 back for259c. The UI and server inventory, stock and coin balances agreed at every step. Sold-out stock disappeared immediately; closing and reopening preserved depletion.



A nonstackable Keg of Beer remained1/1. Insufficient funds removed the Buy action, and clicking that area changed no inventory or money. After normal camp, all20test brews and169c were removed with recoverable backups; the eight earned items were preserved.244library tests pass, as do all-target Linux and Windows compilation checks. The screenshot utility’s old merchant call was also repaired and rendered successfully. No public client or production spectator replacement.
A separate server-era defect is now tracked:113scroll definitions in North’s vendor catalogs are stackable;108belong to supported eras, and five are a later resurrection line now gated beyond Velious. The preserved September2005 official patch announcement places that feature after Velious. Twelve persistence stores were checked with no matching holdings found. The108supported-item repair passed a guarded transaction rehearsal and full rollback readback. The item metadata and shared runtime cache have not yet been changed; this needs a coordinated, verified repair—not a client-only workaround. Natural Crow death/respawn, other merchant cases and full release acceptance remain open. These partial service tests do not certify the entire merchant check.
Market route: close-wall regression repaired and visually retested
Visual inspection paused the vendor route when terrain disappeared beside the market wall. The original mesh is present and selected by visibility: its surface was only0.746units ahead, inside the candidate’s measured Titanium near clip of1.0. The previous native0.5wall clearance was incompatible with that projection.
Running original Titanium with the same character and saved position reproduced foreground clipping there. After normal movement away and back, Titanium stopped1.78units from the wall and kept it visible. The native human clearance now uses1.75in both collision stages; a separate endpoint-crossing regression was also repaired. The exact original-asset test fails before and passes after.238library tests, the previous guild-ledge fixture, original door asset test and Windows compilation check pass.
The rebuilt native client passed the live approach: it now stops at x228.375,y155.744 with the wall still covering the view. Normal movement back into the street also works. This is a camera/collision acceptance fixture—not matched lighting, every race/size hull, full city traversal or packaged-release certification.



Separately, Ania’s fresh native shop now visibly includes the restored Fish Wine among15entries. Dren’s restored mold has also passed its native stock check; Henlom and Berane have now passed too; Pelshia’s restored book has now passed too after normal cellar traversal. Full price/charisma acceptance remains open. No production spectator or public download has been replaced.

North vendor follow-up: five stock repairs and one progression gate
Fresh audit covers all25 North vendors. Reading both NPC lists and item-page vendor tables resolves the old evidence gap: all25 have explicit stock references. Gerault’s six shoes/boots are listed on the item pages even though his NPC page says None. Explicit spell aliases such as Instill/Enstill and Invisibility vs/versus Undead are resolved without inventing duplicate items.
Four missing rows are restored: Strike at Henlom, Soothe at Berane, Dual-Edged Blade Mold at Dren, and Renux’s Translations at Pelshia. Ania’s Fish Wine is ungated for Classic. Entire affected inventories passed guarded rollback rehearsal and readback; item prices and other vendors were preserved. All five repaired entries now pass inspected native display checks after an empty-North refresh.
Separately, Imbue Opal at Balhallia now unlocks with Kunark rather than Velious. Classic remains excluded; no expansion was enabled. Remaining ambiguous inventory, prices, natural restock cycles and release-package tests are still open. These extend already-tracked database repairs; they do not turn the whole merchant check green or manufacture a percentage increase.
Dren’s restored Dual-Edged Blade Mold is now visually verified on page two of his19-entry native shop. Ordinary entry and exit through Ironforge door20 also pass with the corrected human clearance. This stock-only test made no purchase and used no fixture funding. Henlom’s Strike (50c) and Berane’s Soothe (70c) have now passed native display checks. Both temple doors and the complete exterior-to-Henlom re-entry passed normally. An initially blocked straight approach ran into the door’s swing, which original Titanium reproduced; the corrected side-entry route needed no client or database change. Pelshia’s restored Renux’s Translations now passes native display at840c in her16-entry shop, with nonstack1/1 and insufficient-coin behavior intact. The quantity candidate has now passed its recorded live transactions; see the newer quantity section above. Full merchant and release acceptance remain open.



Crow live merchant test: two native defects repaired
Two complete buyouts each delivered20 brews and charged740c, with stock, inventory and money checked after every purchase. Empty-zone restart restored20 through Crow’s normal spawn script. The first test exposed a stale sold-out row: native parsing rejected the server’s16-byte removal packet. The repaired parser accepts both verified12/16-byte layouts. The rebuilt client removed the final brew immediately in the still-open shop; reopening and a fresh login correctly retained zero stock.

Crow’s broken “%T2” greeting was a second client defect. Titanium’s extracted string table and server call site establish nested string lookup using the original argument indexes. The repair now displays Crow’s message, player name and item suggestion.237 library tests pass,2 are ignored; Linux release build and Windows cross-check pass. These are isolated QA builds, not accepted public releases.

A reference-audit defect also exaggerated missing vendor evidence: ordinary wiki links were skipped. The corrected parser initially found24 direct NPC inventories. The subsequent item-page reverse audit resolves all six of Gerault’s entries, giving all25 North vendors explicit references. This is source coverage, not full historical acceptance. A further regression now keeps ordinary Club separate from the no-drop starter Club*, reducing unexplained stock entries from16 to15 without deleting inventory. Crow’s death-and-respawn restock, every vendor price/quantity case and release acceptance remain open, so this batch does not mark the whole merchant check complete.
Dependency batch: three class-era spell gates repaired
The full North completion plan assigns all29 existing checks, with server-content, encounter/service, route/presentation and actual Windows/Linux release phases. It adds no credit by itself.
A fresh dependency snapshot includes90 North scripts,151 NPC definitions including the script-only hatchling,79 loot tables,117 loot drops,1185 drop entries,823 item records and inherited NPC spell lists. Runtime eligibility is evaluated separately from structural references. Loot uses the server’s all-flags runtime filter; spawn/global-loot/spell queries use their actual SQL filter. Regression tests cover that distinction.
Three confirmed Velious spells are now gated until expansion2: Corporal Lancot’s Flame of Light1454, and Lieutenant Dagarok’s Grim Aura346/Shroud of Pain1458. Private copies preserve the original shared lists and every unrelated field. Classic/Kunark/Velious matrices, guarded rollback rehearsal and full-row readback passed. This accepts the reviewed database gates, not complete live spell behavior.
Sources: Flame of Light and the P99 class-specific NPC spell discussion. The latter conflicts with the global wiki’s Kunark label for an Enchanter’s Paralyzing Earth. An initial Umvera restriction was reversed before the next North boot; his original list is retained while that conflict remains open. Human Blood was also preserved: its reference identifies it as Classic despite a Kunark database annotation.
The script audit also found our hatchling’s original ID2160 was reserved in a disabled Omens quest. The new actor now uses2000913, checked against DB and all installed quest references. No pre-existing NPC or old quest was removed;977 encounter-script assertions still pass. Only empty North was unloaded. Queen live combat/tuning, complete loot/faction/spell acceptance and public client releases remain open.
Umvera restored to Crow’s tavern — live placement and hail passed
The official June 2012 P99 correction places Umvera Dekash in North Qeynos, not South. His existing spawn was moved to Crow’s lower room at x364, y36. Original terrain confirms floor height 0; body-center Z3.75 was retained. His original quest was copied byte-for-byte into North, preserving both hand-in branches and rewards. Script tests and guarded database readback passed.
An ordinary native-client player entered through the tavern door, walked around the bar and pillars, selected Umvera, and received his named hail response. The image below was inspected. This passes relocated presence and greeting—not exact appearance/facing, full quest prerequisites, timer or every tavern object. Both cities were unoccupied and unloaded for the migration. One obsolete South NPC cache record was backed up and removed to prevent a duplicate; no player corpses were touched.

North-only batch: full roster and beetle encounter
Open the complete roster audit: all150 referenced NPC types. After Umvera’s relocation, the fresh database pass covers193 spawn points, with125 eligible NPC types and25 blocked by the current Classic filters.107 eligible types have an NPC reference;18 unmatched names are individually classified. Disabled holiday content is separated from encounterable roster problems. Catalog coverage is not historical acceptance.
Five guarded database changes were applied together: two Klicnik worker variants corrected from levels3/4 to2 across nine spawn points; Queen Klicnik gained a dedicated Fire Beetle Spit list; and a new script-only hatchling supports her missing death encounter. The two quest scripts spawn three or four hatchlings at the actual death position, expire idle hatchlings after30seconds, and preserve engaged ones.977 script assertions, transaction rollback rehearsal and complete-row readback passed. Only empty North was unloaded; other zones and the spectator were left running.
Sources: the March2010 P99 correction and May2010 fire-proc correction. Worker levels follow the explicit patch; the wiki’s uncited2–3 range is recorded as conflicting evidence. Exact hatchling size/statistics and proc frequency remain provisional. Worker HP/damage, queen placement/timer, and the complete live encounter are not accepted. The headline percentage has not been inflated for installing unverified behavior.
The native client entered the fresh zone successfully. Its first gate traversal was interrupted by Fippy killing the ordinary level-one QA character; the normal bind return completed. This is not counted as a worker or queen acceptance result.
Follow-up: daytime restart accepted
After normal camp and an empty-North restart at07:42 game time, Leanon and Erabb returned on the correct day shift. Both accepted normal target selection and indifferent con replies. The outgoing night spawn records remained disabled; no clock or character position was edited. This is roster/condition acceptance, not certification of every NPC appearance, patrol or historical shift boundary.

Hewet’s live greeting check remains pending: his unchanged50/50 group selected Guard Liben on this boot. The new greeting was not credited as a completed live playtest, and no NPC was forced into place.
North-specific server repair: bard and guard shifts
Two spawn groups were selecting their day/night NPCs randomly at all hours. Leanon now uses the day condition and Quinon the night condition; Erabb and Dagarok likewise alternate by shift. Existing positions, patrol grids, NPC statistics and quest rewards were preserved. The documented roles come from the 2013 P99 bard correction, 2019 Dagarok correction and Erabb reference.
A North-only controller derives the active shift from the current zone clock, disables the outgoing pair first, and avoids replaying stale dated events. Tests cover every game-minute with four initial condition states, startup, invalid clocks and zone/instance isolation:46,098 assertions passed. The database migration passed a rollback rehearsal and complete-row readback. Only two cached NPC-state records were invalidated, with backups; player corpses and other zones were untouched.
Live verification: normal login at05:25 game time loaded Quinon and Dagarok. After the natural morning change, Leanon and Erabb appeared and the night pair was absent. No clock changes, teleports or forced NPC placement. The06:00/20:00 boundaries follow Qeynos guard-shift observations and the existing South configuration; applying those exact boundaries to North remains an explicit inference. A full evening cycle and interrupted-combat cases are still open.
Further North findings: the March2010 P99 patch replaced Klicnik warrior/noble spawns, but three remain in this database. Their exact replacement identities are still being researched; no guessed substitute has been deployed. Separately, Guard Hewet’s missing hail response was restored from the archived North guard dialogue; script tests pass, live greeting acceptance is pending.
Zone restoration versus shared-client repairs
Packet decoding, loot-window handling, camera projection and common rendering fixes affect the whole Rust client. Finding and testing them in North Qeynos does not make them North Qeynos-specific content changes. The ledger labels these shared-system checks and displays server/database, client and end-to-end acceptance separately. Its headline remains combined checklist coverage, not a percentage of historical accuracy; no scores were increased merely for this reporting change.
North-specific work includes its NPC roster and placement, day/night shifts, merchants, quests, factions, patrols, original local assets, doors and connections. Shared repairs do not automatically complete another zone's checks. The two confirmed bard/guard pairs are now condition-gated; exact historical North shift boundaries and the remaining roster still need verification.
Latest: North Qeynos 52% — still in progress
The complete29-check plan is published and execution continues. Three confirmed class-era spell gates now pass database acceptance; inherited spell/loot/script dependencies are inventoried. Umvera’s disputed Paralyzing Earth restriction was reversed before zone boot. Full encounters, every route and actual release-package acceptance remain open.
Full completion plan · Latest content batch · Whole-roster audit · Earlier shared-client movement fix · Current calculated checklist
The reviewed spell gates raised detailed accepted checks to36/83 and weighted coverage to52.36% (display52%). New subchecks retain the same top-level weight; no planning or unverified behavior earns credit. This headline is generated from the same data as the zone ledger. Progress measures weighted verified checks, not visual fidelity or remaining effort. Earlier sections retain historical percentages. Production spectator and public client downloads have not been replaced.
Discarded movement packets: reproduced and repaired in QA
A normal field encounter exposed an attacker whose visible location did not match its actual server location. The network receiver accepted reliable messages but discarded unsequenced application datagrams, including raw children inside bundled packets. This allowed damage and attack animations to arrive while the actor remained at a stale position.
A bounded, read-only capture confirmed actual movement traffic in both paths. Native decoding now handles their distinct compression offsets, checks checksums, preserves the reliable sequence and acknowledgment state, and supports the separate application-bundle length formats. Malformed packets and oversized decompression are bounded. All 98 datagrams in a follow-up capture passed checksum verification. Eight transport regressions also cover corrupt reliable/bundled traffic and nested length bytes.
The normal QA character walked from the guild through the streets into the field. This inspected 12-second fixed-camera recording shows actors moving across the scene after the repair. Repeated rat selections also received changing live positions. This passes the stale-position defect, not exact stride, every patrol or complete animation equivalence.
A second decoder repair replaces guessed bulk-spawn sizes with Titanium’s exact 385-byte records. Truncated records cannot partially populate the world. The combined candidate has 226 passing library tests, plus successful Linux and Windows compilation checks; fresh login and ordinary guild-to-field traversal have also passed.
The client also no longer invents periodic swings merely because auto-attack is enabled. Out-of-range requests leave the avatar idle while the server rejects the attack. The later field kill and item receipt are documented below. Coin looting, corrected corpse-window retesting, every patrol, exact animation matching and public-release acceptance remain open.
Field kill and item delivery verified; corpse UI repair in testing
The CRC and exact-spawn candidate completed a fresh login and the normal guild-to-field route. The ordinary level-one QA character killed a grass snake at04:43:33UTC after moving around a tree and facing it. Server damage/death receipts identify the player as killer, and the native experience bar and chat updated. Snake Scales were then looted with a normal click and verified in the server inventory.
Visual inspection caught a remaining bug: the item icon stayed in the corpse window after delivery. The repair now requires both a matching loot-request echo and actual inventory delivery before removing the slot. An echo alone cannot prove success because the server also echoes rejected requests. Three new regressions pass;232 library tests pass,2ignored, with Linux compilation successful. The corrected UI still needs a live rebuilt retest. Coin looting, wider combat and animation coverage, and public-release acceptance remain open.

Original star layer rebuilt and inspected live
The original client generates10,000 point stars and200 textured sprites. A bounded read-only capture verified every point position, color and color-map index exactly. Sprite texture coordinates and map indices match exactly; all800 sprite vertices are within0.000072 world units of the original floating-point result. The original atlas, day-angle rotation, source-alpha blending and six-second twinkle now render in Rust, before horizon haze.
GPU checks cover daytime/weather-map alpha, atlas modulation, foreground depth, camera translation and twinkling. The actual North/South day maps hide every star; their night/rain maps retain the authored visibility. Both live views below were inspected at the same ordinary saved character location, but camera angle, time and procedural random seed differ: these are not pixel-aligned comparisons. Clouds, sun/moon layers, final terrain illumination and public packaging remain unfinished.


Original sky and horizon rebuilt — remaining layers open
The original Titanium renderer was inspected read-only at the same North Qeynos field location. Its sky is a vertex-colored mesh; the DDS color maps also carry separate fog and horizon metadata. Native Rust now reproduces all962 original color lookups, the5583-index dome and65-vertex horizon fan. All1024 pixels of both captured sunset and night color maps match byte-for-byte. The original cloud luminance/alpha format also now decodes without losing pixels; all29 extracted sky textures load.
The horizon uses the original camera-height settings and encoded-color alpha blending before conversion into the modern linear renderer. GPU checks cover camera movement, foreground depth and27 independent sky/haze color samples. Titanium’s separate one-based sky-hour behavior is retained without changing the server or UI clock.215 library tests and Linux/Windows compilation checks pass.
Live native night rendering was inspected at the normal saved field location. These images are not pixel-aligned or taken at identical times. Stars, clouds, sun/moon sprites, weather effects, exact terrain illumination and final package acceptance remain unfinished. The original image makes the missing stars and lighting differences visible; these are not being marked complete.


Both hands restored; mirrored world avatars repaired
The same normal character stood on the North Qeynos cobbler street in both clients. Titanium places the primary club on the right and the secondary lantern on the left when viewed from behind. The native client initially omitted the secondary item, then exposed a reversed lateral character axis. The world transform now preserves heading, position and height while correcting anatomical left/right. Color and shadow face-culling also account for reflected instances.
Live normal turning/walking preserves the correction. Both props appear in the inventory preview with the same animation sample as the body.203 library tests pass; actual original character bones pass15 pose/heading projections, and the GPU suite passes reflected-instance color/shadow tests that failed before the repair. Linux and Windows compilation checks pass. Shield mounts, exact item orientation, item light, every race/outfit and final packaged releases remain unfinished.



Server audit: four more fixed-level corrections
The audit was skipping exact numeric values when a source citation followed them. The parser now retains cited numbers while rejecting ranges, uncertain values and mixed normal/triggered levels;15 regression cases pass. This does not automatically promote wiki fields into database edits.
Reviewed corrections: LuSun and Roesager Thusten61→50; Guard Gehnus and Guard Hezlan50→45. Their current P99 pages corroborate the dated snapshot. The pages’ linked historical archives could not be fetched, so independent historical-page confirmation is not claimed.
All four are scoped to North Qeynos. Expected-state guards, rollback rehearsal and complete-row readback pass; every other field is preserved. After the normal QA character crossed into South, North had zero players and was unloaded to refresh its cached NPC data. That resets North NPC/timer state; no world or other-zone restart occurred. On return, all four corrected levels were inspected in the native target UI from fresh server spawns. This is level acceptance, not close-range model or combat acceptance. Variable levels and complete combat statistics remain open.
Both South exits and the Hills round trip now pass
Normal native travel has completed both North→South→North routes and North→Qeynos Hills→North. The eastern South route held stationary at South(-80,586) and North(356,-26). The Hills route loaded the correct terrain and NPCs, then two stationary receipts matched at(69.25,-220), settled feet-7.844. After walking back through the original boundary, two North receipts matched at(72.375,1395), feet0. No movement input was carried through loading.
The original Hills attempt was interrupted by Fippy and exposed a same-zone respawn defect. That was repaired and tested before this successful repeat. Guild ramps, street corners, gate and field were traversed using normal movement; blocked views were inspected. No collision bypass, GM travel or database position edits were used. Sewers and original local teleports remain open; this is travel acceptance, not complete zone rendering or gameplay acceptance.
Live repair: combat, death return and empty-corpse recovery
Three concrete protocol defects repaired: auto-attack now sends the required four-byte packet; keyboard targeting completes the server-approved target exchange; death return now performs the full zone handshake even when the bind point is in the same zone. Stale target echoes, duplicate bind packets, rejection and timeout have regressions.207 library tests pass; Linux and Windows compile checks pass.
Actual native test: normal target/attack on LuSun caused server-resolved death. Return was approved and loaded a fresh27HP profile, seven inventory items and a new player spawn. Two stationary bind receipts matched; normal movement resumed only on new input. The old corpse stayed separate, Tab selected it, looting opened its empty window, and Done removed that corpse from the server. Inventory remained unchanged under low-level death rules.
This passes the reproduced same-zone-return defect and low-level empty-corpse fixture, not all combat/recovery cases. NPC kill/item/coin loot, experience loss, equipped-corpse recovery, resurrection and final release-package acceptance remain open. Production spectator and public downloads have not been replaced.
Western South exit: round trip and input reset passed
The first real round trip exposed a held-key bug: releasing movement during loading was ignored, so the character kept walking after arrival. Zone transitions now clear held movement and pointer state, and loading blocks movement in both event handling and physics.
The repeated normal-player trip arrived in South at game(-442,464) and back in North at(-5,-151). North remained at that position on a later fresh location receipt with no movement input in between. Movement resumed only after a new keypress. No GM transport, collision bypass or position edits were used. The other South exit, Hills boundary, sewers and same-zone teleports remain open.

Original monk tunic: black tint defect repaired
The same normal character in Titanium shows the original monk chest texture. The native client instead interpreted the item's default0xff000000 color as a black dye. ZeroRGB now means no tint; actual nonzero dyes, including very dark colors, are preserved.
The repaired texture is visible in the native world and inventory. This verifies the reproduced chest-tint defect, not all player outfits or NPC appearances. Titanium also exposed a missing secondary lantern; that rendering repair is under test. Shield mounts, held-item orientation, preview props and light effects remain open.


Original departure regions: unwanted city reload fixed
A normal-player walk near(-114,-39) reproduced two unwanted North Qeynos reloads. The native client had treated the server’s arrival coordinates as40-unit departure circles. Local server source confirms that this packet contains target coordinates, not where the player should leave the current zone.
The original exported BSP already records departure volumes and their reference numbers. The client now queries the player’s actual region and resolves its destination by reference number. Regression coverage checks normal temple streets, vertical separation at sewer locations, both South exits and the actual Hills boundary. That original boundary is128units beyond the old database-based trigger.194 library tests, the original-asset regression and Linux/Windows compile checks pass.
The corrected Linux QA build crossed the previously failing location and reached the Temple of Life without a reload. This accepts the reproduced defect repair, not every boundary: live round trips, sewer travel, local same-zone teleports and packaged release acceptance remain open. Same-zone teleport regions currently report unsupported instead of issuing reload requests. Native trade-end handling also now clears stale offered-item slots without manufacturing local refunds.

North Qeynos: live Prayer Beads recharge passed
Source correction: P99’s official May7,2021 patch restored Tyokan to Priests of Life, superseding the older November2020 Knights of Thunder change used earlier in this audit. Isolated faction group1481 now uses primary341. Guarded correction, rollback rehearsal, readback and fresh empty-zone boot passed. The normal QA character received an amiable con and completed the hand-in. Other merchants and the old shared group remain untouched; kill-adjustment and assistance values remain open.
Live native acceptance: exhausted Prayer Beads were handed in first. Tyokan requested100gold; a separate exact100gold trade then consumed the payment and returned item13296 with exactly1charge. Independent server inventory/currency and both hand-in records matched. Reopening trade showed empty offers with the reward still on the cursor. Temporary QA reward and faction standing were removed after normal camp; earned gear/factions were preserved and backed-up cleanup is reversible.

The installed script requires amiable for hand-ins and permits scroll-strongbox dialogue at indifferent.46 regression assertions pass. Earlier live cancellation also passed with Whysia:100gold offered and fully refunded, with the reopened UI matching the server. Native trade-end cleanup and original departure-region repairs have194 passing library tests; Linux and Windows compile checks pass.
Only empty North Qeynos was unloaded to refresh cached faction data. No world restart or other-zone reload occurred. Tyokan/Whysia still spawn randomly rather than by day/night; that is an explicit open defect. Other live quest branches, failed-hand-in scenarios and city-wide faction acceptance remain open.
Item9979’s documented candle name/lore, icon, secondary slot and light value are restored in the database. Held model, runtime item cache, race/deity grants, backpack/bandages and fresh-character acceptance remain open. No existing player inventories were stripped.
North Qeynos: live weather and guild exit
The native client previously accepted the12-byte entry weather packet but ignored the server’s8-byte live updates. Both layouts now decode rain, snow and clearing correctly. The HUD’s fixed “Highsun / Clear” text is replaced by server time and weather; the1-based wire clock is normalized to the server’s displayed hour.
190 library tests passed,2 ignored; Linux all-target and Windows compile checks passed. A rebuilt isolated Linux client received live rain with intensity5 and displayed23:30 / RAIN. This accepts packet decoding and status display, not rain particles, exact night lighting or every environmental condition.

Normal keyboard traversal climbed the original courtyard ramp, opened doors27 and24, crossed the upper guild and reached the city side. No terrain was removed. The front approach included a brief platform-edge fall before rejoining lower steps, so a complete uninterrupted stair-flight test and all-city traversal remain open.

Applied and checked
A guarded database transaction changed 202 rows. The complete transaction was rehearsed with rollback, then applied and every changed row read back. A before-state backup and reverse migration are retained.
- Restored 69 missing merchant stock entries and unlocked Fish Wine at 10 city vendors.
- Gated 94 later stock entries beyond Velious and one Kunark quest item to Kunark.
- Separated two shared merchant inventories before editing, preserving vendors in Rivervale and Firiona Vie.
- Corrected Crow’s respawn from 10:40 to 6:40; corrected Seta Bakindo’s level from 61 to 42.
- Follow-up: Crow’s brew now uses finite temporary stock in Classic–Velious. On a live North Qeynos boot, the quest initialized exactly 20 bottles; the unlimited permanent row is gated out. Purchase depletion and full respawn restocking still need live acceptance.
- Retained Rolon Banari as Classic; restricted Velarte Selire’s later badge quest spawn to Velious.
- Added expansion guards in six city quest scripts. 79 Lua assertions passed, covering Classic, Kunark, Velious and retained later branches. Classic guild notes, bard reports, Crow’s hand-in and Aegis of Life remain available.
Kunark and Velious remain locked. No global item prices, player characters or Qeynos Hills content were altered by this database repair.
Normal-player client check
A separate QA session found that the Rust client omitted class starting-stat bonuses and used the wrong Titanium starting-city choice. Character creation was rejected by the server without a useful error.
The native source now includes class-specific stat allocation, Qeynos city selection for Human/Half Elf, and a name-approval handshake with explicit rejection messages. Library verification: 166 tests passed, 2 ignored. Live server validation reported zero creation errors; the new Human Warrior entered South Qeynos at the guild.
Ebon Strongbear’s greeting and guild-note hand-in passed through the actual native UI: Recruitment Flyer consumed, tunic 13504 received, and experience awarded. The screenshot was visually inspected; inventory changes were checked in the database. This is one accepted quest path, not acceptance of every quest or interior. These changes have not replaced the public download or spectator binary.

North Qeynos: client repair, not just database work
Human Monk creation and the North Qeynos guild start passed. A live screenshot then exposed an almost-black interior. Fog and ambient-occlusion toggles did not fix it; disabling post-processing revealed the geometry. The contrast curve was clipping low-light colors to black.
The rebuilt shader preserves dim detail without a hard black cutoff. The room is now visible with fog, shadows, ambient occlusion and post-processing enabled. Latest full client suite: 167 passed, 2 ignored. This resolves the reproduced black-crush defect; it does not establish exact historical lighting or certify all interiors.

Permanent Velious ceiling
Classic is active. Kunark and Velious remain available for deliberate later progression; nothing after Velious is an intended unlock. Six later zones mislabeled as expansion 0—Jaggedpine, Nedaria, revamped Plane of Hate, Shadowrest and both tutorials—now have explicit normal-player access locks. All three progression stages preserve those locks. The original Plane of Hate is not the excluded revamped zone.
Seven guarded database changes were rehearsed with rollback and read back: six zone gates and the stale welcome message. The progression tool and baseline have backups; 22 regression tests pass. No records or characters were deleted. These gates do not certify that every later item or quest has been removed.
North guild hand-in verified
LuSun’s Note with Fist Insignia hand-in passed through the actual native client. Note 18712 was consumed, Torn Cloth Tunic 13507 arrived on the cursor, and experience was awarded. The screenshot was inspected and inventory read back from the server.

Native creation now follows the era
The client was discarding Titanium’s server expansion packet. It now reads that mask, defaults safely to Classic, and caps supported creation at Velious. Vah Shir and Beastlord are no longer offered; Iksar requires the actual Kunark bit. Packet-level guards reject unavailable choices too.
The Linux build passed 171 library tests (2 ignored), all-target compilation and live character-screen checks against the Classic server. Backward/forward selection wraps through 12 Classic races and 14 supported classes. Missing selector arrows and an invisible password mask were repaired and visually rechecked. The create button now accurately says “Create Character”; entering afterward remains a separate action. This QA build has not replaced public downloads or the spectator binary. Full race/class/deity combinations and starting-stat choices remain open.

Merchant client: live buy and sell passed
The merchant hotkey previously opened an empty window without requesting stock. The native client now waits for the server to accept the merchant session, displays its stock, supports selling, pages beyond the old 16-item limit, and processes transaction receipts and limited-stock removal packets. NO DROP items, filled bags and purchases without enough money are guarded.
A separate normal-permission QA character used an explicitly allocated 100-copper test fixture. It bought one shuriken from Shenro for 12 copper and sold it back for 8. The item appeared and disappeared correctly; displayed balances of 88 and 96 copper matched the database. Escape/reopening and the insufficient-funds warning passed. This proves that exchange, not every merchant price or restock cycle.

The test also reproduced Enter restarting login during zone loading. Loading-state input is now guarded; the live retest entered North Qeynos without a second login. Latest library suite: 177 passed, 2 ignored. These native changes remain in the QA build, not the public download or production spectator.
Starter food and drink repaired
New-character Bread Cakes* and Skin of Milk quantities are now five each, matching the explicit P99 starter-inventory references. The two guarded database changes were rehearsed with rollback and read back after commit. Existing characters retained their inventory. A fresh-character end-to-end readback and the remaining starter kit are still pending.
Original doors: rendering and interaction now connected
The native QA client now places the original exported door models from server packets, preserving their hinges, headings and scale. Rendering, player collision and chase-camera collision follow the moving geometry. North Qeynos loaded its door scene without missing-asset warnings.
A normal player was stopped by the closed monk-guild door, opened it through the server, and walked through. Mouse clicking and local closing were then tested visually. A low-frame-rate timer issue was found and repaired: door timing now uses real elapsed time. No terrain was removed or changed to create a passage.

Still open: exact original lighting and animation timing, every other door and interactive object, lifts and rotating actors, and final package acceptance. Door models are now included in the shared Windows/Linux packaging path. Latest library suite: 179 passed, 2 ignored; original-door geometry/collision integration passed. These remain QA-build changes, not a public release or a 100% city sign-off.
Titanium comparison: two lighting defects repaired
The original Titanium client now runs in a separate reference session. Comparing the same North Qeynos guild doorway exposed two concrete defects: modern sun shadows were incorrectly darkening ambient and local-light illumination, and the staged door models came from an obsolete export with inward-facing side normals.
The Classic world and character shaders now preserve indirect illumination under a sun blocker. An explicit GPU regression failed before the change and passed afterward. The two cities’ object archives were freshly extracted from the original Titanium media using the corrected exporter. A broader audit then caught three missing South Qeynos lamp-animation frames; those are restored too. The current 69-file manifest has source hashes and rollback records. All 18 staged models, 32 materials and 33 texture dependencies pass the audit. The South lamp still needs an in-game animation check.
An outward-normal regression fails against the old door export and passes against the new one. Door collision and interaction tests also pass.


Still open: calibrated camera framing and lighting, other doors/objects and full city acceptance. Broad checklist percentages are unchanged.
Door timing: original and native recordings
Two original-client recordings at 30 and 60 capture frames per second agree: the ordinary type-0 guild door swings in about 0.8 seconds, holds fully open for 10 seconds, then closes in about 0.8 seconds. The native provisional half-second swing/five-second return has been replaced for this tested type. The hold starts after the opening finishes.
Frame-partition tests cover 10/30/60/144 Hz, delayed frames, inverted doors and invalid elapsed time. Latest library suite: 182 passed, 2 ignored. The original-door asset/collision test passes; the Linux QA release was built and visually checked. Other door types and exact per-frame easing remain unverified.
Progress tracker corrected
The old whole-check-only calculation stayed at North31% and South24% despite the completed repairs above. The ledger now shows verified subchecks inside open categories while retaining each top-level category’s weight. North is42% (17/40 detailed subchecks verified); South is31% (9/28). This recognizes already-performed work, not a sudden new zone certification. Every remaining subcheck stays visible, and North’s live tests are not credited as South playtests.
North Qeynos: five more level corrections and a later-event guard
Follow-up database repairs: Tyokan Mekase25→30; Hanns Krieghor61→50; Phin Esrinap61→60; Djerr Darkpaw3→4; Rodcet Nife’s Koalindl55→50. The P99 level table corroborates these levels. NPCs were checked for shared spawns before editing. Other combat fields were not guessed from incomplete references.
The later rogue-epic controller now has an Omens spawn gate and its own spawn/signal/timer guards, matching the existing quest callers. Six database rows were rehearsed with rollback, committed and read back; full before-state and reverse SQL are retained. The new controller regression fails against the previous script and passes 62 assertions against the fix; the existing 79 city quest assertions still pass. A North-only quest reload was acknowledged. Correction to the earlier note: this server’s hot-reload setting also repopulates North’s NPCs and resets quest timers. No world restart or other-zone repop was requested; the production spectator was not replaced.
These extend the existing reviewed-level and era-guard checks, so that database batch alone left North at 42% without duplicate credit. The additional movement checks below bring it to 43%. Individual live NPC statistics, full combat behavior and remaining city acceptance are still open.
North Qeynos: live movement and close-wall repairs
At the QA renderer’s 6–8 FPS, the old movement timer discarded elapsed time. The corrected client advances in small collision-checked steps: walking and turning rates match at 5, 7, 10, 30, 60 and 144 FPS. Long stalls are bounded to prevent catch-up jumps. A normal player passed through the server-opened guild door in both directions and continued into the courtyard.
That walk-through exposed a second defect: point-only collision let the camera’s near plane cut through a wall, showing the underside/outside of the city. The original geometry was present. A small wall clearance now blocks that approach, handles shared endpoints, and still lets a player move out of an overlap caused by a closing door. The exact original-ledged-wall regression fails before the fix and passes afterward at six frame rates.


Verification: 186 library tests passed, 2 skipped; the original-door asset test and exact North wall regression passed separately. Another 96 original camera/wall queries matched full-mesh reference scans. Linux all-target and Windows cross-compilation checks passed. The rebuilt Linux QA client was visually inspected; the spectator and public downloads were not replaced.
North’s checklist now includes these two accepted movement subchecks. Exact Titanium race-specific body dimensions, all stairs/slopes/routes, complete gameplay and packaged Windows/Linux acceptance remain open. See the current calculated progress and remaining checks.
North: measured original camera framing
The original Titanium executable was run in North Qeynos on the isolated QA display. Graphics-only capture confirmed a fixed horizontal projection scale of 1.62289751 (about 63.281° horizontal field of view). Three real viewport tests—1280×720, 960×720 and 1280×600—changed the vertical scale to 2.88515115, 2.16386318 and 3.46218109 respectively. The actual world shader confirms the same projection; this is not a guessed screenshot zoom.
The Rust world camera now reproduces that horizontal framing by default. The Camera options expose “Original Titanium Framing”; changing Custom Vertical FOV deliberately switches to the custom view. Both modes are persisted and tested. The rebuilt Linux QA client and visible options were inspected in North. 189 library tests passed, two skipped; Linux all-target and Windows compilation checks passed.
This accepts projection framing only. Original eye height, pitch, near/far clipping, lighting and all camera/body collisions remain open. The measured framing does not certify a pixel-identical scene, and the production spectator/public downloads remain unchanged.
Complete source export cross-check
A fresh export from the installed Titanium terrain/object archives matches the installed North export: 2,449 nodes, 2,448 meshes, 233 materials, 241 texture files, the placed-object animation, and all eight visibility/lighting/ambience metadata files. Comparison covers the entire glTF structure and actual dependency hashes, not counts alone. The wider North zone/door dependency audit reports zero errors across 48 model files.
This strengthens the existing asset evidence without counting it twice. Export reproducibility does not establish that every original rendering behavior is implemented. Complete routes, appearances, environment and actual release-package acceptance are still required.
Still open — not credited as complete
- Complete normal-player travel, guild hand-ins, buying/selling, combat, loot, death and recovery in both cities.
- Global starter-item rules give a fresh Qeynos character a Gloomingdeep Lantern, backpack and 20 bandages. Item 9979 historically was A Worn Candle: it needs historical version restoration, not removal based only on its modern name. Only food/drink quantities have been repaired; the full starter kit remains unaccepted.
- Merchant prices, limited stock and restocking. Caleah’s reagent prices differ; Crow’s finite-stock initialization passes but the full purchase/restock cycle remains open. The initial33-reference gap was a parser defect; North now has explicit NPC/item-page references for all25vendors. Fifteen active North entries and Rendallen’s Halberd era gate still need resolution.
- Full NPC statistics, faction behavior, patrols, rare chances and individual respawn timers.
- Global and NPC-specific loot distribution. Human/Elven Blood are Classic; misleading database labels were not used to remove them.
- Boat route acceptance, all doors and zone boundaries, every interior and live movement/animation checks.
- Remaining quest branches and expansion-era evidence. Successful script tests are not a substitute for in-game hand-ins.
- The login server’s world-list title and cached in-world welcome still contain an old “Kunark” label. Active rules, client creation flags and the database MOTD are Classic; a fresh login exposed the stale runtime welcome. Both display labels need a safe refresh without interrupting players.
Broad checklist percentages remain unchanged until the corresponding complete checks pass. Fixing one merchant or one NPC does not certify every merchant or NPC in a zone.
Reference trail
Item/NPC comparisons use the dated April 12, 2026 P99 wiki snapshot, corroborated where available by current pages and dated tradeskill discussions. Wiki labels alone do not prove every stat or historical timeline.
- Crow: respawn and limited stock
- Seta Bakindo and corroborating level table
- Fish Wine, Pelshia, Nerissa, Caleah
- Qeynos badge quest timeline, Rolon Banari
- P99 developer confirmation of original starter candles; the thread includes launch-period references and the later item rename.
- Bread Cakes* and Skin of Milk: explicit starting quantities of five each in the dated reference.