Two halves: console commands and start-up flags
The Console page opens by describing the console as "Factorio's in-game command-line interface," and sorts its commands into three types: normal ones that display information, multiplayer ones for "Message filtering, banning users, etc.," and scripting or cheat commands. Everything an admin needs for people management sits in the multiplayer group. The Command line parameters page is the other half: it lists the options that "set settings in the command line before the game launches," which it calls "useful mainly for advanced users or server hosts." The file paths for your whitelist, banlist and adminlist are set there, and so is RCON.
Using the console
The Console page says the display "can be toggled with the GRAVE key (`)," the key left of the 1 key, and that you can rebind it under Settings menu, Controls, Toggle chat (and Lua console). With the console open, "type your message or command and hit Return to send it." Input that does not start with a slash is chat: "Console input that does not start with / is shown as a chat message to your team." So admin commands are typed with the leading slash exactly as listed below. One more default worth knowing before you ban someone: "by default, all executed commands are made visible to all users."
The page documents the console from the point of view of a player at the game. It does not describe how a headless server process takes typed commands, so this guide does not either.
The admin commands
These are the multiplayer-table rows for managing who is an admin, who is kept out and who may join, with the syntax, example and description as the Console page prints them:
| Command | What the Console page says | Admin only column |
|---|---|---|
/promote <player> | "Promotes the player to admin." Example: /promote AzureDiamond | Yes |
/demote <player> | "Demotes the player from admin." Example: /demote AzureDiamond | Yes |
/admins | "Prints a list of game admins." | No |
/admin | "Opens the player management GUI." | Yes |
/kick <player> <reason> | "Kicks the specified player." Example: /kick xTROLLx Throwing grenades in base | Yes |
/ban <player> <reason> | "Bans the specified player." Example: /ban xTROLLx Throwing grenades in base | Yes |
/unban <player> | "Unbans the specified player." Example: /unban xTROLLx | Yes |
/bans | "Prints a list of banned players." | No |
/banlist <add/remove/get/clear> <player> | "Adds or removes a player from the banlist. Same as /ban or /unban." Example: /banlist get | No |
/whitelist <add/remove/get/clear> [player] | See the next section. Example: /whitelist get | No |
Two readings of that table. First, the Admin only column is reproduced as the page prints it: Yes for promote, demote, kick, ban and unban, and No for the list-printing commands and for /banlist and /whitelist. This guide draws no conclusion from that beyond what the table says. Second, the /kick and /ban syntax is printed with a reason after the player name, and the page's examples both carry one; the page does not say more about how the reason is used.
The whitelist command
The page describes /whitelist in one sentence: "Adds or removes a player from the whitelist, where only whitelisted players can join the game." The four actions it names are add, remove, get and clear, and the player argument is optional: "Enter nothing for 'player' when using 'get' to print a list of all whitelisted players." It also states what an empty list means: "An empty whitelist disables the whitelist functionality allowing anyone to join."
That last sentence matters for clear: after you clear the list, the page's own wording is that anyone can join, so run it only when you mean to open the server up. The Console page lists no enable or disable action for /whitelist, and this guide does not invent one; the switch that the documentation does give is a start-up flag, covered below.
The start-up flags for whitelist, banlist and adminlist
Under "Server options," the Command line parameters page lists these, each with its one-line description:
| Flag | Value | What the page says |
|---|---|---|
--use-server-whitelist | BOOL | "If the whitelist should be used." |
--server-whitelist | FILE | "Path to file with server whitelist." |
--server-banlist | FILE | "Path to file with server banlist." |
--server-adminlist | FILE | "Path to file with server adminlist." |
--use-authserver-bans | none | "Verify that connecting players are not banned from multiplayer and inform Factorio.com about ban/unban commands." |
The BOOL value has a fixed spelling: "Parameters shown above with a BOOL option must be formatted as [parameter]=true or [parameter]=false." So turning the whitelist on at start-up is written --use-server-whitelist=true, not as a bare flag followed by a space and a value. The three FILE flags each take a path. The page says nothing about the file name or contents of the whitelist, banlist or adminlist, so this guide leaves them alone too; the Factorio headless server setup guide covers how to give yourself admin rights.
Put together with the server start flag the page documents - --start-server, described as "start a multiplayer server" and taking a save file - a launch line with every list flag looks like this, where the capitalised words are placeholders for your own paths and values:
factorio --start-server SAVE --use-server-whitelist=true --server-whitelist WHITELIST_FILE --server-banlist BANLIST_FILE --server-adminlist ADMINLIST_FILE
RCON flags
Three further options in the same "Server options" list cover RCON, each documented in a single line:
| Flag | Value | What the page says |
|---|---|---|
--rcon-port | N | "Port to use for RCON" |
--rcon-bind | ADDRESS:PORT | "IP address and port to use for RCON" |
--rcon-password | PASSWORD | "Password for RCON" |
That is the whole of what the page says about them. It does not describe the RCON protocol, which clients speak it, or whether the port and the bind address are alternatives, so none of that is claimed here. The practical reading is limited to the wording: --rcon-port chooses a port number, --rcon-bind takes an address and port together, and --rcon-password sets the password that goes with the feature.
Other server options in the same list
The same "Server options" table carries the flags you will most often combine with the admin ones: --port ("network port to use"), --bind ("IP address (and optionally port) to bind to"), --server-settings ("Path to file with server settings. See data/server-settings.example.json"), --console-log ("Path to file where a copy of the server's log will be stored") and --server-id ("Path where server ID will be stored or read from"). A copy of the server log is a useful record when you are checking who was kicked or banned and when.
Where to read next
The Factorio headless server setup guide walks through creating the save, writing the settings file and opening the port that all of this sits on top of. If you are changing hosts, moving your server to a new host covers carrying the save across, and Factorio server hosting availability shows the current plans and whether orders for them are open.