Table of Contents

Enum ServerPermission

Namespace
McServerLauncher.Models
Assembly
McServerLauncher.dll

One thing a person may be allowed to do on a shared server.

[Flags]
public enum ServerPermission : long

Fields

EditSettings = 32

Change the server's configuration.

ManageBackups = 16

Create and restore world backups.

ManageContent = 128

Install and remove mods and plugins — arbitrary code on the host.

ManageMembers = 256

Invite people and change their role or overrides.

ManagePlayers = 8

Whitelist, bans and operators.

None = 0
OwnerActions = 512

Transfer the server to somebody else, or delete it. Only the owner ever has this.

RunCommands = 64

Send free-form console commands.

StartStop = 4

Start, stop and restart.

ViewConsole = 2

Read the console.

ViewStatus = 1

See whether the server is up, its address and who is connected.

Remarks

A set of these is a bit mask, so a role, an override and a person's effective rights are all the same type and combining them is a plain | and &. The numbers are an in-memory detail: anything that leaves the process (the cloud, a file) uses the stable ids in ServerAccessCatalog, so a member can be added on the end without renumbering anything.

There is one entry per decision somebody might want to take away from somebody else, not one per button. Two of them — RunCommands and ManageContent — are Critical: both end, one way or another, in code running on the host PC.