7 min readUpdated Aug 15, 2026

How to Configure Roles and Privileges on Your Vintage Story Server

Roles control what each player can do on your server. Every player gets a role when they join, and that role carries a set of privileges. Privileges decide who can build, who can fly, who can ban, and who can claim land.

Your Vintage Story server ships with nine roles out of the box. You can assign them, edit them, or build your own from scratch.

Default Roles

CodeNamePrivilege LevelWhat It Does
suvisitorSurvival Visitor-1Can look around and chat. Cannot build or interact.
crvisitorCreative Visitor-1Can look around, chat, and fly. Cannot build or interact.
limitedsuplayerLimited Survival Player-1Can build and interact. Cannot claim land.
limitedcrplayerLimited Creative Player-1Same as above plus flight and game mode control.
suplayerSurvival Player0The default role. Can build, interact, and claim land.
crplayerCreative Player100Survival Player plus flight and game mode control.
sumodSurvival Moderator200Can kick, ban, announce, and build inside claimed areas.
crmodCreative Moderator500Survival Moderator plus flight, game mode, and player commands.
adminAdmin99999Every privilege, including granting admin to others.

Privilege Level

Privilege level ranks the role. A player can only act on players at a lower level, so a moderator cannot kick an admin.

Assigning a Role to a Player

  1. 1
    Log in to Bropanel and select your Vintage Story server.
  2. 2
    In the sidebar, go to Console.
  3. 3
    Type /player Username role rolecode. For example, /player Steve role sumod.

To make someone an admin, use the shortcut /op Username. To demote a player, assign the standard player role with /player Username role suplayer. Swap in your own DefaultRoleCode if you changed it. Our adding admins guide covers this in more detail.

Tip

Run /list role to see every role on your server, and /list privileges to see every privilege.

Changing the Default Role for New Players

New players join with the role set in DefaultRoleCode. Change it to control what first-time visitors can do.

  1. 1
    Log in to Bropanel and Stop your server.
  2. 2
    In the sidebar, go to Files.
  3. 3
    Open the data folder and edit serverconfig.json.
  4. 4
    Find DefaultRoleCode and set it to the role code you want.
  5. 5
    Save the file and Start your server.

Set it to suvisitor to hold new players in a read-only state until you promote them.

Granting and Revoking Privileges

You can change privileges on a whole role or on a single player.

To change a role, which affects every player in it:

  1. 1
    Log in to Bropanel and select your Vintage Story server.
  2. 2
    In the sidebar, go to Console.
  3. 3
    Type /role rolename privilege grant privilegename to add a privilege.
  4. 4
    Type /role rolename privilege revoke privilegename to remove one.

To change one player without touching their role:

  1. 1
    In the sidebar, go to Console.
  2. 2
    Type /player Username privilege grant privilegename to add a privilege.
  3. 3
    Type /player Username privilege revoke privilegename to remove one.

Note

Player privileges stack on top of the role. Use them for one-off exceptions and use roles for everything else.

Available Privileges

PrivilegeDescription
announceSend server-wide announcements.
areamodifyClaim and manage land areas.
attackcreaturesAttack creatures.
attackplayersAttack other players.
banBan and unban players.
buildPlace and break blocks in unprotected areas.
buildblockseverywherePlace and break blocks inside claimed areas.
chatSend messages in chat.
commandplayerRun commands that target other players.
controlplayergroupsJoin and leave player groups.
controlserverChange server settings and stop the server.
freemoveFly and move through blocks.
gamemodeChange game mode.
giveSpawn items and blocks.
grantrevokeGrant and revoke privileges.
kickKick players from the server.
manageotherplayergroupsManage groups owned by other players.
manageplayergroupsCreate and manage their own player groups.
pickingrangeUse an extended block reach distance.
readlistsView server lists such as clients, bans, and roles.
rootFull access that bypasses privilege checks.
selfkillUse the /kill command on themselves.
setspawnSet the world spawn point.
setwelcomeSet the welcome message.
timeChange world time and time speed.
tpTeleport.
useblockInteract with blocks in unprotected areas.
useblockseverywhereInteract with blocks inside claimed areas.
whitelistManage the whitelist.

