Guides

How to set up a Factorio server and who can join

RoxyCloud Factorio hosting tutorial: IP and port in the panel, room password, public list, and require_user_verification.

Samuel AkiresCEO RoxyCloud
5 min read909 words
How to set up a Factorio server and who can join

This tutorial is for Factorio hosting on RoxyCloud. You do not install the game on your PC to host, you do not open a port on your router, and you do not leave your computer on. After payment the server starts in Brazil, with an IP, a panel, Power controls and a file manager.

What you need

  • An active Assembler, Factory, Megabase or Rocket plan and your panel login
  • Official Factorio on each player’s PC, on the same version as the server (Steam or the site)
  • Space Age on every PC only if the server map has the expansion
  • A factorio.com account if you want the server on the public game list

How friends join

  1. Open the RoxyCloud panel and make sure the server is running.
  2. Copy the IP and port shown in the panel.
  3. In Factorio: Play, Multiplayer, Connect to address.
  4. Paste the IP. If the panel port is not the default, use IP:port.
  5. If you set a password in server-settings.json, the game asks for it.

The default Factorio port is 34197. On RoxyCloud you use the port the panel shows. It is already open on the host. Each PC only needs the game and internet.

Steam and Factorio.com

The official game comes from Steam or factorio.com. On a RoxyCloud server, Steam does not need to be open. The server can check a Factorio.com account. A site purchase plays without Steam. Steam invites are a different path. Here the team joins with the IP from the panel.

Edit server-settings.json in the panel

The file is already in your server folder. You do not copy an example from your PC. Stop the server with Power, open the file manager, edit server-settings.json, save, and start it again.

server-settings.json (excerpt)
{
  "name": "Team factory",
  "description": "RoxyCloud server",
  "max_players": 0,
  "visibility": {
    "public": false,
    "lan": false
  },
  "username": "",
  "token": "",
  "game_password": "change-this-password",
  "require_user_verification": true,
  "allow_commands": "admins-only",
  "autosave_interval": 10,
  "auto_pause": true
}
  • visibility.public: true if you want the official Factorio list. Then fill in your Factorio.com username and token (the token is on factorio.com/profile). Use the token, not the site password, because the file is visible in the panel.
  • visibility.lan: leave it false. Friends join with the IP from the panel, not a local network.
  • If public and lan are both false, the only way in is Connect to address with the panel IP.
  • game_password: the room password. That is what friends type in the game, not the RoxyCloud password.
  • max_players 0: no cap in the file. The real cap is your plan (4, 8, 16 or 32 players).

What require_user_verification is

In Wube’s example file (Wube makes Factorio) it says this: when the value is true, the server only allows people with a valid Factorio.com account.

That confirms the account. It does not turn Steam on or off.

When it is true

  • Each player must be logged into Factorio.com in the game.
  • If you turn on visibility.public, keep this field true. Since version 0.17 the public list requires it.
  • The player name is tied to the account. That makes admin and bans in server-adminlist.json easier.

When it is false

The server stops asking for a Factorio.com account. On RoxyCloud that is for a private room where everyone joins with the IP from the panel. Do not use false with the public list on. With false, someone else can join with the same nickname. Set game_password and keep visibility.public false.

Admins, saves and mods in the panel

The admin list is server-adminlist.json in the file manager. The format is [ "player1", "player2" ]. You can also promote someone from the panel console. With verification off, a nickname does not prove who the person is. Do not give admin by name alone.

Saves are in /saves. Download or upload them in the file manager. For mods: download the .zip from the official Factorio portal, upload it to /mods, edit mod-list.json if you need to, and restart with Power. The game on the PC and the server must be the same version. If the save has Space Age, everyone needs the expansion.

Steps on RoxyCloud

  1. Hire a plan on the Factorio hosting page and wait for the panel email.
  2. Open the panel, start the server and copy the IP and port.
  3. Stop the server with Power.
  4. Open the file manager and edit server-settings.json.
  5. Set the room name, game_password and require_user_verification.
  6. Public list: visibility.public true, Factorio.com username and token, verification true. Otherwise leave public false.
  7. Save, start with Power, and test in Factorio under Connect to address.

Common mistakes

  • Server stopped in the panel
  • IP or port different from what the panel shows
  • Game version different from the server version
  • A missing mod on the PC or in /mods
  • Wrong room password
  • Public list without a Factorio.com token
  • Verification true and the player not logged into Factorio.com

Frequently asked questions

Straight answers before you order

No. The server checks a Factorio.com account, not Steam. A site purchase joins without Steam. A Steam copy also joins.

When it is true, only people with a valid Factorio.com account can join. Wube wrote that in the example file. It is not a Steam switch.

Yes, if the room is private and everyone joins with the IP from the panel. The wiki wants verification on only for the public game list. With false, set game_password and keep visibility.public false.

In the RoxyCloud panel, after the server comes up (about 30 seconds after payment). In the game: Play, Multiplayer, Connect to address.

The server is off in the panel, the IP or port is wrong, a different version, different mods, the wrong password, or verification true without a Factorio.com login. If the map has Space Age, everyone needs the expansion.

In the file manager, edit server-settings.json: visibility.public true, Factorio.com username and token, require_user_verification true. Save, start the server again, and test.