private void SetPerms(ServerPlayer player, PlayerPermissions perms) { lock (perms.Perms) { foreach (var group in player.GroupMemberships) { perms.Perms.AddRange(State.ConfigData.Security.GetGroupPerms(group)); } } }
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); }
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; } }
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); }
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); }
public bool HasVanillaPermission(PlayerPermissions permission) => HasPermission(VanillaPrefix + "." + permission.ToString());
public PMPermission(PlayerPermissions perm) => this.perm = perm;
public static int GetIndex(this PlayerPermissions permission) { return((int)permission); }
public Player CreatePlayer(string username, PlayerPermissions permissions = PlayerPermissions.Standard, PlayerState state = PlayerState.ConnectedUnauthenticated) { Guid playerId = Guid.NewGuid(); return(CreatePlayer(playerId, username, permissions, state)); }