Files
Viano-Core/doc/clientless/group-departure-and-instance-modes.md
T

4.5 KiB
Raw Blame History

Planned instance modes and full-group departure

Instance destinations now use native Cataclysm LFG level bands per map and supported difficulty, rather than the area level around the exterior entrance. Dungeons allow at most five levels above the native recommended maximum; raids only require the native minimum. Normal Shadowfang's obsolete84–85 beta LFG row must not widen its normal16–26 band. Native access requirements can tighten bands. Unknown dungeon bands are excluded from automatic selection.

The location catalog exposes logical variants of the same physical entrance: base key for normal dungeon / preferred normal raid mode, _dN for other native modes. BaseKey retains the actual recorded worldpoint and instance mapping. Both persistent day slots and visit records already store these logical keys, so selected normal/heroic difficulty survives logout without extra day columns. Only native modes with nonzero capacity are selectable; zero-capacity placeholder entries do not manufacture heroic versions of classic raids. Dungeon groups have five slots;10-player raids ten and larger raids at most twenty, as requested. Recruitment names include normal/heroic and native size. Bot leaders set the mode through the native session handler; human leaders retain control of difficulty.

A full group means actual joined members, not pending invitations. Each forming bot snapshots the recruiting leader's next intent/location. The gather deadline is the earlier of now+300s, the original formation-hour end and an already armed leader's deadline. Full14:20 departs14:25; full14:57 still departs15:00. Existing safe micro completion, return to meeting point and travel/combat safeguards apply. A vacancy or kick does not revert an already copied current slot. The original next vcore_adventure_day row remains untouched. A detached bot resumes that original next slot at its boundary; an ongoing group continues following its leader. The copy retains the next activity's planned end for a continuous visit.

World migration 2026_10_29_08_adventure_group_handoff.sql stores the temporary copy and deadlines. Arming requires a successful transaction; missing storage fails closed. Login restores the copy; expiry and temporary-character deletion clean it up. Explicit console intent/schedule/stop commands cancel the copy. Player-led groups are supported and retain the formation AFK exemption. The early transition has a one-time intent-change leave exemption, including human leaders.

Release state

Source/build only. User is recording routes: no install, migration application, or restart is authorized in this step. Apply migration08 before the new binary and loader run. In-game normal/heroic entry, gathering and departure still require acceptance testing after deployment.

During the initial -j10 build, VM memory exhaustion caused Linux to kill the existing worldserver362937 at2026-10-29 23:36:38 CET. This was not a requested shutdown or an application crash. Kernel evidence is preserved in this step's checkpoint. The user was informed; no restart was attempted under the recording hold. The final resumption build used temporary reduced parallelism and succeeded. The user explicitly requires future builds with -j10 even after crashes; the temporary reduction must not be treated as a standing policy.

On Oct30 resumption an externally started worldserver371982 was found running (startOct29 23:57:44). Agent left it untouched. The last source correction is rebuilt with -j1 to limit memory while it runs. Installed binary remains unchanged.

Final build succeeded Oct30 01:45:11. All67 AdventureBot tests passed; the last intent-state, departure and native-DBC tests were rechecked after the final change. No installation, migration application or restart was performed.

Observation regression: preserve travel fallbacks

The Oct30 live group test exposed that an active early-departure snapshot was being reapplied on every maintenance tick after a failed journey. It overrode the normal fallback and repeatedly regenerated the original instance plan. Fix: apply the copied slot while still in formation; after transition, effective WantedIntent/WantedLocation own navigation. Group plans and followers inherit that effective fallback, and a kick retains it. The logical schedule signature and original next day slot remain unchanged. Added regression executes repeated maintenance, fallback inheritance and leaving the group. Departure, group-plan and intent-state tests pass; complete -j10 build passes.