Menu
 

Factorio Console Commands: Full List, Cheats & Admin Commands (2026)

Factorio Console Commands

Factorio's console runs about fifty commands, and most command lists you will find cover a dozen of them. This one is the complete set, with each command's own description taken from the game's help file rather than paraphrased: information, player management, chat, the built-in cheat and map-editor commands, Lua commands, the nineteen server settings behind /config, the permissions group system, and the one command that exists purely to diagnose a desync loop.

Read from the shipped game. Checked on September 20, 2026 against Factorio 2.0.77, internal build 84539, linux64 headless, released 21 May 2026 (2.1.19 is the experimental line). The descriptions below are the strings the game itself prints for /help, so they match what your server will tell you.

Opening the console

The console shares the chat key, bound as "Toggle chat (and Lua console)": press the grave/tilde key (~) or /. Tab auto-completes commands, options and player names, and /help <command> prints the description of a single command.

Commands that cost you achievements

Three things disable achievements for that save: Lua console commands, the map editor, and the /cheat command. The game does not let you do it by accident, and it says so: "Using Lua console commands will disable achievements. Please repeat the command to proceed." You have to enter the command a second time to confirm.

Who can run what

Plain information commands are open to everyone. Player management, /config, /permissions and the clearing variants of the ban and white lists are admin-only; the game answers "Cannot run command with these parameters: you are not admin." See adding admins.

Information

CommandWhat the game says it does
/help <command>Prints a list of available commands. The optional argument can specify the command that should be described.
/players <online|count>Prints a list of players in the game. online or o prints only those online, count or c prints only the count.
/admins <online>Prints a list of game admins; online or o limits it to those connected.
/bansPrints a list of banned players.
/mutesPrints a list of all players that are muted.
/ignoresPrints a list of ignored players.
/seedPrints the starting map seed.
/timePrints info about how old the map is.
/evolution <surface>Prints info about the alien evolution factor.
/versionPrints the current game version.
/clearClears the console.

The seed is also what the Factorio map generator and seed viewer takes if you want to see the map your server rolled before you commit to it, and coordinates covers finding your way around once you are in it.

Player management

CommandWhat the game says it does
/promote <player>Promotes the player to admin.
/demote <player>Demotes the player from admin.
/kick <player> <reason>Kicks the specified player. They can rejoin immediately.
/ban <player> <reason>Bans the specified player.
/unban <player>Unbans the specified player.
/banlist <add|remove|get|clear> <player>Adds or removes a player from the banlist. Same as /ban or /unban. Only admins can use clear.
/whitelist <enable|disable|add|remove|get|clear> <player>Enables, disables, adds or removes a player from the whitelist, where only whitelisted players can join. Use get with no player to list it. Clearing it also disables it.
/mute <player> / /unmute <player>Prevents the player from saying anything in chat, and lets them talk again.
/purge <player>Clears all the messages from this player from the chat log.
/adminOpens the player management GUI.
/open <player>Opens another player's inventory.
/swap-players <player> <player>Swaps characters between the specified players. The second defaults to you.
/delete-blueprint-library <player>Deletes the blueprint library storage for that offline player from the save file. everybody confirm does it for all offline players.

/banlist, /whitelist and /permissions only work in a multiplayer game; the game refuses them in single player.

Chat

CommandWhat the game says it does
/whisper <player> <message>Sends a message to the specified player.
/reply <message>Replies to the last player that whispered to you.
/shout <message>Sends a message to all players including other forces.
/ignore <player> / /unignore <player>Hides that player's messages from your chat. Admin messages are still shown.
/color <color>Changes your color: one of the predefined colors, or RGBA in the format "# # # #".
/alerts <enable|disable|mute|unmute> <alert>Enables, disables, mutes or unmutes the given alert type.
/mute-programmable-speaker <mute|unmute> <local|everyone>Mutes global and surface sounds from Programmable Speakers. local affects just you; admins can use everyone for the whole server.

Cheats, the map editor and Lua

These are the commands that disable achievements, and each one asks you to repeat it before it takes effect.

CommandWhat the game says it does
/cheatEnables cheat mode. /cheat all also researches all technologies and gives some additional items. It doubles as a travel command: /cheat <planet-name> moves you to that planet, /cheat <platform-name> to that platform, and /cheat off turns cheat mode off.
/editorToggles the map editor.
/c <command>Executes a Lua command, if allowed. /command is the long form.
/silent-command <command>Executes a Lua command without printing it to the console.
/measured-command <command>Executes a Lua command and measures the time it took.
/unlock-shortcut-barUnlocks all shortcut bar items.
/unlock-tips / /reset-tipsUnlocks every tips-and-tricks entry, or resets them to a fresh install.

