---
title: "7 Days to Die Console and Admin Commands"
description: "All 177 7 Days to Die console and admin commands, checked against V3.1.0: permission levels, the cp system, telnet, and the 30 SandboxCode settings."
url: "https://www.gameserverkings.com/knowledge-base/7-days-to-die/7-days-to-die-console-commands/"
category: "7 Days to Die"
category_url: "https://www.gameserverkings.com/knowledge-base/7-days-to-die/"
published: "2026-08-01T15:57:02.503Z"
updated: "2026-08-19T04:45:44.816Z"
source_format: "markdown"
site: "GameServerKings"
---

# 7 Days to Die Console and Admin Commands

Almost every 7 Days to Die command list you will find was written for a version of the game that no longer exists. The top-ranking community wiki still labels its list "taken from Alpha 15"; other popular lists run to 70 commands with no version stated at all. The V3.0 build registers **177 commands**, and V3.0 also moved thirty gameplay settings out of `serverconfig.xml` entirely. This page is the current reference, checked against V3.1.0 "Henpocalypse".

> [!NOTE] Version this page was checked against
> V3.1.0 "Henpocalypse", the stable release of **27 July 2026**, live on PC, PlayStation and Xbox. Command names and help text below come from the V3.0 command registry, which V3.1.0 did not change. Re-check with `help <command>` if you run a modded or experimental branch.

## Opening the console

On PC, press **F1**. Depending on your keyboard layout the second binding varies — `"` on US layouts, `@` on EU layouts, `Ö`/`Ø`/`F2` on Scandinavian, `Ñ` on Spanish.

Type `help` for the full list on your build, or `help <command>` for the syntax of a single one. That is the authority for your exact version — every list on the internet, including this one, is a snapshot.

> [!TIP] Command names are case-sensitive, arguments are positional
> Arguments in `<pointed braces>` are required; arguments in `[square braces]` are optional. Most commands have a short alias — `cm` for `creativemenu`, `dm` for `debugmenu`, `tp` for `teleport`.

## Console commands vs admin commands

These are the same console and the same command set. The difference is *permission level*, not a separate list of "admin commands".

| | Console commands | Admin commands |
|---|---|---|
| Where you type them | F1 console, in-game | F1 console, telnet, or the panel console |
| Who can run them | Anyone, for the commands set to a level they hold | Permission level 0 by default |
| Affects | Usually your own client or character | The server and everyone on it |
| Example | `gettime`, `switchview` | `ban add`, `kickall`, `shutdown` |

On a dedicated server you are not an admin just because you paid for the box. You have to be granted a permission level first.

## Permission levels

The model is inverted from what most people expect: **0 is maximum permission, and 1000 is the default** for anyone without an explicit entry. Lower number means more power.

```text
admin add <name / entity id / platform + platform user id> <level> [displayname]
admin remove <name / entity id / platform + platform user id>
admin addgroup <steam id> <level regular> <level mods> [displayname]
admin removegroup <steam id>
admin list
```

To use `admin add` with a player name or entity ID the player has to be **online**. The platform + platform user ID form works for offline players too, which is how you make yourself an admin before you have ever joined.

Grants are written to `serveradmin.xml`. The `AdminFileName` property in `serverconfig.xml` names that file, and its path is relative to `SaveGameFolder` — not the server root. Running `admin add` from the console writes the entry for you, which is less error-prone than editing the XML by hand. [How to Add Administrators](/knowledge-base/7-days-to-die/how-to-add-admins-and-whitelist-players/) covers the file-editing route and the whitelist.

### Restricting individual commands

`commandpermission` (alias `cp`) sets the level required to run a given command, letting you build moderator tiers between 0 and 1000.

```text
cp add <command> <level>
cp remove <command>
cp list
```

> [!IMPORTANT] Unlisted commands default to level 0, not level 1000
> The game's own help text states the default required level for commands not explicitly specified is **0**. So a moderator on level 100 can run *nothing* until you `cp add` each command they need. Build the allowlist deliberately — do not assume a mid-tier level inherits a useful set.

