My guess at this point would be that SourceMod is getting the IP before it is resolved:
https://github.com/alliedmodders/sou...ager.cpp#L2043
This is a CSS server that I am helping with, and the IP's are returned correctly on a local server, just not the datacenter server.
The IP
appears to be stored statically on player initialized, but I
think that the IP is still being resolved at this point. Here are a couple returns when joining that I added:
Code:
"Balimbanana<2706><[U:1:40096491]><>" STEAM USERID validated
MetaMod plugin (no source as far as I can find):
[A-BotsMM] Hook_ClientConnect(14, "Balimbanana", "<CorrectIPAddress>:27005")
MetaMod plugin using the same SourceMod returns:
[DmgMM] Hook_ClientConnect(14, "Balimbanana", "<RedirectionIP>:31437")
OnClientConnect <RedirectionIP>:31437
OnClientConnected <RedirectionIP>:31437
OnClientAuthorized <RedirectionIP>:31437
The port of 31437 is in a dynamic port range not really assigned to anything. Maybe SM could check if the range of 31417-31456 as the connection port is being used and attempt to re-check the IP address.
That port is returned in SM by
GetClientIP(i, szIP, sizeof(szIP), false);