Server operators can designate moderators to review flagged content, remove inappropriate turns, and restructure game chains. Moderation happens through in-game commands backed by a dedicated report collection in the database — no external dashboard is required.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/BunnyNabbit/voxel-telephone/llms.txt
Use this file to discover all available pages before exploring further.
Roles
Moderation permissions are controlled by your server’sconfig.json. Two relevant arrays exist:
moderators— Usernames listed here receive themoderatorpermission, which unlocks/purge,/diverge, and the restricted view modes.hubEditors— Usernames listed here receive thehubBuilderpermission for editing hub-level zones and portals; this is separate from content moderation.
Mod View
Before using moderation commands, a moderator needs to navigate to the view gallery in the appropriate mode.| Command | Permission | Description |
|---|---|---|
/view mod | Moderator | Opens the gallery showing all games, including flagged content |
/view purged | Moderator | Opens the gallery showing previously purged turns |
/view | Any player | Opens the standard public gallery |
/purge and /diverge.
Player Reporting
Any player in an active game turn can submit a report. Reports are visible to moderators in/view mod.
/report [reason]
/report [reason]
Usage:
/report <reason>Reports the current turn for moderation review. The reason argument is optional; if omitted, the report is filed with a placeholder reason [ Empty report ].When a report is submitted, the server:- Records a
skipand areportinteraction for the player against the current turn. - Calls
deactivateGame— sets the turn’sactivefield tofalsein the database, preventing other players from being assigned that game. - Inserts a document into the
voxelTelephoneReportscollection with the reporter’s username, the turn ID, the reason, andunresolved: true. - Removes the reporting player from the level and returns them to the hub.
unresolved: true until a moderator takes action. Abuse of this command may result in a moderation punishment; players are advised to review the server rules with /rules before reporting.Moderator Commands
The following commands require themoderator permission. Attempting to run them without the permission returns an error and takes no action.
/purge [reason]
/purge [reason]
Usage:
/purge <reason>Aliases: noneRequires: Moderator permission, a game selected in the view gallery.Removes the most recent turn from the highlighted game chain and moves it into the voxelTelephonePurged collection for record-keeping. The reason argument is stored alongside the purged turn so it can be reviewed later in /view purged.After purging:- The previous turn in the chain is reactivated (
active: true) so gameplay can continue. - A new
nextturn ID is generated for the reactivated turn. - The game’s completion status is reset.
- The view reloads automatically.
/diverge [reason] (alias: /fork)
/diverge [reason] (alias: /fork)
Usage:
/diverge <reason>Aliases: /forkRequires: Moderator permission, a game selected in the view gallery. Cannot be used on a turn at depth 0 (the root turn).Creates a new, independent game chain starting from the currently highlighted turn. All turns from the highlighted point onward are detached from the original chain and re-rooted under a new game ID. The original chain is truncated at the turn before the divergence point and reactivated for new gameplay.This is useful when a game chain contains inappropriate content partway through — the offending segment and everything after it is forked off into a separate chain, while the earlier legitimate turns continue as a new active game.After diverging:- A new root ID is assigned to the diverged portion.
- Depths are recalculated relative to the new root.
- The previous turn in the original chain becomes active again with a new
nextID. - Completion status is reset on both the original and diverged chains.
- The view reloads automatically.
How Reports Are Stored
Reports are stored in the MongoDB collectionvoxelTelephoneReports. Each document has the following shape:
unresolved flag is set to true on creation. It can be updated programmatically via updateReportStatus. Moderators can view all flagged games by entering /view mod, which displays games regardless of their active state, surfacing any chains that contain reported turns.
Purged content is stored separately in the voxelTelephonePurged collection and is viewable via /view purged. In that view, each purged build turn is shown alongside a synthetic description turn attributing the removal to “Moderator” and displaying the purge reason.