Skip to content

Players are unable to connect to the server if the first addon in the server addon list is already downloaded by the client #54

@zer0k-z

Description

@zer0k-z

Reproduction steps with 3 addons: 3121168339 (real map), 3431462840 (assets), 3474452494 (assets)

  • Client: subscribe to the workshop map and the the last addon on the extra addon list (in this case 3121168339 and 3474452494)
  • Server: Launch the server and host a workshop map: host_workshop_map 3121168339
  • Server: Set the extra addons list so that the first addon in the list is not yet downloaded by the client: mm_extra_addons 3431462840,3474452494
  • Client: connect to the server (which will fail)

Server logs:

[MultiAddonManager] Hook_ReplyConnection: Sending addons 3121168339,3431462840,3474452494 to steamID64 76561199012028609
Sending S2C_CONNECTION to 192.168.1.12:61854 [addons:'3121168339,3431462840,3474452494']
Client #0 """line1\n𝓩𝓮𝓻𝓸w" connected @ 192.168.1.12:61854
[MultiAddonManager] Hook_ClientConnect: Client 76561199012028609 has connected within the interval with the pending addon 3431462840, will send next addon in SendNetMessage hook
[#2675944730 UDP steamid:76561199012028609@192.168.1.12:61855] closed by peer (1000): CloseSocket
ClientPutInServer create new player controller [""line1\n𝓩𝓮𝓻𝓸w]
Client 0 '""line1\n𝓩𝓮𝓻𝓸w' setting rate to 786432
[""line1\n𝓩𝓮𝓻𝓸w] cl_interp_ratio='0', LerpTime=0
[#1691200358 UDP steamid:76561199012028609@192.168.1.12:61854 '""line1\n𝓩𝓮𝓻𝓸w'] closed by peer (1002): NETWORK_DISCONNECT_DISCONNECT_BY_USER
Client 0 '""line1\n𝓩𝓮𝓻𝓸w' signon state SIGNONSTATE_CONNECTED -> SIGNONSTATE_NEW
Accepting Steam Net connection #2675944730 UDP steamid:76561199012028609@192.168.1.12:61855
[#2675944730 UDP steamid:76561199012028609@192.168.1.12:61855] Cannot accept connection; already closed by remote host.
Steam Net connection #2675944730 UDP steamid:76561199012028609@192.168.1.12:61855 closed by peer, reason 1000: CloseSocket
CloseSteamNetConnection handle #2675944730 (userdata -1)
Removing Steam Net Connection for 192.168.1.12:61855, handle #2675944730
Steam Net connection #1691200358 UDP steamid:76561199012028609@192.168.1.12:61854 '""line1\n𝓩𝓮𝓻𝓸w' closed by peer, reason 1002: NETWORK_DISCONNECT_DISCONNECT_BY_USER
Netchan '""line1\n𝓩𝓮𝓻𝓸w' closed unexpectedly: NETWORK_DISCONNECT_DISCONNECT_BY_USER
CloseSteamNetConnection handle #1691200358 (userdata 0)
Disassociating NetChan ""line1\n≡¥ô @ 192.168.1.12:61854 (192.168.1.12:61854) from Steam Net Connection handle #1691200358 (userdata 0)
Removing Steam Net Connection for 192.168.1.12:61854, handle #1691200358
Disconnect client '""line1\n𝓩𝓮𝓻𝓸w' from server: NETWORK_DISCONNECT_DISCONNECT_BY_USER
Client 0 '""line1\n𝓩𝓮𝓻𝓸w' signon state SIGNONSTATE_NEW -> SIGNONSTATE_NONE

Client logs:


[Client] Sending connect to 192.168.1.12:27015
[Client] Received S2C_CHALLENGE [0 auth 3] from 192.168.1.12:27015
[Client] Sending C2S_CONNECT [14135 protocol 0 auth 3] to 192.168.1.12:27015
[Client] Received S2C_CONNECTION from 192.168.1.12:27015 [addons:'3121168339,3431462840,3474452494']
[NetSteamConn] Associating NetChan server @ 192.168.1.12:27015 (192.168.1.12:27015) with Steam Net Connection handle #3529117759 (userdata 0)
[Client] CL:  Connected to '192.168.1.12:27015'
[SignonState] CL:  Suppress INetchannel::Transmit() in loopmode( remoteconnect )
[Client] CL:  CLoopModeRemoteConnect::OnClientFrameSimulate switching to "levelload" loopmode with addons:  3121168339,3431462840,3474452494
[EngineServiceManager] SwitchToLoop levelload requested:  id [4] addons [3121168339,3431462840,3474452494]
ResetBreakpadAppId: Universe is 1 (k_EUniversePublic)
ResetBreakpadAppId: Setting non standard break pad app id: 2347771
[EngineServiceManager] Mounting addon '3121168339'
[EngineServiceManager] Mounting addon '3431462840'
[EngineServiceManager] Mounting addon '3474452494'
[Filesystem] Signature failed for C:\Program Files (x86)\Steam\steamapps\workshop\content\730\3474452494\3474452494.vpk (reason: 0)
ChangeGameUIState: CSGO_GAME_UI_STATE_INGAME -> CSGO_GAME_UI_STATE_LOADINGSCREEN
[SignonState] CL:  CNetworkGameClient::OnSwitchLoopModeFinished( levelload : success )
[SignonState] CL:  Permit INetchannel::Transmit()
[Client] CL:  disconnect
[Client] CL:  CLoopModeLevelLoad::MaybeSwitchToGameLoop switching to "game" loopmode with addons (3121168339,3431462840,3474452494)
[EngineServiceManager] SwitchToLoop game requested:  id [4] addons [3121168339,3431462840,3474452494]
[ResourceSystem] Failed loading resource "panorama/images/map_icons/map_icon_kz_grotto.vsvg_c" (ERROR_FILEOPEN: File not found)
[Client] Disconnected from server: NETWORK_DISCONNECT_DISCONNECT_BY_USER
[Client] Disconnection during connection phase. Sign-on state: 2 (SIGNONSTATE_CONNECTED). Disconnect reason: NETWORK_DISCONNECT_DISCONNECT_BY_USER.
[Client] Disconnecting from server: NETWORK_DISCONNECT_DISCONNECT_BY_USER

Note that the filesystem error is associated with the last addon, but that is misleading as the real issue lies with the second addon never being prompted for download.

Another way to reproduce this is with official map + 3 addons in mm_extra_addons :

  • Server: Set mm_extra_addons 3474452494,3431462840,3469155349
  • Client: Only have the first addon and the last addon downloaded (3474452494 and 3469155349) and connect to the server => same result

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions