protonscr

Proton 4.11-8 gets disconnected on VAC protected servers

protonopen
ValveSoftware/Proton#3225 · opened 2019-11-16 by glubsy · updated 2025-11-16 · 9 comments · github
Gglubsy 2019-11-16 github

This is probably not affecting just one Source mod, and it might not even be related to Proton directly. This is to let Valve know about the issue, in case this is related to their back-end servers somehow.

Since the most recent Steam / Proton update, after a few minutes of playing, Linux users get disconnected from VAC protected servers when using Proton in the Half Life 2 multiplayer mod Neotokyo, as mentioned here.

The error message on the server side is "No Steam logon". On the client side:
error after disconnection

Two other Linux users (one using Arch Linux like myself) are having the same problem, with 4.11, 4.2 and 3.16.

Here is a useless log.
Here is another log with +winsock enabled: long gist

System specs: gist

Reproduction:

  • Install a Source mod (ie. Neotokyo)
  • connect to a VAC protected server
  • wait a minute or two, you'll get disconnected.

Native CSGO, Dota2 Linux clients are not getting disconnected by VAC.

FFurtadoPires 2019-11-19 github

I think Contagion (238430) is also affected with this issue

Gglubsy 2019-12-06 github

I have tested with a Steam for Windows installation through Wine, and I don't get this problem. So it may be related to a Steam for Linux client update rather than a Proton update?

Something in the Steam for Linux client makes whatever module is trying to communicate with VAC backend servers to fail. Only through Proton, since native Linux games are unaffected.

I don't know how VAC works, but when using Proton, the Steam AuthID is validated on the servers just fine... but after a minute or two, the client disconnects itself anyway with the "No Steam logon" error.

As another side note, when running a SRCDS through Wine locally (which doesn't disconnect me) I see these messages which may or may not be related in stdout:

0009:err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.
0009:err:winediag:load_gssapi_krb5 Failed to load libgssapi_krb5, Kerberos SSP support will not be available.
\src\clientdll\gameserver.cpp (652) : Assertion Failed: m_CMInterface.GetLogonState() == k_ELogonStateNotLoggedOn
\src\clientdll\gameserver.cpp (652) : Assertion Failed: m_CMInterface.GetLogonState() == k_ELogonStateNotLoggedOn
?ghost 2020-01-31 github

Getting Similiar Happenings only at times with RE6 proton diff versions. Have been using 4.2multiplayer seession disconnect issues have tried 3.7.8 i am going to revert to that i found it to be stable for the most part well see about network connectivity. will update if any progress but overall it does work for me i know this is different but similiar. Thank you ( looking for fixes came across)(randr Failed looking at your log you need to fix that maybe i am newb but it feels bad mojo)

KKody-Quintana 2020-03-16 github

Just tried Neotokyo with proton 5.0-4 and it still disconnects after a minute or two with the same message.

Zztx-lyghters 2020-04-17 github

Just tried Neotokyo with proton 5.0-4 and it still disconnects after a minute or two with the same message.

Same here with 5.0-6, as well as any other version. Though, I remember playing without this VAC issue before, maybe half a year ago.

Gglubsy 2020-08-26 github

Also tried with Proton 5.0-9 and the issue still occurs.
I'm not really sure how to debug this, bug the WINE log warns about socket errors:

55924.678:002f:0030:trace:winsock:WS2_recv_base socket 01d4, wsabuf 0x316c98, nbufs 1, flags 0, from 0x316d10, fromlen 16, ovl (nil), func (nil)
55924.678:002f:0030:trace:winsock:WS2_recv_base fd=224, options=0
55924.678:002f:0030:trace:winsock:WS2_recv_base  -> 63 bytes
55924.678:002f:0030:trace:winsock:WS2_recv_base socket 01d4, wsabuf 0x316c98, nbufs 1, flags 0, from 0x316d0c, fromlen 16, ovl (nil), func (nil)
55924.678:002f:0030:trace:winsock:WS2_recv_base fd=224, options=0
55924.678:002f:0030:trace:winsock:WS2_recv_base  -> 63 bytes
55924.679:002f:0030:trace:winsock:WS2_recv_base socket 01d4, wsabuf 0x316c98, nbufs 1, flags 0, from 0x316d0c, fromlen 16, ovl (nil), func (nil)
55924.679:002f:0030:trace:winsock:WS2_recv_base fd=224, options=0
55924.679:002f:0030:warn:winsock:WS2_recv_base  -> ERROR 10035

Error 10035 seems to be a WSAWOULDBLOCK according to this stackoverflow thread. Seems to be non-fatal error which may or may not be the cause of the problem (I have no knowledge of socket programming so I could be very wrong).

A side note though, performance is much better on maps which previously had very bad hitching. Perhaps that was a d9vk bug which go fixed.

GGleammerRay 2023-08-07 github

Issue still relevant with Proton 7.0, may or may not be linked to Windows Steam exiting due to the Could not connect to Steam network error when ran under Proton.

SsentVic 2024-01-19 github

I tried using Proton 8.0-4, 7.0-6, Proton Experimental, and Proton Hotfix to run Team Fortress 2. I ran into the same issue as the original poster with all of them (although my error message looked slightly different).
Screenshot from 2024-01-18 09-34-44
Obviously, restarting was ineffective, as was reinstalling the game and steam, otherwise I wouldn't be posting this here.
This issue isn't present in the native Linux client

PPawlicker 2025-11-16 github

This is still happening btw too, a few of my friends are trying to play Neotokyo on Linux, they're getting "No Steam Logon" when they're kicked, but it Just Works on Windows clients. I wonder if this is ever going to get fixed? I have no idea if that game is Native but I'll mess with it later.

edit: fixed in experimental it seems
https://www.protondb.com/app/244630

Proton versions

Upstream links