Whether Lua commands run at all is a server setting, not a fixed rule: /config set allow-commands takes true, false or admins-only.

Lua one-liners worth knowing

  • Speed the game up or slow it down: /c game.speed = 2.0, where 1.0 is normal.
  • Research everything: /c game.player.force.research_all_technologies().
  • Clear the map of enemies: /c game.forces["enemy"].kill_all_units().
  • Permanent daylight: /c game.player.surface.always_day = true.

On a busy server prefer /silent-command for routine cleanup so the chat log stays readable, and /measured-command when you want to know what a script costs before you make it a habit.

Server control and /config

CommandWhat the game says it does
/save <name>Saves the current game with the specified name.
/server-saveSaves the game on the server in a multiplayer game.
/quitTerminates the server cleanly.
/configOpens the server configuration GUI, and /config get and /config set read and write the settings below.
/screenshot <x> <y> <zoom>Takes a screenshot with your current view settings, or at the given resolution.
/perf-avg-frames <number>Ticks used to average the performance counters. Default 100; 5 to 10 converges fast but jitters more.
/space-platform-delete-time <number>Ticks between requesting a space platform deletion and it happening.
/large-blueprint-size <set|get> <number>The byte threshold for what counts as a "large" blueprint, which the permissions system can allow or block separately.
/server-commandsServer console commands. The registry carries it with that one-line description and nothing more.

That completes the registry. The 2.0.77 help file carries 53 command entries, and all 53 are named on this page, spread across the tables above and the permissions and desync sections below. /c is the short form of /command and is not a separate entry.

Every /config setting

Nineteen settings, changeable live without a restart. They overlap with server-settings.json but they are not the same list and they are not spelled the same way: the file documents twenty-eight keys in snake_case, /config takes nineteen with hyphens, and a few do not line up one for one (afk-auto-kick is afk_autokick_interval in the file, max-upload-speed is max_upload_in_kilobytes_per_second, and the three visibility- settings correspond to a single nested visibility object, which the shipped example fills with public and lan only). Several file keys have no /config equivalent at all, including auto_pause, autosave_slots, username, token and non_blocking_saving: those need a file edit and a restart. Server settings and map generation covers the file itself.

SettingValues and meaning
name, description, tagsThe server name, its description and its tag list. Description and tags may be empty.
passwordThe multiplayer password. Empty means no password.
max-playersMaximum players. 0 means no limit.
visibility-public, visibility-lan, visibility-steamWhether the game is publicly listed, visible on LAN, and joinable by Steam friends.
require-user-verificationWhether a user's identity has to be confirmed to join.
allow-commandstrue, false or admins-only: whether Lua commands are allowed.
allow-debug-settingsWhether non-trivial debug settings are allowed for non-admins.
autosave-intervalAutosave interval in minutes. 0 disables it.
autosave-only-on-serverWhether only the server creates autosaves.
afk-auto-kickMinutes of inactivity before a player is kicked. 0 disables it.
auto-pause-when-players-connectWhether the server auto-pauses while somebody is connecting. This is not the same setting as pausing an empty server, which is auto_pause in the settings file and is not exposed here. See auto-pause.
only-admins-can-pauseWhether only admins may pause the game.
ignore-player-limit-for-returning-playersWhether the player limit is ignored for someone rejoining.
max-upload-speed, max-upload-slotsUpload cap in kilobytes per second, and the number of upload slots. 0 means no limit on either.

Each /config setting, its file twin, and the shipped default

This is the table people actually need and no list has: what /config set changes live, what the same thing is called in server-settings.json, and what value the shipped example file puts there. The defaults column is read out of server-settings.example.json as the game ships it, so it is what you inherit if you never touch a key.

