@magnesium @ytterbium
On my server it pretty much copies the identities (steamID or IP, doesn’t matter) of the previously connected person more than it doesn’t. It keeps doing this for every connection established:
Player A (Ident A)
Player B (Ident A)
Player C (Ident B)
Player D (Ident C)
…etc…
I discovered that once a client times out OR is rejected from the server, the next person connecting will have the right identifiers. As such you can circumvent this bug by remembering the identifier that connected last and compare them with the identifier that are currently connecting, and if they are equal you drop the connection with the message to try again, for example.
@Kanersps @Mr.Scammer @Lex_The_Great @Slluxx
local lastConnectedIdent = nil
AddEventHandler( "playerConnecting", function( playerName, setCallback )
local ident = GetPlayerIdentifiers( source )
print( string.format( "'%s' connecting. (%s)", playerName, table.concat( ident, ", " ) ) )
if lastConnectedIdent ~= nil then
if ident[1] == lastConnectedIdent[1] then
lastConnectedIdent = nil
setCallback( "Please try again" )
CancelEvent()
return
end
end
lastConnectedIDent = ident
end)
It’s not a repo case, but I hope this information will give you more insight into the origin of the bug.