ExPerm provides a node based group and user permission manager for mod developers to provide server administrators with fine grained control over the features of their mods.
Permissions can be applied to groups or users. Any permission for a specific user overrides the value provided for the group.
For Example, let’s say we have a permission node “mymods.custom.permission”. We can deny access to that permission to an entire group, and then grant access to select members of that group.
experm group setperm mycustomgroup mymods.custom.permission false experm user setperm myusername
ExPerm adds a few server commands for administration of permissions. The permissions only apply to mods that implement the ExPerm permissions Manager.
Toggles the current user’s membership in the Super Admin group. A user in the Super Admin group will always return true from any call to isAllowed, effectively bypassing the Experm system. This group is temporary and will be reset on each server start.
The experm command allows a server administrator to view and modify the permission information.
experm, experm help Get additional information about ExPerm commands
experm nodes List all of the permission nodes registered with the ExPerm permission manager
experm user List all users registered with the ExPerm Manager
experm user info <SteamIdOrUsername> Show ExPerm information for the user with <SteamIdOrUsername>
experm user group <SteamIdOrUserName> <GroupName> Set the group for the user with <SteamIdOrUserName> to <GroupName>
experm user setperm <SteamIdOrUserName> <PermissionNode> <allowed> Set the permission <PermissionNode> for <SteamIdOrUsername> to the true/false value supplied in <allowed>
experm group List all groups registered with the ExPerm Manager
experm group info <GroupName> Show ExPerm information for the group with <GroupName>
experm group setperm <GroupName> <PermissionNode> <allowed> Set the permission <PermissionNode> for <GroupName> to the true/false value supplied in <allowed>
ExPerm provides a framework for mod developers to add fine grained control of the features of their mods.
//Register your custom permission with the PermissionManager SDTM.API.Permissions.RegisterPermission ("mymod.custom.permission");
//Check the permission of the current user SDTM.API.Permissions.isAllowed (_clientInfo, "mymod.custom.permission"); //specific permission SDTM.API.Permissions.isAllowed (_clientInfo, "mymod.custom.*"); //wildcard permission