Roles hold admin permission nodes. Every user has exactly one role. A fresh install creates four roles: User, Support, Moderator and Administrator. Administrator gets admin.root.
The first account registered on a new panel is put in the Administrator role.
Checks are exact string matches. There are no wildcards: admin.root is the only node that grants everything.
Role permissions are cached (Redis, or files when Redis is down) and the cache is invalidated whenever a role's permissions change.
Admins with admin.root or one of admin.servers.view, admin.servers.edit or admin.servers.delete can open any game server from the client area.
Subuser permissions are separate. They are granted per server (or per WebSpace) by its owner and only apply there.
API keys inherit the permissions of the user who created them. See API authentication.
Shown on the server's Subusers page. The server owner always has all of them.
WebSocket
Node
Name
Allows
websocket.connect
Connect
Allows a user to connect to the server console via WebSocket.
Control
Node
Name
Allows
control.console
Console
Allows a user to send commands to the server instance via the console.
control.start
Start
Allows a user to start the server if it is stopped.
control.stop
Stop
Allows a user to stop a server if it is running.
control.restart
Restart
Allows a user to perform a server restart. This allows them to start the server if it is offline, but not put the server in a completely stopped state.
User
Node
Name
Allows
user.create
Create
Allows a user to create new subusers for the server.
user.read
Read
Allows the user to view subusers and their permissions for the server.
user.update
Update
Allows a user to modify other subusers.
user.delete
Delete
Allows a user to delete a subuser from the server.
File
Node
Name
Allows
file.create
Create
Allows a user to create additional files and folders via the Panel or direct upload.
file.read
Read
Allows a user to view the contents of a directory, but not view the contents of or download files.
file.read-content
Read Content
Allows a user to view the contents of a given file. This will also allow the user to download files.
file.update
Update
Allows a user to update the contents of an existing file or directory.
file.delete
Delete
Allows a user to delete files or directories.
file.archive
Archive
Allows a user to archive the contents of a directory as well as decompress existing archives on the system.
file.sftp
SFTP
Allows a user to connect to SFTP and manage server files using the other assigned file permissions.
Backup
Node
Name
Allows
backup.create
Create
Allows a user to create new backups for this server.
backup.read
Read
Allows a user to view all backups that exist for this server.
backup.delete
Delete
Allows a user to remove backups from the system.
backup.download
Download
Allows a user to download a backup for the server. Danger: this allows a user to access all files for the server in the backup.
backup.restore
Restore
Allows a user to restore a backup for the server. Danger: this allows the user to delete all of the server files in the process.
Allocation
Node
Name
Allows
allocation.read
Read
Allows a user to view all allocations currently assigned to this server. Users with any level of access to this server can always view the primary allocation.
allocation.create
Create
Allows a user to assign additional allocations to the server.
allocation.update
Update
Allows a user to change the primary server allocation and attach notes to each allocation.
allocation.delete
Delete
Allows a user to delete an allocation from the server.
Startup
Node
Name
Allows
startup.read
Read
Allows a user to view the startup parameters for a server.
startup.update
Update
Allows a user to modify startup parameters for a server.
startup.docker-image
Update Docker Image
Allows a user to modify the Docker image used for a server.
Templates
Node
Name
Allows
templates.read
Read
Allows a user to view available server templates.
templates.install
Install
Allows a user to install templates on the server.
Database
Node
Name
Allows
database.create
Create
Allows a user to create new databases for this server.
database.read
Read
Allows a user to view all databases that exist for this server.
database.update
Update
Allows a user to view passwords for databases.
database.delete
Delete
Allows a user to remove databases from the system.
database.view_password
view_password
Schedule
Node
Name
Allows
schedule.create
Create
Allows a user to create new schedules for this server.
schedule.read
Read
Allows a user to view all schedules that exist for this server.
schedule.update
Update
Allows a user to modify schedules for a server.
schedule.delete
Delete
Allows a user to remove schedules from the system.
Settings
Node
Name
Allows
settings.rename
Rename
Allows a user to rename a server.
settings.change-egg
change-egg
settings.reinstall
Reinstall
Allows a user to trigger a server reinstallation.
Activity
Node
Name
Allows
activity.read
Read
Allows a user to view server activity.
Subdomain
Node
Name
Allows
subdomain.manage
Manage
Allows a user to create, update, delete, and sync subdomains for this server.
Firewall
Node
Name
Allows
firewall.read
Read
Allows a user to view the firewall rules for this server.
firewall.manage
Manage
Allows a user to create, update, and delete firewall rules for this server.
Proxy
Node
Name
Allows
proxy.read
Read
Allows a user to view the proxy rules for this server.
proxy.manage
Manage
Allows a user to create, update, and delete proxy rules for this server.
Import
Node
Name
Allows
import.read
Read
Allows a user to view server imports.
import.manage
Manage
Allows a user to create and manage server imports.
WebSpace subuser permissions
WebSpaces (web hosting) have their own set, defined in WebSpaceSubuserPermissions.php.