Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/module-durable.yml
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ jobs:
cargo test -p lyracore-gateway --test startup_relays -- --ignored --test-threads=1
cargo test -p lyracore-gateway --test notification_events -- --ignored --test-threads=1
cargo test -p lyracore-gateway --bin lyracore-gateway stdb::reads::indexed_durable_tests -- --ignored --test-threads=1
cargo test -p lyracore-gateway --bin lyracore-gateway stdb::subscription_scope_durable_tests -- --ignored --test-threads=1
cargo test -p lyracore-gateway --bin lyracore-gateway stdb::world_view::item_durable_tests::live_worn_item_insert_enchant_and_delete_reach_a_nearby_peer -- --ignored --exact

- name: Run Benilla against private Module instances
Expand Down
15 changes: 9 additions & 6 deletions docs/architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -477,12 +477,15 @@ verbs go through the module's operator-gated `gw_*` surface with the actor named
per-player connection exists anywhere (#483; the account's "bound identity" is now the derived
`synthetic_owner_identity`, minted by no connection and presented by no client).

A coordinator connection subscribes a base list of literal `SELECT * FROM <table>` queries, plus
the sharded tables when more than one database is configured (`coordinator_queries` in
`connection.rs`). The sharded tables are conditional
because **a subscription to a table the deployed module does not have fails to apply**, which would
fail the whole gateway — so a gateway restarted before a module republish must not ask for the
sharded tables.
A Coordinator subscribes literal table queries and the Relay table declarations in
`gateway/src/stdb/connection.rs`. Multi-database configurations also subscribe the Shard control
tables. A dedicated Realm-core connection omits 30 world catalogues, including creatures, spells,
quests and taxi routes. It retains item catalogues needed by Mail and auctions, faction relationships,
and every dynamic, control and Relay table. If Realm-core also hosts a configured World Shard, it
keeps the full query set. Idle World Shards keep their subscriptions. Reconnect preserves the role.

Publish a Module that contains the required tables before starting this Gateway. An unknown table
causes subscription setup to fail; it does not produce an empty optional cache.

### 5.2 Area of interest — default on

Expand Down
Loading
Loading