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

Multiplayer: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
(→‎Headless server: Added linux headless server guide)
Line 76: Line 76:


The guide assumes you will install the headless server under '''/opt/factorio''', adjust paths according to your own setup.
The guide assumes you will install the headless server under '''/opt/factorio''', adjust paths according to your own 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 a [https://github.com/Bisa/factorio-init linux init-script] to start/stop your headless server
You can use a [https://github.com/Bisa/factorio-init linux init-script] to start/stop your headless server
Line 100: Line 103:
  <nowiki>#/opt/factorio/bin/x64/factorio --start-server savename</nowiki>
  <nowiki>#/opt/factorio/bin/x64/factorio --start-server savename</nowiki>
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
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
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)


== Game types ==
== Game types ==

Revision as of 11:42, 26 July 2015


The multiplayer feature was introduced with v0.11.0 and will be thought only for Lan-parties or Low-latency internet, because there is no much lag latency hiding mechanics introduced.

The game is technically a peer2peer game. Which means, there is no server needed.

Anybody can join an existing game, if he knows the IP of the game. He connects to the game, the game stops and the second players game downloads the current map. If the first hoster stops, the second player can continue to play and the first player can rejoin at any time. If the game desynchronizes, the map is redownloaded automatically and the game can continue.

Playing over LAN / Internet

Playing over Internet was not thought to work properly with v0.11. Noticeable lag could occur depending on connection speed/reaction time.

  • Both game instances need the installation of exactly same game-versions and mods. (Tip: Maybe someone has the scenario pack mod off?)
  • For a more fluid game the "clients" can turn off autosave.
  • Factorio uses the port 34197. The port can be changed in the config.
  • 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.)
    • Make sure, that there is no firewall or anti-virus blocking the UDP-packets.
    • read further, look into "more guides", to configure your router set up.
    • 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 Cube in Cannot Have 3+ Players connected at the same time.
  • The hard limit for the number of players is 65535. :)

Voice Chat

  • it is recommended to use some voice chat (teamspeak, Skype), because you need to talk a lot (coordinate connection, building, handling attacks...). Teamspeak servers are posted in the multiplayer forum.

Finding other Peers

  • use the multiplayer board in the forum.
  • 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 Steam to find others.

Factorio servers or Why Peer-to-Peer?

There where some discussions about, why Factorio doesn't use the client+server-model, but instead uses the peer-to-peer-priniciple. With v0.11 there will be no explicit support for making Factorio "servers". That will come with v0.12!

If you want to make a world running 24/7 you need to start whole Factorio on your "server" machine and keep it running, it works just as a peer. The server instance will then have a character in the game just like anybody else.

Some links

Headless Server pre 0.12.0

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


Headless Server post 0.12.0

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.

A dedicated 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)
Windows
  • Go to your Factorio.exe folder (Probably 'C:\Program Files\Factorio\bin\x64\')
  • Create a text document and write into it 'start 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
  • Forward Ports: You will find detailed instructions for your specific router on the web
  • Important: There is no feedback that the server is running except the factorio.exe in the task manager. That means you won't see a window or a console!
Linux

This step-by-step guide has been verified on a fresh CentOS 7 install 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.


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 a linux init-script to start/stop your headless server

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

  • Install each of the missing libs, i.e the ones labled "not found" using your distros package handler
# 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>
  • Try the binary
#/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

Game types

Coop

Coop-game runs without any further preparation ( http://www.factorioforums.com/forum/viewtopic.php?f=53&t=6501 )

PvP

Forces

You can now set up forces. See this http://www.factorioforums.com/forum/viewtopic.php?f=3&t=13512&start=80#p92087

Technical Implementation

More Tools/Infos

And always remember that Factorio in v0.11 isn't intended to work well on internet connections, so keep patient. ;)

More Guides

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!
  • 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}

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.

Software for routing / establishing connection


No-building-material-icon.png
This article is a stub, and not comprehensive.
You can help this wiki by expanding it.