Repository navigation
Home
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.
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 stopStop spectating -
/spectate povGet back to the player's point of view from freecam -
/spectate reloadReload 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
- Server-side and Single-player (with LAN) support
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 |
- 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)
- 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.viewpermission node can use/invseeto 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)
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.spectateas well as the invsee permission nodes. -
admin_rolesaccepts either a comma-separated string such as"op,admin,mod"or a JSON array such as["op", "admin", "mod"]. - Removing
"op"fromadmin_rolesdoes 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.
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/invseeand 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.
The mod is only available at:
- Modrinth: https://modrinth.com/project/W8fUtxyA
- CurseForge: https://www.curseforge.com/minecraft/mc-mods/adminscope
- GitHub: https://github.com/Abdo9616/AdminScope-mod
- Place the mod's
.jarfile in the servermodsfolder. - Start the server to generate configuration files.
- Description: Spectate a specific player immediately.
-
Who can use it: Server operators and players with a role/tag listed in
admin_roles.
- 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.
- 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.
- Description: Reloads the configuration without restarting the server.
-
Who can use it: Server operators and players with a role/tag listed in
admin_roles.
- 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_rolesor players with atleastadminscope.invsee.viewpermission node via LuckPerms. (Forge only for now)
- 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_rolesor players with atleastadminscope.invsee.viewpermission node via LuckPerms. (Forge only for now)
- 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_rolesor players with atleastadminscope.invsee.viewpermission node via LuckPerms. (Forge only for now) -
Note: Does the same thing as
/spectate reload
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.
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_rolesRoles/tags that grant /spectate access. You can use either"op,admin,mod"or["op", "admin", "mod"]. -
spectate_cooldownCooldown in seconds between spectate sessions. Set to 0 to disable. -
prevent_combat_spectateIf true, prevents spectating while in combat or near hostile mobs. -
combat_check_radiusRadius in blocks to check for hostile mobs when the combat guard is enabled. -
save_spectate_positionsIf true, saves spectate state to disk for crash recovery. -
freecam_distance_limitMax distance (in blocks) from the target player while in freecam. Use0to 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)
-
enabledIf false, disables the inventory viewing feature entirely. Default is true. -
allowSelfViewIf true, allows players to view their own inventory. -
logStaffActionsIf true, logs staff actions to the server log. Default is true. -
menuButtonsallows 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
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).
- Use the
/spectate reloador/invsee reloadcommand 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