---
title: "Factorio Console Commands: Complete List & Cheats"
description: "Every Factorio console command, split into safe commands, admin commands like /promote and /ban, and the /c Lua that permanently disables achievements."
url: "https://www.gameserverkings.com/knowledge-base/factorio/factorio-console-commands/"
category: "Factorio"
category_url: "https://www.gameserverkings.com/knowledge-base/factorio/"
published: "2026-08-01T15:51:19.286Z"
updated: "2026-08-01T15:55:51.651Z"
source_format: "markdown"
site: "GameServerKings"
---

# Factorio Console Commands: Complete List & Cheats

Factorio's console does three very different jobs. It runs harmless utilities like `/seed` and `/time`, it runs server moderation like `/promote` and `/ban`, and it runs raw Lua through `/c`. Only that last group disables achievements — and it does so permanently, for that save. This guide separates the three, lists what each one actually contains in current builds, and covers what changes when you type commands into a rented server's console instead of into the game.

> [!IMPORTANT] Admin commands are not cheat commands
> The most common misconception about the Factorio console is that anything "admin" taints your save. It doesn't. `/promote`, `/ban`, `/kick`, `/mute`, `/whitelist` and `/config` are moderation tools and leave achievements completely alone. The only things that disable achievements are the Lua script commands (`/c` and its variants), `/cheat`, and the map editor.

## How to Open the Console