Role Settings

Each role in serverconfig.json uses the settings below.

SettingDescription
CodeThe role ID used in commands. Must be unique.
NameThe role name shown in game.
DescriptionA short explanation of the role shown in game.
PrivilegeLevelThe rank of the role. Higher levels outrank lower ones.
PrivilegesThe list of privileges granted to the role.
RuntimePrivilegesPrivileges granted at runtime and not saved to the config.
DefaultSpawnA spawn point for the role that replaces the world spawn.
ForcedSpawnA spawn point that overrides every other spawn type.
DefaultGameModeThe starting game mode. 0 is Guest, 1 is Survival, 2 is Creative, 3 is Spectator.
ColorThe color of the player name in chat.
LandClaimAllowanceTotal volume in cubic meters each player may claim.
LandClaimMinSizeThe smallest cuboid a player may claim, set with X, Y, and Z.
LandClaimMaxAreasThe number of separate areas a player may claim.
AutoGrantGrants every registered privilege when set to true.

Editing Roles in serverconfig.json

  1. 1
    Log in to Bropanel and Stop your server.
  2. 2
    In the sidebar, go to Files.
  3. 3
    Open the data folder and edit serverconfig.json.
  4. 4
    Find the Roles section and edit the role you want.
  5. 5
    Save the file and Start your server.

Here is the default suplayer role for reference:

{
  "Code": "suplayer",
  "PrivilegeLevel": 0,
  "Name": "Survival Player",
  "Description": "Can use/place/break blocks in unprotected areas (priv level 0), create/manage player groups and chat. Can claim an area of up to 8 chunks.",
  "DefaultSpawn": null,
  "ForcedSpawn": null,
  "Privileges": [
    "controlplayergroups",
    "manageplayergroups",
    "chat",
    "areamodify",
    "build",
    "useblock",
    "attackcreatures",
    "attackplayers",
    "selfkill"
  ],
  "RuntimePrivileges": [],
  "DefaultGameMode": 1,
  "Color": "White",
  "LandClaimAllowance": 262144,
  "LandClaimMinSize": {
    "X": 5,
    "Y": 5,
    "Z": 5
  },
  "LandClaimMaxAreas": 3,
  "AutoGrant": false
}

Caution

Stop your server before you edit serverconfig.json. A running server rewrites the file on shutdown and wipes your changes.

Creating a Custom Role

Add a new object to the Roles array with a unique Code. The example below builds a trusted builder role that sits above a normal player and below a moderator.

{
  "Code": "builder",
  "PrivilegeLevel": 50,
  "Name": "Builder",
  "Description": "Trusted builder with a larger land claim allowance and creative mode.",
  "DefaultSpawn": null,
  "ForcedSpawn": null,
  "Privileges": [
    "controlplayergroups",
    "manageplayergroups",
    "chat",
    "areamodify",
    "build",
    "useblock",
    "gamemode",
    "freemove",
    "attackcreatures",
    "attackplayers",
    "selfkill"
  ],
  "RuntimePrivileges": [],
  "DefaultGameMode": 2,
  "Color": "Cyan",
  "LandClaimAllowance": 1048576,
  "LandClaimMinSize": {
    "X": 5,
    "Y": 5,
    "Z": 5
  },
  "LandClaimMaxAreas": 10,
  "AutoGrant": false
}

Save the file, start your server, then assign it with /player Username role builder.

Tip

Copy an existing role and edit it instead of writing one from scratch. That keeps the formatting valid and saves you from a broken config.

Setting Land Claim Limits

You can change land claim limits from the console without editing files.

CommandDescription
/role rolename landclaimallowance valueSets the total claimable volume in cubic meters.
/role rolename landclaimmaxareas valueSets how many separate areas a player may claim.
/role rolename landclaimminsize x y zSets the smallest cuboid a player may claim.
/role rolename spawnpoint x y zSets a spawn point for the role.

For example, /role suplayer landclaimmaxareas 5 lets every survival player hold five separate claims.

If you get stuck at any time, you can reach out to us on Discord.