Multiplayer

From Satisfactory Wiki
Jump to navigation Jump to 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 pioneers can damage each other.[2] This means that HUB, MAM and Space Elevator progress as well as AWESOME Shop unlocks are shared among all players.

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

Hosting a session

Currently there are 2 ways to play multiplayer. A player can host a session or a dedicated server can be used.

To start a player-hosted 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 friend 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:

  • 5222 TCP[3]
  • 6666 TCP & UDP[4]
  • 7777-7827 UDP[5]

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\Windows\Game.ini, and add the following lines to the end of that file:

[/Script/Engine.GameSession]
MaxPlayers=X

where X corresponds to the desired maximum amount of players. Up to 127 players are theoretically possible, but not practically.

Dedicated servers

Main article: Dedicated servers

Dedicated servers are available on Windows and Linux. See the linked page for details.

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

Troubleshooting tips

The Official Discord server lists the following multiplayer troubleshooting tips:

  • Have the host and all clients choose Network Quality: Ultra in the options.
  • Make sure you're both using the same version (Early Access or Experimental) and version number (displayed in launcher and in-game).
  • Make sure you've all set your computer to the correct time zone as this can cause connectivity issues (for some reason).
  • Try playing solo, to make sure it's not an issue with the save file.
  • Send save file to friend, see if they can load up the game when you join.
  • Check NAT type, cannot be Strict.
  • Consider open/forwarding ports 7777-7827 UDP (firewall and on router)
  • Add the binary in FactoryGame\Binaries\Win64 to your firewall/anti-virus/windows defender.

LogMeIn Hamachi VPN

  • Download Hamachi and try play through using VPN.
  • Download Hamachi and set router to “DMZ”. To do so you can follow these steps:
    • Set connection in router to "DMZ" (at your own risk; please be careful)
    • Connect through Hamachi
    • Remove DMZ in router again
    • Close Hamachi
    • Let friend join game again.
    • (The game may still show NAT 'Strict' but is likely to pose no problems.)

pfSense Firewall/Router

if you are using a pfSense Firewall/Router you need to change your NAT type to Hybrid or Manual and add a outbound mapping for your computers IP. This will fix the strict NAT issue by itself no port forwarding or anything else needed.

Performance improvements

  • 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.
This section may not be applicable for dedicated servers.

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[6] found in %LOCALAPPDATA%\FactoryGame\Saved\Config\Windows\.

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

FICSIT checkmark

Update 8 - Example use of FICSIT Checkmark purchased in Awesome Shop only used in Multiplayer Sessions.

For use only in Multiplayer Sessions, the FICSIT Checkmark[7][8][9] can be purchased in the AWESOME SHOP - Pioneering Awards for 8  FICSIT Coupons.

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]
  • Initially the FICSIT Checkmark was thought to be a April Fools Day joke given the release date of the announcement video[7] on April 1, 2023.

History

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

References