fCraft.ModerationCommands.BanIPHandler C# (CSharp) Method

BanIPHandler() private static method

private static BanIPHandler ( Player player, Command cmd ) : void
player Player
cmd Command
return void
        private static void BanIPHandler( Player player, Command cmd )
        {
            string targetNameOrIP = cmd.Next();
            if ( targetNameOrIP == null ) {
                CdBanIP.PrintUsage( player );
                return;
            }
            string reason = cmd.NextAll();

            IPAddress targetAddress;
            if ( Server.IsIP( targetNameOrIP ) && IPAddress.TryParse( targetNameOrIP, out targetAddress ) ) {
                try {
                    targetAddress.BanIP( player, reason, true, true );
                } catch ( PlayerOpException ex ) {
                    player.Message( ex.MessageColored );
                }
            } else {
                PlayerInfo target = PlayerDB.FindPlayerInfoOrPrintMatches( player, targetNameOrIP );
                if ( target == null )
                    return;
                try {
                    if ( target.LastIP.Equals( IPAddress.Any ) || target.LastIP.Equals( IPAddress.None ) ) {
                        target.Ban( player, reason, true, true );
                    } else {
                        target.BanIP( player, reason, true, true );
                    }
                } catch ( PlayerOpException ex ) {
                    player.Message( ex.MessageColored );
                    if ( ex.ErrorCode == PlayerOpExceptionCode.ReasonRequired ) {
                        FreezeIfAllowed( player, target );
                    }
                }
            }
        }