public static void BanList(Sender sender, string[] commands)
        {
            // /ban  <player>
            // /unban <player>

            if (sender is Player)
            {
                Player player = ((Player)sender);
                if (!player.isOp())
                {
                    NetMessage.SendData(25, player.whoAmi, -1, "You Cannot Perform That Action.", 255, 238f, 130f, 238f);
                    return;
                }
            }

            if (commands != null && commands.Length > 1)
            {
                if (commands[0] != null && commands[1].Length > 0)
                {
                    int caseType = -1;

                    if (commands[0].Trim().ToLower().Equals("ban"))
                    {
                        caseType = 0;
                    }
                    else if (commands[0].Trim().ToLower().Equals("unban"))
                    {
                        caseType = 1;
                    }

                    switch (caseType)
                    {
                        case 0:
                            {
                                Program.server.getBanList().addException(commands[1]);

                                //We now should check to make sure they are off the server...
                                Player banee = Program.server.GetPlayerByName(commands[1]);

                                if (banee == null)
                                {
                                    foreach (Player player in Program.server.getPlayerList())
                                    {
                                        if (NetPlay.serverSock[player.whoAmi].tcpClient.Client.RemoteEndPoint.ToString()
                                            .Split(':')[0].Equals(commands[1]))
                                        {
                                            banee = player;
                                        }
                                    }
                                }

                                if (banee != null)
                                {
                                    banee.Kick("You have been banned from this Server.");
                                }
                                break;
                            }
                        case 1:
                            {
                                Program.server.getBanList().removeException(commands[1]);
                                break;
                            }
                        default:
                            {
                                goto ERROR;
                            }

                    }

                    string Message = sender.getName() + " used Ban command case " + caseType + " for: " + commands[1];
                    Program.server.notifyOps(Message);
                    sender.sendMessage(Message);

                    if (!Program.server.getWhiteList().Save())
                    {
                        Program.server.notifyOps("BanList Failed to Save due to " + sender.getName() + "'s command");
                    }
                    return;
                }
            }
            ERROR:
            sender.sendMessage("Command Error!");
        }
 public static void LoadScript(Sender sender, string file)
 {
     if (sender is Player)
     {
         if (sender.isOp())
         {
             if (file.Length > 1 && file != null && file.Trim().Length > 0)
             {
                 try
                 {
                     _manager.DoFile(file);
                     sender.sendMessage("Lua script loaded.");
                     _initialised = true;
                 }
                 catch
                 {
                     sender.sendMessage("Loading lua script failed.");
                     _initialised = false;
                 }
             }
             else
             {
                 sender.sendMessage("Lua script not found");
                 _initialised = false;
             }
         }
         else
         {
             sender.sendMessage("You Cannot Perform That Action.", 255, 238f, 130f, 238f);
         }
     }
 }
        public static void WhiteList(Sender sender, string[] commands)
        {
            // /whitelist <add:remove> <player>
            // arg  0         1           2
            if (sender is Player)
            {
                Player player = ((Player)sender);
                if (!player.isOp())
                {
                    NetMessage.SendData(25, player.whoAmi, -1, "You Cannot Perform That Action.", 255, 238f, 130f, 238f);
                    return;
                }
            }

            if (commands != null && commands.Length > 2)
            {
                if (commands[1] != null && commands[2] != null && commands[1].Length > 0 && commands[2].Length > 0)
                {
                    string caseType = "ADD";

                    switch (commands[1].Trim().ToUpper())
                    {
                        case "ADD":
                            {
                                Program.server.getWhiteList().addException(commands[2]);
                                break;
                            }
                        case "REMOVE":
                            {
                                Program.server.getWhiteList().removeException(commands[2]);
                                caseType = "REMOVE";
                                break;
                            }
                        default:
                            {
                                goto ERROR;
                            }

                    }

                    string Message = sender.getName() + " used WhiteList command " + caseType + " for: " + commands[2];
                    Program.server.notifyOps(Message);
                    sender.sendMessage(Message);

                    if (!Program.server.getWhiteList().Save())
                    {
                        Program.server.notifyOps("WhiteList Failed to Save due to " + sender.getName() + "'s command");
                    }
                    return;
                }
            }
            ERROR:
            sender.sendMessage("Command args Error!");
        }
 public static void ReloadScript(Sender sender)
 {
     if (sender is Player)
     {
         if (sender.isOp())
         {
             try
             {
                 _manager.DoFile(_filename);
                 sender.sendMessage("Reloaded current lua script.");
                 _initialised = true;
             }
             catch
             {
                 sender.sendMessage("Failed to reload current lua script.");
                 _initialised = false;
             }
         }
     }
     else
     {
         sender.sendMessage("You Cannot Perform That Action.", 255, 238f, 130f, 238f);
     }
 }