Multiplayer Server dumps you into Single Player when trying to join

SeliG shared this bug 8 months ago
Investigating

95% of the time when i try and join the Draconis Cluster I get the screen "waiting for the server to respond" then a the normal loading screen only to find that the game has loaded me into a Single Player game. Its happened before but seemed to be much worse after the Frostbite update.

Comments (7)

photo
4

I was coming here to submit this to the forum, but since you already did, let me add some of the data I've collected in my testing:

During a client connect request -- this is what we see in their SpaceEngineers_{DATE}.log:

2020-05-03 22:36:28.300 - Thread: 1 -> Lobby join response: True, enter state: Success

2020-05-03 22:36:28.302 - Thread: 1 -> World requested

2020-05-03 22:36:28.322 - Thread: 1 -> World requested - connection alive


2020-05-03 22:36:30.875 - Thread: 1 -> GUI Stats: Update 0.406835777777777, Draw 0.231280388888889


2020-05-03 22:37:21.887 - Thread: 1 -> LoadSession() - Start

2020-05-03 22:37:21.891 - Thread: 1 -> World requested - failed, server changed

2020-05-03 22:37:22.125 - Thread: 1 -> Network readers disposed

2020-05-03 21:37:39.899 - Thread: 1 -> get

2020-05-03 21:37:39.901 - Thread: 1 -> MyConfig.Save() - START

2020-05-03 21:37:39.902 - Thread: 1 -> Path: C:\Users\Valued Customer\AppData\Roaming\SpaceEngineers\SpaceEngineers.cfg

2020-05-03 21:37:39.928 - Thread: 1 -> MyConfig.Save() - END

2020-05-03 21:37:39.929 - Thread: 1 -> MyGuiScreenBase.UnloadContent - START

2020-05-03 21:37:39.930 - Thread: 1 -> MyGuiScreenBase.UnloadContent - END

2020-05-03 21:37:39.930 - Thread: 1 -> MyGuiScreenBase.UnloadContent - START

2020-05-03 21:37:39.931 - Thread: 1 -> MyGuiScreenBase.UnloadContent - END

2020-05-03 21:37:39.931 - Thread: 1 -> MyGuiScreenBase.UnloadContent - START

2020-05-03 21:37:39.931 - Thread: 1 -> MyGuiScreenBase.UnloadContent - END

2020-05-03 21:37:39.931 - Thread: 1 -> MyGuiScreenBase.UnloadContent - START

2020-05-03 21:37:39.932 - Thread: 1 -> MyGuiScreenBase.UnloadContent - END

2020-05-03 21:37:39.932 - Thread: 1 -> Network readers disposed

2020-05-03 21:37:39.936 - Thread: 10 -> Downloading world mods - START

2020-05-03 21:37:41.281 - Thread: 1 -> Mod dependencies query successful

2020-05-03 21:37:41.281 - Thread: 10 -> Reference issue detected (circular reference or wrong order) for mod 758597413

2020-05-03 21:37:41.281 - Thread: 10 -> Reference issue detected (circular reference or wrong order) for mod 1608841667

2020-05-03 21:37:41.281 - Thread: 10 -> Reference issue detected (circular reference or wrong order) for mod 1682499145

....


And then on the server side:

22:36:25.9581 [INFO] Keen: Peer2Peer_SessionRequest 76561198058550106

22:36:27.7451 [INFO] Keen: OnConnectedClient <REMOVED>attempt

22:36:27.9780 [INFO] MultiplayerManagerDedicated: Connection attempt by <REMOVED>from <REMOVED> 22:36:27.9946 [INFO] MultiplayerManagerBase: Player <REMOVED>joined (<REMOVED>)

22:36:29.2450 [INFO] Keen: World request received: <REMOVED>

22:36:29.2450 [DEBUG] Keen: ...responding

