ATTN FUNCOM / GP: Here's your workaround for players stuck in "Lost connection to server" loops. Also, (some) help for players with this issue

I have found a functional server-side workaround for the “Lost connection to server” loop that many, many, MANY players are experiencing when attempting to join official (and unofficial) servers.

Note to players: we have no ability to implement this fix from our clients. This is 100% up to Funcom to implement on the official servers, and for private server admins to implement on their servers. My fix is also just a workaround for an engine limitation; a “proper” fix, realistically, isn’t practical within the limitations of the UE framework. This engine is just not designed to handle games of Conan’s scale and complexity with assets of such significant quantity and fidelity - particularly not on a multiplayer scale. There is a limit to what can be done without rewriting major parts of the engine. That said, I’ve included a few tips at the end of this post that might help enough to get you connected, sometimes, until Funcom either does exactly that or else implements a tolerable long-term workaround (such as the one I’m now using on my servers, detailed below).

After a lot of snooping into official server logs (available for public capture with 0 effort when official servers shutdown or startup, which is probably an oversight) I was able to identify this error as a connection timeout - not helpful in its own right. However, with subsequent experimentation on and comparison of logs from my dedicated servers experiencing the same issue with certain clients, I found out how to reliably reproduce the same error and symptoms locally, and that allowed me to narrow the problem down to a few likely root causes. After some educated trial and error, I found one parameter that either caused or prevented the error every time.

SERVER-SIDE WORKAROUND: You need to set your server “ConnectionTimeout” parameters to a higher value in the UE config files - specifically, Engine.ini. This parameter is set to a BaseEngine default value of 60, which is almost certainly an oversight. The ConnectionTimeout value needs to be changed under BOTH of the following subsections:
[/Script/OnlineSubsystemUtils.IpNetDriver], and
[/Script/HTML5Networking.WebSocketNetDriver].
A value of 180 to 300 should be sufficient to account for a majority of players. (Outliers beyond those ranges likely have other connection problems that need to be fixed, first).

If you are running a dedicated server and need a copy/paste example, you can add the following lines to your …\ConanSandbox\Saved\Config\WindowsServer\Engine.ini file:

[/Script/OnlineSubsystemUtils.IpNetDriver]
ConnectionTimeout=300

[/Script/HTML5Networking.WebSocketNetDriver]
ConnectionTimeout=300

There is no downside to setting this value high, so I have personally set my dedicated server to 300; this solved 100% of the lost connection to server errors experienced by 13 of my 35 regular clients (the original reason I began researching this issue).

Why this works:
The error loop is caused primarily by excessive demand being placed on the UE streaming framework when attempting to load the level upon a character’s initial join attempt. In conjunction with the extremely conservative per-client bandwidth limitations imposed by the servers (should be at least 10 times higher), extremely poor official server tick rate and general performance, and the extremely conservative timeout threshold, too many uncached assets in proximity to the character’s in-level position ultimately cause an initial client-level local steaming load that cannot possibly be completed within the connection timeout threshold. The client basically fails to tell the server that it’s ready to complete the login process before its login threshold times out. (By default, this timeout occurs after 60 seconds). Changing the bandwidth limits and the login preload threshold on the servers might also work, but would likely cause other undesirable client-side behavior in the long run (i.e. could bring back old bugs, like logging in under the game world or stuck in foundations, etc).

One of the reasons that it can sometimes help to log in to SP before attempting to rejoin an Official server is that it can cache relevant assets on the client-side prior to the server requesting them, minimizing subsequent login load times accordingly. This is also why most players are eventually able to join the server after many… many… repeated attempts without restarting the client, and why players with SSDs experience this problem less often or not as severely. This is also why this problem is cropping up with increasing frequency on increasingly-developed servers: it directly correlates with the quantity and volume of extant persistent asset references relative to player actor locations.

