AndrewLin-Hush icon

Hush

Hush: allows hosts and clients to filter and censor chat. Use /hushhelp

Last updated 4 days ago
Total downloads 129
Total rating 0 
Categories Mods
Dependency string AndrewLin-Hush-0.1.5
Dependants 0 other packages depend on this package

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2305 icon
BepInEx-BepInExPack

BepInEx pack for Mono Unity games. Preconfigured and ready to use.

Preferred version: 5.4.2305
AndrewLin-Alpha-0.0.6 icon
AndrewLin-Alpha

Alpha: A mod for On-Together to provide common utilities and features.

Preferred version: 0.0.6

README

Hush

A BepInEx mod for On Together that lets hosts and clients filter chat messages. Matched words can be censored with asterisks or blocked entirely. The filter list persists between sessions and can be managed from in-game chat commands.

Hosts can also mute individual players permanently or for a fixed duration, suppressing their messages before they are relayed to any client.

When installed on the host, the filter and mute system are enforced server-side before the message is relayed, so every connected client receives the already-filtered version regardless of whether they have the mod. Clients with the mod installed also apply the word filter locally as a second layer.

In-Game Commands

Type any command into the in-game chat. Commands start with / and are not sent to other players.

Player muting

Command Short Description
/hushmute <player> /hmu Permanently mute a player (host only)
/hushtmute <player> <duration> /htm Temporarily mute a player (host or delegate; e.g. 10m, 1h30m, 30s)
/hushunmute <player> /humu Unmute a player (accepts Steam ID for offline players; host only)
/hushgetmutes /hgm List all currently muted players with expiry (host only)

Player query formats — name (partial match), Steam ID suffix (digits only), or _host.

Player banning

Ban commands write to the game's own ban list (DataManager.BanData), so bans persist and are enforced natively on every session start.

Command Short Description
/hushban <player> /hb Ban an online player (host or delegate)
/hushbanoffline <steamid> <nick> /hbo Ban a player by Steam ID without them being online (host only)
/hushunban <player|steamid> /hub Remove a ban; accepts Steam ID for offline removal (host only)
/hushgetbans /hgb List all banned players (host only)

Mute & ban delegates

The host can whitelist trusted non-host players to use /hushtmute and /hushban. When a delegate issues either command, a hidden sentinel message is sent to the host; the host validates the whitelist and executes the action server-side. The sentinel is never visible to other clients. Delegates also add the ban to their own local ban list.

Command Short Description
/hushdelegateadd <player> /hda Add a player to the delegate whitelist (host only)
/hushdelegateremove <player> /hdr Remove a player from the whitelist; accepts raw Steam ID for offline players (host only)
/hushdelegatelist /hdl List all current delegates (host only)

The delegate list is saved alongside the mute list in BepInEx/config/com.andrewlin.ontogether.hush.mutes.json.

Word management

Command Short Description
/hushaddword <word> /haw Add a literal word to the filter
/hushremoveword <word> /hrw Remove a literal word from the filter
/hushgetwords /hgw List all filtered words

Pattern management

Patterns are raw regular expressions. Use inline flags to control matching behavior.

Command Short Description
/hushaddpattern <regex> /hap Add a regex pattern to the filter
/hushremovepattern <regex> /hrp Remove a regex pattern from the filter
/hushgetpatterns /hgp List all filtered patterns

Pattern examples

Pattern Behavior
(?i)f+u+c+k Case-insensitive, matches repeated letters, no word boundary
\bslur\b Exact whole-word match, case-sensitive
(?i)\bslur\b Exact whole-word match, case-insensitive

Utility

Command Short Description
/hushtoggle /ht Toggle the filter on or off
/hushfilteraction <action> /hfa Set the filter action: Censor or Block
/hushcensorchar <char> /hcc Set the character used to replace matched words in Censor mode
/hushloadfilter /hlf Reload the filter word list from disk

Configuration

Located in BepInEx/config/com.andrewlin.ontogether.hush.cfg

Key Default Description
General > EnableFeature true Master switch for the mod
General > ShowCommand false Show typed commands in chat
Filter > Action Censor Censor replaces matches with asterisks. Block suppresses the entire message.
Filter > CensorChar * Character used to replace matched words when in Censor mode
Filter > ConfigPath (see below) Path to the filter word list JSON file

The filter word and pattern list is stored separately in BepInEx/config/com.andrewlin.ontogether.hush.filter.json and is updated automatically whenever you add or remove an entry via a chat command.

The player mute list (permanent and timed) is stored in BepInEx/config/com.andrewlin.ontogether.hush.mutes.json and is updated automatically on every mute/unmute. Timed mute expiry times survive game restarts.

Installation

Use r2modman or the Thunderstore app for the simplest install.

Manual:

Step Action
1 Install BepInEx into your On Together game folder
2 Copy AndrewLin.Hush.dll into BepInEx/plugins/
3 Launch the game -- config files will be generated automatically

Dependencies: BepInExPack, Alpha

Host-only vs. all-clients

Installing on the host is sufficient to enforce filtering for everyone in the session. Clients who also have the mod installed get an additional local filter pass that covers their own messages before they are sent.