526870
Mesa 19.2.8, LLVM 9.0.0
5.6.11-200.fc31.x86_64
When attempting to connect to a friend's session over multiplayer, the actual connection is timed out during initialization. The menu resets and shows a error message indicating that the Unreal component Unet timed out.
Functionality with matchmaking and friend's list appears to be fully functional.
I can confirm this issue. Looking at wireshark it appears to be having issues with Epic Online Service's STUN service (possibly):
My NAT was set to "Moderate" in-game.
My steam log, nothing too useful in there I am afraid. Is there a way I can more effectively diagnose network settings, or get wine / proton to use a specific network interface to help diagnose this a bit better?
Relevant logs from game:
Log file open, 06/11/20 11:50:00
LogConsoleResponse: Display: Failed to find resolution value strings in scalability ini. Falling back to default.
LogPakFile: Registered encryption key '00000000000000000000000000000000': 0 pak files mounted, 0 remain pending
LogPakFile: Display: Found Pak file ../../../FactoryGame/Content/Paks/FactoryGame-WindowsNoEditor.pak attempting to mount.
LogPakFile: Display: Mounting pak file ../../../FactoryGame/Content/Paks/FactoryGame-WindowsNoEditor.pak.
LogPlatformFile: Not using cached read wrapper
LogTaskGraph: Started task graph with 4 named threads and 82 total threads with 3 sets of task threads.
LogD3D11RHI: Loaded GFSDK_Aftermath_Lib.x64.dll
LogICUInternationalization: ICU TimeZone Detection - Raw Offset: +10:00, Platform Override: ''
LogPluginManager: Mounting plugin ReplicationGraph
LogPluginManager: Mounting plugin Wwise
LogPluginManager: Mounting plugin MatineeToLevelSequence
LogPluginManager: Mounting plugin ApexDestruction
LogPluginManager: Mounting plugin BlueprintStats
LogPluginManager: Mounting plugin OnlineFramework
LogPluginManager: Mounting plugin OnlineSubsystem
LogPluginManager: Mounting plugin OnlineSubsystemUtils
LogPluginManager: Mounting plugin Composure
LogPluginManager: Mounting plugin LensDistortion
LogPluginManager: Mounting plugin BlueprintMaterialTextureNodes
LogPluginManager: Mounting plugin MediaIOFramework
LogPluginManager: Mounting plugin OpenColorIO
LogPluginManager: Mounting plugin WindowsDeviceProfileSelector
LogPluginManager: Mounting plugin SteamController
LogPluginManager: Mounting plugin RawInput
LogPluginManager: Mounting plugin MfMedia
LogPluginManager: Mounting plugin OnlineSubsystemSteam
LogPluginManager: Mounting plugin OnlineSubsystemEOS
LogPluginManager: Mounting plugin SignificanceManager
LogPluginManager: Mounting plugin PythonScriptPlugin
LogPluginManager: Mounting plugin EditorScriptingUtilities
LogPluginManager: Mounting plugin EditorTests
LogPluginManager: Mounting plugin FbxAutomationTestBuilder
LogPluginManager: Mounting plugin FunctionalTestingEditor
LogPluginManager: Mounting plugin RuntimeTests
LogPluginManager: Mounting plugin ScreenshotTools
LogPluginManager: Mounting plugin CSSEditorToolsExtension
LogPluginManager: Mounting plugin Paper2D
LogPluginManager: Mounting plugin AISupport
LogPluginManager: Mounting plugin LightPropagationVolume
LogPluginManager: Mounting plugin AnimationSharing
LogPluginManager: Mounting plugin AssetManagerEditor
LogPluginManager: Mounting plugin CryptoKeys
LogPluginManager: Mounting plugin FacialAnimation
LogPluginManager: Mounting plugin DatasmithContent
LogPluginManager: Mounting plugin VariantManagerContent
LogPluginManager: Mounting plugin AlembicImporter
LogPluginManager: Mounting plugin GeometryCache
LogPluginManager: Mounting plugin AppleImageUtils
LogPluginManager: Mounting plugin AppleVision
LogPluginManager: Mounting plugin BackChannel
LogPluginManager: Mounting plugin CharacterAI
LogPluginManager: Mounting plugin ImgMedia
LogPluginManager: Mounting plugin LinearTimecode
LogPluginManager: Mounting plugin MediaCompositing
LogPluginManager: Mounting plugin WmfMedia
LogPluginManager: Mounting plugin TcpMessaging
LogPluginManager: Mounting plugin UdpMessaging
LogPluginManager: Mounting plugin ActorSequence
LogPluginManager: Mounting plugin NetcodeUnitTest
LogPluginManager: Mounting plugin OnlineSubsystemNull
LogPluginManager: Mounting plugin LauncherChunkInstaller
LogPluginManager: Mounting plugin AudioCapture
LogPluginManager: Mounting plugin CableComponent
LogPluginManager: Mounting plugin CustomMeshComponent
LogPluginManager: Mounting plugin EditableMesh
LogPluginManager: Mounting plugin ExampleDeviceProfileSelector
LogPluginManager: Mounting plugin PhysXVehicles
LogPluginManager: Mounting plugin ProceduralMeshComponent
LogPluginManager: Mounting plugin RuntimePhysXCooking
LogPluginManager: Mounting plugin WebMMoviePlayer
LogPluginManager: Mounting plugin WebMMedia
LogPluginManager: Mounting plugin WindowsMoviePlayer
LogInit: Using libcurl 7.55.1-DEV
LogInit: - built for x86_64-pc-win32
LogInit: - supports SSL with OpenSSL/1.1.1
LogInit: - supports HTTP deflate (compression) using libz 1.2.8
LogInit: - other features:
LogInit: CURL_VERSION_SSL
LogInit: CURL_VERSION_LIBZ
LogInit: CURL_VERSION_IPV6
LogInit: CURL_VERSION_ASYNCHDNS
LogInit: CURL_VERSION_LARGEFILE
LogInit: CURL_VERSION_IDN
LogInit: CurlRequestOptions (configurable via config and command line):
LogInit: - bVerifyPeer = true - Libcurl will verify peer certificate
LogInit: - bUseHttpProxy = false - Libcurl will NOT use HTTP proxy
LogInit: - bDontReuseConnections = false - Libcurl will reuse connections
LogInit: - MaxHostConnections = 16 - Libcurl will limit the number of connections to a host
LogInit: - LocalHostAddr = Default
LogInit: - BufferSize = 65536
LogInit: WinSock: version 1.1 (2.2), MaxSocks=128, MaxUdp=1024
LogOnline: Warning: OSS: Setting up user cache directory: C:/users/steamuser/My Documents/CacheDirectory
LogOnline: Display: STEAM: Loading Steam SDK 1.39
LogOnline: STEAM: Steam User is subscribed 1
LogOnline: STEAM: [AppId: 526870] Client API initialized 1
LogOnline: STEAM: [AppId: 526870] Game Server API initialized 1
LogOnline: STEAM: Missing P2PCleanupTimeout key in OnlineSubsystemSteam of DefaultEngine.ini, using default
LogInit: Build: ++FactoryGame+rel-main-0.3.5-CL-124233
LogInit: Engine Version: 4.22.3-124233+++FactoryGame+rel-main-0.3.5
LogInit: Compatible Engine Version: 4.22.0-5660361+++FactoryGame+rel-main-0.3.5
LogInit: Net CL: 5660361
LogInit: OS: Windows 7 (Service Pack 1), CPU: AMD Ryzen Threadripper 2950X 16-Core Processor , GPU: NVIDIA-0
LogInit: Compiled (64-bit): Jun 4 2020 11:58:19
LogInit: Compiled with Visual C++: 19.16.27038.00
LogInit: Build Configuration: Shipping
LogInit: Branch Name: ++FactoryGame+rel-main-0.3.5
LogInit: Command Line: -NO_EOS_OVERLAY -NOSPLASH LOG=GAME.LOG.TXT
LogInit: Base Directory: Z:/home/tmcbride/.local/share/Steam/steamapps/common/Satisfactory/FactoryGame/Binaries/Win64/
LogInit: Installed Engine Build: 1
LogInit: Launcher File: Z:/home/tmcbride/.local/share/Steam/steamapps/common/Satisfactory/launcher_id
LogInit: Launcher ID: steam
LogInit: Presizing for max 2097152 objects, including 1 objects not considered by GC, pre-allocating 0 bytes for permanent pool.
LogStreaming: Display: Async Loading initialized: Event Driven Loader: true, Async Loading Thread: true, Async Post Load: true
LogInit: Object subsystem initialized
...
...
[2020.06.11-02.18.43:078][758]LogWorld: Bringing World /Game/FactoryGame/Map/MenuScenes/MenuScene_02.MenuScene_02 up for play (max tick rate 0) at 2020.06.11-12.18.43
[2020.06.11-02.18.43:081][758]LogWorld: Bringing up level for play took: 0.004116
[2020.06.11-02.18.43:082][758]LogGame: Warning: Player start 'PlayerStart_2' has no tag.
[2020.06.11-02.18.43:083][758]LogGameMode: Display: Match State Changed from EnteringMap to WaitingToStart
[2020.06.11-02.18.43:083][758]LogGameState: Match State Changed from EnteringMap to WaitingToStart
[2020.06.11-02.18.43:083][758]LogGameMode: Display: Match State Changed from WaitingToStart to InProgress
[2020.06.11-02.18.43:140][758]LogConfig: Error: Unidentified category type
[2020.06.11-02.18.43:165][758]LogGameState: Match State Changed from WaitingToStart to InProgress
[2020.06.11-02.18.43:166][758]LogLoad: Took 1.881538 seconds to LoadMap(/Game/FactoryGame/Map/MenuScenes/MenuScene_02)
[2020.06.11-02.18.43:184][758]LogUObjectHash: Compacting FUObjectHashTables data took 11.60ms
[2020.06.11-02.18.43:217][758]LogSlate: FSceneViewport::OnFocusLost() reason 2
[2020.06.11-02.18.44:314][760]LogOnlineIdentity: OSS: Presence update notification
[2020.06.11-02.18.44:314][760]LogOnlineIdentity: OSS: The presence udpate was for an unmapeed user...
[2020.06.11-02.18.44:597][777]LogOnlineIdentity: OSS: Presence update notification
[2020.06.11-02.18.44:597][777]LogOnlineIdentity: OSS: The presence udpate was for an unmapeed user...
[2020.06.11-02.18.52:148][226]LogSlate: FSceneViewport::OnFocusLost() reason 0
[2020.06.11-02.18.53:789][321]LogSlate: FSceneViewport::OnFocusLost() reason 2
[2020.06.11-02.18.59:193][637]LogOnlineIdentity: OSS: Presence update notification
[2020.06.11-02.18.59:193][637]LogOnlineIdentity: OSS: The presence udpate was for an unmapeed user...
[2020.06.11-02.19.00:231][693]LogGame: Warning: QuerySessionByID with ID: dorkfusionad2525bb691937#BCF.
[2020.06.11-02.19.00:231][693]LogOnlineSession: OSS: EOS-OSS: FindSessions
[2020.06.11-02.19.03:535][887]LogGame: Warning: QuerySessionByID with ID: found a session
[2020.06.11-02.19.05:077][974]LogGame: Warning: Comparing Game Versions: They were the same: Others Version: ++FactoryGame+rel-main-0.3.5-CL-124233, this version: ++FactoryGame+rel-main-0.3.5-CL-124233
[2020.06.11-02.19.05:376][989]LogGameMode: Display: Match State Changed from InProgress to LeavingMap
[2020.06.11-02.19.05:376][989]LogGameState: Match State Changed from InProgress to LeavingMap
[2020.06.11-02.19.05:376][989]LogNet: Browse: EOS.0002aee5c4d448d28d8b18e3a0b15272faf4fc2759bb4792a19e9d37428a7429//Game/FactoryGame/Map/MenuScenes/MenuScene_02
[2020.06.11-02.19.05:377][989]PacketHandlerLog: Loaded PacketHandler component: Engine.EngineHandlerComponentFactory (StatelessConnectHandlerComponent)
[2020.06.11-02.19.05:683][ 6]LogOnlineIdentity: OSS: Presence update notification
[2020.06.11-02.19.05:683][ 6]LogOnlineIdentity: OSS: The presence udpate was for an unmapeed user...
[2020.06.11-02.19.20:666][865]LogOnlineIdentity: OSS: Presence update notification
[2020.06.11-02.19.20:666][865]LogOnlineIdentity: OSS: The presence udpate was for an unmapeed user...
[2020.06.11-02.19.23:620][ 42]LogSocketSubsystemEOS: EOSSDK::OnRemoteConnectionClosedCb 0x00000000005EE170
[2020.06.11-02.19.23:620][ 42]LogSocketSubsystemEOS: Connection closed from 0002aee5c4d448d28d8b18e3a0b15272, with reason EOS_CCR_ClosedByPeer
[2020.06.11-02.19.35:690][747]LogOnlineIdentity: OSS: Presence update notification
[2020.06.11-02.19.35:690][747]LogOnlineIdentity: OSS: The presence udpate was for an unmapeed user...
[2020.06.11-02.19.42:741][167]LogSocketSubsystemEOS: EOSSDK::OnRemoteConnectionClosedCb 0x00000000005EE170
[2020.06.11-02.19.42:741][167]LogSocketSubsystemEOS: Connection closed from 0002aee5c4d448d28d8b18e3a0b15272, with reason EOS_CCR_ClosedByPeer
[2020.06.11-02.19.50:717][627]LogOnlineIdentity: OSS: Presence update notification
[2020.06.11-02.19.50:717][627]LogOnlineIdentity: OSS: The presence udpate was for an unmapeed user...
[2020.06.11-02.20.01:952][275]LogSocketSubsystemEOS: EOSSDK::OnRemoteConnectionClosedCb 0x00000000005EE170
[2020.06.11-02.20.01:952][275]LogSocketSubsystemEOS: Connection closed from 0002aee5c4d448d28d8b18e3a0b15272, with reason EOS_CCR_ClosedByPeer
[2020.06.11-02.20.05:409][475]LogNet: Warning: UNetConnection::Tick: Connection TIMED OUT. Closing connection.. Elapsed: 60.03, Real: 60.00, Good: 60.00, DriverTime: 60.03, Threshold: 60.00, [UNetConnection] RemoteAddr: EOS.0002aee5c4d448d28d8b18e3a0b15272faf4fc2759bb4792a19e9d37428a7429:7777, Name: EOSNetConnection_0, Driver: PendingNetDriver EOSNetDriver_1, IsServer: NO, PC: NULL, Owner: NULL, UniqueId: INVALID
[2020.06.11-02.20.05:410][475]LogGame: Error: Network Error Recived: Type: 1121122136, MSG: UNetConnection::Tick: Connection TIMED OUT. Closing connection.. Elapsed: 60.03, Real: 60.00, Good: 60.00, DriverTime: 60.03, Threshold: 60.00, [UNetConnection] RemoteAddr: EOS.0002aee5c4d448d28d8b18e3a0b15272faf4fc2759bb4792a19e9d37428a7429:7777, Name: EOSNetConnection_0, Driver: PendingNetDriver EOSNetDriver_1, IsServer: NO, PC: NULL, Owner: NULL, UniqueId: INVALID
[2020.06.11-02.20.05:410][475]LogNet: NetworkFailure: ConnectionTimeout, Error: 'UNetConnection::Tick: Connection TIMED OUT. Closing connection.. Elapsed: 60.03, Real: 60.00, Good: 60.00, DriverTime: 60.03, Threshold: 60.00, [UNetConnection] RemoteAddr: EOS.0002aee5c4d448d28d8b18e3a0b15272faf4fc2759bb4792a19e9d37428a7429:7777, Name: EOSNetConnection_0, Driver: PendingNetDriver EOSNetDriver_1, IsServer: NO, PC: NULL, Owner: NULL, UniqueId: INVALID'
[2020.06.11-02.20.05:410][475]LogGameMode: Display: Match State Changed from LeavingMap to Aborted
[2020.06.11-02.20.05:410][475]LogGameState: Match State Changed from LeavingMap to Aborted
[2020.06.11-02.20.05:410][475]LogOnline: Error: OSS: EOS-OSS: EOS_PresenceModification_SetData() failed with result code (EOS_Presence_DataLengthInvalid)
[2020.06.11-02.20.05:410][475]LogNet: UNetConnection::Close: [UNetConnection] RemoteAddr: EOS.0002aee5c4d448d28d8b18e3a0b15272faf4fc2759bb4792a19e9d37428a7429:7777, Name: EOSNetConnection_0, Driver: PendingNetDriver EOSNetDriver_1, IsServer: NO, PC: NULL, Owner: NULL, UniqueId: INVALID, Channels: 2, Time: 2020.06.11-02.20.05
[2020.06.11-02.20.05:411][475]LogNet: UChannel::Close: Sending CloseBunch. ChIndex == 0. Name: [UChannel] ChIndex: 0, Closing: 0 [UNetConnection] RemoteAddr: EOS.0002aee5c4d448d28d8b18e3a0b15272faf4fc2759bb4792a19e9d37428a7429:7777, Name: EOSNetConnection_0, Driver: PendingNetDriver EOSNetDriver_1, IsServer: NO, PC: NULL, Owner: NULL, UniqueId: INVALID
[2020.06.11-02.20.05:425][476]LogGameMode: Display: Match State Changed from Aborted to LeavingMap
[2020.06.11-02.20.05:425][476]LogGameState: Match State Changed from Aborted to LeavingMap
[2020.06.11-02.20.05:426][476]LogNet: Browse: /Game/FactoryGame/Map/MenuScenes/MenuScene_02?closed
[2020.06.11-02.20.05:426][476]LogNet: DestroyNamedNetDriver EOSNetDriver_1 [PendingNetDriver]
[2020.06.11-02.20.05:426][476]LogSocketSubsystemEOS: EOSSDK::OnRemoteConnectionClosedCb 0x00000000005EDCD0
[2020.06.11-02.20.05:426][476]LogSocketSubsystemEOS: Connection closed from 0002aee5c4d448d28d8b18e3a0b15272, with reason EOS_CCR_ClosedByLocalUser
[2020.06.11-02.20.05:426][476]LogExit: PendingNetDriver EOSNetDriver_1 shut down
[2020.06.11-02.20.05:426][476]LogNet: Connection failed; returning to Entry
[2020.06.11-02.20.05:437][476]LogLoad: LoadMap: /Game/FactoryGame/Map/MenuScenes/MenuScene_02?closed
[2020.06.11-02.20.05:456][476]LogNet: UChannel::CleanUp: ChIndex == 0. Closing connection. [UChannel] ChIndex: 0, Closing: 0 [UNetConnection] RemoteAddr: EOS.0002aee5c4d448d28d8b18e3a0b15272faf4fc2759bb4792a19e9d37428a7429:7777, Name: EOSNetConnection_0, Driver: PendingNetDriver EOSNetDriver_1, IsServer: NO, PC: NULL, Owner: NULL, UniqueId: INVALID
[2020.06.11-02.20.05:460][476]LogNet: UNetConnection::PendingConnectionLost. [UNetConnection] RemoteAddr: EOS.0002aee5c4d448d28d8b18e3a0b15272faf4fc2759bb4792a19e9d37428a7429:7777, Name: None, Driver: PendingNetDriver None, IsServer: YES, PC: NULL, Owner: NULL, UniqueId: INVALID bPendingDestroy=0
[2020.06.11-02.20.05:480][476]LogUObjectHash: Compacting FUObjectHashTables data took 10.99ms
[2020.06.11-02.20.05:487][476]LogStreaming: Display: Flushing async loaders.
[2020.06.11-02.20.05:562][476]LogAIModule: Creating AISystem for world MenuScene_02
[2020.06.11-02.20.05:646][476]LogLoad: Game class is 'BP_GameModeMenu_C'
[2020.06.11-02.20.05:653][476]LogWorld: Bringing World /Game/FactoryGame/Map/MenuScenes/MenuScene_02.MenuScene_02 up for play (max tick rate 0) at 2020.06.11-12.20.05
[2020.06.11-02.20.05:654][476]LogWorld: Bringing up level for play took: 0.002260
...
...
[2020.06.11-02.20.22:313][122]LogExit: Exiting.
[2020.06.11-02.20.22:325][122]Log file closed, 06/11/20 12:20:22
Tested with Proton 5.0-9 and 4.11-13. Tested the Epic Games version through Proton as well, which used to work in multiplayer. Same issue across the board on two different Ubuntu 18.04.4 boxes. Whatever they did upto the Steam release broke multiplayer under Proton.
When you were testing the steam version, did you also do the steam connection to EOS instead of the steam to epic account linking?
I wonder if the steam to epic account link would work better in case there is something being lost in translation between steam proton and the epic online service communication framework.
But this would be difficult to test because I would need to open a ticket with the satisfactory in manually adjust my account.
When you were testing the steam version, did you also do the steam connection to EOS instead of the steam to epic account linking?
I chose the option on the right, linking both accounts so I can see both Epic and Steam friends online in-game.
Can confirm, the exact same error in wireshark with STUN and epic
I get the same error message, but only if the target server/session is running inside Proton as well. If I connect from my Proton client to a Satisfactory session running on windows, it works.
I get the same error message, but only if the target server/session is running inside Proton as well. If I connect from my Proton client to a Satisfactory session running on windows, it works.
Could you do a network trace of a working join and compare it with one that failed?
@JackTemaki in the case in which it works vs doesnt, does the account change? Like does the host that work not have an account linked to epic and the host that doesnt work have its account linked to epic?
I am also experiencing this, my (linux) account is not linked to an epic account, but the host (windows) account is
I've tried with and without being logged into an Epic account (on the steam version of the game) and neither seem to work. Will post network trace comparison shortly.
Game log files, joining the same session on Windows (VM) successfully vs Proton unsuccessfully. These files can be produced by turning up network logging verbosity by appending the following lines to Saved/Config/WindowsNoEditor/Game.ini
:
[Core.Log]
LogOnline=All
LogOnlineGame=All
You can specify the location of your log file by adding LOG=[your-log-file-name].txt
to your launch options, and it will create it relative to Saved/Logs
.
@JackTemaki in the case in which it works vs doesnt, does the account change? Like does the host that work not have an account linked to epic and the host that doesnt work have its account linked to epic?
No, in both cases we did not link to an (explicit, only the interal dummy) epic account, on neither the server nor the client side.
I had the same problem. It seems to be somehow related to the fact that there are multiple network interfaces. When I remove all network interfaces except the one used for connecting to the internet, multiplayer works.
@steffen-kiess Can you provide more details on how to perform this workaround?
There seems to be no request under the proton with CreatePermission
Windows:
Proton:
I had the same problem. It seems to be somehow related to the fact that there are multiple network interfaces. When I remove all network interfaces except the one used for connecting to the internet, multiplayer works.
Thanks for this observation, I'll try this out.
When I remove all network interfaces except the one used for connecting to the internet, multiplayer works
This is not desirable considering that many here would use some form or another of VM (virtualbox, VMWare, etc). So removing network interfaces is a major pain in the you know where.
What would be desirable is an environment var to force an interface to be used only.
Would it be possible to run a command prior to FactoryGame.exe that sets the primary interface as shown in this forum post? https://forum.winehq.org/viewtopic.php?p=1363#p1363
Edit: Never mind, that's using the linux route command!
My friend and I have been troubleshooting this on and off for two days. Try this command in linux:
sudo virsh net-destroy default
He did that, and i was able to connect to his game instantly.
He did that, and i was able to connect to his game instantly.
I have docker installed and a virsh interface for my Windows VM, I am guessing I'd need to remove all of these to test.
To be honest with you I have no idea
He did that, and i was able to connect to his game instantly.
I have docker installed and a virsh interface for my Windows VM, I am guessing I'd need to remove all of these to test.
To be honest with you I have no idea. We just started another session and I was able to connect again.
I am going to test shutting all of my interfaces and connecting to a game. likely wont be able to get to it for a couple hours however.
I am going to test shutting all of my interfaces and connecting to a game. likely wont be able to get to it for a couple hours however.
Using the method I recommended, it worked perfectly as soon as we ran the command. It appears the code is forcing use of a virtual network interface as the default. If you destroy it, all is well. The command my friend used is in my initial post
I am going to test shutting all of my interfaces and connecting to a game. likely wont be able to get to it for a couple hours however.
Using the method I recommended, it worked perfectly as soon as we ran the command. It appears the code is forcing use of a virtual network interface as the default. If you destroy it, all is well. The command my friend used is in my initial post
The virtual network interfaces (Hamachi in this particular case) were also the issue for us, after removing them everything worked fine.
For VMware, as root;
vmware-networks --stop
.
You can later re-enable with vmware-networks --start
This is still not a proper solution - there still needs to be a way for wine/proton to force bind to a network interface.
Disabling network interfaces is lipstick on a pig.
@steffen-kiess Can you provide more details on how to perform this workaround?
You can list the interfaces with ip a
and then use e.g. ip link set dev virbr0 down
to disable the interface virbr0
. (You can use ip link set dev virbr0 up
to enable it again.) You probably should disable every interface which is listed as UP
and has an IPv4 address except lo
and the interface you need for network access.
I need my other interfaces, unfortunately. No wine trickery possible to get around this?
I need my other interfaces, unfortunately. No wine trickery possible to get around this?
You can use namespaces to launch Steam with a single network interface. Change IP_SUBNET if you already have the same and USER_NAME_TO_RUN_STEAM. Check net.ipv4.ip_forward, if you don't need to change it.
Script example:
USER_NAME_TO_RUN_STEAM="YourUser"
IP_SUBNET="10.10.10"
sudo ip netns add steam_ns
sudo ip netns exec steam_ns ip addr add 127.0.0.1/8 dev lo
sudo ip netns exec steam_ns ip link set lo up
sudo ip link add steam_ns0 type veth peer name steam_ns1
sudo ip link set steam_ns0 up
sudo ip link set steam_ns1 netns steam_ns up
sudo ip addr add $IP_SUBNET.1/24 dev steam_ns0
sudo ip netns exec steam_ns ip addr add $IP_SUBNET.2/24 dev steam_ns1
sudo ip netns exec steam_ns ip route add default via $IP_SUBNET.1 dev steam_ns1
sudo iptables -A INPUT ! -i steam_ns0 -s $IP_SUBNET.0/24 -j DROP
sudo iptables -t nat -A POSTROUTING -s $IP_SUBNET.0/24 -o en+ -j MASQUERADE
sudo sysctl -q net.ipv4.ip_forward=1
sudo mkdir -p /etc/netns/steam_ns
echo "nameserver 8.8.8.8" | sudo tee /etc/netns/steam_ns/resolv.conf
sudo ip netns exec steam_ns su - $USER_NAME_TO_RUN_STEAM -c "DISPLAY=:0 steam"
sudo ip netns pids steam_ns | xargs -rd'\n' sudo kill
sudo rm -rf /etc/netns/steam_ns
sudo sysctl -q net.ipv4.ip_forward=0
sudo iptables -D INPUT ! -i steam_ns0 -s $IP_SUBNET.0/24 -j DROP
sudo iptables -t nat -D POSTROUTING -s $IP_SUBNET.0/24 -o en+ -j MASQUERADE
sudo ip link del steam_ns0
sudo ip netns delete steam_ns
Reporting back that shutting all other interfaces than your internet and loopback will allow you to play Satisfactory multiplayer without issues.
For now I have a workaround. huzzah!
Thank you all for the help.
You can use namespaces to launch Steam with a single network interface. Change IP_SUBNET if you already have the same and USER_NAME_TO_RUN_STEAM. Check net.ipv4.ip_forward, if you don't need to change it.
You absolute champion, thanks!
Thanks, removing the virt-manager network interface via 'sudo virsh net-destroy default' did the trick for me!
This finally did the trick. I had to ifconfig down
my other interfaces (docker0, wifi) and then I was able to join other games without problems.
(Though I still needed to have ports 50000-65000 forwarded to host)
Neither this suggestion (link to my own gist here), nor this one worked for me (see below copy/paste).
$ ip addr
````
</summary>
[2020-07-11 13:38:43] 0 x10an14@x10-desktop:~
-> $ ip addr
1: lo:
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp42s0:
link/ether 70:85:c2:83:67:04 brd ff:ff:ff:ff:ff:ff
inet 192.168.14.4/24 brd 192.168.14.255 scope global dynamic enp42s0
valid_lft 85296sec preferred_lft 85296sec
inet6 fe80::7285:c2ff:fe83:6704/64 scope link
valid_lft forever preferred_lft forever
3: enp45s0:
link/ether 70:85:c2:83:67:02 brd ff:ff:ff:ff:ff:ff
4: wlp39s0:
link/ether 94:b8:6d:2e:c9:a8 brd ff:ff:ff:ff:ff:ff
5: br-223757ae9ac0:
link/ether 02:42:1f:24:62:22 brd ff:ff:ff:ff:ff:ff
inet 172.18.0.1/16 brd 172.18.255.255 scope global br-223757ae9ac0
valid_lft forever preferred_lft forever
6: docker0:
link/ether 02:42:87:e1:1a:64 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
valid_lft forever preferred_lft forever
[2020-07-11 13:41:47] 0 x10an14@x10-desktop:~
-> $
</details>
I'm on;
<details>
<summary>
$聽lsb_release -a
$ uname -a
</summary>
[2020-07-11 13:41:47] 0 x10an14@x10-desktop:~
-> $ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 10 (buster)
Release: 10
Codename: buster
[2020-07-11 13:42:26] 0 x10an14@x10-desktop:~
-> $ uname -a
Linux x10-desktop 4.19.0-9-amd64 #1 SMP Debian 4.19.118-2+deb10u1 (2020-06-07) x86_64 GNU/Linux
[2020-07-11 13:42:32] 0 x10an14@x10-desktop:~
-> $
</details>
<details><summary>(Hopefully relevant) Excerpted error messages from `FactoryGame-*.log`</summary>
[448]LogNet: Browse: EOS.00020fe2d4014e23a343a18773216d32e330c946493e4476ba5dfb4d82dfbfce//Game/FactoryGame/Map/MenuScenes/MenuScene_02
[448]PacketHandlerLog: Loaded PacketHandler component: Engine.EngineHandlerComponentFactory (StatelessConnectHandlerComponent)
[ 36]LogSocketSubsystemEOS: EOSSDK::OnRemoteConnectionClosedCb 0x00000000005FE3E0
[ 36]LogSocketSubsystemEOS: Connection closed from 00020fe2d4014e23a343a18773216d32, with reason EOS_CCR_ClosedByPeer
[636]LogSocketSubsystemEOS: EOSSDK::OnRemoteConnectionClosedCb 0x00000000005FE3E0
[636]LogSocketSubsystemEOS: Connection closed from 00020fe2d4014e23a343a18773216d32, with reason EOS_CCR_ClosedByPeer
[235]LogSocketSubsystemEOS: EOSSDK::OnRemoteConnectionClosedCb 0x00000000005FE3E0
[235]LogSocketSubsystemEOS: Connection closed from 00020fe2d4014e23a343a18773216d32, with reason EOS_CCR_ClosedByPeer
[317]LogSlate: FSceneViewport::OnFocusLost() reason 0
[669]LogNet: Warning: UNetConnection::Tick: Connection TIMED OUT. Closing connection.. Elapsed: 60.05, Real: 60.02, Good: 60.02, DriverTime: 60.05, Threshold: 60.00, [UNetConnection] RemoteAddr: EOS.00020fe2d4014e23a343a18773216d32e330c946493e4476ba5dfb4d82dfbfce:7777, Name: EOSNetConnection_0, Driver: PendingNetDriver EOSNetDriver_0, IsServer: NO, PC: NULL, Owner: NULL, UniqueId: INVALID
[669]LogGame: Error: Network Error Recived: Type: 1121126232, MSG: UNetConnection::Tick: Connection TIMED OUT. Closing connection.. Elapsed: 60.05, Real: 60.02, Good: 60.02, DriverTime: 60.05, Threshold: 60.00, [UNetConnection] RemoteAddr: EOS.00020fe2d4014e23a343a18773216d32e330c946493e4476ba5dfb4d82dfbfce:7777, Name: EOSNetConnection_0, Driver: PendingNetDriver EOSNetDriver_0, IsServer: NO, PC: NULL, Owner: NULL, UniqueId: INVALID
[669]LogNet: NetworkFailure: ConnectionTimeout, Error: 'UNetConnection::Tick: Connection TIMED OUT. Closing connection.. Elapsed: 60.05, Real: 60.02, Good: 60.02, DriverTime: 60.05, Threshold: 60.00, [UNetConnection] RemoteAddr: EOS.00020fe2d4014e23a343a18773216d32e330c946493e4476ba5dfb4d82dfbfce:7777, Name: EOSNetConnection_0, Driver: PendingNetDriver EOSNetDriver_0, IsServer: NO, PC: NULL, Owner: NULL, UniqueId: INVALID'
```
Does any kind, samaritan soul have any suggestion on how to debug this further?
It's the "Timeout"/"Connection not found" error I get in-game when trying to connect to friends (on Windows), or they try to connect to me.
EDIT: Added headings, and an older error log of the same error.
EDIT2: Clean-up after Valve's edit - whose edit made the post more digestible =).
This did work, however that required both taking down my VMs and my VPN. Those interfaces were completely gone not shutdown, which may have played a part. (When I did this, I only had lo
, enp10s0
, enp15s0
, enp0s31f6
, and wlp9s0
.
This other solution which I far preferred doesn't really translate over to firewalld sadly, even with the iptables input mode.
My system details
$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp10s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether [BLOCKED] brd ff:ff:ff:ff:ff:ff
inet [BLOCKED] brd [BLOCKED] scope global dynamic noprefixroute enp10s0
valid_lft 2538413sec preferred_lft 2538413sec
inet6 [BLOCKED] scope link noprefixroute
valid_lft forever preferred_lft forever
3: enp15s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether [BLOCKED] brd ff:ff:ff:ff:ff:ff
4: enp0s31f6: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
link/ether [BLOCKED] brd ff:ff:ff:ff:ff:ff
5: wlp9s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether [BLOCKED] brd ff:ff:ff:ff:ff:ff permaddr [BLOCKED]
6: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1380 qdisc fq_codel state UNKNOWN group default qlen 500
link/none
inet [BLOCKED] scope global tun0
valid_lft forever preferred_lft forever
inet6 [BLOCKED] scope global
valid_lft forever preferred_lft forever
inet6 [BLOCKED] scope link stable-privacy
valid_lft forever preferred_lft forever
7: vmnet1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000
link/ether 00:50:56:c0:00:01 brd ff:ff:ff:ff:ff:ff
inet 172.16.206.1/24 brd 172.16.206.255 scope global vmnet1
valid_lft forever preferred_lft forever
inet6 fe80::250:56ff:fec0:1/64 scope link
valid_lft forever preferred_lft forever
8: vmnet8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000
link/ether 00:50:56:c0:00:08 brd ff:ff:ff:ff:ff:ff
inet 192.168.237.1/24 brd 192.168.237.255 scope global vmnet8
valid_lft forever preferred_lft forever
inet6 fe80::250:56ff:fec0:8/64 scope link
valid_lft forever preferred_lft forever
$ lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: Fedora
Description: Fedora release 32 (Thirty Two)
Release: 32
Codename: ThirtyTwo
md5-071160b87c0c28bfb63b6fd8313e54df
$ uname -a
Linux neodymium 5.7.8-200.fc32.x86_64 #1 SMP Thu Jul 9 14:34:51 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
With Proton 5.0-9 it's crashing on startup?
wine: Unhandled page fault on execute access to 0000000000000000 at address 0000000000000000 (thread 0208), starting debugger...
steam-526870_proton_5_0_9.log
The good news is Proton 4.11-13 seems to work okay.
steam-526870_proton_4_11_13.log
Not sure if this is the correct place for this to go or if it should be a separate compatibility report issue? I've not been able to find any similar reports online...
Hello @dbrookes96, it looks like there's some old vulkan icd files in /etc/vulkan/icd.d/
. Please verify that no packages own them and move/remove them, then retest the game with Proton 5.0.
daniel@OctoLinux:/etc/vulkan/icd.d$ dpkg -S *
mesa-vulkan-drivers:i386: /usr/share/vulkan/icd.d/intel_icd.i686.json
libgl1-mesa-dri:i386: /etc/vulkan/icd.d/intel_icd.i686.json
libgl1-mesa-dri:amd64: /etc/vulkan/icd.d/intel_icd.x86_64.json
mesa-vulkan-drivers:amd64: /usr/share/vulkan/icd.d/intel_icd.x86_64.json
libgl1-mesa-dri:i386: /etc/vulkan/icd.d/radeon_icd.i686.json
mesa-vulkan-drivers:i386: /usr/share/vulkan/icd.d/radeon_icd.i686.json
libgl1-mesa-dri:amd64: /etc/vulkan/icd.d/radeon_icd.x86_64.json
mesa-vulkan-drivers:amd64: /usr/share/vulkan/icd.d/radeon_icd.x86_64.json
daniel@OctoLinux:/etc/vulkan/icd.d$ ls -lH
total 16
-rw-r--r-- 1 root root 161 Sep 5 2017 intel_icd.i686.json
-rw-r--r-- 1 root root 163 Sep 5 2017 intel_icd.x86_64.json
-rw-r--r-- 1 root root 161 Nov 29 2016 radeon_icd.i686.json
-rw-r--r-- 1 root root 163 Nov 29 2016 radeon_icd.x86_64.json
md5-071160b87c0c28bfb63b6fd8313e54df
daniel@OctoLinux:/usr/share/vulkan/icd.d$ ls -lH
total 16
-rw-r--r-- 1 root root 161 Jul 23 06:51 intel_icd.i686.json
-rw-r--r-- 1 root root 163 Jul 23 06:51 intel_icd.x86_64.json
-rw-r--r-- 1 root root 162 Jul 23 06:51 radeon_icd.i686.json
-rw-r--r-- 1 root root 164 Jul 23 06:51 radeon_icd.x86_64.json
I removed the files in /etc/vulkan/icd.d
and reinstalled the packages mesa-vulkan-drivers
and libgl1-mesa-dri
(both i386 and amd64). After doing so those files in /etc/vulkan/icd.d
weren't put back.
Proton 5.0-9 now works great, thanks Kisak!
I also had this problem where I had 4/4 connecting to host and then everything would time out after 30-60 seconds or so.
Following the discussion above:
original "ip a"
1: lo:mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eno1: mtu 1500 qdisc fq_codel state DOWN group default qlen 1000 link/ether xxxxxxxxxxxx brd ff:ff:ff:ff:ff:ff 3: wlx001325ac0fed: mtu 1500 qdisc mq state UP group default qlen 1000 link/ether xxxxxxxxxxxxxxx brd ff:ff:ff:ff:ff:ff inet 192.168.1.44/24 brd 192.168.1.255 scope global noprefixroute wlx001325ac0fed valid_lft forever preferred_lft forever inet6 xxxxxxxxxxxxxxx/64 scope link noprefixroute valid_lft forever preferred_lft forever 4: docker0: mtu 1500 qdisc noqueue state DOWN group default link/ether xxxxxxxxxxxxxxx ff:ff:ff:ff:ff:ff inet xxxxxxxxxxxxxxxxx scope global docker0 valid_lft forever preferred_lft forever This was what I was dealing with originally then i did sudo ip link delete docker0
which removed the above lines (4: docker0 and everything below it)
and then everything worked perfectly!
Since I absolutely require my Docker and Libvirt interfaces, net namespaces were the only way to get Satisfactory running in a way that my friend (also using Proton) could connect to, but the above script didn't work for me (Steam couldn't log in on launch).
I ended up using https://gist.github.com/dpino/6c0dca1742093346461e11aa8f608a99, though using sudo -E
(to preserve environment variables) was necessary so that dbus
(and thus PulseAudio) would be accessible for the game to have sound.
sudo -E ~/bin/ns-inet.sh enp7s0
ns1> sudo -E -u j steam
The script worked without modifications on my Gentoo system. My friend runs Artix and had to change L85 from routing via VPEER_ADDR
to routing via VETH_ADDR
- this was discussed in a comment in that gist, https://gist.github.com/dpino/6c0dca1742093346461e11aa8f608a99#gistcomment-2001534. YMMV.
Satisfactory Proton 5.13-1 regression (game not starting), 5.0-9 and 5.9-GE-8-ST are fine.
Issue transferred from https://github.com/ValveSoftware/Proton/issues/4281.
@Optimus22Prime posted on 2020-10-16T23:33:44:
Satisfactory game won't starting with Proton 5.13-1. It's working fine with Proton 5.0-9 and 5.9-GE-8-ST.
rm -rf ~/.steam/steam/steamapps/compatdata/526870
Delete Satisfactory (If Satisfactory was installed before)
Install Satisfactory
Select Proton 5.13-1 in game parameters
Run
Game will show Satisfactory splash, then crash without any warnings or errors on screen
Game working fine with Proton 5.0-9 and 5.9-GE-8-ST
Hello @Optimus22Prime, looks like there's some kind of alsa issue in your log:
ALSA lib pcm_dmix.c:1108:(snd_pcm_dmix_open) unable to open slave
INFO: OpenAudioDevice failed: ALSA: Couldn't open audio device: 校褋褌褉芯泄褋褌胁芯 懈谢懈 褉械褋褍褉褋 蟹邪薪褟褌芯
INFO: Assertion failed: 0 && "Failed to open audio device!"
Thats strange, because I'm using pulseaudio, winecfg running from protontricks show me that I use pulseaudio and sound test from winecfg are working. Also when I changing Proton version back to previous all working fine too (with pulseaudio ofc)
That's a log after successful start with Proton 5.9-GE-8-ST, I just selected it back without removing ~/.steam/steam/steamapps/compatdata/526870
@Optimus22Prime There is a potential dxvk regression that we are investigating, and your log looks similar to a failure log related to that regression. Could you try putting an older version of dxvk into your Proton 5.13/dist folder and checking if you still get the launch failure? The easiest way to do this is to just copy the contents of Proton 5.0/dist/lib/wine/dxvk/* and Proton 5.0/dist/lib64/wine/dxvk/* into the corresponding dxvk folders in Proton 5.13/dist. Let me know if you need more detailed instructions :)
After you are done testing, just delete the entire Proton 5.13/dist folder to reset everything.
@alasky17 I did as you said to do, game not starting anyway. There is a log
steam-526870.log
@Optimus22Prime I just realized my request was a bit silly. Could you try just disabling dxvk entirely? PROTON_USE_WINED3D=1 %command% in the launch options or via usersettings.py. Not likely to give a different result, but since I can't reproduce what you are seeing to troubleshoot more easily, I think its worth a shot :)
@alasky17 Did it, no go, log attached. I see Satisfactory splash, then black screen, then it's crash to desktop without any wine error message window. Btw I'm experienced linux and wine user, so you can give some complex orders to troubleshoot issue if you wish
steam-526870.log
.
@Optimus22Prime That's very good to know.. Hard to tell without context :) My co-worker will definitely be better suited to that kind of troubleshooting when they get back next week. I'll direct them to this thread :+1: Thank you for putting up with my troubleshooting so far! It would have been so convenient if it was the same failure haha. At least you have 5.0 in the meantime :)
Edit: Well, you could always try to do a bisect in the meantime if you feel like it ;) If the failure also happens on plain wine-5.13 that would be super convenient. Also would be telling if the game works there even if you don't have time to run the full bisect.
Edit2: Forgot to mention - the reason I'm asking this is because I can't repro the problem. So be aware it could be a race condition :D
@alasky17 lol, stock 5.0 have some small glitch with starting cartoon not playing at capsule screen during planetfall, its not game breaking anyway. Latest GE Proton btw works like a charm :)
Well will try some bisecting, I can do this. And I'm not going anywhere, so I can wait for your co-worker returning. Hmm, about race condition, It's interesting suggestion, because a have NUMA workstation, presume I will try to bind the game to only one node...
@alasky17 Well, playing with numactl give me nothing, so I will begin to compile plain wine-5.13 and wine-staging-5.13 then, will see whats happens
@alasky17 Well, game started fine with latest wine-staging-5.19 (sorry, there is no 5.13 in gentoo portage tree, too old, lol), but I can build 5.13 from overlay, and if it not running the game I can find some next one that run and do some bisecting then.
@alasky17 so, plain wine-vanilla-5.13, wine-staging-5.13, wine-staging-5.13+dxvk-1.7.2 all fine, game are starting with them as usual. So, looks like its a time to compile proton locally by myself?
@alasky17 @kisak-valve Finally after some meditation over Proton log I'm figured out what happens and can fix issue. I was not enabling BPF JIT Compiler as default in my custom linux kernel. Dunno why, but enabling BPF JIT Compiler as default are matter for prebuilded Proton 5.13-1 to work, and not so matter for previous and my own local builds. After rebuilding kernel with option "BPF JIT Compiler enabled as default" game starting fine with Proton 5.13-1 out of the box. Sorry for spam, you can remove Regression label now.
@Optimus22Prime nice work! No worries about the spam, this is super good to know. I'm not sure where that requirement is coming from but it is definitely something we should investigate :+1:
@pherralis Thanks for the suggestion to simply taking the connections down for the short term!
Most helpful comment
You can use namespaces to launch Steam with a single network interface. Change IP_SUBNET if you already have the same and USER_NAME_TO_RUN_STEAM. Check net.ipv4.ip_forward, if you don't need to change it.
Script example:
!/bin/bash
USER_NAME_TO_RUN_STEAM="YourUser"
IP_SUBNET="10.10.10"
sudo ip netns add steam_ns
sudo ip netns exec steam_ns ip addr add 127.0.0.1/8 dev lo
sudo ip netns exec steam_ns ip link set lo up
sudo ip link add steam_ns0 type veth peer name steam_ns1
sudo ip link set steam_ns0 up
sudo ip link set steam_ns1 netns steam_ns up
sudo ip addr add $IP_SUBNET.1/24 dev steam_ns0
sudo ip netns exec steam_ns ip addr add $IP_SUBNET.2/24 dev steam_ns1
sudo ip netns exec steam_ns ip route add default via $IP_SUBNET.1 dev steam_ns1
sudo iptables -A INPUT ! -i steam_ns0 -s $IP_SUBNET.0/24 -j DROP
sudo iptables -t nat -A POSTROUTING -s $IP_SUBNET.0/24 -o en+ -j MASQUERADE
sudo sysctl -q net.ipv4.ip_forward=1
sudo mkdir -p /etc/netns/steam_ns
echo "nameserver 8.8.8.8" | sudo tee /etc/netns/steam_ns/resolv.conf
sudo ip netns exec steam_ns su - $USER_NAME_TO_RUN_STEAM -c "DISPLAY=:0 steam"
sudo ip netns pids steam_ns | xargs -rd'\n' sudo kill
sudo rm -rf /etc/netns/steam_ns
sudo sysctl -q net.ipv4.ip_forward=0
sudo iptables -D INPUT ! -i steam_ns0 -s $IP_SUBNET.0/24 -j DROP
sudo iptables -t nat -D POSTROUTING -s $IP_SUBNET.0/24 -o en+ -j MASQUERADE
sudo ip link del steam_ns0
sudo ip netns delete steam_ns