This problem is undoubtedly exacerbated to some extent by the fact that GPortal is currently running their server VMs with LESS THAN HALF of the MINIMUM hardware allocation needed to run even a SMALL Conan Exiles server at an optimal tick rate… but I suppose that’s another issue. Having such insane latency when serving client references is definitely not helping anything. Hopefully they will get more crates up and running soon, and then they can start scaling up their per-instance allocation… by a minimum of 100%.

FOR PC PLAYERS: assuming you’ve already tried all of the obvious/commonplace troubleshooting recommendations circulating, here are a few additional things you can try to maximize your chances of getting in to your desired server.

  • Obvious, but, if you have an SSD with sufficient free space, install the client there.

  • DISABLE all of the following options on your network adapter(s): Flow Control, Interrupt Moderation, Checksum Offloading, and Receive Side Scaling. These are deprecated legacy features that needlessly interfere with modern OS network stacks as far as consumer-level applications are concerned. At the very least, this will often improve your latency.

  • LOG OUT of Steam. Do not sign back in yet. Close Steam. Terminate any helper processes/services that it may not have cleaned up after closing. Browse to %username%\AppData\Local\Steam, and delete the “htmlcache” subfolder. Next, browse to your primary Steam installation folder (default C:\Program Files (x86)\Steam) and delete the “Config” subfolder. Restart your computer. Then restart Steam and log back in (you may need to start Steam as Administrator, once, if you get any kind of error).

  • Attempt to login immediately after the server restarts. If you get in, see the next recommendation below.

  • If you finally manage to get in-game on your desired server, then whenever you need to log out, try to do so well beyond render range of any large player structures or major NPC camps, and with as few items equipped and in your inventory as possible. I also occasionally play on an official server, and I keep a simple 2x2x1 hut in the deep wilderness with only a bedroll inside it; before logging out, I bank my stuff at my primary base, suicide to bedroll, and logout in the middle of nowhere. This IMMENSELY increases the likelihood that I will be able to successfully rejoin the server on the first attempt without needing to first load my SP game (detailed in next step).

  • If you don’t mind cluttering up your SP game: enter your Single Player game, make yourself Admin, and use the admin console to spawn in and PLACE at least one each of every T1, T2 and T3 building component, one each of every crafting station, and a large chest. Place them all in close proximity to each other. Once you’ve placed them, ensure your character is near them, then exit to the main menu. Log back in to SP once more. Return to the main menu again, then immediately try to login to your desired server. In the future, any time you exit the client, log back in to SP and out again before attempting to join a server.
    (Extreme version: spawn a variety of converted thralls and place them near your frankenstein SP creation, spawn one each of common armor sets and weapons, and equip those thralls with those armor and weapons).
    The idea is to take advantage of the fact that your SP game has no timeout threshold in order to cache as many common assets as possible on the client-side, before any server references them, to minimize the local load time when actually joining a server. The faster your client can load requested assets (RAM being much faster than from HDD or SSD), the more likely the server will complete its asset reference queue before your login times out (assuming it’s capable - which is why the previous step is even more effective than this one).

  • Keep trying, without closing your client in between attempts. It may take dozens of attempts, but usually you’ll get through eventually. Every time you try, at least a few assets will load at least a bit faster on the next attempt, and you’ll get a bit further through the server reference queue.

  • (Do not do any this if you don’t know how to safely size and use a ramdisk, make symbolic links and manage file backups). If you have at least 16-32gb of RAM, make a ramdisk and copy as many large .pak files from …Steam\steamapps\common\Conan Exiles\ConanSandbox\Content\Paks as your ramdisk can accomodate, prioritizing the largest files in that folder in descending order. Rename the original files. Create appropriate symbolic links within that folder to the files that are now on the ramdisk.

Good luck, peeps! <3

7 Likes

This is brilliant. I hope they really take this into consideration.

Sorry to ask but im playing on official server so what folder do i need to go to in order to change my connection timeout to a higher value

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.