Satisfactory Wiki
m (undo introduced typo)
Tag: Undo
(Undo revision 38289 by Irist5892D (talk) vandalism)
Tag: Undo
(24 intermediate revisions by 12 users not shown)
Line 1: Line 1:
[[File:Clapping Engineers E3.png|thumb|4 players in multiplayer.]]
+
[[File:Clapping Engineers E3.png|thumb|Four players in a multiplayer session.]]
''Satisfactory'' can be played in '''multiplayer''', with up to 4 players officially supported, but with no hard player-limit <small>[[#Sessions with more than 4 players|see below]]</small>.<ref name=":0">https://www.youtube.com/watch?v=W1E6EWrAsII&t=258</ref> The game is co-op only and there will be no PvP elements, although engineers can damage each other.<ref>https://techraptor.net/content/satisfactory-interview-oscar-jilsen</ref> This means that [[HUB]], [[M.A.M.]] and [[Space Elevator]] progress is shared among all players.
+
''Satisfactory'' can be played in '''multiplayer''', with up to four players officially supported, but with no hard player-limit <small>[[#Sessions with more than 4 players|see below]]</small>.<ref name=":0">[https://www.youtube.com/watch?v=W1E6EWrAsII&t=258 YouTube - Q&A #2: Satisfactory Multiplayer, mods, lizard doggo plushies, and more!]</ref> The game is co-op only and there will be no PvP elements, although engineers can damage each other.<ref>[https://techraptor.net/content/satisfactory-interview-oscar-jilsen TechRaptor - Satisfactory Interview - Oscar Jilsén, Orbital Elevators, And The Nitty Gritty]</ref> This means that [[HUB]], [[MAM]] and [[Space Elevator]] progress is shared among all players.
   
 
Cross-platform multiplayer is available across Steam and Epic Games.
 
Cross-platform multiplayer is available across Steam and Epic Games.
Line 7: Line 7:
 
Currently, sessions can only be hosted by players. The session host cannot leave the session without disconnecting other players.
 
Currently, sessions can only be hosted by players. The session host cannot leave the session without disconnecting other players.
   
In order 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).
+
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 ===
 
=== Session privacy ===
 
The following session privacy settings are available:
 
The following session privacy settings are available:
Line 22: Line 23:
 
* 5222 TCP & UDP{{citation needed}}
 
* 5222 TCP & UDP{{citation needed}}
 
* 6666 TCP & UDP{{citation needed}}
 
* 6666 TCP & UDP{{citation needed}}
* 7777-7827 UDP<ref>https://discordapp.com/channels/370472939054956546/588704774086721536/588705065251110968</ref>
+
* 7777-7827 UDP<ref>[https://discordapp.com/channels/370472939054956546/588704774086721536/588705065251110968 Discord - #multiplayer-troubleshooting channel - Message of Jace]</ref>
   
Additonally, ensure Windows Firewall rules weren't refused when asked for permission.
+
Additionally, ensure Windows Firewall rules weren't refused when asked for permission.
   
 
=== Sessions with more than 4 players ===
 
=== Sessions with more than 4 players ===
 
<!-- Avoid changing the heading above -->
 
<!-- Avoid changing the heading above -->
In order for more than 4 players to be able to play in one session simultaneously, the game's config has to be edited.
+
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 <code>%localappdata%\FactoryGame\Saved\Config\WindowsNoEditor\Game.ini</code> and add the following lines to the end of that file:
 
The host has to navigate to <code>%localappdata%\FactoryGame\Saved\Config\WindowsNoEditor\Game.ini</code> and add the following lines to the end of that file:
Line 36: Line 37:
   
 
=== Dedicated servers ===
 
=== Dedicated servers ===
Dedicated servers are currently being worked on at higher priority<ref name=":1">https://www.youtube.com/watch?v=dSnqRq1hLZY&t=103</ref> with no set release date.<ref>https://www.youtube.com/watch?v=tHUqAoOXffs</ref>
+
Dedicated servers are currently being worked on at higher priority<ref name=":1">[https://www.youtube.com/watch?v=dSnqRq1hLZY&t=103 YouTube - Update 4 news + FAN FORGE challenge!]</ref> with no set release date.<ref>[https://www.youtube.com/watch?v=tHUqAoOXffs YouTube - Q&A: Dedicated Servers?]</ref>
   
 
Some information about them is already known:
 
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.<ref>https://www.youtube.com/watch?v=1RgR6JDSoPg</ref>
+
* Time will not stop if there are no players on the server, therefore factories will keep on working.<ref>[https://www.youtube.com/watch?v=1RgR6JDSoPg YouTube - Q&A: How will time run on the Dedicated Servers?]</ref>
 
** However, the server (regardless of player activity) will need to be restarted every 24 or 48 hours, which might happen automatically.
 
** 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.<ref>https://www.youtube.com/watch?v=299eeYGePHM</ref>
+
* Linux support is wanted, but not yet confirmed, Windows is the initial platform they are being worked on for.<ref>[https://www.youtube.com/watch?v=299eeYGePHM YouTube - Q&A: Will Dedicated Servers run on Linux?]</ref>
* The release isn't linked to a major update, it will be released alongside just a patch in the experimental branch once ready.<ref name=":1" /><ref>https://www.youtube.com/watch?v=BRvjOB3hRaE</ref>
+
* The release isn't linked to a major update, it will be released alongside just a patch in the experimental branch once ready.<ref name=":1" /><ref>[https://www.youtube.com/watch?v=BRvjOB3hRaE YouTube - Q&A: Dedicated Servers don't need to wait for an Update?]</ref>
* Dedicated serves will not cost anything (meaning that the software itself will be free, but server providers will likely charge for their services).<ref>https://www.youtube.com/watch?v=12nA53wOK6w</ref><ref>https://www.youtube.com/watch?v=BRvjOB3hRaE&t=30</ref>
+
* Dedicated servers will not cost anything (meaning that the software itself will be free, but server providers will likely charge for their services).<ref>[https://www.youtube.com/watch?v=12nA53wOK6w YouTube - Q&A: Are there server files when I want to host my own Dedicated Server?]</ref><ref>[https://www.youtube.com/watch?v=BRvjOB3hRaE&t=30 YouTube - Q&A: Dedicated Servers don't need to wait for an Update?]</ref>
   
 
== Joining a session ==
 
== Joining a session ==
 
=== Join Game menu ===
 
=== Join Game menu ===
Players can join online sessions of players in their friends list from the Join Game menu. As mentioned above, 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, in order to crossplay, Steam players must have linked their Epic account upon prompted.
+
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 ===
 
=== Session ID ===
Line 58: Line 59:
 
* Press {{Key|Esc}}.
 
* Press {{Key|Esc}}.
 
* In the menu, click on 'Manage Session', then click on 'Session Settings'.
 
* In the menu, click on 'Manage Session', then click on 'Session Settings'.
* Here, the session ID can be edited or copied it to the clipboard.
+
* Here, the session ID can be edited or copied to the clipboard.
   
The host of the session can then share this session ID in order for both Epic and Steam players to be able to join the session.
+
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 ==
 
== Other options ==
Line 70: Line 71:
 
<!-- Avoid changing the heading above -->
 
<!-- Avoid changing the heading above -->
 
{{Hatnote|''Please read this section thoroughly to avoid improperly editing the config files.''}}
 
{{Hatnote|''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 <code>%localappdata%\FactoryGame\Saved\Config\WindowsNoEditor\</code>.<ref>https://questions.satisfactorygame.com/post/5f4245f06f3c82fe950bc3f8</ref> 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.
+
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 <code>%localappdata%\FactoryGame\Saved\Config\WindowsNoEditor\</code>.<ref>[https://questions.satisfactorygame.com/post/5f4245f06f3c82fe950bc3f8 Satisfactory Q&A - Temporary Multiplayer Lag Solution - At Own Risk]</ref> 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.<br />At lower-end machines or internet connections, use <code>480000</code> everywhere there is <code>104857600</code>, this sets the limit to 480 KB/s or ~3.66 Mbit/s.
 
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.<br />At lower-end machines or internet connections, use <code>480000</code> everywhere there is <code>104857600</code>, 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 effect. The increased bandwidth can be even 5 times as much as it was before, therefore a stable internet connection is required.
+
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 ====
 
==== Engine.ini ====
Line 98: Line 99:
   
 
Note: If increasing the bandwitdh to 480 kbit/s, set MinDynamicBandwidth to <code>200000</code>
 
Note: If increasing the bandwitdh to 480 kbit/s, set MinDynamicBandwidth to <code>200000</code>
  +
 
==== Scalability.ini ====
 
==== Scalability.ini ====
 
This file will be initially blank and {{Tooltip|has to be set as 'read only'|Right-click the file, select Properties and mark it as Read only at the bottom of the window under Attributes.}} to prevent the game from overwriting it.
 
This file will be initially blank and {{Tooltip|has to be set as 'read only'|Right-click the file, select Properties and mark it as Read only at the bottom of the window under Attributes.}} to prevent the game from overwriting it.
Line 106: Line 108:
   
 
Note: If increasing the bandwitdh to 480 kbit/s, set MinDynamicBandwidth to <code>200000</code>
 
Note: If increasing the bandwitdh to 480 kbit/s, set MinDynamicBandwidth to <code>200000</code>
  +
  +
== 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 ==
 
== History ==
  +
''Due to the extensive length of multiplayer history, it was [[Multiplayer/History|moved to a separate page]].''
{{HistoryMissing|Incomplete}} <!-- Patch notes need to be checked for related changes that cannot be easily searched for -->
 
* [[Patch 0.3.5.2]]: Added a start-up argument that disables all multiplayer related connections (-NoMultiplayer)
 
* [[Patch 0.3.5]]:
 
** Introduced crossplay across Steam and Epic
 
** Fixed some session connection issues
 
** Multiplayer information in the Manage Session UI now has the same styling as in other multiplayer related menus
 
* [[Patch 0.3.4.15]]: Extractors should continue working as usual after a client player opens their menu
 
* [[Patch 0.3.4.13]]:
 
** Added a warning when copying the session ID from a private session, since private session cannot be joined
 
** Improved the player status shown on the in-game friends list with more information (no longer just “Exploring, Building a factory, etc.”)
 
* [[Patch 0.3.4.11]]:
 
** Implemented changes to multiplayer connection handling and some additional UI, still work in progress
 
** Added some reminders that multiplayer has more bugs than single player in relevant menus
 
** Clients should see less build effects replaying when joining a game
 
** Clients now get the correct tutorial info when joining a newly started game
 
** Clients can now empty single Pipelines and Fluid Buffers
 
** Clients can now toggle standby correctly in production buildings and resource extractors (still needs to be fixed for generators)
 
* [[Patch 0.3.4.8]]:
 
** Can now change online session ID in the session settings
 
** Sessions starting up will now check to make sure their ID is unique and change it if necessary
 
* [[Patch 0.3.4.7]]:
 
** New Epic Online Services (EOS) implementation for online session handling etc.
 
** Fixed a crash that occurred when clients joined a game (related to track connection)
 
** Fixed client crashing when the host builds railroad tracks
 
* [[Patch 0.3.4.2]]:
 
** Fixed the World->bInTick crash that could occur when a client joins a game
 
** Building visuals should no longer persist for client players after dismantling
 
* [[Patch 0.3.4.0]]:
 
** Potentially fixed a crash that can occur when a client player builds a building
 
** Train timetables should now work for client players
 
* [[Patch 0.3.2.0]]: Potentially fixed a crash related to multiplayer
 
* [[Patch 0.2.1.11]]: Fixed an issue where some players would get no colour assigned to them
 
* [[Patch 0.2.1.5]]:
 
** Added a version check on joining invites and ensured that network connections with different game versions generally fail and give an error message
 
** Fixed the multiplayer crash because of which the last patch was rolled back
 
* [[Patch 0.2.1.4]]: The game now crashes when joining a multiplayer session (this caused the patch to be rolled back)
 
* [[Patch 0.1.14]]:
 
** Spore Flowers now properly react to client players
 
** Alien Carapaces dropped by the Flying Crab Hatcher are now visible for clients
 
** Conveyor Pole holograms now show properly under the Conveyor Belt for clients
 
* [[Patch 0.1.13]]: Fixed a crash that occurred for joining clients that disconnected while in a vehicle
 
* [[Patch 0.1.8]]:
 
** Fixed some Map related crashes
 
** Client players can now sort the inventory in various storages
 
* [[Patch 0.101]]:
 
** Likely fixed the issue with Sending Game Data that blocked multiplayer
 
** Likely fixed some Replication Graph crashes
 
* [[Patch 0.1]]: Fixed desync issues when dismantling wires connected to poles
 
* Closed Alpha Build 90961 (February 2019): Introduced<ref>https://discordapp.com/channels/370472939054956546/455858725518049280/731508824086806641</ref>
 
   
 
== References ==
 
== References ==
 
{{Reflist}}
 
{{Reflist}}
  +
{{EngineerNav}}
 
  +
{{PioneerNav}}
  +
 
[[Category:Gameplay mechanics]]
 
[[Category:Gameplay mechanics]]
 
[[Category:Satisfactory]]
 
[[Category:Satisfactory]]

Revision as of 06:40, 18 July 2021

Clapping Engineers E3

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