private void OnPlayerConnected(SteamPlayer steamPlayer) { string id = steamPlayer.playerID.steamID.ToString(); // Update player's permissions group and name if (permission.IsLoaded) { permission.UpdateNickname(id, steamPlayer.playerID.playerName); OxideConfig.DefaultGroups defaultGroups = Interface.Oxide.Config.Options.DefaultGroups; if (!permission.UserHasGroup(id, defaultGroups.Players)) { permission.AddUserGroup(id, defaultGroups.Players); } if (steamPlayer.isAdmin && !permission.UserHasGroup(id, defaultGroups.Administrators)) { permission.AddUserGroup(id, defaultGroups.Administrators); } } // Let covalence know Covalence.PlayerManager.PlayerJoin(steamPlayer.playerID.steamID.m_SteamID, steamPlayer.playerID.playerName); // TODO: Move to OnUserApprove hook once available Covalence.PlayerManager.PlayerConnected(steamPlayer); IPlayer player = Covalence.PlayerManager.FindPlayerById(id); if (player != null) { // Set IPlayer object on SteamPlayer steamPlayer.IPlayer = player; // Call universal hook Interface.Call("OnUserConnected", player); } }
private void OnPlayerConnected(ClientInfo client) { if (permission.IsLoaded) { permission.UpdateNickname(client.playerId, client.playerName); OxideConfig.DefaultGroups defaultGroups = Interface.Oxide.Config.Options.DefaultGroups; if (!permission.UserHasGroup(client.playerId, defaultGroups.Players)) { permission.AddUserGroup(client.playerId, defaultGroups.Players); } if (GameManager.Instance.adminTools.IsAdmin(client.playerId) && !permission.UserHasGroup(client.playerId, defaultGroups.Administrators)) { permission.AddUserGroup(client.playerId, defaultGroups.Administrators); } } // Let covalence know Covalence.PlayerManager.PlayerConnected(client); IPlayer iplayer = Covalence.PlayerManager.FindPlayerById(client.playerId); if (iplayer != null) { client.IPlayer = iplayer; Interface.Call("OnUserConnected", iplayer); } }
private void IOnPlayerConnected(BoltConnection connection) { string playerId = SteamDSConfig.clientConnectionInfo[connection.ConnectionId].m_SteamID.ToString(); IPlayer player = Covalence.PlayerManager.FindPlayerById(playerId); string playerName = !string.IsNullOrEmpty(player?.Name) ? player.Name : "Unnamed"; // TODO: Localization // Update name and groups with permissions if (permission.IsLoaded) { permission.UpdateNickname(playerId, playerName); OxideConfig.DefaultGroups defaultGroups = Interface.Oxide.Config.Options.DefaultGroups; if (!permission.UserHasGroup(playerId, defaultGroups.Players)) { permission.AddUserGroup(playerId, defaultGroups.Players); } if (connection.IsDedicatedServerAdmin() && !permission.UserHasGroup(playerId, defaultGroups.Administrators)) { permission.AddUserGroup(playerId, defaultGroups.Administrators); } } if (player != null) { // Call hooks for plugins Interface.Call("OnPlayerConnected", connection); Interface.Call("OnUserConnected", player); } }
private void OnPlayerConnected(PlayerSession session) { if (session == null) { return; } // Update player's permissions group and name if (permission.IsLoaded) { string id = session.SteamId.ToString(); permission.UpdateNickname(id, session.Identity.Name); OxideConfig.DefaultGroups defaultGroups = Interface.Oxide.Config.Options.DefaultGroups; if (!permission.UserHasGroup(id, defaultGroups.Players)) { permission.AddUserGroup(id, defaultGroups.Players); } if (session.IsAdmin && !permission.UserHasGroup(id, defaultGroups.Administrators)) { permission.AddUserGroup(id, defaultGroups.Administrators); } } // Let covalence know Covalence.PlayerManager.PlayerConnected(session); IPlayer iplayer = Covalence.PlayerManager.FindPlayerById(session.SteamId.ToString()); if (iplayer != null) { session.IPlayer = iplayer; Interface.CallHook("OnUserConnected", session.IPlayer); } }
private void IOnPlayerConnected(Player rokPlayer) { // Ignore the server player if (rokPlayer.Id == 9999999999) { return; } string playerId = rokPlayer.Id.ToString(); // Update name and groups with permissions if (permission.IsLoaded) { permission.UpdateNickname(playerId, rokPlayer.Name); OxideConfig.DefaultGroups defaultGroups = Interface.Oxide.Config.Options.DefaultGroups; if (!permission.UserHasGroup(playerId, defaultGroups.Players)) { permission.AddUserGroup(playerId, defaultGroups.Players); } if (rokPlayer.HasPermission("admin") && !permission.UserHasGroup(playerId, defaultGroups.Administrators)) { permission.AddUserGroup(playerId, defaultGroups.Administrators); } } // Let covalence know Covalence.PlayerManager.PlayerConnected(rokPlayer); // Find covalence player IPlayer player = Covalence.PlayerManager.FindPlayerById(playerId); if (player != null) { rokPlayer.IPlayer = player; // Ignore the server player if (rokPlayer.Id != 9999999999) { // Call hooks for plugins Interface.Call("OnPlayerConnected", rokPlayer); Interface.Call("OnUserConnected", player); } } }
private object IOnUserApprove(Connection connection) { string name = connection.username; string id = connection.userid.ToString(); string ip = Regex.Replace(connection.ipaddress, ipPattern, ""); uint authLevel = connection.authLevel; // Update player's permissions group and name if (permission.IsLoaded) { permission.UpdateNickname(id, name); OxideConfig.DefaultGroups defaultGroups = Interface.Oxide.Config.Options.DefaultGroups; if (!permission.UserHasGroup(id, defaultGroups.Players)) { permission.AddUserGroup(id, defaultGroups.Players); } if (authLevel == 2 && !permission.UserHasGroup(id, defaultGroups.Administrators)) { permission.AddUserGroup(id, defaultGroups.Administrators); } } Covalence.PlayerManager.PlayerJoin(connection.userid, name); // TODO: Handle this automatically object loginSpecific = Interface.CallHook("CanClientLogin", connection); object loginCovalence = Interface.CallHook("CanUserLogin", name, id, ip); object canLogin = loginSpecific ?? loginCovalence; // TODO: Fix hook conflict when multiple return if (canLogin is string || canLogin is bool && !(bool)canLogin) { ConnectionAuth.Reject(connection, canLogin is string?canLogin.ToString() : lang.GetMessage("ConnectionRejected", this, id)); return(true); } // Call game and covalence hooks object approvedSpecific = Interface.CallHook("OnUserApprove", connection); object approvedCovalence = Interface.CallHook("OnUserApproved", name, id, ip); return(approvedSpecific ?? approvedCovalence); // TODO: Fix hook conflict when multiple return }
private void OnPlayerConnected(PlayerSession session) { if (session == null) { return; } string playerId = session.SteamId.ToString(); // Update name and groups with permissions if (permission.IsLoaded) { permission.UpdateNickname(playerId, session.Identity.Name); OxideConfig.DefaultGroups defaultGroups = Interface.Oxide.Config.Options.DefaultGroups; if (!permission.UserHasGroup(playerId, defaultGroups.Players)) { permission.AddUserGroup(playerId, defaultGroups.Players); } if (session.IsAdmin && !permission.UserHasGroup(playerId, defaultGroups.Administrators)) { permission.AddUserGroup(playerId, defaultGroups.Administrators); } } // Let covalence know Covalence.PlayerManager.PlayerConnected(session); IPlayer player = Covalence.PlayerManager.FindPlayerById(session.SteamId.ToString()); if (player != null) { // Set default language for player if not set if (string.IsNullOrEmpty(lang.GetLanguage(playerId))) { lang.SetLanguage(player.Language.TwoLetterISOLanguageName, playerId); } session.IPlayer = player; // Call hooks for plugins Interface.CallHook("OnUserConnected", session.IPlayer); } }
private object IOnUserApprove(Connection connection) { string playerName = connection.username; string connectionId = connection.userid.ToString(); string connectionIp = Regex.Replace(connection.ipaddress, ipPattern, ""); uint authLevel = connection.authLevel; // Update name and groups with permissions if (permission.IsLoaded) { permission.UpdateNickname(connectionId, playerName); OxideConfig.DefaultGroups defaultGroups = Interface.Oxide.Config.Options.DefaultGroups; if (!permission.UserHasGroup(connectionId, defaultGroups.Players)) { permission.AddUserGroup(connectionId, defaultGroups.Players); } if (authLevel == 2 && !permission.UserHasGroup(connectionId, defaultGroups.Administrators)) { permission.AddUserGroup(connectionId, defaultGroups.Administrators); } } // Let covalence know Covalence.PlayerManager.PlayerJoin(connection.userid, playerName); // Call hooks for plugins object loginSpecific = Interface.CallHook("CanClientLogin", connection); object loginCovalence = Interface.CallHook("CanUserLogin", playerName, connectionId, connectionIp); object canLogin = loginSpecific is null ? loginCovalence : loginSpecific; if (canLogin is string || canLogin is bool loginBlocked && !loginBlocked) { ConnectionAuth.Reject(connection, canLogin is string?canLogin.ToString() : lang.GetMessage("ConnectionRejected", this, connectionId)); return(true); } // Call hooks for plugins object approvedSpecific = Interface.CallHook("OnUserApprove", connection); object approvedCovalence = Interface.CallHook("OnUserApproved", playerName, connectionId, connectionIp); return(approvedSpecific is null ? approvedCovalence : approvedSpecific); }
private void IOnPlayerConnected(Player player) { // Ignore the server player if (player.Id == 9999999999) { return; } // Update player's permissions group and name if (permission.IsLoaded) { string id = player.Id.ToString(); permission.UpdateNickname(id, player.Name); OxideConfig.DefaultGroups defaultGroups = Interface.Oxide.Config.Options.DefaultGroups; if (!permission.UserHasGroup(id, defaultGroups.Players)) { permission.AddUserGroup(id, defaultGroups.Players); } if (player.HasPermission("admin") && !permission.UserHasGroup(id, defaultGroups.Administrators)) { permission.AddUserGroup(id, defaultGroups.Administrators); } } // Call game-specific hook Interface.Call("OnPlayerConnected", player); // Let covalence know player connected Covalence.PlayerManager.PlayerConnected(player); // Find covalence player IPlayer iplayer = Covalence.PlayerManager.FindPlayerById(player.Id.ToString()); if (iplayer != null) { player.IPlayer = iplayer; // Call universal hook Interface.Call("OnUserConnected", iplayer); } }