Investigations and tools
The investigation module gathers the tools used to check behaviour before sanctioning. Options: config/investigation.yml.
Inventories
Section titled “Inventories”/examine <player> inventory, armour and info aliases /inspecter, /invsee/eview <player> ender chest aliases /voirender, /endersee- Online: the view is synchronised in real time both ways with the player’s inventory.
- Offline: the inventory is read from the player’s data and written back on close if you changed it. If the player joins in the meantime, your changes are applied to their real inventory.
- The last row of the
/examinemenu shows information about the player: hunger, IP, ping, game mode, record, position, notes, freeze and warn. The order of these slots is set inexamine.info(0 = hidden), and the record, freeze and warn buttons run configurable commands.
Permissions: cobaltstaff.inventory.examine.view.online|offline to view, cobaltstaff.inventory.examine.interact.online|offline to edit; cobaltstaff.enderchests.view.online|offline and cobaltstaff.enderchests.interact for the ender chest.
Silent chests
Section titled “Silent chests”In staff mode, containers (chests, barrels, hoppers, dispensers, shulkers…) open without animation or sound. Editing their content requires cobaltstaff.mode.silent-chest-interaction and a staff mode that allows it.
Players and detailed profile
Section titled “Players and detailed profile”/players [player] alias /joueursWithout an argument, /players opens a hub: online players, offline players, staff, miners (players below the players.miners-y layer, 30 by default) and protected players. Each list shows heads with a hover summary (IP, UUID, game mode, hunger, position, playtime, frozen, protected, under investigation, muted…), each field being protected by a cobaltstaff.player-view.detail.<field> permission.
With a name, the player’s detailed profile opens: sanctions, reports, notes and action buttons (freeze, spectate, record, sanction). It can also show what the player owns in game, read through PlaceholderAPI or compatible plugins installed (CMI, LuckPerms, CobaltiaEffets…): currencies, jobs, playtime, rank, clan, statistics, battle pass, cosmetics, pets, homes, warps, crate keys, boosters and quests. A missing source shows “?” without error; homes and warps can be reached in one click.
/note <player> <text> [-private] alias /noter/pnote <player> <text> private note/notes [player] [-id=] [-private=] [-target=] [-notedBy=] [-note="..."] [-l]A public note is visible to all staff with cobaltstaff.player-notes.view (and notified to cobaltstaff.player-notes.notifications if notes.notify-on-create is on). A private note is only visible to its author. /notes opens a filterable menu, or a chat list with -l.
CPS test
Section titled “CPS test”/cps <player> alias /testcpsCounts the player’s clicks for 10 seconds (cps.duration) and alerts staff above 16 clicks per second (cps.threshold).
/trace start <player>/trace stop [player]Follows live everything a player does: commands, chat, blocks broken and placed, interactions, damage dealt and taken, pickups, drops, world changes, inventory openings. Output goes to the staff’s chat and/or a log file (trace.output: [CHAT, FILE]). cobaltstaff.trace.bypass protects a player from being traced.
Follow
Section titled “Follow”/follow [player] alias /suivreThe staff member rides the player as a passenger. Run the command again (or sneak) to detach.
Investigations
Section titled “Investigations”An investigation groups the follow-up of a suspicious player: evidence, notes and a dedicated staff mode.
-
/investigate [player]opens an investigation (or resumes yours). A staff member has only one active investigation at a time: resuming another one pauses the current one. -
The investigation staff mode is enforced (
enforce-staff-mode,Enquetemode by default) and the targeted player is told in chat and in the action bar (notify-target). -
Add notes (
/investigate note <text>) and link evidence:/investigate preuve <report|warn|mute|ban|kick|ipban> <id> [investigation]. -
Pause (
/investigate pause) or conclude (/investigate conclure). Pausing is automatic when the player logs out or when you leave staff mode. -
/investigate gerer [player]lists investigations, all of them or a player’s.
Options: number of open investigations at once on one player (max-concurrent, 1 by default), investigating an offline player (allow-offline), and start, pause, conclude hooks (variables %target%, %investigator%, %issuer%, %id%).
IPs and alt accounts
Section titled “IPs and alt accounts”/clearips <player> clear the IP history/altcheck <player> look for alt accounts/altwhitelist add|remove <player> <player> whitelist of false positives/altwhitelist listCobaltStaff keeps each player’s IP history (first and last use). On each login, it compares the player with other accounts:
| Criterion | Points |
|---|---|
| Same IP as another account | +1 |
| Name ≥ 90 % similar | 4 |
| ≥ 70 % | 3 |
| ≥ 50 % | 2 |
| ≥ 30 % | 1 |
The score gives a level, from POSITIVE to SAME_IP. The levels listed in alt-detect.alert-levels trigger the alt-detects alert. With same-ip-required: true (default), nothing is reported without a shared IP. cobaltstaff.altdetect.bypass excludes a player from detection.
Teleports and staff locations
Section titled “Teleports and staff locations”/tplieu <player> <location> to a predefined location alias /teleporttolocation/tpjoueur <player> to a player alias /teleporttoplayer/tpici <player> player to you alias /teleporthere/tpretour [player] back to before the last staff TP alias /teleportbackPredefined locations (teleport.locations, e.g. spawn, jail) are also used by the -T<location> argument of /freeze. The position before the last staff teleport is kept, even after a restart. cobaltstaff.teleport.bypass protects a player from staff teleports.
Staff locations are landmarks shared by the team (grief area, suspicious machine, farm…):
/lieux creer <name> alias /lieux create/lieux [-id=] [-name="..."] [-creator=] alias /stafflocationsThe menu lets you list, rename, change the icon of (list staff-locations.icons), teleport to and delete them, and attach notes.
Protections
Section titled “Protections”/protectplayer <player> alias /proteger/protectarea create <size> <name> | delete <name> alias /zoneprotegee- A protected player takes no damage until they log out or the protection is removed.
- A protected area is a square around your position (up to 50 blocks on each side by default) where non-staff players cannot break, place, open containers, use buttons, levers and plates, or empty or fill a bucket. Without arguments,
/protectareaopens the area menu.
Inventory: strip, clear, revive
Section titled “Inventory: strip, clear, revive”/strip <player> remove armour (stored in the inventory) alias /desequiper/clear <player> [-D] clear the inventory (a copy is kept) alias /vider/revive <player> give back what a player lost (death or /clear) alias /restaurerRevive: give back a lost inventory
Section titled “Revive: give back a lost inventory”/revive is for refunding a player: they lost their gear to a bug, lag or an unfair death, or a staff member wiped them by mistake with /clear.
To make this possible, CobaltStaff automatically keeps a copy of a player’s inventory on every death and before every /clear (last 10 per player by default, inventory.revive.max-backups; copies on death can be turned off with inventory.revive.save-on-death: false).
- In game,
/revive <player>opens a menu listing these copies (cause: death or clear, date, item count); one click gives back the chosen one. - From the console, the most recent copy is given back directly.
- The player must be online. If their inventory is empty, every item goes back to its slot; otherwise items are added and anything that does not fit drops at their feet.
- Every revive is written to the audit log. With
-D, clearing an offline player is applied on their next login.cobaltstaff.inventory.clearinv-bypassprotects a player from being cleared.