BetterModeration
Native host-side Fusion moderation with session and custom timed bans, persistent offline-editable storage, individual pardons, and platform-ID spoof protection.
By Dr_House
| Date uploaded | a day ago |
| Version | 1.0.0 |
| Download link | Dr_House-BetterModeration-1.0.0.zip |
| Downloads | 116 |
| Dependency string | Dr_House-BetterModeration-1.0.0 |
This mod requires the following mods to function
Lakatrazz-Fusion
A multiplayer mod for BONELAB, taking advantage of its physical interaction.
Preferred version: 1.14.2README
BetterModeration
BetterModeration expands BONELAB Fusion's host moderation controls without requiring other players to install the mod.
Features
- Native Fusion UI: Adds a nested
BetterModerationgroup directly to the selected player's existing Actions page while preserving Fusion's ready-made Kick, Ban, and Teleport controls. - Delayed UI initialization: Registers the Actions-panel extension only after Fusion completes network login, following Fusion's own menu lifecycle.
- Client-side host tool: Only the lobby host needs BetterModeration installed. Joining players do not need the mod.
- Normal kicks: Fusion's existing Kick action remains available and continues using Fusion's normal networking.
- Session bans: Kicks the selected player and blocks that authenticated platform account from rejoining for the life of the current hosted server session.
- Automatic session reset: Session bans remain memory-only and clear when the host disconnects or starts a new server session.
- Custom timed bans: Separate native Minutes, Hours, and Days controls allow a combined duration from one minute through 30 days.
- Persistent timed bans: Timed bans survive game and server restarts in
UserData/BetterModeration/timed-bans.json. - Automatic expiration: Expired timed bans are removed automatically when the ban list is loaded or checked.
- Individual pardons:
Clear this player's moderationremoves that player's BetterModeration session and timed bans without affecting other players. - Offline management: The indented JSON ban file can be reviewed or edited in a text editor while BONELAB is closed.
- Pre-join enforcement: Active session and timed bans are rejected during Fusion's connection request, before the player finishes joining.
- Platform-ID spoof protection: Compares the client-claimed backup platform ID with the platform ID authenticated by Fusion's transport and denies mismatches.
- Identity-safe enforcement: Usernames and nicknames are treated as display metadata only; moderation decisions bind to the authenticated platform ID.
- Host validation: Moderation actions refuse invalid players, the lobby host, and attempts made by a non-host client.
- Fusion notifications and logs: Timed-ban results, invalid durations, pardons, and rejected connections produce feedback for testing and moderation auditing.
Using the menu
- Start BONELAB with Fusion installed.
- Connect to Fusion and host a lobby.
- Open Fusion's Location tab.
- Select another player from the lobby player list.
- Find and open BetterModeration in the player's existing Actions panel.
- Choose a session ban, enter a custom timed duration, or clear that player's moderation actions.
BetterModeration registers its Actions-panel integration only after Fusion has finished logging in.
Ban storage and offline editing
Timed bans are stored as readable JSON at:
BONELAB/UserData/BetterModeration/timed-bans.json
Close BONELAB before manually editing the file. Session bans are intentionally kept only in memory and clear when the server session ends.
Installation
Install with a Thunderstore-compatible mod manager, or place BetterModeration.dll in BONELAB's Mods folder manually.
Requirements
- BONELAB
- MelonLoader
- Fusion 1.14.2 or compatible
Important limitations
- BetterModeration only enforces its rules while the player running it is the lobby host.
- Other players do not need BetterModeration installed.
- A genuinely new Steam account has a new authenticated identity and cannot be conclusively linked to an older account by a local-only mod.
- Public IP collection is not included. Steam relay networking does not provide a trustworthy public-IP identity to this mod.
- Host migration does not transfer BetterModeration's in-memory session bans to another player's computer.
CHANGELOG
Changelog
1.0.0
- Added a nested
BetterModerationgroup directly to Fusion's visible player Actions page. - Preserved Fusion's existing Kick, Ban, Teleport To Them, and Teleport To Me controls.
- Delayed the native Actions-menu patch until Fusion completes network login.
- Added host-only validation for all BetterModeration actions.
- Added session bans that immediately kick a player and prevent the same authenticated platform account from rejoining that server session.
- Added automatic clearing of in-memory session bans when the host disconnects or starts a new session.
- Added customizable timed bans with separate native Minutes, Hours, and Days inputs.
- Added validation requiring at least one minute and limiting the combined duration to 30 days.
- Added persistent timed-ban records containing platform ID, last known name, reason, creation time, and UTC expiration time.
- Added automatic removal of expired timed-ban records.
- Added human-readable JSON storage at
UserData/BetterModeration/timed-bans.jsonfor offline review and editing. - Added per-player clearing of both session and timed bans without changing anyone else's moderation state.
- Added pre-join enforcement for active session and timed bans.
- Added connection rejection when a client-claimed backup platform ID differs from Fusion's transport-authenticated platform ID.
- Bound enforcement to authenticated platform IDs rather than spoofable usernames or nicknames.
- Added Fusion popup feedback for timed bans, invalid durations, and individual pardon actions.
- Added MelonLoader logging for initialization, UI registration, moderation actions, persistence errors, and rejected connections.
- Designed the mod so only the lobby host needs it installed; ordinary joining players require no additional client mod.