Exemplo n.º 1
0
 private void SetPerms(ServerPlayer player, PlayerPermissions perms)
 {
     lock (perms.Perms)
     {
         foreach (var group in player.GroupMemberships)
         {
             perms.Perms.AddRange(State.ConfigData.Security.GetGroupPerms(group));
         }
     }
 }
Exemplo n.º 2
0
        public static PlayerPermissions GetPlayerPermissions(ServerPlayer player)
        {
            PlayerPermissions perms = player.GetTag <PlayerPermissions>(PermsTagName);

            if (perms == null)
            {
                perms = new PlayerPermissions();
                player.SetTag(PermsTagName, perms, true);
            }

            return(perms);
        }
Exemplo n.º 3
0
        private void ServerHost_PlayerPreAdd(object sender, ServerPlayer player)
        {
            PlayerPermissions perms = new PlayerPermissions();

            player.SetTag(PermsTagName, perms, true);
            SetPerms(player, perms);

            if (perms.HasPerm(PermissionNames.Kick) || perms.HasPerm(PermissionNames.Ban) || perms.HasPerm(PermissionNames.AdminMarkShow))
            {
                player.ShowAdminMark = true;
            }
        }
Exemplo n.º 4
0
        public static bool CheckPermissions(CommandSender sender, string queryZero, PlayerPermissions perm)
        {
            if (ServerStatic.IsDedicated && sender.FullPermissions)
            {
                return(true);
            }
            if (PermissionsHandler.IsPermitted(sender.Permissions, perm))
            {
                return(true);
            }

            sender.RaReply(queryZero.ToUpper() + "#You don't have permissions to execute this command.\nMissing permission: " + perm, false, true, "");
            return(false);
        }
Exemplo n.º 5
0
        public Player CreatePlayer(Guid playerId, string username, PlayerPermissions permissions = PlayerPermissions.Standard, PlayerState state = PlayerState.ConnectedUnauthenticated)
        {
            if (connectedPlayers.Values.Any(p => p.Name == username))
            {
                throw new UsernameTakenException();
            }

            Player player = new Player(playerId, username, permissions, state);

            connectedPlayers.Add(playerId, player);
            Console.WriteLine($"Player created: {playerId}");

            PlayerJoinedPacket playerJoinedPacket = new PlayerJoinedPacket(player);

            server.SendPacketToAllExcept(playerJoinedPacket, playerId);

            PlayerEventArgs playerEventArgs = new PlayerEventArgs(playerId);

            PlayerCreated?.Invoke(this, playerEventArgs);

            return(player);
        }
Exemplo n.º 6
0
 public bool HasVanillaPermission(PlayerPermissions permission) => HasPermission(VanillaPrefix + "." + permission.ToString());
Exemplo n.º 7
0
 public PMPermission(PlayerPermissions perm) => this.perm = perm;
 public static int GetIndex(this PlayerPermissions permission)
 {
     return((int)permission);
 }
Exemplo n.º 9
0
        public Player CreatePlayer(string username, PlayerPermissions permissions = PlayerPermissions.Standard, PlayerState state = PlayerState.ConnectedUnauthenticated)
        {
            Guid playerId = Guid.NewGuid();

            return(CreatePlayer(playerId, username, permissions, state));
        }