## Player and server management

| Command | Alias | What it does |
|---|---|---|
| `admin` | — | Manage user permission levels |
| `commandpermission` | `cp` | Manage command permission levels |
| `whitelist` | — | Manage whitelist entries |
| `ban` | — | Manage ban entries |
| `kick` | — | Kick a user, optional reason |
| `kickall` | — | Kick all users, optional reason |
| `say` | — | Send a message to all connected clients |
| `listplayers` | `lp` | List all players |
| `listplayerids` | `lpi` | List players with the IDs used by other commands |
| `pplist` | — | List all persistent player data |
| `saveworld` | `sa` | Save the world manually |
| `shutdown` | — | Shut the server down |
| `overridemaxplayercount` | — | Override the max player count |
| `createwebuser` | — | Create a web dashboard user account |
| `version` | — | Print the running version and loaded mods |

Bans take a duration and a unit — `minute(s)`, `hour(s)`, `day(s)`, `week(s)`, `month(s)` or `year(s)` — and lift themselves automatically:

```console
ban add madmole 2 minutes "Time for a break" "Joel"
whitelist add SomePlayer
kick SomePlayer "AFK for an hour"
```

> [!WARNING] One whitelist entry locks out everyone else
> Per the in-game help: if there is at least one entry on the whitelist, no user who is not on that list can join. Adding a single name to test the feature will remove every other player from your server on their next connect.

## World, time and spawning

| Command | Alias | What it does |
|---|---|---|
| `settime` | `st` | Set game time — `settime day`, `settime night`, `settime <day> <hour> <minute>` |
| `gettime` | `gt` | Print current day and time |
| `weather` | — | Control weather settings |
| `shownexthordetime` | — | Show the wandering horde timer |
| `spawnairdrop` | — | Spawn an air drop |
| `spawnsupplycrate` | — | Spawn a supply crate at your position |
| `spawnentity` | `se` | Spawn an entity — `se <playerId> <entity#> <count>` |
| `spawnentityat` | `sea` | Spawn an entity at a given position |
| `spawnwandering` | `spawnw` | Spawn wandering entities |
| `spawnscouts` | — | Spawn zombie scouts (screamers) |
| `teleport` | `tp` | Teleport yourself — coordinates, a player, or `teleport offset <x> <y> <z>` |
| `teleportplayer` | `tele` | Teleport another player |
| `chunkreset` | `cr` | Reset specified chunks |
| `regionreset` | `rr` | Reset chunks in a region, or the whole map |
| `worldchunkreset` | `wcr` | Reset all unprotected chunks world-wide |

`teleport` takes four forms. Use `y = -1` to drop to ground level rather than guessing an altitude:

```console
teleport 1000 -1 1000
teleport 1000 -1 1000 north
teleport SomePlayerName
teleport offset 0 20 0
```

## Cheats and character commands

| Command | Alias | What it does |
|---|---|---|
| `creativemenu` | `cm` | Toggle the creative menu (item spawning UI) |
| `debugmenu` | `dm` | Toggle debug mode — god mode and flight |
| `spectator` | `spectatormode` | Toggle spectator mode |
| `giveself` | — | `giveself <itemName> [qualityLevel=] [count=1] [putInInventory=false] [spawnWithMods=true]` |
| `giveselfxp` | — | `giveselfxp <number>` |
| `givexp` | — | Give XP to another player |
| `buff` / `debuff` | — | Apply or remove a buff on yourself |
| `buffplayer` / `debuffplayer` | — | Apply or remove a buff on another player |
| `kill` / `killall` | — | Kill a given entity, or all entities |
| `switchview` | `sv` | Toggle first and third person |
| `starve` | `hungry` | Set hunger (optional percentage) |
| `thirsty` | — | Set thirst (optional percentage) |
| `gamestage` | — | Show your current gamestage |

