You are viewing a potentially older version of this package. View all versions.
Dr_House-BetterModeration-1.0.0 icon

BetterModeration

Native host-side Fusion moderation with session and custom timed bans, persistent offline-editable storage, individual pardons, and platform-ID spoof protection.

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-1.14.2 icon
Lakatrazz-Fusion

A multiplayer mod for BONELAB, taking advantage of its physical interaction.

Preferred version: 1.14.2

README

BetterModeration

BetterModeration expands BONELAB Fusion's host moderation controls without requiring other players to install the mod.

Features

  • Native Fusion UI: Adds a nested BetterModeration group 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 moderation removes 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

  1. Start BONELAB with Fusion installed.
  2. Connect to Fusion and host a lobby.
  3. Open Fusion's Location tab.
  4. Select another player from the lobby player list.
  5. Find and open BetterModeration in the player's existing Actions panel.
  6. 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 BetterModeration group 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.json for 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.