示例#1
0
        private void OnPlayerInit(BasePlayer player)
        {
            // Let covalence know
            Libraries.Covalence.RustCovalenceProvider.Instance.PlayerManager.NotifyPlayerConnect(player);

            // Do permission stuff
            var authLevel = player.net.connection.authLevel;

            if (permission.IsLoaded && authLevel <= DefaultGroups.Length)
            {
                var userId = player.UserIDString;
                permission.UpdateNickname(userId, player.displayName);

                // Add player to default group
                if (!permission.UserHasAnyGroup(userId))
                {
                    permission.AddUserGroup(userId, DefaultGroups[authLevel]);
                }
            }

            // Cache serverInput for player so that reflection only needs to be used once
            playerInputState[player] = (InputState)serverInputField.GetValue(player);
        }
示例#2
0
        private void IOnPlayerConnected(Player player)
        {
            // Ignore the server player
            if (player.Id == 9999999999)
            {
                return;
            }

            // Do permission stuff
            if (permission.IsLoaded)
            {
                var id = player.Id.ToString();
                permission.UpdateNickname(id, player.Name);

                // Add player to default group
                if (permission.GroupExists("default"))
                {
                    permission.AddUserGroup(id, "default");
                }
                else if (permission.GroupExists("guest"))
                {
                    permission.AddUserGroup(id, "guest");
                }

                // Add player to admin group if admin
                if (permission.GroupExists("admin") && player.HasPermission("admin") && !permission.UserHasGroup(id, "admin"))
                {
                    permission.AddUserGroup(id, "admin");
                }
            }

            Interface.Call("OnPlayerConnected", player);

            // Let covalence know
            covalence.PlayerManager.NotifyPlayerConnect(player);
            Interface.Call("OnUserConnected", covalence.PlayerManager.GetPlayer(player.Id.ToString()));
        }
示例#3
0
        private void IOnPlayerConnected(MyPlayer myPlayer)
        {
            var player = myPlayer as IMyPlayer;

            if (player == null)
            {
                return;
            }

            var id = player.SteamUserId.ToString();

            // Update player's permissions group and name
            if (permission.IsLoaded)
            {
                permission.UpdateNickname(id, player.DisplayName);
                var defaultGroups = Interface.Oxide.Config.Options.DefaultGroups;
                if (!permission.UserHasGroup(id, defaultGroups.Players))
                {
                    permission.AddUserGroup(id, defaultGroups.Players);
                }
                if (player.PromoteLevel == MyPromoteLevel.Admin && !permission.UserHasGroup(id, defaultGroups.Administrators))
                {
                    permission.AddUserGroup(id, defaultGroups.Administrators);
                }
            }

            Interface.Call("OnPlayerConnected", player);

            Covalence.PlayerManager.PlayerJoin(player.SteamUserId, player.DisplayName); // TODO: Move to OnUserApprove hook once available
            Covalence.PlayerManager.PlayerConnected(player);
            var iplayer = Covalence.PlayerManager.FindPlayerById(id);

            if (iplayer != null)
            {
                Interface.Call("OnUserConnected", iplayer);
            }
        }
示例#4
0
        private void IOnPlayerConnected(string name, uLink.NetworkPlayer player)
        {
            var session = GameManager.Instance.GetSession(player);

            session.Name = name;

            // Let covalence know
            Libraries.Covalence.HurtworldCovalenceProvider.Instance.PlayerManager.NotifyPlayerConnect(session);

            // Do permission stuff
            if (permission.IsLoaded)
            {
                var userId = session.SteamId.ToString();
                permission.UpdateNickname(userId, session.Name);

                // Add player to default group
                if (!permission.UserHasAnyGroup(userId))
                {
                    permission.AddUserGroup(userId, DefaultGroups[0]);
                }
            }

            Interface.Oxide.CallHook("OnPlayerConnected", session);
        }
示例#5
0
        private void OnPlayerConnected(ClientInfo client)
        {
            if (permission.IsLoaded)
            {
                permission.UpdateNickname(client.playerId, client.playerName);
                var defaultGroups = Interface.Oxide.Config.Options.DefaultGroups;
                if (!permission.UserHasGroup(client.playerId, defaultGroups.Players))
                {
                    permission.AddUserGroup(client.playerId, defaultGroups.Players);
                }
                // TODO: Admin group automation
            }

            // Let covalence know
            Covalence.PlayerManager.NotifyPlayerConnect(client);
            Interface.Call("OnUserConnected", Covalence.PlayerManager.FindPlayerById(client.playerId));
        }
示例#6
0
        private void OnPlayerConnected(ClientInfo client)
        {
            // Do permission stuff
            if (permission.IsLoaded)
            {
                permission.UpdateNickname(client.playerId, client.playerName);

                // Add player to default group
                if (!permission.UserHasGroup(client.playerId, DefaultGroups[0]))
                {
                    permission.AddUserGroup(client.playerId, DefaultGroups[0]);
                }
            }

            // Let covalence know
            //covalence.PlayerManager.NotifyPlayerConnect(client);
            //Interface.CallHook("OnUserConnected", covalence.PlayerManager.GetPlayer(client.playerId));
        }
示例#7
0
        private void OnPlayerConnected(BoltConnection connection)
        {
            if (connection == null)
            {
                return;
            }
            var steamId = connection.RemoteEndPoint.SteamId.Id;
            var name    = SteamFriends.GetFriendPersonaName(new CSteamID(steamId));

            // Do permission stuff
            if (permission.IsLoaded)
            {
                permission.UpdateNickname(steamId.ToString(), name);

                // Add player to default group
                if (!permission.UserHasAnyGroup(steamId.ToString()))
                {
                    permission.AddUserGroup(steamId.ToString(), DefaultGroups[0]);
                }
            }

            Interface.Oxide.LogInfo($"{steamId}/{name} joined");
        }
示例#8
0
        private void OnPlayerConnected(BoltEntity entity)
        {
            var id   = entity.source.RemoteEndPoint.SteamId.Id.ToString();
            var name = SteamFriends.GetFriendPersonaName(new CSteamID(entity.source.RemoteEndPoint.SteamId.Id));

            Debug.Log($"{id}/{name} joined");

            // Do permission stuff
            if (permission.IsLoaded)
            {
                permission.UpdateNickname(id, name);

                // Add player to default group
                if (!permission.UserHasGroup(id, DefaultGroups[0]))
                {
                    permission.AddUserGroup(id, DefaultGroups[0]);
                }
            }

            // Let covalence know
            Covalence.PlayerManager.NotifyPlayerConnect(entity);
            Interface.Call("OnUserConnected", Covalence.PlayerManager.GetPlayer(id));
        }
示例#9
0
 /// <summary>
 /// Adds this player to the specified usergroup
 /// </summary>
 /// <param name="group"></param>
 public void AddToGroup(string group) => libPerms.AddUserGroup(Id, group);
示例#10
0
 /// <summary>
 /// Adds this player to the specified usergroup
 /// </summary>
 /// <param name="groupName"></param>
 public void AddToGroup(string groupName) => libPerms.AddUserGroup(UniqueID, groupName);