Merge pull request 'docs(readme): the engagement system, protocol 5, and module-uo v1.1.0' (#5) from docs/engagement-and-protocol-5 into main
Reviewed-on: #5
This commit is contained in:
14
README.md
14
README.md
@@ -71,6 +71,14 @@ Three layers, and the shape is the same for any game:
|
||||
- Players **link** a game account to a website account with a one-time in-game code, which
|
||||
is what authorizes character reads. Staff can push town-crier messages and control
|
||||
commands back into the game.
|
||||
- **The site talks to its players, and an operator decides when.** Anything notable — in the
|
||||
platform or in the game — can be declared as a **trigger**; an operator writes rules against
|
||||
triggers in the admin panel and picks who is told and on which channel: **email** through any SMTP
|
||||
provider, an **on-site inbox**, or a **push** to the Android app. Bodies are editable templates
|
||||
with a live preview, every rule a module ships arrives **switched off**, and each trigger declares
|
||||
the widest audience a rule may ever be given — so a sensitive game event cannot be mailed to
|
||||
everyone by a misconfiguration. A module brings its own triggers: for Ultima Online that is
|
||||
a house about to collapse, a vendor running out of gold, a champion spawn, a new governor.
|
||||
- **Accounts are hardened out of the box** — TOTP two-factor with trusted devices, optional
|
||||
SSO (Google / Discord / any OIDC provider, link-only: an external identity must already
|
||||
belong to an account), bot scoring with automatic IP bans, and rate limiting.
|
||||
@@ -134,11 +142,11 @@ Ultima Online that manifest is `module-uo-<version>.json` from the
|
||||
[Module-uo releases](https://gitea.whitlocktech.com/RunicGateway/Module-uo/releases):
|
||||
|
||||
```
|
||||
https://gitea.whitlocktech.com/RunicGateway/Module-uo/releases/download/v1.0.1/module-uo-1.0.1.json
|
||||
https://gitea.whitlocktech.com/RunicGateway/Module-uo/releases/download/v1.1.0/module-uo-1.1.0.json
|
||||
```
|
||||
|
||||
A compose-managed host can declare the set instead of clicking, with
|
||||
`MODULES=uo@1.0.1=<that URL>` — resolution at container start is idempotent and offline-safe,
|
||||
`MODULES=uo@1.1.0=<that URL>` — resolution at container start is idempotent and offline-safe,
|
||||
so a restart with the network down brings the site up exactly as it was.
|
||||
|
||||
> **The module system shipped on 2026-08-12** and this is now simply how the site works — a
|
||||
@@ -176,7 +184,7 @@ unprivileged account, and finishes by printing the four values to paste into **A
|
||||
```
|
||||
Base URL http://<shard-host>:8080
|
||||
WebSocket URL ws://<shard-host>:8080/ws
|
||||
Protocol version 4
|
||||
Protocol version 5
|
||||
Auth token 4f9c…
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user