22:36:42.6117 [DEBUG] Keen: GC Memory: 9445.192 MB 22:36:54.0175 [DEBUG] Keen: STATISTICS LEGEND,time,ReceivedPerSecond,SentPerSecond,PeakReceivedPerSecond,PeakSentPerSecond,OverallReceived,OverallSent,CPULoadSmooth,ThreadLoadSmooth,GetOnlinePlayerCount,Ping,GCMemory,ProcessMemory,PCUBuilt,PCU,GridsCount,RenderCPULoadSmooth,RenderGPULoadSmooth,HardwareCPULoad,HardwareAvailableMemory,FrameTime,LowSimQuality,FrameTimeLimit,FrameTimeCPU,FrameTimeGPU,CPULoadLimit,TrackedMemory

22:36:54.0175 [DEBUG] Keen: STATISTICS,63377.6,0.03385544,0.1838903,0.2867374,157.2405,1456.812,8616.984,74.00108,35.95031,5,0,9933.822,18902.27,1699895,-1699895,491,0,0,0.4013071,10491,0,0,16.66667,0,0,100,7832572471

22:37:12.6121 [DEBUG] Keen: GC Memory: 10745.4 MB

22:37:22.8229 [INFO] Keen: User left <REMOVED>

22:37:22.8229 [INFO] MultiplayerManagerBase: <REMOVED>(<REMOVED>) Disconnected.


I marked in bold what I believe is important to this connection request problem.


If anyone at Keen needs to see the server and client logs from the specific event, direct message me. I have multiple long time players on my server with this issue, and I can provide all the logs for client and server side during the occurrence of this bug for 2 of them off hand, and more if needed.

photo
2

Hello, Engineer!


Thank you for your feedback! Your topic has been added between considered issues.

Please keep voting for the issue as it will help us to identify the most serious bugs.


We really appreciate your patience.


Kind Regards

Keen Software House: QA Department

photo
2

Please fix it soon. We have around 20+ players on our server, having this issue. But not active on your forum for voting.

photo
1

Send them here and convince them to vote on it.

No vote == no proof they actually exist


The only way to get this higher up is more votes.

photo
1

Got 5 players from our server to vote.

Others don't believe Keen will fix it anyhow, and uninstalled the game.

photo
1

is there any solution?

photo
photo
2

I also have several player logs and can provide server logs (which those show nothing out of the ordinary) that I can provide for this issue.

photo
1

I looked over the logs you uploaded and it looks like mine. World requested -- and then about 45-60 seconds later, World requested - failed, server changed.

2020-05-03 20:49:58.307 - Thread: 1 -> World requested
2020-05-03 20:49:58.350 - Thread: 1 -> World requested - connection alive
2020-05-03 20:50:06.469 - Thread: 9 -> MyDefinitionManager.GetSessionPreloadDefinitions() - END
2020-05-03 20:50:06.469 - Thread: 9 -> MySandboxGame.PerformPreload() - END VANILLA SOUNDS AND VOXELS
2020-05-03 20:50:06.469 - Thread: 9 -> MySandboxGame.PerformPreload() - END
2020-05-03 20:50:44.332 - Thread: 1 -> LoadSession() - Start
2020-05-03 20:50:44.335 - Thread: 1 -> World requested - failed, server changed
2020-05-03 20:50:44.549 - Thread: 1 -> Network readers disposed

I didn't see that in the SpaceEngineers_20200427_180511177.log file though. No attempt to connect that I can see.

photo
1

thank you Mark for your input!

photo
1

I've noticed more overseas players tend to have this issue, not sure if it's related or not.

photo
1

As I believe it is a client timeout -- long distance players (like being over an ocean) more than likely makes the problem worse.

photo
1

It's possible that one log was a bunk and missed the connection attempt - we had multiples from that player

photo
2

I'm in America and I haven't been able to play for over a week because of this bug

photo
photo
1

To follow up on some testing I did over the weekend.


I stood up a second server instance on port 27017 of the same physical machine. Same Mods, same settings. The only difference is that the 27017 server had no existing grids, and no existing voxels to download and parse.