`giveself` takes an item **name**, not a numeric ID. Numeric item IDs were how this worked in the Alpha builds and are still what most copied lists show; they are not how the current command works.

## What V3.0 changed for server owners

This is the part that breaks older guides. V3.0 "Dead Hot Summer" added over 150 sandbox options, and the official release notes state plainly that legacy options previously set in `serverconfig.xml` were **moved to a new `SandboxCode` property**:

```xml title="serverconfig.xml"
<property name="SandboxCode" value="AAAJABJACJADJARFBNC"/>
```

Thirty properties were removed or converted, including `GameDifficulty`, `XPMultiplier`, `DayNightLength`, `DayLightLength`, `BloodMoonFrequency`, `BloodMoonEnemyCount`, `BloodMoonRange`, `BloodMoonWarning`, `LootAbundance`, `LootRespawnDays`, `AirDropFrequency`, `AirDropMarker`, `DropOnDeath`, `DropOnQuit`, `DeathPenalty`, `ZombieMove`, `ZombieMoveNight`, `ZombieFeralMove`, `ZombieBMMove`, `ZombieFeralSense`, `EnemySpawnMode`, `EnemyDifficulty`, `BlockDamagePlayer`, `BlockDamageAI`, `BlockDamageAIBM`, `BiomeProgression`, `StormFreq`, `JarRefund`, `AISmellMode` and `QuestProgressionDailyLimit`.

You now build those settings in the in-game Sandbox Options menu, copy the generated code, and paste it as the `SandboxCode` value. There is a matching console command:

| Command | Alias | What it does |
|---|---|---|
| `getsandboxoptions` | `gso` | Print the loaded sandbox options — add `true` to show all, not just non-default |

> [!CAUTION] Editing a removed property does nothing
> If you set `BloodMoonEnemyCount` in `serverconfig.xml` on a V3 server, the server will start and silently ignore it. The setting lives in your `SandboxCode` now. V3.1.0 also split enemy and animal density and respawn into separate day and night options, which invalidates some older preset codes — an invalid code can default *some or all* of your settings.

[The serverconfig.xml reference](/knowledge-base/7-days-to-die/serverconfig-xml/) covers server identity, world selection and the properties that still live in that file.

## Running commands without being in-game

You do not need to be at a keyboard in the game to run these. The dedicated server exposes a telnet interface and an optional web dashboard, both configured in `serverconfig.xml`:

| Property | Default | Notes |
|---|---|---|
| `TelnetEnabled` | `true` | Telnet console |
| `TelnetPort` | `8081` | |
| `TelnetPassword` | empty | **Blank password means loopback only** |
| `TelnetFailedLoginLimit` | `10` | Wrong passwords before a client is blocked |
| `TelnetFailedLoginsBlocktime` | `10` | Block duration, seconds |
| `WebDashboardEnabled` | — | Turns the web dashboard on or off |
| `WebDashboardPort` | — | TCP port the dashboard listens on |
| `WebDashboardUrl` | — | Full external URL when the dashboard sits behind a reverse proxy; left empty when the server is reached on its public IP directly |
| `EnableMapRendering` | — | Renders the discovered map to tile images for the dashboard and for external map tools |
| `HideCommandExecutionLog` | `0` | `0` shows everything, `3` hides everything |

> [!IMPORTANT] `ControlPanelEnabled` and `ControlPanelPort` no longer exist
> Alpha 21 removed the old web control panel outright and replaced it with the Web Dashboard, and V3.0 folded the dashboard's code into the core game. Any guide still listing `ControlPanelEnabled` and `ControlPanelPort` is describing a 2023-or-earlier build — setting either one on a V3.1.0 server does nothing at all.

The Fun Pimps documented the four `WebDashboard` properties when they introduced them but never published their defaults, so the dashboard rows above are deliberately blank rather than guessed: read the real values out of your own `serverconfig.xml` in the panel's File Manager. The dashboard stays off until `WebDashboardEnabled` is set to `true`, and access is granted with API tokens created by the `webtokens` command rather than a password in the config file.

