Skip to content
Abdo edited this page Nov 3, 2026 · 4 revisions

AdminScope Mod Wiki (Fabric/Forge)

The AdminScope Mod is a server-side moderation tool that lets authorized staff spectate a player using the target player's POV, then instantly return to their exact position and gamemode. It is built for survival servers and avoids freecam abuse by enforcing a configurable distance limit.

Project overview:

AdminScope provides admin-side spectating, config-driven access control, and optional inventory inspection for Forge builds (Currently). The feature set is centered around:

  • /spectate <player> Spectate a player
  • /spectate stop Stop spectating
  • /spectate pov Get back to the player's point of view from freecam
  • /spectate reload Reload the config file
  • /invsee <player> Inspect a player's inventory, ender chest and optionally Traveler's Backpack contents! (Forge only for now)
  • LuckPerms integration for permissions. (Forge only for now)
  • admin-role configuration via admin_roles

Supported environments:

  • Server-side and Single-player (with LAN) support

Supported versions:

Hidden: release and feature set
Version Supported loaders Feature set Notes
1.20.1 Forge, Fabric Spectating, Inventory viewing (on Forge only) Inventory viewing is available for forge only currently
1.21.11 Fabric Spectating
26.1 / 26.1.x Fabric Spectating
26.2 Fabric Spectating
26.3 Fabric Spectating

Requirements

  • Fabric/Forge Loader
  • Fabric API
  • Optional: Cloth Config API (If installed on client, Not required on server)
  • Optional: Mod Menu for config and update checking for fabric (If installed on client, Not required on server)
  • Optional: LuckPerms for permission checks (Forge only for now)
  • optional: Traveler's Backpack for inventory viewing (Forge only for now)

Compatibility

  • Jail Logic mod: If Jail Mod is installed, jailed players cannot use /spectate.
  • LuckPerms: If LuckPerms is installed, players with for example the adminscope.invsee.view permission node can use /invsee to view inventories. See Permissions and access control. (Forge only for now)
  • Traveler's Backpack: If installed, players can view the contents of a player's backpack through /invsee. (Forge only for now)

Permissions and access control

Important: access is checked in more than one place, and the behavior is intentionally conservative.

  • Spectate access is granted to OPs and players whose tag matches an entry in admin_roles.
  • On Forge, the mod also supports the underlying Forge Permission API, so a permission manager such as LuckPerms can grant adminscope.spectate as well as the invsee permission nodes.
  • admin_roles accepts either a comma-separated string such as "op,admin,mod" or a JSON array such as ["op", "admin", "mod"].
  • Removing "op" from admin_roles does not remove OP access; operators are always allowed to use the commands.
  • The role values are checked against the player's tags, not their username; "op" is treated specially and only passes if the player is actually an operator.
  • Players who match the configured admin roles also receive the same invsee access checks that OPs receive, so they can inspect inventories and use the extra submenu actions allowed by the mod.
  • Forge default OP fallback levels are: adminscope.spectate = level 2, adminscope.invsee.view = level 2, adminscope.invsee.edit = level 3, adminscope.invsee.enderchest = level 2, adminscope.invsee.backpack = level 2.

Permission nodes

The mod exposes the following permission nodes: (Forge only for now)

  • adminscope.spectate — allows a player to use /spectate <player> and related spectate actions.
  • adminscope.invsee.view — allows a player to open /invsee and view another player's inventory.
  • adminscope.invsee.edit — allows a player to make edits while viewing an inventory, such as interacting with editable inventory screens or inventory modification actions.
  • adminscope.invsee.enderchest — allows a player to open a target's ender chest through a supported invsee menu flow.
  • adminscope.invsee.backpack — allows a player to open a target's Traveler's Backpack through the invsee integration when Traveler's Backpack is installed.

These permission nodes are available under the Forge permission API and can be granted by permission managers such as LuckPerms. If a permission manager is not in use, OP status and matching admin_roles remain the fallback access checks.

Download

The mod is only available at:

Installation

  1. Place the mod's .jar file in the server mods folder.
  2. Start the server to generate configuration files.

Commands:

1. /spectate <player>

  • Description: Spectate a specific player immediately.
  • Who can use it: Server operators and players with a role/tag listed in admin_roles.

2. /spectate stop

  • Description: Stop spectating and return to your original position.
  • Who can use it: Server operators and players with a role/tag listed in admin_roles.

3. /spectate pov

  • Description: Return to the target player's POV while in freecam. The same action is available through the clickable hint shown when a session starts.
  • Who can use it: Authorized players with an active spectate session.

4. /spectate reload

  • Description: Reloads the configuration without restarting the server.
  • Who can use it: Server operators and players with a role/tag listed in admin_roles.

5. /invsee

  • Description: If used as is during a spectate session, allows viewing the target player's inventory. (Forge only for now)
  • Who can use it : Server operators, players with a role/tag listed in admin_roles or players with atleast adminscope.invsee.view permission node via LuckPerms. (Forge only for now)

