This repository contains the metauni administration tools. If you are running your own server, you should familiarise yourself with the Roblox rules and Discord Terms of Service. If you observe users breaking Roblox rules, for example harrassing other users or engaing in offensive behaviour, you should report them using the Roblox tools that can be accessed via Escape
.
For less serious matters, you can use the Admin Commands.
We have a ChatModule which extends the functionality of the in-game chat commands. Commands can be executed by chosen adminstrators by opening chat and entering the command. The module depends on a permission table stored in a persistent DataStore, which associates each Roblox user ID with a permission level (an integer), and is perserved between server restarts and even when updating your world.
level | role | about |
---|---|---|
<0 | banned | Instantly kicked when joining your world |
0 | guest | the default permission level |
50 | scribe | Can still draw when boards turned off |
254 | admin | Can execute all commands |
Each higher role in this hierchary accumulates any abilities of lower (non-negative) roles.
The owner of a private server always has admin privileges. If the creator of an experience is a user, that user will always have admin privileges in any public server (not in a private server). If the creator of an experience is a group, the ranks of members of that group will by default determine permissions in any public server (not in private servers). For example, in any public metauni server any members of the metauni Roblox group with the Scribe role will have permission level at least 50
. But in a private server only the owner of the server has any nonzero permission level by default.
To install AdminCommands, download a release from this GitHub repository and drag the rbxmx
file into your Workspace
in Roblox Studio. This will add a folder called ChatModules
which you should drag into the top-level folder Chat
.
Enter your Roblox world to read about and try the commands. When an admin joins, they are reminded they can get a list of commands by chatting /helpadmin
or command-specific help by adding a ?
after the command, e.g. /ban?
. The usage of the commands themselves is all documented within Roblox chat itself, so here we will just give an overview.
Ban management is achieved using the /ban
, /unban
, /kick
, /banstatus
commands. /ban
lowers a players permission level to -1
, kicks them from the game and rekicks them whenever they rejoin. This is a permanent ban that persists between server restarts and updates, and can be undone by /unban
, which resets their permission level to 0
(unless they weren't banned). /banstatus
can be used to check if someone is banned, and /kick
can be used to kick them from the world temporarily (they can rejoin immediately).
We encourage administrators to be particularly careful about the use of whiteboards since some usages of these fall outside the Roblox rules (for example, the whiteboards should not be used as an alternative chat system, or used to post Discord links, URLs or offensive images, or in general to bypass the Roblox filtration system). You can use the metauni admin tools to turn whiteboards on or off, so that they are only enabled at particular times under the supervision of administrators or their delegates.
Drawing on whiteboards can be disabled for guests with the /boards off
command and reactivated with /boards on
. This setting is preserved between server restarts and updates, so you may choose to leave the boards disabled when you're not around. This setting has no effect on scribes and admins, so you can assign the scribe role to, for example, guest speakers, or anyone you trust without giving them the admin role.
Managing roles/permission levels is done via the /setadmin
, /setscribe
, /setguest
, /setperm
, /getperm
commands. Chat /setperm?
or /getperm?
for a list of roles/permission levels.
You can manage permissions via a Roblox group, using /setrobloxgroup ID
where ID
is the identification number of your group, obtained from its URL on the Roblox group page. Use /setrobloxgroup 0
to disable the link to the Roblox group. The Admin Commands will assign to every player in the experience which is also a group member the permission level given by their rank in the group.
The Admin Commands also looks for special roles Scribe
and Admin
in your Roblox group, and uses the ranks of those groups to manage the cutoffs for scribes and admins in your experience (which are by default 50
and 254
respectively).
If the Roblox experience was created by a group, then by default the Admin Commands will import permissions from that group, but you can set a different group using setrobloxgroup
.
Some notes:
-
Note that if you disable the link, permissions from the Roblox group will have already been written into the DataStore, so e.g. any admins in your Roblox group will have admin privileges in your experience even after you turn off the link with
/setrobloxgroup 0
. You will have to manually change the permissions to the desired settings. -
If you change the Roblox group permissions the settings in a live server will not immediately change, but you can force them to reload by running
/setrobloxgroup ID
again.
The metaadmin.rbxmx
file is generated like this
rojo build --output "build.rbxlx"
remodel run admin_packager.lua
The first command builds a place file according to default.project.json
.
The second command uses remodel to extract the ChatModules
folder as an rbxmx
file.