In-game, press the **grave key** (`` ` ``) — the one to the left of `1`, above `Tab`. If your keyboard layout doesn't have it, or something else has claimed it, rebind it under **Settings → Controls → Toggle chat (and Lua console)**.

The same key opens chat in multiplayer. Anything you type that does **not** start with `/` is sent to your team as a chat message; anything that starts with `/` is treated as a command.

On a server you rent from us, the panel's **Console** tab is the server's own console. The Factorio headless server reads commands from standard input, so the panel Console is the equivalent of standing at the machine and typing — with two consequences covered below. See [How to Use Your Server Panel](/knowledge-base/general/how-to-use-your-server-panel/) for the rest of the tabs.

## The Three Kinds of Command

Getting this split right is most of what you need. Everything else is a lookup.

| Kind | Examples | Who can run it | Achievements |
|---|---|---|---|
| **Normal** | `/seed`, `/time`, `/version`, `/color`, `/evolution` | Any player | Unaffected |
| **Multiplayer / admin** | `/promote`, `/ban`, `/kick`, `/whitelist`, `/config`, `/server-save` | Admins (some are open to all) | Unaffected |
| **Script / cheat** | `/c`, `/command`, `/silent-command`, `/sc`, `/measured-command`, `/mc`, `/cheat`, `/editor` | Governed by `allow_commands` | **Permanently disabled for that save** |

## Normal Commands

Safe on any save. Nothing here touches achievements.

| Command | What it does |
|---|---|
| `/help` | Prints a list of available commands |
| `/h` | Same as `/help` |
| `/clear` | Clears the console |
| `/version` | Prints the current game version |
| `/seed` | Prints the starting map seed |
| `/time` | Prints how old the map is |
| `/evolution [surface]` | Enemy evolution factor for all surfaces, or one named surface |
| `/color <color>` | Your colour: three RGB numbers, or a name — `default`, `red`, `green`, `blue`, `orange`, `yellow`, `pink`, `purple`, `white`, `black`, `gray`, `brown`, `cyan`, `acid` |
| `/screenshot [x] [y] [zoom]` | Screenshot with the GUI hidden, written to the `script-output` folder |
| `/alerts <enable\|disable\|mute\|unmute> <alert>` | Control one alert type |
| `/mute-programmable-speaker <mute\|unmute> <local\|everyone>` | Silence Programmable Speaker sounds |
| `/perf-avg-frames <n>` | Number of ticks used to average the performance counters |
| `/permissions` | Opens the permissions GUI |
| `/reset-tips` | Resets tips and tricks to their fresh-install state |
| `/unlock-tips` | Unlocks every tips-and-tricks entry |
| `/unlock-shortcut-bar` | Unlocks all shortcut bar items |
| `/toggle-action-logging` | Logs every input action the game performs |
| `/toggle-heavy-mode` | Desync investigation mode. Slows the game down substantially |

`/alerts` takes a specific alert name. The current set is `entity_destroyed`, `entity_under_attack`, `not_enough_construction_robots`, `no_material_for_construction`, `not_enough_repair_packs`, `turret_out_of_ammo`, `turret_fire`, `no_storage`, `no_roboport_storage`, `train_out_of_fuel`, `train_no_path`, `pipeline_overextended`, `custom`, plus the Space Age additions `platform_tile_building_blocked`, `no_platform_storage`, `unclaimed_cargo` and `collector_path_blocked`.

> [!TIP] `/toggle-heavy-mode` is a diagnostic, not a setting
> If a multiplayer game is desyncing, heavy mode makes the cause reproducible by validating far more state per tick. It also makes the game crawl. Turn it back off as soon as you have your answer.

## Multiplayer and Admin Commands

These are the ones that matter on a server. None of them affect achievements.

| Command | What it does |
|---|---|
| `/players [online\|o\|count\|c]` | List players. `o` for online only, `c` for a count |
| `/p` | Same as `/players` |
| `/admins` | List the server's admins |
| `/admin` | Opens the player management GUI |
| `/promote <player>` | Promote a player to admin |
| `/demote <player>` | Remove a player's admin status |
| `/kick <player> <reason>` | Kick a player |
| `/ban <player> <reason>` | Ban a player |
| `/unban <player>` | Lift a ban |
| `/bans` | List banned players |
| `/banlist <add\|remove\|get\|clear> <player>` | Edit the banlist directly |
| `/whitelist <add\|remove\|get\|clear> [player]` | Edit the whitelist. `get` with no name lists everyone on it |
| `/mute <player>` | Stop a player talking in chat |
| `/unmute <player>` | Let them talk again |
| `/mutes` | List muted players |
| `/purge <player>` | Wipe a player's messages from the chat log |
| `/ignore <player>` | Hide a player's messages from *your* chat only |
| `/unignore <player>` | Undo `/ignore` |
| `/ignores` | List who you are ignoring |
| `/shout <message>` | Message every player, including other forces |
| `/s <message>` | Same as `/shout` |
| `/whisper <player> <message>` | Private message |
| `/w <player> <message>` | Same as `/whisper` |
| `/reply <message>` | Reply to the last whisper you received |
| `/r <message>` | Same as `/reply` |
| `/server-save` | Save the game on the server |
| `/config <get\|set> <option> <value>` | Read or change server settings live |
| `/open <player>` | Open another player's inventory |
| `/o <player>` | Same as `/open` |
| `/swap-players <player>` | Swap your character with another player's |
| `/delete-blueprint-library <player>` | Delete an offline player's blueprint storage. `everybody confirm` clears all offline players |
| `/large-blueprint-size <get\|set> <bytes>` | Threshold for what counts as a large blueprint |
| `/permissions <action> <parameters>` | Permission groups: `create-group`, `delete-group`, `rename-group`, `edit-group`, `add-player`, `remove-player`, `get-player-group`, `reset` |

### `/config` is the live settings lever

`/config set` changes server settings without editing a file and restarting. The options it accepts are `afk-auto-kick`, `allow-commands`, `allow-debug-settings`, `autosave-interval`, `autosave-only-on-server`, `ignore-player-limit-for-returning-players`, `max-players`, `max-upload-speed`, `only-admins-can-pause`, `password`, `require-user-verification`, `visibility-lan` and `visibility-public`.

```text
/config set password hunter2
/config set max-players 12
/config get allow-commands
```

Changes made this way apply immediately but are written into the save, not into `server-settings.json`. If you want a setting to survive a reinstall, change it in the file as well — see [How to Upload Files via SFTP](/knowledge-base/general/how-to-upload-files-via-sftp/) if you'd rather edit it off-panel.

## Who Is Allowed to Run Lua Commands

This is the part that catches people out on rented servers, and it is a server setting rather than a permission you can grant in-game.

`server-settings.json` carries an `allow_commands` key. Wube's own shipped example file documents the accepted values as **`true`, `false` and `admins-only`**, and ships with `admins-only` as the value. So on a stock dedicated server, `/c` works for admins and silently refuses for everyone else.

```json title="server-settings.json"
"_comment_allow_commands": "possible values are, true, false and admins-only",
"allow_commands": "admins-only",
```

You can flip it at runtime instead:

```text
/config set allow-commands admins-only
```

If nobody on the server is an admin yet, you can't `/promote` from in-game — there is no one with the authority to do it. Run `/promote <yourname>` from the **panel Console** instead. The server console is not subject to the admin check, which is exactly what it's for. The other route is a `server-adminlist.json` file containing a JSON array of usernames, placed alongside the server's log file.

> [!WARNING] `allow_commands: true` opens Lua to everyone on the server
> Setting it to `true` lets any connected player run arbitrary Lua in your save — spawn items, delete your base, rewrite the map. On a public server that is the same as handing out full control. Leave it on `admins-only` unless you know every player personally.

## Running Commands From the Panel Console

Two things behave differently when the command comes from the server rather than from a player.

**There is no player context.** The Lua API defines `game.player` as the player typing the command, and `nil` in all other instances. A command entered in the server console was not typed by any player, so `game.player` is nil and every copy-pasted snippet built around it errors out. Address the player explicitly instead:

```lua
/c game.players["YourName"].insert{name="iron-plate", count=100}
```

```lua
/c game.print("Server restart in 5 minutes")
```

**Chat still works.** Anything you type into the server console without a leading `/` goes to in-game chat as a server message, which is a convenient way to warn players before a scheduled restart. If you want that automated, [How to Setup Schedules](/knowledge-base/general/how-to-setup-schedules/) can fire console commands on a cron timer.

## Script and Cheat Commands

Everything in this section disables achievements on the save you run it in. That is not a side effect — the official wiki states plainly that "achievements will be permanently disabled for the save as soon as you use a script command."

| Command | What it does |
|---|---|
| `/c <lua>` | Run a Lua command and print the result |
| `/command <lua>` | Same as `/c` |
| `/silent-command <lua>` | Run Lua without printing to the console |
| `/sc <lua>` | Same as `/silent-command` |
| `/measured-command <lua>` | Run Lua and report how long it took |
| `/mc <lua>` | Same as `/measured-command` |
| `/cheat [all\|<planet>\|<platform>\|off]` | Research everything and enable free infinite crafting. `all` adds items, a planet or platform name moves you there, `off` turns it back off |
| `/editor` | Toggle the map editor |

A few that people actually reach for:

```lua
/c game.speed = 2
```

```lua
/c game.player.force.research_all_technologies()
```

```lua
/c game.players["YourName"].character.destructible = false
```

`/silent-command` is worth knowing about for server automation, because it does the same work without spamming the console output that your panel is logging. It disables achievements exactly the same way `/c` does — quiet is not the same as harmless.

The map editor is the other entry point. `/editor` toggles it, as does **Ctrl + Shift + F11**, and the wiki is blunt about the consequence: "Enabling the editor disables achievements." It is easy to open by accident on that keybind.

> [!CAUTION] Back up before you cheat
> Achievement loss is permanent for that save and there is no supported way to undo it. A Lua typo can also delete large parts of your factory in one keystroke. Take a snapshot first — [How to Create a Backup](/knowledge-base/general/how-to-create-a-backup/) — and you can roll back to the pre-cheat save if you change your mind.

## What Actually Disables Achievements

Worth stating flatly, because the community advice on this is a mess.

| Thing you did | Achievements |
|---|---|
| `/seed`, `/time`, `/version`, `/color`, `/evolution` | Fine |
| `/promote`, `/ban`, `/kick`, `/mute`, `/whitelist`, `/config` | Fine |
| Playing on a multiplayer server | Fine — with a condition, below |
| Any `/c`, `/command`, `/sc`, `/silent-command`, `/mc`, `/measured-command` | Permanently disabled for that save |
| `/cheat` | Permanently disabled for that save |
| `/editor`, or Ctrl + Shift + F11 | Disabled |
| Installing mods | Not disabled — but see below |

Two clarifications that get lost:

**Mods don't disable achievements, they redirect them.** With mods installed the game uses a separate instance of achievements, and anything you earn there does not register with Steam. So they still unlock, they just don't count where you probably want them to.

**Multiplayer achievements have an attendance rule.** They can only be earned if you have spent more than 50% of the online time on the map that awards them. On a busy rented server where you are one of eight regulars, that threshold is harder to clear than most people expect — it is a common reason a legitimate, cheat-free save never awards anything.

The scope is always the individual save. Running `/c` in one world does not affect any other world, and it does not touch your Steam account.

## FAQ

### How do I open the console in Factorio?

Press the grave key (`` ` ``), left of the `1` key and above `Tab`. It can be rebound under Settings → Controls → Toggle chat (and Lua console). In multiplayer the same key opens chat — messages starting with `/` are treated as commands.