For all my players that have had this connection problem, I asked them to attempt to connect to the secondary server. They were all able to connect and reconnect to the 27017 server with no observed issues. They then attempted to connect to the main server (27016) and had the same connection issues -- either a server timeout, or this edge case where they get dropped into an offline world.

photo
1

We did additional testing as well, and having players essentially wipe everything about their mod list and rebuild it has helped them, using steps below

Close Space Engineers; Use the "Unsubscribe from all" option on the modlist collection linked above ; Close Steam; then delete the all contents of the "…Steam\steamapps\workshop\content\244850\" folder and the "appworkshop_244850.acf" file mentioned above; then relaunch Steam and monitor the Downloads screen and wait for all "Space Engineers - Workshop Content"  to finish downloading. 

photo
1

Over this past weekend, I cloned the FULL server that has been having the problem:

The I did the following cleanup:


* removed all the voxels that were > 1500 m from a grid

* I removed all the un-used identities, factions, and relationships from the file (using some admin tools from Torch).


After that, I had players test again -- and they were able to connect much more reliably to this new "cleaned up" server. I did have one report that they couldn't connect, but that might be an outlier.


Just following up -- I believe the problem was that my sandbox file sizes + voxel files were the two things that, when combined, were timing my players out, and dropping them into this single player (offline) mode.

photo
1

We do voxel cleanups weekly (remove all roid vx2's; reset all planet voxels) and still have players have issues directly following that.

We have Sandbox.sbc files ranging from 30-90MB across 6 instances. Reports of getting dropped to single player occur on all 6; most often on the two instances right around 63MB for a Sandbox - but the two at 30MB still see the issues with players too - and those same players can go join one of the other servers with a 90MB sandbox fine, and we're generally looking at <5MB (up to a max of 12-13MB usually ) of vx2 file sizes on any of these instances because of the frequency of cleanup we do for it.


Unfortunately we can't remove unused identities/factions/relationships in our environment to shrink the main Sandbox either but I'm not positive it would help

photo
2

admins had me do that list and more. still can't connect

photo
photo
1

This is the kind of bug that makes me realize that Keen did now know what they were doing when they coded this game...

photo
1

For anyone fighting this, here's a fix we got from Rexxar (client side plugin).


We keep our writeup and link here -- https://wiki.sigmadraconis.games/doku.php?id=introduction:connection_issues#known_connection_bugs


This is an *updated version* of the one he posted on Reddit a while ago for a different join issue, so don't confuse the two. This will report "Rexxars Code v2.1" when loading the world and have v2.1 in the client logs.


We've had >100 players successfully fixed with this dll.


Download the plugin dll to SE_install_dir/Bin64/Plugins (the default is C:\Program Files (x86)\Steam\steamapps\common\SpaceEngineers\Bin64\Plugins). Create the Plugins directory if you don't already have it.
Plugin download link: http://sigmadraconis.games/TimeoutFixPlugin.dll
Right-click TimeoutFixPlugin.dll, select properties, then check 'unblock'
Set SE to use the plugin by opening Steam, right click on Space Engineers, select properties, click "Set Launch Options" and add (without the quotes) "-plugin Plugins/TimeoutFixPlugin.dll"
That's it; try joining. You should no longer drop to single player. You should either join successfully, or receive "Server not responding" , or be returned to the main menu of the game.
If your game crashes on launch it is because you did one of the following. A copy of your SpaceEngineer_xxxxx_xxxx.log file from '%appdata%/SpaceEngineers' can explain which the issue is

Did not unblock the dll
Did not properly name the DLL or Plugins folder (it is case sensitive)
Created the Plugins folder in the wrong location

photo
2

Update -- this fix no longer works was of v195 (sparks of the future update), it crashes game on Launch, so players are dropping to sp again.

photo
2

Sat down with some people, there is now a fixed version at the URL in the original comment here (http://sigmadraconis.games/TimeoutFixPlugin.dll). Prints as v2.2 in logs and on screen (previous was v2.1).

photo
1

Can I bump this?

It's been months and I can't even troubleshoot other server issues because I can't join the server thanks to this bug :)

photo