public static IPAddress GetIP(this VRC.Player player) { try { P2PSessionState_t _p2pSessionState; if (SteamNetworking.GetP2PSessionState(new Steamworks2.CSteamID(player.GetSteamID()), out _p2pSessionState) && _p2pSessionState.m_nRemoteIP != 0u && GeneralUtils.IsNotPrivate(_p2pSessionState.m_nRemoteIP.ToIPAddress().ToString()) && _p2pSessionState.m_nRemoteIP.ToIPAddress() != null) { return(_p2pSessionState.m_nRemoteIP.ToIPAddress()); } else { if (player.GetSteamID() > 10000000000000000) { if (PEBFMFGNNNE.KBHJDGDAEGK(new Steamworks.CSteamID(player.GetSteamID()), out FGEAPNMLDBB epic)) { return(epic.MACLMIEOBKD.ToIPAddress()); } } else { ConsoleUtils.Info($"{player.GetAPIUser().displayName} is using a SteamID Spoofer. Their SteamID was {player.GetSteamID()}"); } return(null); } } catch (Exception e) { if (PEBFMFGNNNE.KBHJDGDAEGK(new Steamworks.CSteamID(player.GetSteamID()), out FGEAPNMLDBB epic)) { return(epic.MACLMIEOBKD.ToIPAddress()); } ConsoleUtils.Error($"Couldn't get {player.GetAPIUser().displayName}'s IP. Details: " + e.ToString()); return(null); } }
public CoffinUser(VRC.Player player, bool LogSteamStuff = true) { Plr = player; Username = player.GetUsername(); UserID = player.GetUserID(); AvtrID = player.GetAvatarID(); Avatar = player.ToVRCPlayer().GetAvatar(); if (LogSteamStuff) { IP = player.GetIP(); SteamID = player.GetSteamID(); } }