### Do Factorio console commands disable achievements?

Only the script and cheat ones. `/c`, `/command`, `/silent-command`, `/sc`, `/measured-command`, `/mc`, `/cheat` and `/editor` permanently disable achievements for that save. Normal commands such as `/seed` and `/time`, and all the multiplayer admin commands such as `/promote` and `/ban`, do not.

### Can I re-enable achievements after using a command?

Not through any supported route. The flag is written into the save and there is no in-game way to clear it. This is why taking a backup before you start experimenting is worth the thirty seconds.

### Why does my `/c` command say the player is nil?

Because you ran it from the server console rather than in-game. `game.player` is only populated for a command a player actually typed; from the server console there is no such player. Use `game.players["YourName"]` instead.

### How do I make myself admin on a Factorio server?

Run `/promote <yourname>` from the server's own console — in our panel that is the **Console** tab. You cannot promote yourself from in-game chat if no admin exists yet. Alternatively, put your username in a `server-adminlist.json` file next to the server's log file.

### Why won't `/c` work on my server?

`allow_commands` is almost certainly set to `admins-only`, which is the value Factorio ships as the default. Promote yourself first, or run `/config get allow-commands` from the panel console to check the current value.

### How do I give myself items in Factorio?

`/c game.players["YourName"].insert{name="iron-plate", count=100}`. Swap the item name and count as needed. This disables achievements for the save.

### How do I check who is online without joining?

`/players online` from the panel console, or `/players count` if you only want the number. Neither requires a client.

### Do commands work on a headless Factorio server?

Yes. The headless server reads commands from standard input, so anything you can type in in-game chat can be typed into the server console — including commands added by mods or scenario scripts.

Command syntax on this page was checked against the [official Factorio wiki](https://wiki.factorio.com/Console) and Wube's published `server-settings.example.json`. If you don't have a server yet, our [Factorio server hosting](/games/factorio-server-hosting/) plans come with the panel console described above.

---

Made with 💜 by GameServerKings