/config nameArgumentKey in server-settings.jsonShipped default
name<name>name"Name of the game as it will appear in the game listing"
description<description>description"Description of the game that will appear in the listing"
tags<tags>tags["game", "tags"]
password<password>game_passwordempty
max-players<number>max_players0, and the file notes admins can join even a full server
visibility-public<true/false>visibility.publictrue
visibility-lan<true/false>visibility.lantrue
visibility-steam<true/false>the shipped example fills only public and lannot in the example
require-user-verification<true/false>require_user_verificationtrue
allow-commands<true/false/admins-only>allow_commandsadmins-only
allow-debug-settings<true/false>no key in the shipped examplenot in the example
autosave-interval<number>autosave_interval10 minutes
autosave-only-on-server<true/false>autosave_only_on_servertrue
afk-auto-kick<number>afk_autokick_interval0, meaning never
auto-pause-when-players-connect<true/false>auto_pause_when_players_connectfalse
only-admins-can-pause<true/false>only_admins_can_pause_the_gametrue
ignore-player-limit-for-returning-players<true/false>ignore_player_limit_for_returning_playersfalse
max-upload-speed<number>max_upload_in_kilobytes_per_second0, unlimited
max-upload-slots<number>max_upload_slots5

Two of those defaults catch people out. allow_commands ships as admins-only, not true, so a fresh server refuses /c from a normal player without anybody having changed anything. And only_admins_can_pause_the_game ships true, which is why a player who cannot pause on your server is usually looking at a default rather than a deliberate lockdown.

One caution about the "not in the example" rows. server-settings.example.json is Wube's own template, so every key in it is real, but the reverse does not hold: the settings reader ignores a key it does not recognise instead of rejecting it, so the file can prove a key exists and can never prove one does not. A setting missing from the example is a setting the example does not document, nothing more. The same trap is why the port belongs on the command line.

What the console prints back

Worth recognising when you are reading a log rather than a screen, because these are the exact strings, with __1__ standing in for whatever the game substitutes:

SituationWhat the server prints
Bad command nameUnknown command __1__
/help with no argumentAvailable commands are: ... then "Type /h <command> to get details of it."
/config with no argumentAvailable configs are: __1__.
/permissions with no argumentAvailable options are: __1__.
/banlist in single playerThe banlist command cannot be used in a singleplayer game.
/whitelist in single playerThe whitelist command cannot be used in a singleplayer game.
/permissions in single playerThe permissions command cannot be used in a singleplayer game.

/h is the short form the game's own help text points you at. The same registry also carries a planet listing, "Planets: __1__" and "Matching planets: __1__", which is what you get back when a command wants you to name a planet.

The permissions system

/permissions opens a GUI, but the whole group system is scriptable from the console. Groups own a list of allowed actions, and every player belongs to one.

There are exactly nine options, and running /permissions with none of them prints them back at you. These are the game's own descriptions:

OptionWhat the game says it does
groupsLists all groups.
create-group <name>Creates a new group with the given name, or the default name is used if no name is given.
delete-group <group>Deletes the given group.
rename-group <group> <name>Renames the given group to the new name.
add-player <group> <player>Adds the player to the given group.
remove-player <group> <player>Removes the player from the given group.
get-player-group <player>Gets the group the given player is part of (if any).
edit-group <group> <action> <true/false>Enables or disables the given action for the given group.
resetResets all permissions to the default state.

This is the tool for a public server where you want people to build but not to deconstruct, or to keep large blueprint pastes to a trusted group. The blueprint case is the one that needs two commands rather than one: /large-blueprint-size set <bytes> decides what counts as large, and edit-group then allows or blocks the large variant of the paste action for a group. Mistype an action name and the server answers "Matching actions: __1__." with the closest candidates, which is the fastest way to discover what the action is actually called.

Diagnosing a desync: /toggle-heavy-mode

One command exists purely for this, and the game's own warning is worth quoting in full before you use it:

"This command is to be used with caution as it will make the game multiplayer unplayable once set. The game starts to save and compare the game with itself every tick to search for inconsistencies in the determinism. This command is advised to be used when there is a desync loop when a new player joins the server. The heavy mode will run until it outputs something. Please provide it to us so we can investigate and fix the problem."

So: only when a new player joining causes a repeating desync, only on a server you are willing to make unplayable for the duration, and the output goes to Wube rather than into a config change of your own. /toggle-action-logging is the milder relative, logging every input action locally without persisting across restarts. Everything else to try first is in desync troubleshooting, and reading server logs covers what the log file shows.

For the Lua API behind /c, see the official Factorio Lua API reference. New to running a server? Start with how to host a Factorio server, or adding admins and permissions.

Master your factory environment. Host your Factorio server with Supercraft and enjoy full console access from the web panel.

Tired of fighting this issue every patch?

Run a managed Factorio server with us. We handle the patches, mod-version pinning, save backups, and DDoS protection. Set up in minutes, multiple datacenter regions, no contract.

See Factorio hosting plans →
Top