mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-11-05 09:33:25 -08:00
[Server] Add room chat channels with per-channel fan-out and history (#7476)
* [Server] Add room chat channels with per-channel fan-out and history * Fixup: redact all channel histories on message removal removeSaidMessages only redacted the main history, so banned/warned content stayed visible to late joiners on every other channel. Drop the unused channelId parameter and redact up to amount messages per channel across the whole channelChatHistory map. * [Server] Validate room channel ids and fix catalog schema per review - servatrice.sql: expand rooms_channels access_level enum to full set to match 0037->0038 migration - servatrice.cpp: skip empty, reserved (__main__) and duplicate channel ids when loading from ini and DB with qWarning - server_protocolhandler.cpp: clarify catalog replay comment (filtering happens in moderator stack) - server_room: drop duplicate channelIndex, linear search preserves catalog order * [Server] Fix server_room.cpp formatting per clang-format-18 --------- Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de> Co-authored-by: BruebachL <bruebachl@cockatrice.example>
This commit is contained in:
parent
be38e8d429
commit
17d2e8d86e
11 changed files with 281 additions and 34 deletions
|
|
@ -332,6 +332,22 @@ roomlist\1\game_types\1\name="GameType1"
|
|||
roomlist\1\game_types\2\name="GameType2"
|
||||
roomlist\1\game_types\3\name="GameType3"
|
||||
|
||||
; Optional chat channels for room number 1, in addition to the implicit Main
|
||||
; channel every room has. Each channel needs a stable ASCII id, a display name
|
||||
; (server data, like the room name) and an access level. Supported levels, from
|
||||
; least to most restrictive, are: public, registered, judge, moderator, admin
|
||||
; and developer. A channel is readable and writable by every member whose own
|
||||
; privilege level is at least the channel's level -- so a moderator channel is
|
||||
; also reachable by admins and developers, and an admin channel by developers.
|
||||
; Public channels are visible to every room member.
|
||||
roomlist\1\channels\size=2
|
||||
roomlist\1\channels\1\id=looking-for-players
|
||||
roomlist\1\channels\1\displayname="Looking for players"
|
||||
roomlist\1\channels\1\access=public
|
||||
roomlist\1\channels\2\id=moderators
|
||||
roomlist\1\channels\2\displayname="Moderators"
|
||||
roomlist\1\channels\2\access=moderator
|
||||
|
||||
|
||||
[game]
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue