Vintage Story Server Commands: Full List and Privileges
Grant admin with /op, then run every Vintage Story server command — roles and privileges, world and player control, land claims, moderation and client dot-commands.
Vintage Story gates commands behind a role-and-privilege system rather than a simple admin flag, so most "command not working" problems are really permission problems. This guide covers that model, how to grant yourself admin on a fresh server, and the server and client command sets.
1. Where Commands Are Typed
The prefix tells you which command set you are in.
| Prefix | Set | Runs on | Example |
|---|---|---|---|
/ |
Server commands | The server — affects the world and other players | /gamemode creative |
. |
Client commands | Your own game client only | .viewdistance 800 |
Both are typed into the in-game chat window (default key T). Server commands also run from the server console — the terminal the dedicated server runs in — and from StartupCommands in serverconfig.json.
The console is a caller, not a player
Console commands run as "Console Admin" and skip privilege checks, but no player is attached. Anything the game marks
RequiresPlayer— most of/weather, all of/waypoint,/whenwillitstopraining, and anything using thes[]self-selector — fails there. Run those from in-game chat as an admin.
/help lists every server command your role can run, and /help <command> gives its syntax. .chb opens the in-game command handbook, which is generated from the running build — the official wiki's command list is still tagged for version 1.15, so .chb wins any disagreement.
2. Roles and Privileges
Vintage Story has no numbered admin levels. It has roles, each a named bundle of privileges, defined in the Roles array of serverconfig.json. DefaultRoleCode sets what new players get, and it ships as suplayer.
| Role code | Name | Priv. level | Default mode | Claim allowance (m³) |
|---|---|---|---|---|
suvisitor |
Survival Visitor | -1 | Survival | 0 |
crvisitor |
Creative Visitor | -1 | Creative | 0 |
limitedsuplayer |
Limited Survival Player | -1 | Survival | 0 |
limitedcrplayer |
Limited Creative Player | -1 | Creative | 0 |
suplayer |
Survival Player (default) | 0 | Survival | 262,144 |
crplayer |
Creative Player | 100 | Creative | 1,310,720 |
sumod |
Survival Moderator | 200 | Survival | 1,310,720 |
crmod |
Creative Moderator | 500 | Creative | 1,310,720 |
admin |
Admin | 99999 | Survival | 2,147,483,647 |
Privilege level is not a command rank — it is the level at which a player may build in protected areas. The -1 roles cannot touch protected ground at all; admin at 99999 overrides everything, and is the only default role with AutoGrant: true, so any privilege registered at runtime by the engine or a mod is granted to it automatically.
These are the privileges the engine defines:
| Privilege | Allows |
|---|---|
build / useblock |
Place or break blocks / interact with them |
buildblockseverywhere / useblockseverywhere |
Same, ignoring area permissions (still needs creative mode) |
attackplayers / attackcreatures |
Damage players / non-player creatures |
freemove / gamemode / pickingrange |
Fly and change speed / set own game mode / set own picking range |
chat / selfkill |
Use chat / use /kill |
kick / ban / whitelist |
Kick, ban and unban, whitelist and unwhitelist |
announce / setwelcome |
Server-wide announcements / set the welcome message |
readlists |
View client, group, ban and area lists |
give |
Create items and blocks from a code |
areamodify / setspawn |
Claim land / set the default spawn |
tp / time |
Teleport / read and modify world time |
controlserver |
Restart or shut down the server, reload mods |
commandplayer |
Run a command targeting another player |
grantrevoke |
Set player roles, grant and revoke privileges |
root |
Everything |
controlplayergroups / manageplayergroups / manageotherplayergroups |
Join and op own groups / create and disband them / modify other players' groups |
grantrevokecannot promote anyone above its holderA player with
grantrevokemay only assign a role at their own privilege level or lower, and only hand out privileges they already hold. That is what stops a moderator quietly making themselves admin.
Mods extend this list — the vanilla survival mod itself registers denybreakreinforced at runtime. /list privileges and /list role show the live set on your own server.
3. Granting Yourself Admin
Nobody becomes admin automatically
There is no "first player to join is the owner" rule. On your own new server you get
suplayer, which cannot manage privileges, so the first grant must come from the console orserverconfig.json— never from in-game chat.
/op <playername> is an alias for /player <playername> role admin. On a dedicated server, run it from the console:
/whitelist add YourPlayerName
/op YourPlayerName Dedicated servers enforce the whitelist by default (WhitelistMode 0 means on for dedicated, off for singleplayer-open-to-LAN), so on a new box you usually need the whitelist line before you can connect at all. With no interactive console, put the commands in serverconfig.json instead — they run on next boot, separated by line breaks:
"StartupCommands": "/whitelist add YourPlayerName \n /op YourPlayerName", On the GameServerKings panel
The Console tab in your panel is a live server console, so
/op YourPlayerNamethere is the fastest route — no file edit, no restart.
There is no
/deopDemote with
/player <playername> role suplayer. Revoking single privileges fromadminwill not stick either, becauseAutoGrantre-grants them.
4. Player and Entity Selectors
Most player-targeting commands accept a selector instead of a name, which turns one-at-a-time moderation into a single command.
| Selector | Targets |
|---|---|
playername |
One player by name (alias for a[name=playername]) |
s[] |
The calling player |
o[] |
All online players |
a[] |
Everyone who has ever logged in |
Bracketed selectors take filters: role, name, group, namematches (glob wildcard) and range (max distance from the caller). So o[namematch=b*,range=10,role=admin] selects online admins within 10 blocks whose name starts with b.
/entity uses its own filters — s[] self, l[] the entity you are looking at, p[] all players, e[] all entities — narrowed by name, type, class, alive, range and minx/maxx-style volume bounds, e.g. e[type=gazelle,range=3,alive=true].
5. Managing Players and Roles
/player acts on one player; /role edits the role definition and so affects everyone holding it.
| Command | What it does |
|---|---|
/player <name> role [rolename] |
Show or set the player's role |
/player <name> privilege [grant|revoke] [priv] |
List, grant or revoke individual privileges |
/player <name> stats / gamemode <0-3> / whitelist [on] |
Privilege summary / show or set game mode / whitelist state |
/player <name> clearinv / wipedata |
Clear inventory / wipe all player data |
/player <name> movespeed <v> / allowcharselonce |
Set move speed / allow one more class re-pick |
/player <name> landclaimallowance|landclaimmaxareas <0-9999> |
Extra claim volume or count on top of the role's |
/player <name> entity |
Show position, satiety and health |
/player <name> entity health|maxhealth|satiety|temp|intox <v> |
Set that stat directly |
/player <name> entity maxoxygen <ms> |
Breath timer in milliseconds (default 20000) |
/role <rolename> privilege grant|revoke <priv> |
Add or remove a privilege from the role |
/role <rolename> spawnpoint <x> [y] <z> |
Role-specific spawn point |
/role <rolename> landclaimallowance <m³> / landclaimmaxareas <n> |
Max claimable volume (default 131072 = 4 chunks) / max non-adjacent claims (default 3) |
/role <rolename> landclaimminsize <x y z> |
Smallest claimable cuboid (default 6x6x6) |
/role crplayer privilege grant buildblockseverywhere
/role crplayer landclaimallowance 2621440
/role crplayer landclaimmaxareas 12
/autosavenow 6. Moderation, Bans and Whitelist
| Command | Privilege | What it does |
|---|---|---|
/kick <name> [reason] |
kick |
Kick a player |
/ban <name> [reason] / /unban <name> |
ban |
Ban or lift a ban |
/whitelist add <name> |
whitelist |
Add a player to the whitelist |
/list clients|banned|role|privileges |
readlists |
Connected clients, bans, roles, privileges |
/announce <message> |
announce |
Server-wide message in all chat groups |
/pm <name> <message> |
chat |
Private message (creates a temporary group) |
Enforcement is a server setting, not a per-player one: /serverconfig whitelistmode default|off|on (or 0|1|2). The old OnlyWhitelisted key no longer controls enforcement and can be ignored.
7. Game Mode, Teleporting and Items
| Command | What it does |
|---|---|
/gamemode <0-3> (alias /gm) |
0 guest, 1 survival, 2 creative, 3 spectator |
/gamemode <playername> <0-3> |
Set another player's mode (needs commandplayer) |
/tp <x> <y> <z> / =x =y =z / ~x ~y ~z |
Teleport to pretty, absolute (Ctrl+F3) or relative coordinates |
/tp <playername> [coords] |
Teleport to a player, or send that player elsewhere |
/tpwp <name> |
Teleport to a waypoint whose name starts with <name> |
/giveblock <blockcode>[{attrs}] [qty] [toplayer] |
Give a block; attributes are JSON in braces, no space |
/giveitem <itemcode> [qty] [toplayer] [attrs] |
Give an item |
/clearinv / /kill |
Empty your inventory / kill your character |
/emote <wave|cheer|shrug|cry|nod|facepalm|bow|laugh|rage> |
Play an emote |
/charsel |
Reopen the character selection menu |
/waypoint add|addp|addat|addati|modify|remove|list|deathwp |
Manage your map waypoints |
Mode names shorten to any unambiguous length, so /gm cr works, and recipients of /giveitem need a free inventory slot or the stack is lost. /waypoint needs only the chat privilege, so ordinary players get it; deathwp toggles an automatic waypoint where you die, and colours may be any .NET colour name or hex code.
8. Land Claims, Groups and Reinforcement
Claims are the main anti-griefing tool, built from one or more adjacent cuboids.
| Command | What it does |
|---|---|
/land list / /land info |
Your claims with their index numbers / who owns the spot you are on |
/land free <index> / /land adminfree |
Delete your claim / delete another player's at your position |
/land claim new / start / end |
Begin a claim, then mark the corners of a cuboid |
/land claim grow|shrink <dir> <-99..99> |
Resize the selected cuboid |
/land claim fullheight / add |
Extend it world bottom to top / add it to the claim |
/land claim grant|revoke <player> [use|all] |
Grant or revoke access; use interacts only, all adds build rights |
/land claim grantgroup|revokegroup <group> [use|all] |
Same for a player group |
/land claim allowuseeveryone <true|false> |
Open or close use access to everyone |
/land claim save [desc] / cancel / load <0-999> |
Save, discard, or reopen a claim for editing |
/group create|disband|rename|invite|acceptinvite|leave|list|info|kick|op|deop |
Player groups — private chat channels you can also grant claims to |
/bre and /gbre grant|revoke|grantgroup|revokegroup |
Access to your own, or your group's, reinforced blocks |
/bre and /gbre need only the chat privilege — reinforcement permissions are managed by players, not admins.
9. Time, Weather and Temporal Storms
Time commands can damage a world
The official wiki carries an explicit warning that modifying time with commands frequently has unwanted side effects. Test
/timeon a throwaway world, or take a/genbackupfirst.
| Command | What it does |
|---|---|
/time / /time set <hours> |
Show the time / set the clock, 24-hour decimal (1.5 = 01:30) |
/time set <preset> |
midnight 0, witchinghour 3, sunrise 6.5, morning 8, latemorning 10, day/lunch 12, afternoon 14, sunset 17.5, night 20, latenight 22 |
/time setmonth <jan…dec> / add <h>:<m> / stop / resume |
Set the month, advance the calendar, freeze or resume time |
/time speed <0-9999> / hoursperday / calendarspeedmul |
Time speed (default 60), hours per day (24), calendar multiplier (0.5) |
/weather / /weather lp |
Print current weather stats / list loaded patterns |
/weather setprecip <-1..1> / setprecipa |
Override precipitation (-1 clears clouds, 1 heaviest rain) / release the override |
/weather stoprain / acp |
Skip to a time with no rain / toggle auto-changing patterns |
/weather t / c |
Transition to a random pattern, slowly or quickly |
/weather set|seti <pattern> / setir <pattern> / setirandom |
Set a pattern instantly — globally, region-only, or random |
/weather setev|setevr <event> / randomevent |
Weather event globally or per-region / random event |
/weather setw <lightbreeze|mediumbreeze|still|storm|strongbreeze> |
Set the wind pattern |
/whenwillitstopraining / /dweather [reset] |
When the rain stops / show or reset rift activity |
/nexttempstorm [now] |
Days until the next temporal storm, or start one immediately |
/weather setprecip is permanent until you undo it — the server stays in that rain state indefinitely and it survives a restart. Clear it with /weather setprecipa.
10. Entities
| Command | What it does |
|---|---|
/entity count <filter> / countg <filter> |
Count matching entities, flat or grouped by code prefix |
/entity spawnat <type> <amount> <position> <radius> |
Spawn entities; valid types live in the survival mod's entity assets |
/entity remove <filter> |
Remove matching creatures |
/entity cmd <filter> kill|move|setgen <n>|setattr|setlact |
Act on matched entities, e.g. /entity cmd l[] setgen 10 |
/entity cmd <filter> stopanim|stoptask |
Stop an animation or an AI task |
/entity cmd wipeall |
Remove every entity except players from loaded chunks |
/entity debug <0|1> / spawndebug <0|1> |
Toggle entity debug or spawn debug mode |
Entity ids are revealed by the client command .clientconfig showEntityDebuginfo 1 — that is how you target one specific trader for removal.
11. Server Control and Configuration
| Command | What it does |
|---|---|
/serverconfig maxclients <n> / maxchunkradius <n> |
Slot cap / highest chunk radius a client may load |
/serverconfig password <string> / nopassword |
Set or clear the join password (no spaces) |
/serverconfig whitelistmode <default|off|on> |
Whitelist enforcement |
/serverconfig allowpvp|allowfirespread|allowfallingblocks <bool> |
PvP, fire spread, block gravity |
/serverconfig entityspawning <bool> / spawncapplayerscaling <0..1> |
Global creature spawning / spawn-cap growth per player (0.75) |
/serverconfig tickrate <10-100> / passtimewhenempty <bool> |
Tick rate / whether time passes with nobody online |
/serverconfig defaultspawn <x> [y] <z> / setspawnhere |
Set the default spawn |
/serverconfig antiabuse <Off|Basic|Pedantic> / temporaryipblocklist|loginfloodprotection <0|1> |
Anti-abuse level / IP block list and login flood protection |
/stats / /info ident|seed|createdversion|mapsize |
Live tick rate and memory / world identity, seed, version, size |
/autosavenow / /genbackup [filename] |
Force a save / full save-game copy, without pausing |
/stop / /allowlan <on|off> |
Shut down / allow LAN connections (runtime only) |
/moddb install|remove|list|search|searchcompatible|searchfor |
ModDB install and search tools (1.18.0-pre.7+) |
Most /serverconfig changes are written immediately but need a world restart to take effect: /autosavenow, then /stop, then start the server again.
World settings are a separate namespace — /worldconfig <name> reads a value, /worldconfig <name> <value> sets one, and keys that do not exist yet must be created with /worldconfigcreate <bool|int|float|double|string> <name> <value>. Keys are case-sensitive. The full list is in Vintage Story Server Settings and World Config.
12. World Generation, Chunks and Debug Tools
| Command | What it does |
|---|---|
/chunk cit / printmap |
Chunk generation info / export a PNG of loaded chunks |
/chunk unload <0|1> / forceload <x1> <z1> <x2> <z2> |
Toggle auto-unloading / keep an area loaded |
/wgen pregen <radius> |
Pregenerate chunks around the player |
/wgen regen|regenr|regenc|regenrc <radius> |
Regenerate around player or world spawn, optionally random-seeded |
/wgen del <radius> / delrock <radius> |
Remove chunks / remove rock around the player |
/wgen tree <code> [size] / pos <coords|structures|climate|…> |
Spawn a tree, e.g. /wgen tree walnut / worldgen data here |
/wgen testmap|genmap|region <climate|forest|wind|gprov|landform|ore> |
Render worldgen maps as PNG |
/fixmapping applyall |
Apply block and item remapping after a version upgrade |
/bir getid|getcode|remap |
Block id remapper — repairs blocks broken by removed or updated mods |
/debug rooms list|hi|unhi |
Room registration tools (replaced /roomregdebug in 1.19) |
/debug rift clear|fade|spawn|spawnhere |
Rift management |
/debug logticks <ms> / tickhandlers / chunk stats|here|resend|relight |
Slow-tick logging, tick handler list, chunk diagnostics |
/macro addcmd|setcmd|priv|desc|show|save|delete|list |
Build a server-side macro running several commands under one name |
/we / /npc / /npcs |
WorldEdit toolbar / NPC control and activity tools |
/debug has many more subcommands for mod and engine development — code exports, held-item attributes, network benchmarking — which /help debug enumerates. /macro priv is the useful one for delegation: set it to controlserver to keep a macro admin-only, or build to expose it to ordinary players.
/wgen regenand/wgen delrockare destructiveRegenerating chunks discards everything players built in them, and
delrockclears a large box around you and can stall the server for minutes. Take a/genbackupfirst.
13. Client Commands
These start with a dot, change only your own game, and need no privileges.
| Command | What it does |
|---|---|
.chb / .help [command] |
Command handbook / list or explain client commands |
.clientconfig / .clientconfigcreate <name> <type> <value> |
Read, set or create a client config key |
.viewdistance <n> / .zfar <n> |
View distance with no upper limit / far clipping plane (default 1000) |
.freemove / .noclip / .movespeed <n> / .lockfly <1|2|3> |
Flight, noclip, speed, axis lock |
.gui [bool] / .cam / .recordingmode / .timelapse <days> <months> |
Hide GUIs, camera modes, brighter recording, timelapse capture |
.chatsize <w> <h> / .clearchat / .pastemode <single|multi> |
Chat window controls |
.cp posi|aposi|apos|chat |
Copy position or chat history to the clipboard |
.clients / .online [ping] / .serverinfo / .reconnect |
Online players, server info, reconnect |
.map purgedb|redraw|worldmapsize <h> <w> |
World map database and size |
.moon / .time / .weather / .charsel |
Moon phase, local time, weather, character selection |
.debug wireframe <entity|chunk|region|blockentity|ambsounds> |
Wireframe overlays |
.debug find <blockname> / fov <n> / fog <n> / shake <n> |
Locate a block; field of view, fog, screen shake |
.reload shapes|textures|lang / .reloadhandbook |
Hot-reload assets for mod development |
.we / .bsedit / .tfedit [fp|tp|gui|ground] |
WorldEdit, block selection and transform editors |
14. FAQ
How do I become admin on a Vintage Story server?
Run /op YourPlayerName from the server console, or the Console tab of your hosted Vintage Story server. There is no automatic owner — everyone joining a new server gets suplayer, which cannot manage privileges, so the first grant has to come from the console or from StartupCommands in serverconfig.json.
What is the difference between / and . commands?
/ commands are server commands: they change the world, other players or server settings, and are subject to privilege checks. . commands affect only your own game — view distance, camera, GUI, debug overlays — and need no permissions.
Why does my command say I lack permission when I am an admin?
First check that /player YourName role really returns admin. If it does, you are probably running a RequiresPlayer command from the server console, which has no player attached — run it from in-game chat instead.
How do I remove someone's admin rights?
There is no /deop. Set the role explicitly with /player <name> role suplayer. Revoking individual privileges from admin will not stick, because that role has AutoGrant: true and re-acquires engine and mod privileges automatically.
Can I let players build without giving them creative mode?
Yes. Grant build and useblock, and land claims still protect other people's plots. buildblockseverywhere is the privilege that overrides claims, and it only takes effect in creative mode anyway. For a trusted builder, /player <name> role crplayer is usually right.
How do I let players claim more land?
Raise it per role with /role <rolename> landclaimallowance <cubic metres> and /role <rolename> landclaimmaxareas <n>. For one person, /player <name> landclaimallowance <n> adds extra on top of whatever the role grants.
Why can't anyone connect to my new dedicated server?
Dedicated servers enforce the whitelist by default. Add yourself with /whitelist add YourPlayerName from the console, or turn enforcement off with /serverconfig whitelistmode off and restart the world.
15. What to Read Next
- Getting started with your Vintage Story server
- Vintage Story Server Settings and World Config - the full
/worldconfigandserverconfig.jsonkey list - How to install mods for Vintage Story
Made with 💜 by GameServerKings

Need a Vintage Story server?
Deploy an instantly-provisioned Vintage Story server on high-clock hardware — DDoS protected, no contracts, cancel anytime.
From $4.90 /month