The blank-password behaviour is a deliberate safety default, not a bug: with no password set the server binds telnet to the local loopback interface only, so nothing remote can reach it. A telnet session authenticates with that one password and gets admin-level access to every command, so treat it as a root credential.

> [!IMPORTANT] `loglevel` only works over telnet or the web dashboard
> The in-game help marks `loglevel` as Telnet/Web only, and its syntax is a level plus a boolean — `loglevel WRN false` — with levels `INF`, `WRN`, `ERR`, `EXC` or `ALL`. It is not `loglevel info`, and typing it into the F1 console will not do anything useful.

On [your hosted 7 Days to Die server](/games/7-days-to-die-server-hosting/), the panel already allocates the full port block the game needs — the query port plus the two above it (26900/TCP, 26901/UDP and 26902/UDP on a default allocation) — so there is nothing to forward. Scheduled `say` and restart commands are covered in [Managing your 7 Days to Die server](/knowledge-base/7-days-to-die/7d2d-maintenance/).

## Commands that older guides still list

These appear in widely-copied command lists but are **not** in the V3.0 command registry. If a guide includes them, it has not been checked since the Alpha builds:

`listlandclaim` (`llp`), `staticmap`, `sounddebug`, `exportitemicons`, `clear`, `water`, and `spawnwh`. Wandering hordes are now `spawnwandering` (`spawnw`), and water is `setwatervalue` (`swv`).

Note also that `llp` and `rlp` are commonly documented as vanilla commands when they ship with Alloc's server fixes, a third-party mod. If a command only works on someone else's server, check whether they are running mods before assuming your install is broken.

## Xbox and PS5 players

"Console" on this page means the in-game command console you open with F1, not Xbox or PlayStation. Whether console players can join your server is decided by its crossplay configuration in `serverconfig.xml`, not by anything you type into that console.

- [The serverconfig.xml reference](/knowledge-base/7-days-to-die/serverconfig-xml/) carries the full crossplay requirement list — the four properties consoles check, plus the nine settings whose crossplay ranges now live inside your `SandboxCode`.
- [The 7 Days to Die configuration guide](/knowledge-base/7-days-to-die/7d2d-new-user-guide/) covers what to check first when a console player cannot see your server in their browser at all.

## FAQ

### How do I use console commands in 7 Days to Die?

Press **F1** in-game to open the console, type the command, press Enter. On a dedicated server most useful commands need permission level 0, which you grant with `admin add <platform user id> 0`. Type `help` for the list your build actually supports.

### Does 7 Days to Die have separate admin commands?

No. There is one command set. What makes a command an "admin command" is the permission level required to run it, which you control with `commandpermission` (`cp`). Anything not explicitly given a level requires level 0.

### How do I give myself items?

Open the creative menu with `cm` and take items from the UI, or use `giveself <itemName>` with the optional quality, count and mod arguments. It takes item names, not the numeric IDs older guides list.

### Why does my BloodMoonEnemyCount setting do nothing?

Because V3.0 removed it from `serverconfig.xml` along with 29 other gameplay properties. Those settings now live in the `SandboxCode` property — build them in the in-game Sandbox Options menu, copy the code and paste it in. Check what is actually loaded with `getsandboxoptions true`.

### Can I run commands while the server is running but I am not playing?

Yes. Use the telnet interface or the web dashboard, both set in `serverconfig.xml`, or send commands from your panel's console. Note that a blank `TelnetPassword` restricts telnet to the local loopback interface.

### Where is serveradmin.xml?

It is named by the `AdminFileName` property in `serverconfig.xml`, and that path is relative to `SaveGameFolder` — so it sits with your save data, not in the server root. The simplest way to avoid hunting for it is to run `admin add` from the console and let the server write the entry itself.

---

Made with 💜 by GameServerKings
