If an anti-cheat module or server policy limits multiple clients on one PC, the second client is blocked from launching or connecting, or the first one gets disconnected. Some games only block features on the extra client.
Why The anti-cheat module detects a duplicate launch, or the server limits extra connections from the same device → Effect The second launch or connection is refused, or one side is disconnected. Rarely, only some features on the extra client are blocked → On screen Can’t connect, or one side disconnects. In games that only block features, NPCs or shops are invisible on one side only
Primary owner Game team (Client development) · Also Game team (Server development)
Game team action items
Client: if you restrict it, show a clear message, add a QA exception to the anti-cheat module. Server: add a QA exception to the same-device connection limit too.
On the graph
Outliers only · Connection refusals and disconnects by reason (duplicate login)
Where to look
The message shown when the second client launches and the disconnect message on the first. Whether the server’s connection refusal and forced disconnect logs record reason codes such as duplicate login or same device
Confirmed if
A refusal message appears the moment the second client launches or connects, or the first one is disconnected with a duplicate login reason, and there’s no problem with only one client running
Ruled out if
Both connect without any refusal or disconnect reason but NPCs are invisible on one side: fixed UDP port collision, sessions keyed by IP or device, or a loading or display cause
Check with
The player’s own environment
Sources
CreateMutexW function (synchapi.h)Microsoft If a named mutex already exists, ERROR_ALREADY_EXISTS is returned, which is used to detect duplicate launches and allow only a single instance