ExPerm

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.

How are the nodes applied?

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.

Server commands:

experm group setperm mycustomgroup mymods.custom.permission false
experm user setperm myusername

ExPerm for Server Administrators

ExPerm adds a few server commands for administration of permissions. The permissions only apply to mods that implement the ExPerm permissions Manager.

expermad

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.

expermad

experm

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 for Dedicated Server Mod Developers

ExPerm provides a framework for mod developers to add fine grained control of the features of their mods.

Registering Permissions

//Register your custom permission with the PermissionManager
SDTM.API.Permissions.RegisterPermission ("mymod.custom.permission");

Checking Permissions

//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