feat(bridge): protocol 12 — BetterChat and popups (phase 17)
- titles.set: a whole set of chat titles, swapped in by reference and read by a BetterChat third-party title getter (one lookup, no socket). The getter is registered at load and again whenever BetterChat loads. - perm.sync: a group may carry its BetterChat style. Each field is written through API_SetGroupField only when the game still holds what the site last pushed (or BetterChat's default); anything else is reported as drift. One `chat group set` per touched group saves it, because the API never does (D143). A retired style removes the group with `chat group remove` (D139). The report gains `chat`. - chat.say: delivery chat|popup and an optional voice format. A popup with PopupNotifications absent is refused `popup-unavailable`. Every line said is logged, since the game logs neither a broadcast nor a popup. - server.hello/status carry `integrations`; `rg.titles [steamId]` prints what BetterChat would render for a player. - overlay.toml: protocol 12; PopupNotifications leaves requires_plugins (D141). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
This commit is contained in:
15
overlay.toml
15
overlay.toml
@@ -26,12 +26,13 @@
|
||||
# the same change that alters the emitters, exactly as the sidecar bumps
|
||||
# PROTOCOL_VERSION and the module bumps its own constant.
|
||||
#
|
||||
# Current: 10 — the transport, the read path, identity, the permission mirror,
|
||||
# Current: 12 — the transport, the read path, identity, the permission mirror,
|
||||
# configuration from the site, first-party clans, a raid frame that names who
|
||||
# lives there, the event leases, the world verbs events place and give back, and
|
||||
# the rewards: a run's participation tally, kit credits and chat (PROTOCOL.md §16),
|
||||
# and the map: its picture and everything that moves on it (PROTOCOL.md §17).
|
||||
protocol = 11
|
||||
# the map: its picture and everything that moves on it (PROTOCOL.md §17), and the
|
||||
# optional mods: BetterChat titles and group styles, and popups (PROTOCOL.md §18).
|
||||
protocol = 12
|
||||
|
||||
# ── Oxide compatibility ──────────────────────────────────────────────────────
|
||||
#
|
||||
@@ -54,5 +55,9 @@ min_oxide_version = "2.0.7585"
|
||||
# The uMod **Clans** plugin is deliberately NOT listed (docs/modules/rust/PLAN.md
|
||||
# D47). Teams come from Rust's own clan system, which that plugin never touches,
|
||||
# so requiring it would split a server's players across two unrelated clan
|
||||
# systems. It belongs to phase 17's optional tier.
|
||||
requires_plugins = ["Kits", "PopupNotifications", "ZoneManager"]
|
||||
# systems. Phase 17 dropped the adapter it was meant to get (D134).
|
||||
#
|
||||
# **PopupNotifications is not listed either** (D141). It is optional: a popup
|
||||
# asked of a server without it is refused with a reason, and chat is the default.
|
||||
# BetterChat is optional in the same way — titles and group styles wait for it.
|
||||
requires_plugins = ["Kits", "ZoneManager"]
|
||||
|
||||
Reference in New Issue
Block a user