6. /invsee <player>

  • Description: Allows viewing the specified player's inventory. (Forge only for now)
  • Who can use it : Server operators, players with a role/tag listed in admin_roles or players with atleast adminscope.invsee.view permission node via LuckPerms. (Forge only for now)

7. /invsee reload

  • Description: Reloads the configuration without restarting the server. (Forge only for now)
  • Who can use it : Server operators, players with a role/tag listed in admin_roles or players with atleast adminscope.invsee.view permission node via LuckPerms. (Forge only for now)
  • Note: Does the same thing as /spectate reload

Spectate Rules

While spectating, the following rules apply:

  • You can only use the target player's POV (no mob POV).
  • Freecam distance is limited by freecam_distance_limit.
  • If you push the limit repeatedly, you are snapped back to the target POV.
  • If the target leaves the server, spectating ends automatically.
  • If you lose permission to use spectating, your session ends and your saved state is restored.
  • A player already in a spectate session cannot be selected as a target.
  • If someone you are spectating starts a spectate session, your session ends before theirs starts.

Default Configuration

The project includes a config.json file for spectate feature and an invsee.json for the inventory viewing feature generated at runtime:

config/spectatemod/config.json

Available config values include:

  • admin_roles Roles/tags that grant /spectate access. You can use either "op,admin,mod" or ["op", "admin", "mod"].
  • spectate_cooldown Cooldown in seconds between spectate sessions. Set to 0 to disable.
  • prevent_combat_spectate If true, prevents spectating while in combat or near hostile mobs.
  • combat_check_radius Radius in blocks to check for hostile mobs when the combat guard is enabled.
  • save_spectate_positions If true, saves spectate state to disk for crash recovery.
  • freecam_distance_limit Max distance (in blocks) from the target player while in freecam. Use 0 to disable.
Example:
{
  "admin_roles": "op",
  "spectate_cooldown": 30,
  "prevent_combat_spectate": true,
  "combat_check_radius": 16.0,
  "save_spectate_positions": true,
  "freecam_distance_limit": 30.0
}
config/spectatemod/invsee.json

Available config values include: (Forge only for now)

  • enabled If false, disables the inventory viewing feature entirely. Default is true.
  • allowSelfView If true, allows players to view their own inventory.
  • logStaffActions If true, logs staff actions to the server log. Default is true.
  • menuButtons allows you to configure which buttons are available in the inventory viewing menu. Format:
  • Reloading the config closes open invsee menus and refreshes the command tree when the feature is enabled or disabled.
{
      "id": "xp",
      "page": 1,
      "slot": 5,
      "item": "minecraft:experience_bottle",
      "title": "§e{xp_level} XP",
      "action": "none",
      "lines": [
        "§7Total XP: {xp_total}"
      ]
    },
Example:
{
  "enabled": true,
  "allowSelfView": false,
  "logStaffActions": true,
  "menuButtons": [
    {
      "id": "xp",
      "page": 1,
      "slot": 5,
      "item": "minecraft:experience_bottle",
      "title": "§e{xp_level} XP",
      "action": "none",
      "lines": [
        "§7Total XP: {xp_total}"
      ]
    },
    {
      "id": "enderchest",
      "page": 1,
      "slot": 6,
      "item": "minecraft:ender_chest",
      "title": "§6Open ender chest",
      "action": "open_enderchest",
      "lines": []
    },
    {
      "id": "health",
      "page": 1,
      "slot": 7,
      "item": "minecraft:golden_apple",
      "title": "§c{health}/{max_health} ❤",
      "action": "none",
      "lines": [
        "§7Hunger: {hunger}"
      ]
    },
    {
      "id": "next_page",
      "page": 1,
      "slot": 8,
      "item": "minecraft:arrow",
      "title": "§aNext page",
      "action": "next_page",
      "lines": []
    },
    {
      "id": "location",
      "page": 2,
      "slot": 20,
      "item": "minecraft:compass",
      "title": "§bLocation",
      "action": "none",
      "lines": [
        "§7{dimension}",
        "§7{xyz}"
      ]
    },
    {
      "id": "previous_page",
      "page": 2,
      "slot": 45,
      "item": "minecraft:arrow",
      "title": "§cBack",
      "action": "previous_page",
      "lines": []
    },
    {
      "id": "backpack",
      "page": 2,
      "slot": 24,
      "item": "minecraft:chest",
      "title": "Open backpack",
      "action": "open_backpack",
      "lines": []
    }
  ]
}

Reload with:

/spectate reload

or

/invsee reload

Data persistence

Active spectate sessions are saved to:

config/spectatemod/spectate_data.json

This allows the server to restore admins to their correct position after crashes or restarts (when enabled in config).

Usage Tips

  • Use the /spectate reload or /invsee reload command after changing configuration. If you use custom roles, add tags like:
/tag @p add admin
  • If using luckperms, you can add the permission node to a player with:
/lp user <username> permission set adminscope.invsee.view true