Permissions
OmniSight uses a flexible permission system controlled by the permissionMode field in config.json.
Permission Modes
| Mode | Behavior |
|---|---|
"none" | No restrictions. All players can use all commands. (default) |
"op" | Only server operators (OP group) can use OmniSight commands |
"custom" | Uses Hytale's PermissionsModule for per-node permission checks |
Permission Nodes
| Node | Required For | Description |
|---|---|---|
omnisight.use | /omni on, /omni off | Basic HUD toggle access |
omnisight.settings | /omni settings | Access to the settings GUI |
omnisight.profiler | /omni profiler | Access to the performance profiler |
How Each Mode Works
"none" (default)
All players have unrestricted access to all OmniSight commands. No permission checks are performed.
{
"permissionMode": "none"
}
"op"
Only players in the OP group (as defined by Hytale's PermissionsModule) can use OmniSight. All permission nodes are effectively gated behind OP status.
{
"permissionMode": "op"
}
"custom"
Each command checks its specific permission node against Hytale's PermissionsModule. This allows granular control, for example: all players can toggle HUD (omnisight.use) but only admins can access profiler (omnisight.profiler).
{
"permissionMode": "custom"
}
To assign permissions in custom mode, use Hytale's built-in permission system to grant nodes to players or groups.
Permission Check Flow
- Player runs
/omni <subcommand> omnisight.useis checked first (required for all subcommands)- If subcommand has its own node (example:
omnisight.settings), that node is checked additionally - If any check fails, player sees:
[Omnisight] No permission.
Migration from requiresOp
If config.json still contains legacy requiresOp:
requiresOp: trueis automatically converted topermissionMode: "op"requiresOp: falseis ignored (currentpermissionModeis kept)requiresOpis removed from the file on next save
No manual action is needed. Migration happens automatically on server start.