About Permission Manager
xPermissionManager
A modern, intuitive, and powerful permission management tool for Rust servers.
xPermissionManager provides a complete visual interface for managing user and group permissions directly ingame. No more console commands, guesswork, or digging through permission lists. Everything is organized, accessible, and easy to control through an straight forward UI.
Whether you're adjusting a single permission, overseeing full group structures, or assigning temporary access, xPermissionManager gives server owners a fast and efficient possibility to do so.
Plugin Preview (Video)
Full Permission Control
- Grant or revoke any permission from groups or individual players.
Timed Permission System
- Assign temporary permissions that automatically expire (e.g., 30m, 1h, 1d, 1w, custom durations).
Timed Group Memberships
- Add players to groups for a limited time - Perfect for kits, VIP, special events or whatever.
Comprehensive UI
- A clean and intuitive interface for browsing permissions, switching groups, managing users, and applying timed access.
User & Group Browsing
- View all available groups, check individual player permissions, and toggle them instantly.
Clear Feedback
- Every change is acknowledged with clear messages to help admins avoid mistakes.
Permission
xpermissionmanager.use // Allows a player to open and use the xPermissionManager UI
Chat Commands
/xpm /xpmuser <name or steamID> /xpmtimed /xpmgroups
/xpm [Opens the Permission Manager UI] PERMISSION OR ADMIN REQUIRED
/xpmuser <name or steamID> [Opens the UI for managing a specific player’s permissions/groups] PERMISSION OR ADMIN REQUIRED
/xpmtimed [Shows all active timed permissions for a player. Includes remaining duration and whether they came from a group]
/xpmgroups [Shows all active timed group memberships for a player]
Console Commands
/* Gives a permission to a user */ xpm.giveuserperm <steamId> <permission> /* Revokes a permission from a user */ xpm.revokeuserperm <steamId> <permission> /* Gives a permission to a group */ xpm.givegroupperm <groupName> <permission> /* Revokes a permission from a group */ xpm.revokegroupperm <groupName> <permission> /* Adds a user to a group */ xpm.addusertogroup <steamId> <groupName> /* Removes a user from a group */ xpm.removeuserfromgroup <steamId> <groupName> /* Gives a timed permission to a user (supports 30m, 2h, 7d, 3w, 1y etc.) */ xpm.giveusertimed <steamId> <permission> <duration> /* Gives a timed permission to a group (supports 30m, 2h, 7d, 3w, 1y etc.) */ xpm.givegrouptimed <groupName> <permission> <duration> /* Removes timed permission entries for a user (Does NOT revoke normal permission!) */ xpm.revokeusertimed <steamId> <permission> /* Removes timed permission entries for a group (Does NOT revoke normal permission!) */ xpm.revokegrouptimed <groupName> <permission> /* Returns remaining timed minutes for a user permission */ xpm.getusertimedremaining <steamId> <permission> /* Returns remaining timed minutes for a group permission */ xpm.getgrouptimedremaining <groupName> <permission> /* Lists all timed permissions active for a user */ xpm.listusertimed <steamId> /* Lists all timed permissions active for a group */ xpm.listgrouptimed <groupName>
</> API
/* Gives a permission to a user */ bool API_GiveUserPermission(string userId, string perm) /* Revokes a permission from a user (also removes any timed entry) */ bool API_RevokeUserPermission(string userId, string perm) /* Checks if a user effectively has a permission */ bool API_UserHasPermission(string userId, string perm) /* Gives a permission to a group */ bool API_GiveGroupPermission(string group, string perm) /* Revokes a permission from a group (also removes any timed entry) */ bool API_RevokeGroupPermission(string group, string perm) /* Checks if a group effectively has a permission */ bool API_GroupHasPermission(string group, string perm) /* Adds a user to a group */ bool API_AddUserToGroup(string userId, string group) /* Removes a user from a group */ bool API_RemoveUserFromGroup(string userId, string group) /* Checks if a user is in a group */ bool API_IsUserInGroup(string userId, string group) /* Gives a timed permission to a user */ bool API_GiveUserTimedPermission(string userId, string perm, double minutes) /* Gives a timed permission to a group */ bool API_GiveGroupTimedPermission(string group, string perm, double minutes) /* Returns remaining minutes for a timed user permission */ double API_GetUserTimedPermissionRemaining(string userId, string perm) /* Returns remaining minutes for a timed group permission */ double API_GetGroupTimedPermissionRemaining(string group, string perm) /* Returns all timed permissions of a user */ Dictionary<string, double> API_GetAllUserTimedPermissions(string userId) /* Returns all timed permissions of a group */ Dictionary<string, double> API_GetAllGroupTimedPermissions(string group) /* Removes timed permissions for a user (Does NOT revoke normal permission!) */ bool API_RemoveUserTimedPermission(string userId, string perm) /* Removes timed permissions for a group (Does NOT revoke normal permission!) */ bool API_RemoveGroupTimedPermission(string group, string perm)
