In other languages: Deutsch 日本語 Русский 中文

Multiplayer: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
(First pass at updating the multiplayer information to be current as of 0.12.35)
(More updates to bring content current as of 0.12.35)
Line 1: Line 1:
{{Languages}}
{{Languages}}


Factorio supports multiplayer games in additional to the single-player campaign and scenarios. By default, multiplayer games run the CO-OP [[Game modes and options|freeplay scenario]] where all players work together to launch a rocket with a satellite into space. Other scenarios, including PVP maps, are available for download from the [https://forums.factorio.com/ forums].
Factorio supports multiplayer games in additional to the single-player campaign and scenarios. By default, multiplayer games run the CO-OP [[Game modes and options|freeplay scenario]] where all players work together to launch a rocket with a satellite into space. Other scenarios, including PvP maps, are available for download from the [https://forums.factorio.com/viewforum.php?f=36&sid=93d1fbe9336d31d6bac60847b6c97985 Maps and Scenarios forum].


Currently, joining a multiplayer game requires either that all players be on the same LAN or that the host have a public IP address. The next version of Factorio, 0.13, will support a public multiplayer game lobby for locating games as well as [https://www.factorio.com/blog/post/fff-76 NAT punching] to make connecting to a server without a public IP address more seamless.
Currently, joining a multiplayer game requires either that all players be on the same LAN or that the host have a public IP address. The next version of Factorio, 0.13, will support a public multiplayer game lobby for locating games as well as [https://www.factorio.com/blog/post/fff-76 NAT punching] to make connecting to a server without a public IP address more seamless.
Line 7: Line 7:
== History ==
== History ==


Multiplayer games were introduced to Factorio with version 0.11.0. The only connection method available was peer-to-peer mode which meant a low latency connection was required between all players. Gameplay was optimal on LANs, especially with more then two players, as otherwise there could be a noticeable lag between player actions and those actions happening. As of version 0.12.0 the game features "latency hiding" mechanics which make the lag less noticeable or hide it entirely. There is also support for a running dedicated server in headless mode (no graphics) in versions 0.12.0 and beyond. In 0.12.4, peer-to-peer connections are optional as all the server can relay messages from one client to the other clients.
Multiplayer games were introduced to Factorio with version 0.11.0. The only connection method available was peer-to-peer mode which meant a low latency connection was required between all players. Gameplay was optimal on LANs, especially with more then two players, as otherwise there could be a noticeable lag between player actions and those actions happening. As of version 0.12.0 the game features "latency hiding" mechanics which make the lag less noticeable or hide it entirely. There is also support for a running dedicated server in headless mode (no graphics) in versions 0.12.0 and beyond. Starting with 0.12.4, peer-to-peer connections are optional as all the server can relay messages from one client to the other clients.


Because of the potentially immense amount of activity on a map, the game engine utilizes a [https://www.factorio.com/blog/post/fff-76 lock step architecture]. All instances of the game run full simulations of the entire world and only player actions are transferred across the network.
Because of the potentially immense amount of activity on a map, the game engine utilizes a [https://www.factorio.com/blog/post/fff-76 lock step architecture]. All instances of the game run full simulations of the entire world and only player actions are transferred across the network.


== Playing over LAN / Internet ==
== Setting Up a Multiplayer Game ==


Playing over Internet was not thought to work properly with version 0.11. Noticeable lag could occur depending on connection speed/reaction time. This has become less of an issue with the latency hiding mechanics introduced in version 0.12, but can still cause issues if there is a significant latency between players.
Use the ''Multiplayer'' button in the game menu to start a multiplayer game. One player starts the game and acts as the host. That player should provide the other players with his or her IP address. They can then use that IP address to join the host's game.


* Both game instances need the installation of exactly same game-versions and mods. (Tip: Maybe someone has the scenario pack mod off?)
Other notes and tips:
* For a more fluid game the "clients" can turn off autosave.
 
* Factorio uses the port '''34197'''. The port can be changed in the [[Application Directory|config]].
* All game instances need the installation of exactly the same game-versions and mods.
* Factorio uses '''UDP only,''' so make sure, you configured your router correctly. (The game builds it's own "reliable delivery" layer built on UDP to deal with packet loss and reordering issues.)
* Factorio uses the port '''34197'''. The port can be changed in the [[Application Directory|config]] file.
** Make sure, that there is no firewall or anti-virus blocking the UDP-packets.
* Factorio uses '''UDP only'''. Make sure you configure your router's port forwarding correctly. (The game builds it's own "reliable delivery" layer built on UDP to deal with packet loss and reordering issues.)
** read further, look into "more guides", to configure your router set up.
** Make sure there is no firewall or anti-virus blocking the UDP-packets.
** It is necessary that all of the peers can communicate with each other. It is however in theory not necessary that all the peers have public IP address - this should work even behind a NAT. See [https://forums.factorio.com/viewtopic.php?f=30&p=51201#p50553 Cube in ''Cannot Have 3+ Players connected at the same time.]''
* See the [[#Connecting to a Server Behind NAT|section below]] for help configuring your networking set up.
* The hard limit for the number of players is [https://forums.factorio.com/viewtopic.php?f=53&t=6481&p=50661#p50586 65535]. :)  
* The hard limit for the number of players is [https://forums.factorio.com/viewtopic.php?f=53&t=6481&p=50661#p50586 65535]. :)  


=== Voice Chat ===
=== Voice Chat ===
* it is recommended to use voice chat (TeamSpeak, Skype), because you need to talk a lot (coordinate connection, building, handling attacks...). TeamSpeak servers are posted in the [https://forums.factorio.com/viewforum.php?f=53 multiplayer forum].
* It is recommended that players use voice chat (TeamSpeak, Skype) because you need to talk a lot to coordinate connections, building, handling attacks, etc. TeamSpeak servers are posted in the [https://forums.factorio.com/viewforum.php?f=53 multiplayer forum].
 
=== Finding Other Players ===
 
* Use the [https://forums.factorio.com/viewforum.php?f=53 multiplayer board in the forum].
* Many players use other software like Evolve to meet other players. This also has the "advantage" of creating a virtual LAN among the players. See down under software.
* Some also use [https://forums.factorio.com/viewtopic.php?f=5&t=9136 Steam] to find other players.
* Tell your friends to buy Factorio, then play with them!


=== Finding other Peers ===
=== Connecting to a Server Behind NAT ===


* use the [https://forums.factorio.com/viewforum.php?f=53 multiplayer board in the forum].
Factorio requires that the server (in client-server mode) or all peers (in peer-to-peer mode) have a publicly accessible IP address or that all players are on the same LAN. If you are behind NAT, you must set up port forwarding ([[Multiplayer#Playing_over_LAN_.2F_Internet|see above]] for port number) or use virtual LAN software such as Hamachi or Evolve.
* many players use other software like Hamachi or Evolve to meet other players. This has the "advantage" of creating a virtual private network between the players. See down under software.
* some use also [https://forums.factorio.com/viewtopic.php?f=5&t=9136 Steam] to find others.


== Factorio servers or Why Peer-to-Peer? ==
By default, multiplayer games will be launched in client-server mode (also also [http://www.factorio.com/blog/post/fff-99 multiplayer forwarding] mode). In this mode, all clients send their network traffic to the server and the server forwards the traffic to the other clients. The advantage of this is that it allows games where some players are inside a LAN and others are outside. The disadvantage may be slightly more lag as packets must travel an extra hop (through the server). Multiplayer games may be launched in peer-to-peer mode to disable this forwarding behavior by checking the ''Use peer-to-peer communication'' box when starting the game as the host. The setting should, in theory, not make a difference in two-player games.


There were some discussions about, why Factorio doesn't use the client+server-model, but instead uses the peer-to-peer priniciple.
* [https://forums.factorio.com/viewtopic.php?f=53&t=6393 Forwarding ports without logging into your router]
* [https://forums.factorio.com/viewtopic.php?f=53&t=7714 A guide for connecting with Evolve]
* [http://steamcommunity.com/sharedfiles/filedetails/?id=653628496 A guide for connecting with Hamachi]


As of version 0.12.X there is support for a Dedicated Server option, but this still functions with the same peer-to-peer networking.
== Game Types ==


Some links
=== Co-op ===


* [http://www.factorioforums.com/forum/viewtopic.php?f=38&p=74091#p73402 developer statement]
In co-op mode, all players are on the same force which means all players share the same research progression, any player can access items stored in a container built by any other player, and defensive structures built by any player will not target any other player.
* [http://www.factorioforums.com/forum/viewtopic.php?f=5&t=6077#p47283 Older statement]
 
* [http://www.factorioforums.com/forum/viewtopic.php?f=38&p=70874 Good explanation]
To start a co-op game:
 
# Launch Factorio
# Click ''Play''
# Click ''Multiplayer''
# Click ''New game''
# Select map generator options, then click ''Generate''
# Choose latency and other settings, then click ''Play''
# Other players can now join the game
 
=== PvP ===
 
In PvP mode, players can be on different forces. Each force can have one (free-for-all) or more players (teams). Each force has its own independent research progression. Additionally, each force's [[Turret|turrets]] and [[Combat Robot Capsules|combat bots]] will attack other players as enemies, unless a cease fire is set. Note that, depending on the scenario, cease fires may be unidirectional — setting a cease fire with an opposing force does not guarantee a cease fire from them in return.
 
To start a PvP game, you must have a PvP-compatible scenario downloaded (or use the console commands to manually assign players to different forces, [[#Forces|see below]]). PvP scenarios can be found in the [https://forums.factorio.com/viewforum.php?f=36&sid=93d1fbe9336d31d6bac60847b6c97985 Maps and Scenarios forum].
 
'''Example PvP scenarios:'''
 
* [https://forums.factorio.com/viewtopic.php?f=36&t=21023 PvP_Ruins by Siapran]
* [https://forums.factorio.com/viewtopic.php?f=36&t=15052 Various scenarios by Klonan]
 
To starting a PvP game with a PvP scenario, you need to start the scenario as a single player custom scenario, save it, then load it as a multiplayer game. Otherwise, Factorio will launch the default freeplay scenario in co-op mode. In detail:
 
# Download the scenario and place the scenario directory in the ''scenarios'' directory within your [[Application_directory#Directory_locations_by_OS_and_installation_method|user data directory]].
# Launch Factorio
# Click ''Play''
# Click ''Custom scenario''
# Choose the PvP scenario you want under ''User scenarios'' and click ''Create''
# (Depending on the scenario, you may need to set the map generation settings and click ''Generate'')
# Hit Escape and click ''Save game''
# Type a save game name and click ''Save''
# Click ''Quit game''
# Click ''Play''
# Click ''Multiplayer''
# Click ''Load game''
# Choose the save game you just created and click ''Load''
# Choose latency and other settings, then click ''Play''
# Other players can now join the game
 
== Forces ==
 
Forces can be manually created via the console. This allows any map/scenario to be used for PvP. This may not be as convenient as a pre-made PvP scenario, as there will be no way for players to turn on/off cease fires other than through the console.
 
Each created force has its own research progression and different forces may attack each other.
 
The console commands for setting up and controlling forces are below:
 
;game.create_force('force 1')
:Creates a force with name "force 1". Default forces are "player", "enemy", and "neutral".
:"player" is the default force for players
:"enemy" is alien force
:"neutral" is special: it is not attacked and can use all / be used by all other forces (e.g., neutral storage containers can be accessed by all)
;game.get_player('friend 1').force = game.forces['force 1']
:Changes the force of "friend 1" to "force 1"
;game.forces['force 1'].set_cease_fire('force 2', true)
:Makes "force 1" cease fire against "force 2". The reverse has to be done separately.
;game.forces['force 1'].set_spawn_position({x=10, y=20}, game.get_surface(1))
:Sets the spawn/respawn point for a particular force to x = 10, y = 20. By default, all players from all forces will spawn at {x = 0, y = 0}.
;for v in pairs(game.forces) do game.local_player.print(v) end
:list all existing forces


== Dedicated/Headless server ==
== Dedicated/Headless server ==
Line 121: Line 187:
* [https://forums.factorio.com/viewtopic.php?f=53&t=6585 Dedicated Multiplayer Server Guide]
* [https://forums.factorio.com/viewtopic.php?f=53&t=6585 Dedicated Multiplayer Server Guide]


== Technical Implementation Details ==


== Game types ==
Notes about some technical details surrounding multiplayer have been published by the development team in several Friday Facts blog posts:
 
=== Coop ===
 
Coop-game runs without any further preparation ( https://forums.factorio.com/viewtopic.php?f=53&t=6501 )
 
=== PvP ===
 
* [https://forums.factorio.com/viewtopic.php?f=14&t=8352 PvP with craftable biters]
 
== Forces ==
 
You can now set up forces. See this https://forums.factorio.com/viewtopic.php?f=3&t=13512&start=80#p92087
 
;game.create_force('force 1')
:Creates a force with name "force 1", default forces are "player", "enemy", "neutral"
:"player" is the default force for players
:"enemy" is force of biters
:"neutral" is special, its not attacked, can use all other forces, can be used by all other forces
;game.get_player('friend 1').force = game.forces['force 1']
:Changes the force of "friend 1" to "force 1"
;game.forces['force 1'].set_cease_fire('force 2', true)
:makes "force 1" to cease fire against "force 2", reverse has to be done separately
;for v in pairs(game.forces) do game.local_player.print(v) end
:list all existing forces
 
== Technical Implementation ==
 
* [http://www.factorio.com/blog/post/fff-76 Friday facts article]
 
== More Tools/Infos ==
* use mods for planning. See [https://forums.factorio.com/viewtopic.php?f=14&t=6788 basic planner], [https://forums.factorio.com/viewtopic.php?f=14&t=4022 Planning-Tool-Mod]...
* look into [https://forums.factorio.com/viewforum.php?f=53 multiplayer forum], most other questions are answered there.
* [https://github.com/jjasghar/factorio-cookbook Cookbook] for setting up a headless server


''And always remember that Factorio in v0.11 isn't intended to work well on internet connections, so keep patient. ;)
* [http://www.factorio.com/blog/post/fff-76 Lock step architecture]
* [http://www.factorio.com/blog/post/fff-99 Client-server connections]
* [http://www.factorio.com/blog/post/fff-143 NAT punching, coming in 0.13]


== More Guides ==
== More Guides ==
Line 165: Line 201:
* [https://forums.factorio.com/viewtopic.php?f=53&t=6720 Tips to connect in multiplayer], by Nondre
* [https://forums.factorio.com/viewtopic.php?f=53&t=6720 Tips to connect in multiplayer], by Nondre


== Miscellaneous tips ==
== Miscellaneous Tips ==
* the key for [[Console commands]] will now initiate a chat in MP. To execute commands you need to type '/c' before the command!
* The key for [[Console commands]] is also used initiate chat in multiplayer. To execute a command instead of chatting, you need to type ''/c'' before the command. Commands executed are visible to all players. Additionally, the multiplayer game must have been started with commands allowable for commands to work.
* Set the player's color using the command
* Set the player's color using the command
  /c game.players[x].color = {r=0.7, g=0.5, b=0.1, a=0.9}
  /c game.get_player("''x''").color = {r=0.7, g=0.5, b=0.1, a=0.9}
Where x is the player number. r, g and b are for red, green and blue respectively (possible values are between 0 and 1, use the right-most column on http://prideout.net/archive/colors.php). a is alpha channel aka Transparency of the color to the base texture. For single player, leave off the "[x]" to set the color.
Where ''x'' is the player's name. r, g and b are for red, green and blue respectively (possible values are between 0 and 1, use the right-most column on http://prideout.net/archive/colors.php to convert colors to rgb numbers). a is alpha channel aka Transparency of the color to the base texture. For single player, replace ''get_player("x")'' with ''player'' to set the color.
 
== Software for routing / establishing connection ==
 
* https://forums.factorio.com/viewtopic.php?f=53&t=6393
* https://forums.factorio.com/viewtopic.php?f=53&t=6386
* https://forums.factorio.com/viewtopic.php?f=53&t=7690
* [https://forums.factorio.com/viewtopic.php?f=53&t=7714 A guide for connecting with Evolve]

Revision as of 03:43, 19 June 2016


Factorio supports multiplayer games in additional to the single-player campaign and scenarios. By default, multiplayer games run the CO-OP freeplay scenario where all players work together to launch a rocket with a satellite into space. Other scenarios, including PvP maps, are available for download from the Maps and Scenarios forum.

Currently, joining a multiplayer game requires either that all players be on the same LAN or that the host have a public IP address. The next version of Factorio, 0.13, will support a public multiplayer game lobby for locating games as well as NAT punching to make connecting to a server without a public IP address more seamless.

History

Multiplayer games were introduced to Factorio with version 0.11.0. The only connection method available was peer-to-peer mode which meant a low latency connection was required between all players. Gameplay was optimal on LANs, especially with more then two players, as otherwise there could be a noticeable lag between player actions and those actions happening. As of version 0.12.0 the game features "latency hiding" mechanics which make the lag less noticeable or hide it entirely. There is also support for a running dedicated server in headless mode (no graphics) in versions 0.12.0 and beyond. Starting with 0.12.4, peer-to-peer connections are optional as all the server can relay messages from one client to the other clients.

Because of the potentially immense amount of activity on a map, the game engine utilizes a lock step architecture. All instances of the game run full simulations of the entire world and only player actions are transferred across the network.

Setting Up a Multiplayer Game

Use the Multiplayer button in the game menu to start a multiplayer game. One player starts the game and acts as the host. That player should provide the other players with his or her IP address. They can then use that IP address to join the host's game.

Other notes and tips:

  • All game instances need the installation of exactly the same game-versions and mods.
  • Factorio uses the port 34197. The port can be changed in the config file.
  • Factorio uses UDP only. Make sure you configure your router's port forwarding correctly. (The game builds it's own "reliable delivery" layer built on UDP to deal with packet loss and reordering issues.)
    • Make sure there is no firewall or anti-virus blocking the UDP-packets.
  • See the section below for help configuring your networking set up.
  • The hard limit for the number of players is 65535. :)

Voice Chat

  • It is recommended that players use voice chat (TeamSpeak, Skype) because you need to talk a lot to coordinate connections, building, handling attacks, etc. TeamSpeak servers are posted in the multiplayer forum.

Finding Other Players

  • Use the multiplayer board in the forum.
  • Many players use other software like Evolve to meet other players. This also has the "advantage" of creating a virtual LAN among the players. See down under software.
  • Some also use Steam to find other players.
  • Tell your friends to buy Factorio, then play with them!

Connecting to a Server Behind NAT

Factorio requires that the server (in client-server mode) or all peers (in peer-to-peer mode) have a publicly accessible IP address or that all players are on the same LAN. If you are behind NAT, you must set up port forwarding (see above for port number) or use virtual LAN software such as Hamachi or Evolve.

By default, multiplayer games will be launched in client-server mode (also also multiplayer forwarding mode). In this mode, all clients send their network traffic to the server and the server forwards the traffic to the other clients. The advantage of this is that it allows games where some players are inside a LAN and others are outside. The disadvantage may be slightly more lag as packets must travel an extra hop (through the server). Multiplayer games may be launched in peer-to-peer mode to disable this forwarding behavior by checking the Use peer-to-peer communication box when starting the game as the host. The setting should, in theory, not make a difference in two-player games.

Game Types

Co-op

In co-op mode, all players are on the same force which means all players share the same research progression, any player can access items stored in a container built by any other player, and defensive structures built by any player will not target any other player.

To start a co-op game:

  1. Launch Factorio
  2. Click Play
  3. Click Multiplayer
  4. Click New game
  5. Select map generator options, then click Generate
  6. Choose latency and other settings, then click Play
  7. Other players can now join the game

PvP

In PvP mode, players can be on different forces. Each force can have one (free-for-all) or more players (teams). Each force has its own independent research progression. Additionally, each force's turrets and combat bots will attack other players as enemies, unless a cease fire is set. Note that, depending on the scenario, cease fires may be unidirectional — setting a cease fire with an opposing force does not guarantee a cease fire from them in return.

To start a PvP game, you must have a PvP-compatible scenario downloaded (or use the console commands to manually assign players to different forces, see below). PvP scenarios can be found in the Maps and Scenarios forum.

Example PvP scenarios:

To starting a PvP game with a PvP scenario, you need to start the scenario as a single player custom scenario, save it, then load it as a multiplayer game. Otherwise, Factorio will launch the default freeplay scenario in co-op mode. In detail:

  1. Download the scenario and place the scenario directory in the scenarios directory within your user data directory.
  2. Launch Factorio
  3. Click Play
  4. Click Custom scenario
  5. Choose the PvP scenario you want under User scenarios and click Create
  6. (Depending on the scenario, you may need to set the map generation settings and click Generate)
  7. Hit Escape and click Save game
  8. Type a save game name and click Save
  9. Click Quit game
  10. Click Play
  11. Click Multiplayer
  12. Click Load game
  13. Choose the save game you just created and click Load
  14. Choose latency and other settings, then click Play
  15. Other players can now join the game

Forces

Forces can be manually created via the console. This allows any map/scenario to be used for PvP. This may not be as convenient as a pre-made PvP scenario, as there will be no way for players to turn on/off cease fires other than through the console.

Each created force has its own research progression and different forces may attack each other.

The console commands for setting up and controlling forces are below:

game.create_force('force 1')
Creates a force with name "force 1". Default forces are "player", "enemy", and "neutral".
"player" is the default force for players
"enemy" is alien force
"neutral" is special: it is not attacked and can use all / be used by all other forces (e.g., neutral storage containers can be accessed by all)
game.get_player('friend 1').force = game.forces['force 1']
Changes the force of "friend 1" to "force 1"
game.forces['force 1'].set_cease_fire('force 2', true)
Makes "force 1" cease fire against "force 2". The reverse has to be done separately.
game.forces['force 1'].set_spawn_position({x=10, y=20}, game.get_surface(1))
Sets the spawn/respawn point for a particular force to x = 10, y = 20. By default, all players from all forces will spawn at {x = 0, y = 0}.
for v in pairs(game.forces) do game.local_player.print(v) end
list all existing forces

Dedicated/Headless server

This article contains content on features that are included in 0.12.X, an "experimental release" of the game that is not considered as "stable release" by the developers yet.

As of Factorio version 0.12.0 onwards, a dedicated (or headless) server can be started using the '--start-server' command line option.

In this mode:

  • Graphics are not initialized (faster start up, less memory usage, works on completely headless servers)
  • Game starts immediately and loads a save given as a parameter to the command
  • The server has no character in game
  • Game is paused while there are no players connected
  • Saves the game on exit (and autosaves normally)

You will need to create your save file before you start the server, as the dedicated server REQUIRES a save file to be provided. This can easily be done by loading up a game in Single-Player and saving it right away.

Below are basic instructions for starting a dedicated server on Windows and Linux.

Windows

  • Go to your Factorio.exe folder (Probably 'C:\Program Files\Factorio\bin\x64\')
  • Create a text document and write into it 'Factorio.exe --start-server YOURSAVEGAME.zip'
    • If you haven't already done, replace YOURSAVEGAME with your savegame name
  • Save the file as server.bat. Important: At 'Save as type:' select 'All Files'
  • Use the server.bat to start your server.
  • The console log will be shown in the window.
  • To close the server, select the console window press Control+C. If you just close it without pressing this, it will not save your game.
  • Forward Ports: You will find detailed instructions for your specific router on the web


Linux

This step-by-step guide has been verified on fresh CentOS 7 and RHEL 7 installs but should be applicable with little to no changes on most distribution.

The guide assumes you will install the headless server under /opt/factorio, adjust paths according to your own setup. We will also suggest that you run the Factorio server as a separate user to harden security of your setup.

This guide does not handle firewall/port forwarding since this can be done in various ways on Linux (make sure to read up how this is done as a Linux admin on your particular distribution)

You can use the Linux factorio-init script to start/stop your headless server in a much better way. The script will ensure you only ever use the most recent save when your server starts (even if that was an auto-save) while also letting you set a number of other settings like Autosave frequency and Latency settings. This script will also simplify updating the server when combined with the Linux factorio-updater script.

  • Download the at least v 0.12.0 Experimental Version and upload the linux tar.gz package to your server /tmp
  • Extract the package to /opt/factorio
#cd /opt/
#tar -xzf /tmp/factorio.tar.gz
  • Check the binary to find if you need any libs installed
#ldd /opt/factorio/bin/x64/factorio
        libasound.so.2 => not found
        libX11.so.6 => not found
        truncated ....

  • Install each of the missing libs, i.e the ones labelled "not found" using your distro's package handler
    • It will ask to install graphics and audio libraries as well, but will not use them in headless mode.
# yum whatprovides libasound.so.2
alsa-lib-1.0.28-2.el7.i686 : The Advanced Linux Sound Architecture (ALSA) library
Repo        : base
Matched from:
Provides    : libasound.so.2

# yum install alsa-lib libX11 <and all other "not found" libs in your case
  • Add a new user to your system and assign ownership of the Factorio dir to it (please, do not run as the root user)
#useradd factorio
#chown -R factorio:factorio /opt/factorio
  • Try the binary
#su factorio
#/opt/factorio/bin/x64/factorio --start-server savename

As long as it fails saying it cannot find/open the savename.zip you are set! Just upload a save from your own computer and put it in the /opt/factorio/saves directory

Dedicated/Headless server in version 0.11.X

It was still possible to achieve a Dedicated server in version 0.11.X, but it required some workarounds.

Workarounds in version 0.11.x:

Technical Implementation Details

Notes about some technical details surrounding multiplayer have been published by the development team in several Friday Facts blog posts:

More Guides

Miscellaneous Tips

  • The key for Console commands is also used initiate chat in multiplayer. To execute a command instead of chatting, you need to type /c before the command. Commands executed are visible to all players. Additionally, the multiplayer game must have been started with commands allowable for commands to work.
  • Set the player's color using the command
/c game.get_player("x").color = {r=0.7, g=0.5, b=0.1, a=0.9}

Where x is the player's name. r, g and b are for red, green and blue respectively (possible values are between 0 and 1, use the right-most column on http://prideout.net/archive/colors.php to convert colors to rgb numbers). a is alpha channel aka Transparency of the color to the base texture. For single player, replace get_player("x") with player to set the color.