Why?
Giving someone Admin on your server with ownerid <steamid>
is enough to spawn in items, however uMod and the oxide plugin ecosystem have a different permissions system that requires explicit access to every command.
Granting and revoking permissions
To grant permissions use oxide.grant <"user" or "group"> <name or ID> <permission>
and to revoke a permission (remove access) use oxide.revoke <"user" or "group"> <name or ID> <permission>
For example oxide.grant user Kevin vanish.allow
. vanish.allow is a permission for the Vanish plugin that lets users go invisible. We specify user, as Kevin is a user on our server - This is required because a group named mod
and a user named Mod
can exist on the server at the same time with different permissions.
To remove access we’d use oxide.revoke Kevin vanish.allow
.
You can use a username, a partial username (assuming it’s unique to one player on your server at that time), a SteamID or the name of a uMod group you create.
What are Groups?
Groups are something that you can use to allow users access to many commands and permissions at once.
Create a group, give that group permissions - Say you created a ‘moderator’ group, then give users the group role and they have access to the group’s permission set.
This is useful to create admin
, moderator
, VIP
, donator
and other roles on your server.
Group commands
Create a group with oxide.group add <groupname>
. Delete the group with oxide.group remove <groupname>
. For example oxide.group add vip
Give permissions to the group as you would another user, with one small change: using group
instead of user
. For example oxide.grant group vip vanish.allow
.
You can add a title or rank for a group for use as a tag next to the user in chat, and more. This can be done with oxide.group set vip "[VIP Member]"
.
To add people to this group use oxide.usergroup add <name or id> <group>
, and remove with oxide.usergroup remove <name or id> <group>
, such as oxide.usergroup add Kevin moderators
.
Advanced group commands
You can also add a group to another group, to share permissions from the parent to the child. For example: We can add admins
to the moderators
group, so they automatically have permission to all the same commands as the moderators
currently do.
Say the moderators
and admins
group exist, we can give permissions to moderators
and add admins
as a child to the moderators
group.
We can do this with oxide.group parent <parent group> <child group>
, so in our example: oxide.group parent moderators admins
.
The reasons we are adding admins
as a child to moderators
is because moderators would have access to fewer commands than the admins, but they should have access to the lower tier’s commands as well as their own.
From here, anything we do to the moderators
group is automatically applied to users in the admins
group.
Group and Permission management
You can view all groups with oxide.show groups
, and all permissions with oxide.show perms
.
You can view which users and groups have access to a specific permission by using oxide.show perm <permission>
. You can see what permissions a user or group has with oxide.show user <name or id>
and oxide.show group <name or id>
.
Wildcards
Wildcards can be used at all levels.
You can give someone (or a group) access to EVERY permission by using oxide.grant <"user" or "group"> <name or id> *
, such as oxide.grant user Kevin *
.
This is an obviously dangerous thing to do. You can narrow it down to all Oxide commands by using oxide.*
instead, or vanish.*
for all permissions in the vanish
plugin. Such as oxide.grant user Kevin oxide.*
.
Tip
You can also use o.
instead of oxide.
in your commands to simplify life a little.
More reading
If you haven’t got a Rust server setup, check my Rust Dedicated Server Guide.
See also installing uMod and plugins for your Rust server, as well as the other Rust Articles on this website.