Multiplayer

From Satisfactory Wiki
Revision as of 16:42, 28 April 2021 by Ondar111 (talk | contribs) (Undo revision 36105 by 50.99.167.107 (talk) there is no missing zero, the "minimal" value is purposely smaller)
Jump to: navigation, search
Four players in a multiplayer session.

Satisfactory can be played in multiplayer, with up to four players officially supported, but with no hard player-limit see below.[1] The game is co-op only and there will be no PvP elements, although engineers can damage each other.[2] This means that HUB, MAM and Space Elevator progress is shared among all players.

Cross-platform multiplayer is available across Steam and Epic Games.

Hosting a session

Currently, sessions can only be hosted by players. The session host cannot leave the session without disconnecting other players.

To start a multiplayer session, the host has to start an online session (a normal session like when playing in single-player, as long as the host has internet access and authentication servers are working normally) and then allow other players to join, or to invite those players (see sections below).

Session privacy

The following session privacy settings are available:

  • Friends Only - Allows anyone in the host's client list to join the hosted session from the Join Game menu without invitation. This also allows Session ID to be used, regardless of friend list status.
  • Private - Clients can only join the hosted session if invited using in-game invites. Attempting to join the session via Session ID will result in it not being found.

There are no plans for a "Public" option, due to griefing concerns.[1]

Network configuration

It might be necessary to configure the network in some scenarios, notably on NAT: Strict, which disallows hosting sessions and allows joining sessions only on NAT: Open. Should both the host and client/s have NAT: Moderate or Open, joining sessions should be normally possible.

The game uses the following ports:

Additionally, ensure Windows Firewall rules weren't refused when asked for permission.

Sessions with more than 4 players

For more than four players to be able to play in one session simultaneously, the game's config has to be edited.

The host has to navigate to %localappdata%\FactoryGame\Saved\Config\WindowsNoEditor\Game.ini and add the following lines to the end of that file:

[/Script/Engine.GameSession]
MaxPlayers=REPLACE_WITH_NUMBER

where REPLACE_WITH_NUMBER corresponds to the desired maximum amount of players.

Dedicated servers

Dedicated servers are currently being worked on at higher priority[4] with no set release date.[5]

Some information about them is already known:

  • Time will not stop if there are no players on the server, therefore factories will keep on working.[6]
    • However, the server (regardless of player activity) will need to be restarted every 24 or 48 hours, which might happen automatically.
  • Linux support is wanted, but not yet confirmed, Windows is the initial platform they are being worked on for.[7]
  • The release isn't linked to a major update, it will be released alongside just a patch in the experimental branch once ready.[4][8]
  • Dedicated servers will not cost anything (meaning that the software itself will be free, but server providers will likely charge for their services).[9][10]

Joining a session

Join Game menu

Players can join online sessions of players in their friend list from the Join Game menu. As mentioned above, an invitation may or may not be required based on the session privacy setting. It is easy to join players on the same platform this way, to crossplay, Steam players must have linked their Epic account upon prompted.

Session ID

Every online session has a set Session ID. Anyone who has access to this ID can join the session, as long as its privacy is set to Friends Only (despite the name, neither user does actually have to be in each other's friend list on either Epic or Steam).

This ID is unique to each session and is reset once the game is quit to the main menu or entirely.

The session ID can be found by doing the following:

  • Press Esc.
  • In the menu, click on 'Manage Session', then click on 'Session Settings'.
  • Here, the session ID can be edited or copied to the clipboard.

The host of the session can then share this session ID for both Epic and Steam players to be able to join the session.

Other options

Performance improvements

  • Have the host and all clients choose Network Quality: Ultra in the options.
  • If experiencing high latency, try unchecking Send Gameplay Data in the options.

Temporary lag solution

Please read this section thoroughly to avoid improperly editing the config files.

There is a way to decrease rubber-banding at the cost of increasing bandwidth by adding the following lines to the game's config files found in %localappdata%\FactoryGame\Saved\Config\WindowsNoEditor\.[11] Before adding the lines to the config files, ensure they aren't already in place but with different values if so, replace them instead of having duplicates.

By default, the game's maximum bandwidth appears to be throttled at 64 KB/s. By editing the config files, this limit is increased to 800 Mbit/s.
At lower-end machines or internet connections, use 480000 everywhere there is 104857600, this sets the limit to 480 KB/s or ~3.66 Mbit/s.

This has to be done by all players (both the host and client/s) to have an effect. The increased bandwidth can be even five times as much as it was before, therefore a stable internet connection is required.

Engine.ini

This file should be set as 'read only' to prevent the game from overwriting it.

[/Script/Engine.Player]
ConfiguredInternetSpeed=104857600
ConfiguredLanSpeed=104857600

[/Script/OnlineSubsystemUtils.IpNetDriver]
MaxClientRate=104857600
MaxInternetClientRate=104857600

[/Script/SocketSubsystemEpic.EpicNetDriver]
MaxClientRate=104857600
MaxInternetClientRate=104857600

Game.ini

This file should be set as 'read only' to prevent the game from overwriting it.

[/Script/Engine.GameNetworkManager]
TotalNetBandwidth=104857600
MaxDynamicBandwidth=104857600
MinDynamicBandwidth=10485760

Note: If increasing the bandwitdh to 480 kbit/s, set MinDynamicBandwidth to 200000

Scalability.ini

This file will be initially blank and has to be set as 'read only' to prevent the game from overwriting it.

[NetworkQuality@3]
TotalNetBandwidth=104857600
MaxDynamicBandwidth=104857600
MinDynamicBandwidth=10485760

Note: If increasing the bandwitdh to 480 kbit/s, set MinDynamicBandwidth to 200000

Trivia

  • A total of 128 session participants is currently possible as a signed byte is used to track sessions, but Snutt had remarked that switching to an unsigned byte would enable up to 255 participants.[citation needed]

History

Due to the extensive length of multiplayer history, it was moved to a separate page.

References