Skip to content

History / Server core design

Revisions

  • Split the host, command layer and harness the same way - Host lifecycle, Command layer dispatcher, Harness server and Harness scenarios carry the facts, checked against bootstrap c3409ba - Each system page keeps the shape, how its parts hook together, and why, with the rejected ideas for what's built - Each design page keeps only what isn't built: the maps' start and stop order, roles and front ends, stepped maps and world scenarios

    @rebaserHEAD rebaserHEAD committed Oct 18, 2026
  • Give the codec its system pages and supersede its design - Codec explains how declarations, the generator, the registries and the facts check fit together, why, and what was rejected - Codec declarations, Codec layout tree and Codec facts check carry the facts to look up, checked against bootstrap c3409ba - Codec design keeps the decisions and the history of how the codec was built, its count history now a table of runs - Home, the sidebar and every link to a moved section point at them

    @rebaserHEAD rebaserHEAD committed Oct 18, 2026
  • Design the map side from the approved Stage 2a plan - Map scheduler design and Timer wheel design, moved out of Server core design with the plan's rulings - Owners design gains the map owners, the hand back and the second login; Gateway design locks tagged routing - Harness design gains stepped maps and the world scenarios - The handling gate by verified members (decided 2026-10-18) on Message audit design, Gateway design and Roadmap

    @rebaserHEAD rebaserHEAD committed Oct 18, 2026
  • Document step 3's first stage as built, at bootstrap e8da4aa The real client logs in through our own server and creates a character. Host, Gateway, Owners, Persistence, Command layer and Harness each get an explanation page checked against the merged code, and Running a server is the guide to running it. The six design pages say their first stage is built and stay the direction for the rest. Repository layout, Running the tests, Roadmap, Client protocol and Server core design catch up; Home groups pages by area now the wiki is past twenty. Counts from run 39083384598: 718 tests in 13 applications.

    @rebaserHEAD rebaserHEAD committed Oct 18, 2026
  • Route the overview diagram by opcode rows The gateway's arrows name the opcode table's rows, not the client's tags, and the account owner's P8 and P5/P9 links to the realm and maps show.

    @rebaserHEAD rebaserHEAD committed Oct 17, 2026
  • Record the user's calls on tiers, starting zones and two protocols Distance tiers set their own offsets, since the client plays each entity's keys at their own timestamps, and a tier change must reset the entity's time. The four classic starting zones stay one shared map each; copies of 20 are rejected. P8 and P9 carry account-wide friends and presence to the realm, and account grants to the map holding the character.

    @rebaserHEAD rebaserHEAD committed Oct 17, 2026
  • Document the movement messages at bootstrap 1b7e100 Taking control, ending it and the zone change are verified to their fields, and the movement messages to their purpose. Client protocol walks the receipt, the zone change and movement after a grant; MovementInterval is the period of the client's movement timer, not how often it sends. 0x0635 is client to server only. Counts from run 39057431917: 51 read to fields, 1,068 unverified.

    @rebaserHEAD rebaserHEAD committed Oct 17, 2026
  • Record the client facts checked again for the map side Server core design marks four client facts as re-checked to two readings, labels the movement correction recipe as inferred, and says the client keeps an interval set in one world until the next world's WorldSettings. Owners design no longer claims seven protocols cover every flow: two rare ones, account to realm and account to map, are open. Roadmap's 0x025E row says its lists can start empty.

    @rebaserHEAD rebaserHEAD committed Oct 17, 2026
  • Name the core's pattern and open three design questions In short now says the owners are hand-built actors around a game loop and entities are composed from components, not an ECS. Open questions gain visibility beyond distance (stealth, phasing), instance lockouts, and world sockets for dynamic events.

    @rebaserHEAD rebaserHEAD committed Oct 17, 2026
  • Document TaggedMessage and correct which messages travel tagged 0x038C is TaggedMessage, verified to its fields: one message under a tag fixed by its opcode. The client sends tagged messages before the world as well as in it, and sends others on their own, so pregame isn't untagged as the pages said. What each tag stands for is our reading, not yet verified. Counts from run 39006780626: 48 read to fields, 1,071 unverified.

    @rebaserHEAD rebaserHEAD committed Oct 17, 2026
  • Correct the player's own data and the movement interval 0x025E is never a stub: most of the client's interface waits for it, and it's the only way items, abilities, currencies and experience arrive. The interval in WorldSettings sets how often the client sends its own movement; whether it plays out others at it is now an open question. Roadmap names the audit's path to milestone one and the account messages character select may need.

    @rebaserHEAD rebaserHEAD committed Oct 17, 2026
  • Move step 3's first systems onto design pages of their own Step 3's first stage is approved and being built, so the host, gateway, owners, persistence, command layer and harness get their own design pages, moved off Server core design with their knobs and rejected ideas, and filled in from the stage's plan. The map scheduler and timer wheel stay until the map side is planned. Home, the sidebar and Roadmap's step 3 point at them.

    @rebaserHEAD rebaserHEAD committed Oct 17, 2026
  • Call another project a game server, not an emulator

    @rebaserHEAD rebaserHEAD committed Oct 16, 2026
  • Name messages by opcode after the neutral rename No old message name exists in the code since bootstrap 86b7f28, so pages name each message by its opcode and describe it only where what it does is established: milestone one's table, the crowd-control pair, the codec's example and errata, the facts check's table, the irregular shapes. House style states the rule. Re-verified against 86b7f28, run 38851638578, 215 of 215.

    @rebaserHEAD rebaserHEAD committed Oct 16, 2026
  • Add the message audit's design A published design page for checking every message against the client before more feature work: the five rungs, the Verified attribute and its shrinking-list test, the use gate at dispatch, neutral names, the full-layout tree check, feature areas, the generated protocol reference, and the order of the work. Linked from Home, the sidebar, Codec-design, Roadmap and the systems table.

    @rebaserHEAD rebaserHEAD committed Oct 16, 2026
  • Re-verify against bootstrap c5b0774 after the old code's deletion The converter, the equivalence harness, the frozen copy of the old models and the old packet layer are gone; the facts check is the proof that remains (run 38847142696, 215 of 215; 873 of 927 agree, 55 pinned). Codec-design compresses the conversion and its proof into a past-tense record, gives the facts check and the irregular shapes sections of their own, and lists what was retired. Repository-layout, Code-standard and Roadmap lose the deleted projects, suppressions and counts; Server-core-design stops listing the converter as a tool.

    @rebaserHEAD rebaserHEAD committed Oct 16, 2026
  • Set the documentation format for building out the core Documentation-standards gains a system's page set (design, explanation hub, references, guides), generated reference for the code's registries, a Where the code lives table on every page with a ref badge and none on index pages, a path-based re-verify check, Home by area past twenty pages, and the three kinds of reader. Server-core-design gains the systems table that points at each system's current page. House style names messages with their opcode beside them. Home drops its ref badge; Running-the-tests, Codec-design and Roadmap gain their code tables.

    @rebaserHEAD rebaserHEAD committed Oct 16, 2026
  • Bring the core design up to one world, the gateway and public hosting Server-core-design takes the new names (message queue, gateway, write-behind queue, AOI, conflation, handoff, TCC), one world with no layering, routing by an opcode table with priorities, rate limits and kill switches, the realm as modules, pooled and dedicated map threads, tick and update interval per instance type, sleeping cells, AOI tiers, the gateway's login exchange, the hardened client ports, the two unsent-bytes limits, the write-behind sequencer and load workers, the private pack, the portal's recovery and source link, and a Hosting section. Roadmap drops public hosting from out of scope and states one world and public hosting as goals.

    @rebaserHEAD rebaserHEAD committed Oct 16, 2026
  • Add the codec design and link it from the core design and roadmap - Record the declaration format, the generator's diagnostics, the client-facts table, the converter and the equivalence-first rule, at discussion until step 2's plan is agreed. - List what's still open: overwide values, signed fields, unnamed opcodes, and the opcode errata.

    @rebaserHEAD rebaserHEAD committed Oct 15, 2026
  • Add the server core design and the roadmap - Record the approved design: owners by routing tag, declared messages, persistence, authority, content, the console and verification, with what was rejected and why. - Set out the six build steps, milestone one's messages, and where step 1 stands.

    @rebaserHEAD rebaserHEAD committed Oct 15, 2026