Vintage Story Commands (1.22.7): All 40 Server Commands
Verified against Vintage Story 1.22.7 on 17 September 2026.
Vintage Story has two command prefixes. A leading / is a server command: it runs on the server, changes the world or other players, and is privilege checked. A leading . is a client command and stays on your machine. The admin half needs a role holding the privilege, and the fast route is /op [playername] from the console, which the game describes as Give a player admin status. Shorthand for /player [playername] role admin. Jump to the full list.
Why this page exists. The official wiki page for server commands is tagged Outdated and pinned at game version 1.15. The game is on 1.22.7. Every description below was read out of the shipped 1.22.7 assemblies. Of the 41 names that wiki lists, one is gone: roomregdebug. The other 40 are here.
The commands people look up first
Teleport: /tp
Stored: Teleport a player or entity to a location. The shape is /tp [source] [destination]; the source is optional, so leaving it out moves you. The binary ships two examples:
The destination is a location: a player, or an entity picked by a selector, where p[] means players, e[...] entities and * is a wildcard. Success prints Ok, teleported, failure No matching target location found. Run /help tp for the coordinate form.
Note there is no tp privilege in 1.22.7, so do not grant one by that name. /waypoint tpwp [name] teleports you to a waypoint by name prefix.
Give items and blocks
| Command | Description | Arguments |
|---|---|---|
/giveitem | Give items to target | item code, quantity, target |
/giveblock | Give blocks to target | block code, quantity, target |
Items and blocks are separate registries, so a block code will not resolve through /giveitem. Both need the give privilege. Failure prints Failed, target players inventory is likely full or cant accept this item for other reasons, usually a full hotbar. /debug itemcodes and /debug blockcodes dump every loaded code to the server log.
Game mode and creative mode
/gamemode [mode] is stored as Set (or discover) the player(s) game mode, and the discover half matters: run it bare and it reports where you are. For somebody else, /player [playername] gamemode [mode]. Both need the gamemode privilege. Creative also gates the editing actions below, which refuse with Only available in creative mode. Constantly asked for: /player [playername] allowcharselonce (acso), Allow changing character class and skin one more time, which lets that player run .charsel once.
Is there a god mode command?
No. There is no /god among the 40 commands in 1.22.7 and no god privilege. People mean creative mode via /gamemode; the flight half is freemove, grantable without give.
Time: /time
| Command | Description | Arguments |
|---|---|---|
/time | Get or set world time or time speed | - |
/time set | Fast forward to a time of day | 24 hour format or word |
/time setmonth | Fast forward to a given month | month |
/time speed | Get or set how fast time passes | speed |
/time stop | Stop passage of time and time affected processes | - |
/time resume | Resume passage of time and time affected processes | - |
The set argument is stored as 24 hour format or word, and there are eleven words:
So /time set day, /time set sunrise and /time set 14 all work. Note the wording: fast forward. It runs the world forward, not back, and time drives processes: a jump to midnight advances crops, spoilage and the temporal cycle. Needs the time privilege.
The full server command list
All registered in 1.22.7. Most descriptions are the game's own stored strings; the rest are one line summaries, and rows with no stored string say so.
Players, bans and roles
| Command | Description | Arguments and notes |
|---|---|---|
/op | Give a player admin status. Shorthand for /player [playername] role admin | playername |
/tp | Teleport a player or entity to a location | source, destination |
/gamemode | Set (or discover) the player(s) game mode | mode |
/player ... gamemode | Set (or discover) the player(s) game mode | mode |
/player ... role | Put a player in a role | rolename |
/player ... allowcharselonce | Allow changing character class and skin one more time | acso |
/player ... landclaimallowance | Get/Set land claim allowance, the amount of land a player can claim | lca |
/player ... landclaimmaxareas | Get/Set land claim max areas, the number of separate claims allowed | lcma |
/kick | Kicks a player from the server | player name, kick reason |
/ban | Ban a player from the server | player name, duration, reason |
/unban | Remove a player ban | player name |
/whitelist | Whitelist control | The player whitelist, not the mod whitelist |
/whitelist add | Add a player to the whitelist | player name, then an optional reason |
/whitelist remove | Remove a player from the whitelist | player name |
/whitelist on | Enable whitelist system. Only whitelisted players can join | Sets WhitelistMode |
/whitelist off | Disable whitelist system. All players can join | Sets WhitelistMode |
/player ... whitelist | Add/remove player to/from the whitelist | add or remove, from the player command instead |
/list | Show global lists (clients, banned, roles or privileges) | clients banned roles privileges, or c b r p |
/role | Role management | Rejects unknowns with No such role found |
/group | Player group management | Below |
The whitelist has an expiry that almost nobody knows about. A whitelisted player is confirmed with Player is now whitelisted until followed by a date, and an entry that runs out produces a different refusal from never having been listed at all: Your whitelist entry has expired rather than You are not on the whitelist. If a regular suddenly cannot get in on a server nobody has touched, read which of those two messages they got before you start looking for a cause. The list itself lives in playerswhitelisted.json in the player data directory, and the server config key behind the on and off subcommands is WhitelistMode, described in the binary as whether to only allow whitelisted players to join your server.
This is the player whitelist. Vintage Story also has a separate mod whitelist and blacklist under /serverconfig, which decides which mods are allowed to load rather than which people are allowed to join. The two are unrelated and get confused constantly. Installing and controlling server mods covers that pair.
Ban duration uses a shared argument type whose help reads is a number and time, for example 1 day, units minute hour day week year; omit it and the ban is permanent. The server refuses with Can't kick or ban a player with a superior or equal group level, so peers cannot act on each other. See detecting grief.
World, time and weather
| Command | Description | Arguments and notes |
|---|---|---|
/time | Get or set world time or time speed | - |
/worldconfig | Modify the world config | Answers Ok, value set. Restart game world or server to apply changes. |
/worldconfigcreate | Add a new world config value | wcc, needs a datatype |
/weather | Show current weather info | Weather by region, wind, events |
/weather setprecip | Set the precipitation override | level |
/weather setprecipa | Resets the current precip override to auto mode. | - |
/weather stoprain | Stops any current rain by forwarding to a time in the future where there is no rain. | - |
/weather acp | Toggles auto-changing weather patterns. | mode |
/weather setw | Sets the current wind pattern to the given wind pattern. | windpattern |
/weather setev | Sets a weather event globally. | randomevent |
/weather setevr | Set a weather event only in the player's region. | randomevent |
/weather lntest | Lightning test | range |
/nexttempstorm | Tells you the amount of days until the next storm | now: Start next temporal storm now |
/whenwillitstopraining | When does it finally stop to rain around here?! | - |
Read /weather stoprain twice before using it on a populated server: it stops rain by moving the clock forward to a point where there is none, a time jump wearing a weather hat. /weather setprecipa is the safe undo. For the keys worth changing see the worldconfig reference; several need a restart. /nexttempstorm pairs with temporal mechanics.
Server control and information
| Command | Description | Arguments and notes |
|---|---|---|
/help | Display list of available server commands | commandname, subcommand, subsubcommand |
/info | Server information | - |
/ident | Get save game identifier | - |
/seed | Prints the world seed | No stored description |
/stop | Shuts the server down | No stored description |
/announce | Announce a server wide message in all groups. | announcement message |
/announcenear | Only sends the message to players in given block range. | announcement message, range |
/serverconfig | Read or Set server configuration | Below |
/serverconfig nopassword | Remove password protection, if set | - |
/serverconfig simrange | Get or temporarily set entity simulation range. Value is not saved. Default is 128 | range |
/serverconfig spawncapplayerscaling | Scale the entity spawn cap with player count | scps, Scaling value |
/serverconfig setspawn | Get or Set the default spawn point to given xz or xyz coordinates | x position, z position (optional) |
/serverconfig setspawnhere | Set the default spawn point to the callers location | - |
/serverconfig welcome | Get or set welcome message | Welcome message |
/allowlan | Whether or not to allow external LAN connections to the server | Temporary, for non dedicated servers |
/chunk | Chunk debug utilities | Below |
/chunk queue | Amount of generating chunks in queue | - |
/chunk stats | Statistics on currently loaded chunks | - |
/chunk printmap | Exports a map of loaded chunk as a png image | - |
/chunk resend | Resend a chunk to all players | position |
/chunk relight | Relight a chunk for all players | position |
/chunk sendchunks | Allows toggling of the normal chunk generation/sending operations to all clients. | state |
/stats | Server and chunk statistics | - |
/serverconfig simrange is the most useful row here when a server struggles, precisely because the value is not saved: drop it live, watch tick time, restart to undo. Pair it with /chunk queue, then large population setup and the chunk lag fix. /chunk resend and /chunk relight cure a missing patch of world without a restart.
Mods, macros and save maintenance
| Command | Description | Arguments and notes |
|---|---|---|
/moddb | ModDB utility. To install and remove mods. | Command not available. Disabled probably by the host. |
/moddb install | Install the specified mod | modid, forGameVersion |
/moddb search | Search for a mod, filtered for the current game version only | search text |
/moddb searchcompatible | Search for a mod, filtered for game versions compatible with the current version | searchc |
/moddb searchfor | Search for a mod, filtered for the specified game version only | version |
/moddb searchforc | Search for a mod, filtered for game versions compatible with the specified version | version |
/macro | Manage server side macros | Below |
/macro addcmd | Append a command | param0, param1 are placeholders |
/macro setcmd | Set the command outright | Command to set |
/macro desc | Set command description | Description to set |
/macro priv | Set command privilege | privilege name |
/macro show | Show the macro in progress | - |
/macro discard | Discard wip macro | - |
/macro delete | Delete a macro | macro name |
/db | Save-game related commands | Subcommands below. Gated on hosted servers |
/db backup | Creates a copy of the current save game in the Backups folder | filename |
/db vacuum | Repack save game to minimize its file size | Shrinks the .vcdbs file in place |
/genbackup | Creates a copy of the current save game in the Backups folder | filename. The same action as /db backup |
/bir | Block id remapper info and fixing tool | Below |
/bir getcode | Get the block code behind a numeric id | blockId |
/bir getid | Get the numeric id behind a block code | domainAndPath |
/bir map | Map one block code onto another | new_block, old_block, force |
/bir list | Print the current block id mapping | Full mapping to console and log file |
/macro is the most underused command in the game: a macro is a named custom command with its own required privilege, built with addcmd, desc and priv. One safe macro beats promoting a moderator to admin. /bir rescues a world after a mod is removed, mapping an orphaned block code onto a live one; it will not overwrite a mapping unless you repeat it with force. See save corruption and installing mods.
On backups the game draws its own line, verbatim: (/db backup and /db vacuum sub-commands are not available for hosted servers, sorry). The related actions are vacuum (Repack save game to minimize its file size), backuppartial (chunk_x_start, chunk_z_start, chunk_x_end, chunk_z_end) and prune, which deletes all unchanged or hardly changed chunks whose changes fall below a threshold you set, with a keep or drop choice for chunks that carry a land claim, plus a dryrun and a confirm flag. Read that twice before running it: it removes terrain. On a managed host, use the panel: save management.
Land claims and groups
| Command | Description | Arguments and notes |
|---|---|---|
/land | Manage land rights | Below |
/land claim | Work with your land claims | claim id |
/land free | Release a claim | claim id |
/land download | Download a claim of yours to your computer | claim id |
/land export | Export a claim of yours to a file on the game server | exportclaims, claim id |
Player groups are the other half of this section, and they are a separate system from roles. A role is server wide and carries privileges. A group is a named set of players with its own chat room and its own owner, and a group operator is not a server admin.
| Command | Description | Syntax the binary stores |
|---|---|---|
/group | Manage a player group | Subcommands below |
/group create | Creates a new group. | /group create [groupname]. Letters and numbers only, and the name must be unique |
/group rename | Rename a group. | /group rename [oldname] [newname], or /group rename [newname] from inside the group chat |
/group disband | Disband a group. Only the owner has the privilege to disband. | /group disband [groupname], then confirm |
/group confirmdisband | Confirm disband a group. | /group confirmdisband [groupname] |
/group joinpolicy | Define how users can join your group | inviteonly or everyone |
/group join | Join a group thats open for everyone | group name |
/group invite | Invite a player. | /group invite [groupname] [playername] |
/group acceptinvite | Accept an invitation to a group. | /group acceptinvite [groupname/groupid] |
/group leave | Leave a group. | /group leave [groupname], or bare from inside the group chat |
/group info | Show some info on a group. | /group info [groupname] |
/group kick | Kick a player from a group. | /group kick [groupname] (playername), or /group kick (playername) in the group chat |
/group op | Grant operator status to a player. Gives that player the ability to kick and invite players. | /group op [groupname] (playername) |
/group deop | Revoke operator status from a player. | /group deop [groupname] (playername) |
/group addplayer | Allows a Mod/admin to add a player to a group | /group addplayer [groupname] [playername] [access], where access is 0 = None, 1 = Member, 2 = Op, 3 = Owner |
/group removeplayer | Allows a Mod/admin to remove a player from a group | /group removeplayer [groupname] [playername] |
/group groupinvite | Enables or disables group invites to be sent to you | A per player preference, not a group setting |
The op and deop here are group operators, not server admins. Older guides list a bare /deop as the way to strip someone's admin rights. There is no such command in 1.22.7. Group operator only grants the ability to kick and invite inside that one group; to change what somebody can do on the server you move them to a different role with /player [name] role [rolename]. Two more things worth knowing before you use these in anger: disbanding takes two steps, because the first call answers Disband already requested, type /group confirmdisband [groupname] to confirm, and addplayer and removeplayer exist specifically so an admin can fix a group they do not own.
Claim ids are per player and sequential, hence Incorrect claimid, you only have {n} claims. The export pair is the quiet hero of grief recovery: export writes the claim to a json file on the server and download sends it to the player, so you can capture a build before undoing damage around it.
Entities, world generation and debug
| Command | Description | Arguments and notes |
|---|---|---|
/kill | kill a creature | target |
/entity spawn | Spawn entities at the caller's position | amount |
/entity count | Count entities by code/filter and show a summary | entity filter |
/entity countg | Count entities by code/filter and show a summary grouped by first code part | entity filter |
/entity find | Returns the name and position of every matching entity which is loaded on the server. | entity filter. Limited to 100 results to prevent spam; use more precise entity filters if that is too many |
/entity locateg | Group entities together within the specified range and returns the position and amount. This is to find large groups of entities. | entity filter, range. This is the one for hunting a herd, not an individual |
/entity wipeall | Removes all entities (except players) from all loaded chunks | killRadius |
/entity birth | force a creature to give birth (if it can!) | number |
/entity spawndebug | Set entity spawn debug mode | on or off |
/emote | Execute an emote on your player | Choose emote lists the valid ones |
/waypoint | Put a waypoint at this location which will be visible for you on the map | Below |
/waypoint list | List your own waypoints | details for the long form |
/waypoint addp addat addati | Add a waypoint to the map | title, pinned, icon |
/waypoint modify | Change an existing waypoint | waypoint_id |
/waypoint remove | Remove a waypoint by its id. Get a lost of ids using /waypoint list | waypoint_id |
/waypoint tpwp | Teleport yourself to a waypoint starting with the supplied name | name |
/waypoint deathwp | Enable/Disable automatic adding of a death waypoint | on or off |
/wgen | World generator tools | Below |
/wgen list | List structures with their indices for the /wgen structure spawn command | structure_num |
/wgen structures spawn | Spawn a generated structure | structure_index, schematic_index, rotation_index |
/wgen decopass | Toggle DoDecorationPass on/off | on/off |
/wgen autogen | Toggle AutoGenerateChunks on/off | on/off |
/wgen resolve-meta | Toggle meta block resolution | on/off |
/wgen regen regenk | Regenerate chunks. From the server console it uses the world center as a reference point. | chunk_range, landform |
/debug | Debug and Developer utilities | Below |
/debug blockcodes | Print codes of all loaded blocks to the server log file | - |
/debug itemcodes | Print codes of all loaded items to the server log file | - |
/debug blockstats | Counts block ids used, grouped by first block code part, into the server log file | - |
/debug connectionQueueDebug | Print connection queue debug logs | - |
/debug helddurability | Set held item durability | helddura, durability |
/debug heldtemperature | Set held item temperature | heldtemp, temperature |
countg, count and find diagnose an entity related slowdown without guessing: grouped summary, filtered count, then positions. Treat wipeall and the regen pair as destructive, tamed animals and player builds included. Developer only actions sit in the same block: expclang, blu, dumpanimstate, dumprecipes, testcond.
Creative mode selection and editing
| Action | Description | Arguments |
|---|---|---|
/clear | Clear current selection. Does not remove blocks, only the selection. | - |
info | Info about your current selection | - |
fill | Fill current selection with the block you are holding and remove all entities inside the area | - |
delete | Delete all blocks and entities inside your current selection | del |
delete-nearby | Delete area (blocks and entities) around caller | horizontal size, height |
pacify-water | Pacify water in selected area. Turns all flowing water block into still water. | liquid code (default: water) |
deletewater | Deletes all water in selected area | delete-water, delw, liquidcode |
fix-blockentities | Fix incorrect block entities in selected areas | fixbe |
replace-material | Replace one material with another in the selection | block codes |
The 15 privileges
There is no single admin switch: there are fifteen named privileges and a role is a bundle of them. Spelling matters, since a typo fails silently in a role definition and plausible names like tp and god do not exist.
| Privilege | What it governs |
|---|---|
root | Unrestricted access. The admin role holds it. |
controlserver | Server level control commands. |
commandplayer | Commands that target another player. |
build | Placing and breaking blocks. |
useblock | Interacting with blocks such as chests and doors. |
areamodify | Modifying inside claimed areas. |
chat | Speaking in chat. |
announce | Broadcasting with the announce commands. |
give | Spawning items and blocks into an inventory. |
gamemode | Changing game mode. |
freemove | Free movement, the flight half of what people call god mode. |
time | Reading and setting world time. |
setspawn | Setting the world spawn point. |
manageplayergroups | Creating and administering player groups. |
controlplayergroups | Acting on player groups that already exist. |
/list privileges prints the same list from your own server, mods included. A refusal reads Insufficient privilege to use this command, and /help [commandname] tells you which one it wanted. The privilege each command demands is not stored beside its registration, so none is claimed above.
Roles and groups
Privileges are handed out through roles, and a role is assigned with /player [playername] role [rolename]. That is the whole permission model; /op is only a shortcut into the admin role. Start from /list roles, which prints what your server has. Roles live in the server configuration, and typos come back as No such role found.
Avoid a two tier world of player or full admin. A moderator role with commandplayer, areamodify and freemove but not give or root handles grief without minting diamonds.
/group manages player groups: the ones /announce broadcasts to, and the ones manageplayergroups and controlplayergroups govern. Run /help group for your build's subcommands.
/help is the authority on your build
Mods add and rename commands, so the last word belongs to your own server:
/help bare lists every command you may see; with a name it prints the usage line, the examples and the required privilege. Client side, .chb opens the searchable command handbook the official wiki itself points people at.
What this page does not guess
An assembly stores each identical string once, so a few tokens are not recoverable:
hardbanexists (Ban a player forever without reason), but whether it sits under/banor stands alone is not./serverconfiggets and sets the server name and description./moddbuninstalls a mod and lists installed mods.- A self inspection group reports your stats, privileges, role and game mode, and empties your inventory.
Everything else came out of the assemblies verbatim. For the historical list, the official Vintage Story server commands wiki page is still the reference, outdated tag and all.
Frequently asked
How do you become admin in Vintage Story?
Run /op [playername] from the server console: the game calls it shorthand for /player [playername] role admin. To revoke it, put the player back in a normal role.
What is the teleport command in Vintage Story?
/tp, stored as Teleport a player or entity to a location, in the form /tp [source] [destination] with an optional source. /tp Luke Hayden sends Luke to Hayden; /tp p[] e[type=wolf*] sends everyone to the nearest wolf. There is no tp privilege.
How do you give items in Vintage Story?
/giveitem [item code] [quantity] [target] for items and /giveblock [block code] [quantity] [target] for blocks, both needing the give privilege. /debug itemcodes dumps every loaded code to the server log.
How do you change the time in Vintage Story?
/time set [value], where value is a 24 hour number or one of eleven words: lunch, day, night, latenight, morning, latemorning, sunrise, sunset, afternoon, midnight, witchinghour. It fast forwards, so crops and spoilage advance with it. /time stop freezes the clock.
How do you turn on creative mode in Vintage Story?
/gamemode [mode] for yourself, /player [playername] gamemode [mode] for someone else. Stored as Set (or discover) the player(s) game mode, so running it bare reports the current one.
Is there a god mode command in Vintage Story?
No. There is no god command among the 40 server commands in 1.22.7 and no god privilege. Creative mode via /gamemode is what people mean; the flight part is the freemove privilege.
What is the difference between slash and dot commands?
Commands starting with / run on the server and are privilege checked. Commands starting with . are client side, such as .chb for the command handbook.
Commands are only as good as the box underneath them. Host your Vintage Story server with Supercraft and run all of the above from a web console, with automatic backups and one click rollback.
Build the world config the easy way: our free Vintage Story World Configuration Generator turns a form into a ready to paste WorldConfiguration plus the matching /worldconfig commands.