Permissions
Oxide offers a substantial API to control user access with permissions and groups
Basic usage
For a primer on how to use permissions as a server owner, please consult the Using the Oxide permissions system tutorial.
Most plugins can benefit from some permissions. Below is a basic example of how to register a permission and check if a player has that permission assigned to them.
namespace Oxide.Plugins
{
[Info("Epic Stuff", "Unknown Author", "0.1.0")]
[Description("Makes epic stuff happen")]
class EpicStuff : CovalencePlugin
{
private void Init()
{
permission.RegisterPermission("epicstuff.use", this);
}
private void OnUserConnected(IPlayer player)
{
if (player.HasPermission("epicstuff.use"))
{
// Player has permission, do special stuff for them
}
}
}
}
API
Groups
Get all groups
string[] groups = permission.GetGroups();
Check if group exists
bool GroupExists = permission.GroupExists("GroupName");
Create a group
bool GroupCreated = permission.CreateGroup("GroupName", "Group Title", 0);
Remove a group
bool GroupRemoved = permission.RemoveGroup("GroupName");
Check if group has a permission
bool GroupHasPermission = permission.GroupHasPermission("GroupName", "epicstuff.use");
Grant permission to a group
permission.GrantGroupPermission("GroupName", "epicstuff.use", this);
Revoke permission from a group
permission.RevokeGroupPermission("GroupName", "epicstuff.use");
Get the rank for a group
int GroupRank = permission.GetGroupRank("GroupName");
Get the title for a group
string GroupTitle = permission.GetGroupTitle("GroupName");
Get parent group for a group
string GroupParent = permission.GetGroupParent("GroupName");
Get permissions for a group
string[] permissions = permission.GetGroupPermissions("GroupName", false);
Migrate group
permission.MigrateGroup("OldGroupName", "NewGroupName");
Users
Get permissions granted to player
string[] UserPermissions = permission.GetUserPermissions("playerID");
Check if player has a permission
bool UserHasPermission = permission.UserHasPermission("playerID", "epicstuff.use");
Add player to a group
permission.AddUserGroup("playerID", "GroupName");
Remove player from a group
permission.RemoveUserGroup("playerID", "GroupName");
Check if player is in a group
bool UserHasGroup = permission.UserHasGroup("playerID", "GroupName");
Grant permission to a player
permission.GrantUserPermission("playerID", "epicstuff.use", this);
Revoke permission from a player
permission.RevokeUserPermission("playerID", "epicstuff.use");
Server
Get all registered permissions
string[] permissions = permission.GetPermissions();
Check if a permission exists
bool PermissionExists = permission.PermissionExists("epicstuff.use", this);
Register a permission
permission.RegisterPermission("epicstuff.use", this);