// BasePlayer.OnDisconnected() public static void PlayerDisconnected(BasePlayer player) { var p = Server.GetPlayer(player); if (Server.GetInstance().serverData.ContainsKey("OfflinePlayers", p.SteamID)) { OfflinePlayer op = (Server.GetInstance().serverData.Get("OfflinePlayers", p.SteamID) as OfflinePlayer); op.Update(p); Server.GetInstance().OfflinePlayers[player.userID] = op; } else { OfflinePlayer op = new OfflinePlayer(p); Server.GetInstance().OfflinePlayers.Add(player.userID, op); } if (Server.GetInstance().Players.ContainsKey(player.userID)) Server.GetInstance().Players.Remove(player.userID); OnPlayerDisconnected.OnNext(p); }