docs(chat-filter): block list file, portable format, phrases

How to build blocklist.dcf from blocklist.txt and where it goes, the
version 3 layout and hash, what happens to old files, and blocked
phrases; README "This branch" line. issue 215

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Aaron Kimbrell
2026-09-30 08:05:26 -05:00
parent cef170ae47
commit 9658014b4f
3 changed files with 36 additions and 7 deletions

View File

@@ -137,6 +137,10 @@ locally. See [docs/UgcServer.md](docs/UgcServer.md).
* **World hot reload:** worlds report the zone files they loaded (`.luz`, `.lvl`, triggers, terrain, navmesh); when one
changes on disk, or on `/reloadworld` or the dashboard's Reload, master replaces those instances with new ones and
moves their players over; properties are kept until empty instead ([docs/WorldHotReload.md](docs/WorldHotReload.md)).
* **Chat filter:** the block list and the allowed words cache (`.dcf`) are hashed with 64-bit FNV-1a, so a list works
on every platform (before, `std::hash` values made on one system never matched on another); old files are refused
with a log line. Servers build `blocklist.dcf` from a plain `blocklist.txt` next to them, and blocked entries can be
phrases. See "Block list file" in [docs/Dashboard.md](docs/Dashboard.md).
* The chat server's old web API is removed; the dashboard's API covers online players, teams and announcements.
## License
@@ -375,7 +379,7 @@ All listed files are required for a server to start.
* masterconfig.ini
* WorldServer(.exe)
* worldconfig.ini
* blocklist.dcf
* blocklist.dcf (or blocklist.txt, one blocked word or phrase per line, which the servers build it from)
* migrations
* vanity
* navmeshes