Пример #1
0
 public static void Do()
 {
     try {
         using (var db = new ManageBussiness())
         {
             db.UpdateName();
         }
     }
     catch (Exception ex)
     {
         log.Error(ex);
     }
 }
Пример #2
0
        private static void ProcessUserlist(IHttpRequest Request, IHttpResponse Response)
        {
            var              postdata         = Request.Content.ReadAll().ConvertFromBytes(Encoding.UTF8);
            var              Form             = FormParser.Parse(postdata);
            string           search           = Form["Tb_SearchKeys"].ToSafeString();
            int              num              = StringHelper.ConvertToInt(Request.Uri.QueryString["pages"], 1);
            INVelocityEngine iNVelocityEngine = NVelocityEngineFactory.CreateNVelocityAssemblyEngine("Web.Server", false);
            IDictionary      dictionary       = new Hashtable();

            using (var x = new ManageBussiness())
            {
                List <UserInfo> list        = x.GetAllUserInfo().ToList();
                var             onlinecount = list.Where((a) => (a.State != 0)).Count();
                list.Sort(new Comparison <UserInfo>(CompareByID));
                if (search != "")
                {
                    list = list.FindAll((UserInfo a) => a.UserName.IndexOf(search, 0) != -1 || a.NickName.IndexOf(search, 0) != -1);
                }
                int count = list.Count;
                int num2  = 1;
                if (search == "")
                {
                    num2 = Convert.ToInt32(Math.Ceiling(count / 20m));
                    list = list.Skip((num - 1) * 20).Take(20).ToList <UserInfo>();
                }
                dictionary.Add("loginuri", $"http://{WebServer.Instance.Config.GameDomain}/game.aspx");
                dictionary.Add("Result", list);
                dictionary.Add("OnlineCount", onlinecount);
                dictionary.Add("Search", search);
                dictionary.Add("Count", count);
                dictionary.Add("Page", num);
                dictionary.Add("TocalPage", num2);
                string text = iNVelocityEngine.Process(dictionary, "Web.Server.Modules.Admin.UserList.vm");
                Response.Write(text);
            }
        }
Пример #3
0
        public static void DoCommand(string CommandName, string[] CommandArgs)
        {
            PlayerBussiness bussiness;
            PlayerInfo      userSingleByNickName;
            Exception       exception;
            string          str3;
            string          str4;
            string          str5;
            ManageBussiness bussiness2;

            switch (CommandName)
            {
            case "exit":
                GameServer.KeepRunning = false;
                break;

            case "cp":
            {
                GameClient[]    allClients   = GameServer.Instance.GetAllClients();
                int             num          = (allClients == null) ? 0 : allClients.Length;
                GamePlayer[]    allPlayers   = WorldMgr.GetAllPlayers();
                int             num2         = (allPlayers == null) ? 0 : allPlayers.Length;
                List <BaseRoom> allUsingRoom = RoomMgr.GetAllUsingRoom();
                int             num3         = 0;
                int             num4         = 0;
                foreach (BaseRoom room in allUsingRoom)
                {
                    if (!room.IsEmpty)
                    {
                        num3++;
                        if (room.IsPlaying)
                        {
                            num4++;
                        }
                    }
                }
                double totalMemory = GC.GetTotalMemory(false);
                Console.WriteLine(string.Format("Total Clients/Players:{0}/{1}", num, num2));
                Console.WriteLine(string.Format("Total Rooms/Games:{0}/{1}", num3, num4));
                Console.WriteLine(string.Format("Total Momey Used:{0} MB", (totalMemory / 1024.0) / 1024.0));
                break;
            }

            case "setlevel":
                try
                {
                    string path = Path.Combine(Environment.CurrentDirectory, "LevelList.xml");
                    if (!File.Exists(path))
                    {
                        log.Error("LevelList.xml not found!");
                    }
                    else
                    {
                        int num6;
                        Console.Write("Please enter the level: ");
                        string s = (CommandArgs.Length > 0) ? CommandArgs[0] : Console.ReadLine();
                        if (!int.TryParse(s, out num6))
                        {
                            log.Error("Level is not valid int!");
                        }
                        else
                        {
                            using (bussiness = new PlayerBussiness())
                            {
                                userSingleByNickName = bussiness.GetUserSingleByNickName((CommandArgs.Length > 0) ? CommandArgs[0] : Console.ReadLine());
                                if (userSingleByNickName == null)
                                {
                                    log.Error(string.Format("Player not found in db!", new object[0]));
                                    break;
                                }
                                if (!IsValidGZip(File.ReadAllBytes(path)))
                                {
                                    log.Error("LevelList.xml is not valid!");
                                }
                                else if (!IsValidXML(GZip.gzuncompress(File.ReadAllBytes(path))))
                                {
                                    log.Error("LevelList.xml is not valid!");
                                }
                                if (WorldMgr.GetPlayerById(userSingleByNickName.ID) != null)
                                {
                                    WorldMgr.GetPlayerById(userSingleByNickName.ID).SaveIntoDatabase();
                                    WorldMgr.GetPlayerById(userSingleByNickName.ID).Disconnect();
                                }
                                XmlDocument document = new XmlDocument();
                                document.LoadXml(GZip.gzuncompress(File.ReadAllBytes(path)));
                                int num7 = -1;
                                int num8 = -1;
                                foreach (XmlNode node in document.SelectNodes("/Result/*"))
                                {
                                    if (node.Attributes["Grade"].Value == s)
                                    {
                                        num7 = int.Parse(s);
                                        num8 = int.Parse(node.Attributes["GP"].Value) + 5;
                                        break;
                                    }
                                }
                                if ((num7 != -1) && (num8 != -1))
                                {
                                    userSingleByNickName.GP    = num8;
                                    userSingleByNickName.Grade = num7;
                                    bussiness.UpdatePlayer(userSingleByNickName);
                                    log.Info(string.Format("Player {0} updated successfully!", userSingleByNickName.NickName));
                                }
                                else
                                {
                                    log.Error(string.Format("Level {0} not found!", new object[0]));
                                }
                            }
                        }
                    }
                }
                catch (Exception exception1)
                {
                    exception = exception1;
                    log.Error("There was an error in command!");
                    log.Error(exception.Message + Environment.NewLine + exception.StackTrace);
                }
                break;

            case "addmoney":
                try
                {
                    using (bussiness = new PlayerBussiness())
                    {
                        userSingleByNickName = bussiness.GetUserSingleByNickName((CommandArgs.Length > 0) ? CommandArgs[0] : Console.ReadLine());
                        if (userSingleByNickName != null)
                        {
                            if (WorldMgr.GetPlayerById(userSingleByNickName.ID) != null)
                            {
                                WorldMgr.GetPlayerById(userSingleByNickName.ID).SaveIntoDatabase();
                                WorldMgr.GetPlayerById(userSingleByNickName.ID).Disconnect();
                            }
                            Console.Write("Please enter the amount of money: ");
                            str3 = (CommandArgs.Length > 0) ? CommandArgs[0] : Console.ReadLine();
                            if (!IsValidInt(str3))
                            {
                                log.Error("Money is not valid!");
                            }
                            else
                            {
                                userSingleByNickName.Money += int.Parse(str3);
                                bussiness.UpdatePlayer(userSingleByNickName);
                                log.Info(string.Format("Player {0} updated successfully!", userSingleByNickName.NickName));
                            }
                        }
                        else
                        {
                            log.Error(string.Format("Player not found in db!", new object[0]));
                        }
                    }
                }
                catch (Exception exception3)
                {
                    exception = exception3;
                    log.Error("There was an error in command!");
                    log.Error(exception.Message + Environment.NewLine + exception.StackTrace);
                }
                break;

            case "addgold":
                try
                {
                    using (bussiness = new PlayerBussiness())
                    {
                        userSingleByNickName = bussiness.GetUserSingleByNickName((CommandArgs.Length > 0) ? CommandArgs[0] : Console.ReadLine());
                        if (userSingleByNickName != null)
                        {
                            if (WorldMgr.GetPlayerById(userSingleByNickName.ID) != null)
                            {
                                WorldMgr.GetPlayerById(userSingleByNickName.ID).SaveIntoDatabase();
                                WorldMgr.GetPlayerById(userSingleByNickName.ID).Disconnect();
                            }
                            Console.Write("Please enter the amount of gold: ");
                            str4 = (CommandArgs.Length > 0) ? CommandArgs[0] : Console.ReadLine();
                            if (!IsValidInt(str4))
                            {
                                log.Error("Gold is not valid!");
                            }
                            else
                            {
                                userSingleByNickName.Gold += int.Parse(str4);
                                bussiness.UpdatePlayer(userSingleByNickName);
                                log.Info(string.Format("Player {0} updated successfully!", userSingleByNickName.NickName));
                            }
                        }
                        else
                        {
                            log.Error(string.Format("Player not found in db!", new object[0]));
                        }
                    }
                }
                catch (Exception exception4)
                {
                    exception = exception4;
                    log.Error("There was an error in command!");
                    log.Error(exception.Message + Environment.NewLine + exception.StackTrace);
                }
                break;

            case "addgift":
                try
                {
                    using (bussiness = new PlayerBussiness())
                    {
                        userSingleByNickName = bussiness.GetUserSingleByNickName((CommandArgs.Length > 0) ? CommandArgs[0] : Console.ReadLine());
                        if (userSingleByNickName != null)
                        {
                            Console.Write("Please enter the amount of gift token: ");
                            str5 = (CommandArgs.Length > 0) ? CommandArgs[0] : Console.ReadLine();
                            if (!IsValidInt(str5))
                            {
                                log.Error("Gold is not valid!");
                            }
                            else
                            {
                                if (WorldMgr.GetPlayerById(userSingleByNickName.ID) != null)
                                {
                                    WorldMgr.GetPlayerById(userSingleByNickName.ID).SaveIntoDatabase();
                                    WorldMgr.GetPlayerById(userSingleByNickName.ID).Disconnect();
                                }
                                userSingleByNickName.GiftToken += int.Parse(str5);
                                bussiness.UpdatePlayer(userSingleByNickName);
                                log.Info(string.Format("Player {0} updated successfully!", userSingleByNickName.NickName));
                            }
                        }
                        else
                        {
                            log.Error(string.Format("Player not found in db!", new object[0]));
                        }
                    }
                }
                catch (Exception exception5)
                {
                    exception = exception5;
                    log.Error("There was an error in command!");
                    log.Error(exception.Message + Environment.NewLine + exception.StackTrace);
                }
                break;

            case "removemoney":
                try
                {
                    using (bussiness = new PlayerBussiness())
                    {
                        userSingleByNickName = bussiness.GetUserSingleByNickName((CommandArgs.Length > 0) ? CommandArgs[0] : Console.ReadLine());
                        if (userSingleByNickName != null)
                        {
                            if (WorldMgr.GetPlayerById(userSingleByNickName.ID) != null)
                            {
                                WorldMgr.GetPlayerById(userSingleByNickName.ID).SaveIntoDatabase();
                                WorldMgr.GetPlayerById(userSingleByNickName.ID).Disconnect();
                            }
                            Console.Write("Please enter the amount of money: ");
                            str3 = (CommandArgs.Length > 0) ? CommandArgs[0] : Console.ReadLine();
                            if (!IsValidInt(str3))
                            {
                                log.Error("Money is not valid!");
                            }
                            else
                            {
                                userSingleByNickName.Money -= int.Parse(str3);
                                bussiness.UpdatePlayer(userSingleByNickName);
                                log.Info(string.Format("Player {0} updated successfully!", userSingleByNickName.NickName));
                            }
                        }
                        else
                        {
                            log.Error(string.Format("Player not found in db!", new object[0]));
                        }
                    }
                }
                catch (Exception exception6)
                {
                    exception = exception6;
                    log.Error("There was an error in command!");
                    log.Error(exception.Message + Environment.NewLine + exception.StackTrace);
                }
                break;

            case "removegold":
                try
                {
                    using (bussiness = new PlayerBussiness())
                    {
                        userSingleByNickName = bussiness.GetUserSingleByNickName((CommandArgs.Length > 0) ? CommandArgs[0] : Console.ReadLine());
                        if (userSingleByNickName != null)
                        {
                            if (WorldMgr.GetPlayerById(userSingleByNickName.ID) != null)
                            {
                                WorldMgr.GetPlayerById(userSingleByNickName.ID).SaveIntoDatabase();
                                WorldMgr.GetPlayerById(userSingleByNickName.ID).Disconnect();
                            }
                            Console.Write("Please enter the amount of gold: ");
                            str4 = (CommandArgs.Length > 0) ? CommandArgs[0] : Console.ReadLine();
                            if (!IsValidInt(str4))
                            {
                                log.Error("Gold is not valid!");
                            }
                            else
                            {
                                userSingleByNickName.Gold -= int.Parse(str4);
                                bussiness.UpdatePlayer(userSingleByNickName);
                                log.Info(string.Format("Player {0} updated successfully!", userSingleByNickName.NickName));
                            }
                        }
                        else
                        {
                            log.Error(string.Format("Player not found in db!", new object[0]));
                        }
                    }
                }
                catch (Exception exception7)
                {
                    exception = exception7;
                    log.Error("There was an error in command!");
                    log.Error(exception.Message + Environment.NewLine + exception.StackTrace);
                }
                break;

            case "removegift":
                try
                {
                    using (bussiness = new PlayerBussiness())
                    {
                        userSingleByNickName = bussiness.GetUserSingleByNickName((CommandArgs.Length > 0) ? CommandArgs[0] : Console.ReadLine());
                        if (userSingleByNickName != null)
                        {
                            if (WorldMgr.GetPlayerById(userSingleByNickName.ID) != null)
                            {
                                WorldMgr.GetPlayerById(userSingleByNickName.ID).SaveIntoDatabase();
                                WorldMgr.GetPlayerById(userSingleByNickName.ID).Disconnect();
                            }
                            Console.Write("Please enter the amount of gift token: ");
                            str5 = (CommandArgs.Length > 0) ? CommandArgs[0] : Console.ReadLine();
                            if (!IsValidInt(str5))
                            {
                                log.Error("Gold is not valid!");
                            }
                            else
                            {
                                userSingleByNickName.GiftToken -= int.Parse(str5);
                                bussiness.UpdatePlayer(userSingleByNickName);
                                log.Info(string.Format("Player {0} updated successfully!", userSingleByNickName.NickName));
                            }
                        }
                        else
                        {
                            log.Error(string.Format("Player not found in db!", new object[0]));
                        }
                    }
                }
                catch (Exception exception8)
                {
                    exception = exception8;
                    log.Error("There was an error in command!");
                    log.Error(exception.Message + Environment.NewLine + exception.StackTrace);
                }
                break;

            case "shutdown":
                _count = 6;
                _timer = new System.Threading.Timer(new TimerCallback(ConsoleStart.ShutDownCallBack), null, 0, 0xea60);
                break;

            case "addcps":
                try
                {
                    Console.Write("Insira o valor dos Cupons:");
                    int num9 = int.Parse((CommandArgs.Length > 0) ? CommandArgs[0] : Console.ReadLine());
                    foreach (GamePlayer player in WorldMgr.GetAllPlayers())
                    {
                        player.AddMoney(num9);
                        player.SendMessage("Parab\x00e9ns, voc\x00ea recebeu " + num9 + " cupons do evento, bom jogo !");
                    }
                }
                catch (Exception exception9)
                {
                    exception = exception9;
                    log.Error("Error on AddCps", exception);
                }
                break;

            case "bnick":
            {
                Console.Clear();
                Console.WriteLine("Digite o NickName do personagem: ");
                string nickName = (CommandArgs.Length > 0) ? CommandArgs[0] : Console.ReadLine();
                Console.WriteLine("Motivo para banir: ");
                string   msg  = (CommandArgs.Length > 1) ? CommandArgs[1] : Console.ReadLine();
                DateTime date = new DateTime(0x7e1, 7, 2);
                using (bussiness2 = new ManageBussiness())
                {
                    bussiness2.ForbidPlayerByNickName(nickName, date, false);
                    bussiness2.KitoffUserByNickName(nickName, msg);
                }
                Console.WriteLine("O Usu\x00e1rio " + nickName + " Foi Banido do servidor.");
                foreach (GamePlayer player2 in WorldMgr.GetAllPlayers())
                {
                    player2.SendMessage("O Usu\x00e1rio " + nickName + " foi banido do servidor, motivo do BAN: " + msg + ".");
                }
                break;
            }

            case "buser":
            {
                Console.Clear();
                Console.WriteLine("Digite o UserName do personagem: ");
                string userName = (CommandArgs.Length > 0) ? CommandArgs[0] : Console.ReadLine();
                Console.WriteLine("Motivo para banir: ");
                string   str9  = (CommandArgs.Length > 1) ? CommandArgs[1] : Console.ReadLine();
                DateTime time2 = new DateTime(0x7e1, 7, 2);
                using (bussiness2 = new ManageBussiness())
                {
                    bussiness2.ForbidPlayerByUserName(userName, time2, false);
                    bussiness2.KitoffUserByUserName(userName, str9);
                }
                Console.WriteLine("O Usu\x00e1rio " + userName + " Foi Banido do servidor.");
                foreach (GamePlayer player2 in WorldMgr.GetAllPlayers())
                {
                    player2.SendMessage("O Usu\x00e1rio " + userName + " foi banido do servidor, motivo do BAN: " + str9 + ".");
                }
                break;
            }

            case "nkick":
            {
                Console.Clear();
                Console.WriteLine("Digite o NickName do personagem: ");
                string name = (CommandArgs.Length > 0) ? CommandArgs[0] : Console.ReadLine();
                Console.WriteLine("Motivo para kikar: ");
                string str11 = (CommandArgs.Length > 1) ? CommandArgs[1] : Console.ReadLine();
                using (bussiness2 = new ManageBussiness())
                {
                    bussiness2.KitoffUserByNickName(name, str11);
                }
                foreach (GamePlayer player2 in WorldMgr.GetAllPlayers())
                {
                    player2.SendMessage("O Usu\x00e1rio " + name + " foi kikado do servidor, motivo do KICK: " + str11 + ".");
                }
                break;
            }

            case "ukick":
            {
                Console.Clear();
                Console.WriteLine("Digite o NickName do personagem: ");
                string str12 = (CommandArgs.Length > 0) ? CommandArgs[0] : Console.ReadLine();
                Console.WriteLine("Motivo para kikar: ");
                string str13 = (CommandArgs.Length > 1) ? CommandArgs[1] : Console.ReadLine();
                using (bussiness2 = new ManageBussiness())
                {
                    bussiness2.KitoffUserByUserName(str12, str13);
                }
                foreach (GamePlayer player2 in WorldMgr.GetAllPlayers())
                {
                    player2.SendMessage("O Usu\x00e1rio " + str12 + " foi kikado do servidor, motivo do KICK: " + str13 + ".");
                }
                break;
            }

            case "maint":
                try
                {
                    int num10;
                    Console.Write("Enter time in minutes to start maintenance: ");
                    string str14 = (CommandArgs.Length > 0) ? CommandArgs[0] : Console.ReadLine();
                    if (!int.TryParse(str14, out num10))
                    {
                        log.Error("Invalid MainTime!");
                    }
                    else
                    {
                        new Thread(delegate(object mt) {
                            if (mt is string)
                            {
                                Action <string, string> Sys = delegate(string nick, string Text) {
                                    Console.WriteLine(Text);
                                    foreach (GamePlayer player in WorldMgr.GetAllPlayers())
                                    {
                                        player.SendMessage(string.Format("[{0}] {1}", nick, Text));
                                    }
                                };
                                Action DisconnectAll = delegate {
                                    foreach (GamePlayer player in WorldMgr.GetAllPlayers())
                                    {
                                        log.Info(string.Format("Saving Player {0} into Database!", player.PlayerCharacter.NickName));
                                        player.SaveIntoDatabase();
                                        log.Info(string.Format("Disconnecting Player {0}!", player.PlayerCharacter.NickName));
                                        player.Disconnect();
                                    }
                                    log.Info("Shutdown Server!");
                                    GameServer.Instance.Shutdown();
                                    LogManager.Shutdown();
                                };
                                Sys("Auto Maintenance", "Manuten\x00e7\x00e3o agendada, fiquem atentos aos aviso!");
                                System.Timers.Timer MainTimer = new System.Timers.Timer {
                                    Interval = 1000.0
                                };
                                DateTime MainTime  = DateTime.Parse(string.Format("{0} 00:00:00", "01/27/2011"), CultureInfo.GetCultureInfo("en-US"));
                                MainTime           = MainTime.AddMinutes(double.Parse(mt as string));
                                string CurrentTime = MainTime.ToString("HH:mm:ss");
                                MainTimer.Elapsed += delegate(object s, ElapsedEventArgs e) {
                                    if (CurrentTime != "00:00:00")
                                    {
                                        if ((MainTime.Minute != 0) && (MainTime.Second == 0))
                                        {
                                            Sys("Auto Maintenance", string.Format("Falta {0} {1} para a manuten\x00e7\x00e3o!", MainTime.Minute, (MainTime.Minute == 1) ? "Minuto" : "Minutos"));
                                        }
                                        else if (MainTime.Second < 11)
                                        {
                                            Sys("Auto Maintenance", string.Format("Fechando o servidor em {0}", MainTime.Second));
                                        }
                                        CurrentTime = MainTime.AddSeconds(-1.0).ToString("HH:mm:ss");
                                    }
                                    else
                                    {
                                        Sys("Auto Maintenance", "Estamos desconectando todos os usu\x00e1rios para a manuten\x00e7\x00e3o, voltamos daqui a alguns minutos, saiam do servidor para evitar perca de itens!");
                                        log.Info("End!");
                                        DisconnectAll();
                                        MainTimer.Stop();
                                    }
                                };
                                MainTimer.Start();
                            }
                        }).Start(str14);
                    }
                }
                catch (Exception exception10)
                {
                    exception = exception10;
                    log.Error("There was an error in command!");
                    log.Error(exception.Message + Environment.NewLine + exception.StackTrace);
                }
                break;

            case "savemap":
                break;

            case "clear":
                Console.Clear();
                break;

            case "ball&reload":
                if (BallMgr.ReLoad())
                {
                    Console.WriteLine("Ball info is Reload!");
                }
                else
                {
                    Console.WriteLine("Ball info is Error!");
                }
                break;

            case "map&reload":
                if (!MapMgr.ReLoadMap())
                {
                    Console.WriteLine("Map info is Error!");
                    break;
                }
                Console.WriteLine("Map info is Reload!");
                break;

            case "mapserver&reload":
                if (!MapMgr.ReLoadMapServer())
                {
                    Console.WriteLine("mapserver info is Error!");
                    break;
                }
                Console.WriteLine("mapserver info is Reload!");
                break;

            case "prop&reload":
                if (!PropItemMgr.Reload())
                {
                    Console.WriteLine("prop info is Error!");
                    break;
                }
                Console.WriteLine("prop info is Reload!");
                break;

            case "item&reload":
                if (!ItemMgr.ReLoad())
                {
                    Console.WriteLine("item info is Error!");
                    break;
                }
                Console.WriteLine("item info is Reload!");
                break;

            case "shop&reload":
                if (!ShopMgr.ReLoad())
                {
                    Console.WriteLine("shop info is Error!");
                    break;
                }
                Console.WriteLine("shop info is Reload!");
                break;

            case "quest&reload":
                if (!QuestMgr.ReLoad())
                {
                    Console.WriteLine("quest info is Error!");
                    break;
                }
                Console.WriteLine("quest info is Reload!");
                break;

            case "fusion&reload":
                if (!FusionMgr.ReLoad())
                {
                    Console.WriteLine("fusion info is Error!");
                    break;
                }
                Console.WriteLine("fusion info is Reload!");
                break;

            case "consortia&reload":
                if (!ConsortiaMgr.ReLoad())
                {
                    Console.WriteLine("consortiaMgr info is Error!");
                    break;
                }
                Console.WriteLine("consortiaMgr info is Reload!");
                break;

            case "rate&reload":
                if (!RateMgr.ReLoad())
                {
                    Console.WriteLine("Rate Rate is Error!");
                    break;
                }
                Console.WriteLine("Rate Rate is Reload!");
                break;

            case "fight&reload":
                if (!FightRateMgr.ReLoad())
                {
                    Console.WriteLine("FightRateMgr is Error!");
                    break;
                }
                Console.WriteLine("FightRateMgr is Reload!");
                break;

            case "dailyaward&reload":
                if (!AwardMgr.ReLoad())
                {
                    Console.WriteLine("dailyaward is Error!");
                    break;
                }
                Console.WriteLine("dailyaward is Reload!");
                break;

            case "language&reload":
                if (!LanguageMgr.Reload(""))
                {
                    Console.WriteLine("language is Error!");
                    break;
                }
                Console.WriteLine("language is Reload!");
                break;

            case "treasure&reload":
                if (!TreasureAwardMgr.ReLoad())
                {
                    Console.WriteLine("TreasureAward is Error!");
                    break;
                }
                Console.WriteLine("TreasureAward is Reload!");
                break;

            case "nickname":
            {
                Console.WriteLine("Please enter the nickname");
                string str15 = (CommandArgs.Length > 0) ? CommandArgs[0] : Console.ReadLine();
                Console.WriteLine(WorldMgr.GetPlayerStringByPlayerNickName(str15));
                break;
            }

            default:
            {
                string cmdLine = CommandName + string.Join(" ", CommandArgs);
                if (cmdLine.Length > 0)
                {
                    if (cmdLine[0] == '/')
                    {
                        cmdLine = cmdLine.Remove(0, 1).Insert(0, "&");
                    }
                    try
                    {
                        if (!CommandMgr.HandleCommandNoPlvl(client, cmdLine))
                        {
                            Console.WriteLine("Unknown command: " + cmdLine);
                        }
                    }
                    catch (Exception exception2)
                    {
                        Console.WriteLine(exception2.ToString());
                    }
                }
                break;
            }
            }
        }
Пример #4
0
        private static void ProcessMail(IHttpRequest Request, IHttpResponse Response, int usertype)
        {
            if (!(usertype > 2))
            {
                Response.Write("对不起,你的权限不足");
                return;
            }
            using (var xx = new ManageBussiness())
            {
                using (var xy = new ProduceBussiness())
                {
                    var postdata = Request.Content.ReadAll().ConvertFromBytes(Encoding.UTF8);
                    var Form     = FormParser.Parse(postdata);

                    if (Request.Uri.QueryString["sub_searchUserId"].ToSafeString() != "")
                    {
                        string userMsg      = Request.Uri.QueryString["userMsg"].ToSafeString();
                        string getAllUserId = "";
                        if (userMsg != "")
                        {
                            string[] strUsersg = userMsg.Split(new char[]
                            {
                                ','
                            });
                            List <UserInfo> result = xx.GetAllUserInfo().ToList();
                            for (int i = 0; i < strUsersg.Count <string>(); i++)
                            {
                                foreach (var a in result.FindAll((t) =>
                                {
                                    if (t.UserName.IndexOf(strUsersg[i]) != -1 || t.NickName.IndexOf(strUsersg[i]) != -1)
                                    {
                                        return(true);
                                    }

                                    else
                                    {
                                        return(false);
                                    }
                                }))
                                {
                                    getAllUserId += string.Concat(new string[]
                                    {
                                        "ID:[",
                                        a.UserID.ToString(),
                                        "],用户名:[",
                                        a.UserName.ToString(),
                                        "],昵称:[",
                                        a.NickName.ToString(),
                                        "]\n"
                                    });
                                }
                            }
                            Response.Write(getAllUserId);
                            return;
                        }
                    }
                    else if (Form["txt_userID"].ToSafeString() != "" && Form["txt_Title"].ToSafeString() != "" && Form["txt_Content"].ToSafeString() != "")
                    {
                        if (SendMail(Form))
                        {
                            Response.Write("成功");
                        }
                        else
                        {
                            Response.Write("失败");
                        }
                    }
                    else
                    {
                        INVelocityEngine iNVelocityEngine = NVelocityEngineFactory.CreateNVelocityAssemblyEngine("Web.Server", false);
                        IDictionary      context          = new Hashtable();
                        if (Form["btn_wq"].ToSafeString() != "")
                        {
                            List <ItemTemplateInfo> GoodsWeapons = xy.GetSingleCategory(7).ToList();
                            context.Add("GoodsWeapons", GoodsWeapons);
                        }
                        if (Form["btn_zb"].ToSafeString() != "")
                        {
                            List <ItemTemplateInfo> GoodsEquipment = xy.GetSingleCategory(1).ToList();
                            GoodsEquipment.AddRange(xy.GetSingleCategory(2).ToList());
                            GoodsEquipment.AddRange(xy.GetSingleCategory(3).ToList());
                            GoodsEquipment.AddRange(xy.GetSingleCategory(4).ToList());
                            GoodsEquipment.AddRange(xy.GetSingleCategory(5).ToList());
                            GoodsEquipment.AddRange(xy.GetSingleCategory(6).ToList());
                            GoodsEquipment.AddRange(xy.GetSingleCategory(8).ToList());
                            GoodsEquipment.AddRange(xy.GetSingleCategory(9).ToList());
                            GoodsEquipment.AddRange(xy.GetSingleCategory(13).ToList());
                            GoodsEquipment.AddRange(xy.GetSingleCategory(14).ToList());
                            GoodsEquipment.AddRange(xy.GetSingleCategory(15).ToList());
                            GoodsEquipment.AddRange(xy.GetSingleCategory(16).ToList());
                            GoodsEquipment.AddRange(xy.GetSingleCategory(17).ToList());
                            GoodsEquipment.AddRange(xy.GetSingleCategory(18).ToList());
                            GoodsEquipment.AddRange(xy.GetSingleCategory(19).ToList());
                            GoodsEquipment.AddRange(xy.GetSingleCategory(20).ToList());
                            context.Add("GoodsEquipment", GoodsEquipment);
                        }

                        if (Form["btn_dj"].ToSafeString() != "")
                        {
                            List <ItemTemplateInfo> GoodsProps = xy.GetSingleCategory(11).ToList();
                            context.Add("GoodsProps", GoodsProps);
                        }

                        string hindGoodId = Form["hindGoodId"].ToSafeString();
                        if (Form["getGoodId"].ToSafeString() != "")
                        {
                            hindGoodId = Form["getGoodId"].ToSafeString();
                        }
                        string changParames = Form["changParames"].ToSafeString();
                        if (Form["params"].ToSafeString() != "")
                        {
                            changParames = Form["params"].ToSafeString();
                        }

                        if (hindGoodId != "" && changParames != "")
                        {
                            string[] paraStr = changParames.Split(new char[]
                            {
                                ','
                            });
                            if (tabGoods == null)
                            {
                                InitNewGoodTable();
                            }
                            int       rowNum   = Convert.ToInt32(hindGoodId);
                            DataRow[] rowArray = tabGoods.Select("id=" + hindGoodId);


                            DataRow[] array = rowArray;
                            for (int j = 0; j < array.Length; j++)
                            {
                                DataRow rows = array[j];
                                rows.BeginEdit();
                                rows["GoodId"]          = hindGoodId.ToString();
                                rows["GoodNumber"]      = paraStr[0].ToString();
                                rows["GoodName"]        = paraStr[16].ToString();
                                rows["TemplateID"]      = paraStr[12].ToString();
                                rows["ValidDate"]       = paraStr[1].ToString();
                                rows["Gold"]            = paraStr[10].ToString();
                                rows["Money"]           = paraStr[9].ToString();
                                rows["LiJuan"]          = paraStr[11].ToString();
                                rows["StrengthenLevel"] = paraStr[4].ToString();
                                rows["AttackCompose"]   = paraStr[5].ToString();
                                rows["DefendCompose"]   = paraStr[6].ToString();
                                rows["AgilityCompose"]  = paraStr[7].ToString();
                                rows["LuckCompose"]     = paraStr[8].ToString();
                                rows["IsBind"]          = paraStr[2].ToString();
                                rows["Sex"]             = paraStr[3].ToString();
                                rows["CategoryID"]      = paraStr[13].ToString();
                                rows["CanStrengthen"]   = paraStr[14].ToString();
                                rows["CanCompose"]      = paraStr[15].ToString();
                                rows.EndEdit();
                            }
                        }
                        string delete = Form["deletegoodid"].ToSafeString();
                        if (delete != "")
                        {
                            if (tabGoods == null)
                            {
                                InitNewGoodTable();
                            }
                            tabGoods.Rows.Remove(tabGoods.Select("id=" + delete)[0]);
                        }



                        string idArray = Request.Uri.QueryString["ids"].ToSafeString();

                        if (idArray != "")
                        {
                            var   a = idArray.Substring(0, idArray.Length - 1);
                            int[] b = a.Split(',').ConvertToIntArray();
                            List <ItemTemplateInfo> selectGoods = new List <ItemTemplateInfo>();
                            foreach (var c in b)
                            {
                                selectGoods.Add(xy.GetSingleGoods(c));
                            }

                            if (tabGoods == null)
                            {
                                InitNewGoodTable();
                            }

                            foreach (var item in selectGoods)
                            {
                                DataRow newRow = tabGoods.NewRow();
                                newRow["GoodId"]          = item.TemplateID;
                                newRow["GoodNumber"]      = 1;
                                newRow["GoodName"]        = item.Name;
                                newRow["TemplateID"]      = item.TemplateID;
                                newRow["ValidDate"]       = 1;
                                newRow["StrengthenLevel"] = 0;
                                newRow["AttackCompose"]   = 0;
                                newRow["DefendCompose"]   = 0;
                                newRow["AgilityCompose"]  = 0;
                                newRow["LuckCompose"]     = 0;
                                newRow["IsBind"]          = "True";
                                newRow["Sex"]             = 0;
                                newRow["CategoryID"]      = item.CategoryID;
                                newRow["CanStrengthen"]   = item.CanStrengthen;
                                newRow["CanCompose"]      = item.CanCompose;
                                tabGoods.Rows.Add(newRow);
                            }
                        }
                        if (tabGoods != null)
                        {
                            context.Add("ResultGoods", tabGoods);
                            if (!string.IsNullOrEmpty(idArray))
                            {
                                context.Add("isSelect", idArray.Substring(0, idArray.Length - 1));
                            }
                            else
                            {
                                context.Add("isSelect", "false");
                            }
                            idArray = "";
                        }

                        context.Add("this", new AdminPage());
                        Response.Write(iNVelocityEngine.Process(context, "Web.Server.Modules.Admin.Mail.vm"));
                    }
                }
            }
        }
Пример #5
0
        public void OnAction(Hashtable parameters)
        {
            Console.WriteLine("This server GunnyII, edit and build by SkelletonX!");
            Console.WriteLine("Starting GameServer ... please wait a moment!");
            GameServer.CreateInstance(new GameServerConfig());
            GameServer.Instance.Start();
            GameServer.KeepRunning = true;
            Console.WriteLine("Server started!");
            ConsoleClient client = new ConsoleClient();

            while (GameServer.KeepRunning)
            {
                try
                {
                    ConsoleStart.handler = new ConsoleStart.ConsoleCtrlDelegate(ConsoleStart.ConsoleCtrHandler);
                    ConsoleStart.SetConsoleCtrlHandler(ConsoleStart.handler, true);
                    Console.Write("> ");
                    string   text  = Console.ReadLine();
                    string[] array = text.Split(new char[]
                    {
                        ' '
                    });
                    string key;
                    switch (key = array[0])
                    {
                    case "exit":
                        GameServer.KeepRunning = false;
                        continue;

                    //dragonares
                    case "lock":
                        Console.Clear();
                        Console.WriteLine("Ten tai khoan: ");
                        string bnickname = Console.ReadLine();
                        Console.WriteLine("Ly do band: ");
                        string   breason = Console.ReadLine();
                        DateTime dt2     = new DateTime(2014, 07, 02); //Tempo de banimento
                        using (ManageBussiness mg = new ManageBussiness())
                        {
                            mg.ForbidPlayerByNickName(bnickname, dt2, false);
                        }
                        Console.WriteLine("Nguoi dung " + bnickname + " da bi khoa.");

                        break;

                    case "unlock":
                        Console.Clear();
                        Console.WriteLine("Ten tai khoan: ");
                        string   bnickname2 = Console.ReadLine();
                        DateTime dt22       = new DateTime(2014, 07, 02); //Tempo de banimento
                        using (ManageBussiness mg = new ManageBussiness())
                        {
                            mg.ForbidPlayerByNickName(bnickname2, dt22, true);
                        }
                        Console.WriteLine("Nguoi dung " + bnickname2 + " da mo khoa.");

                        break;

                    case "thongbao":
                    {
                        Console.WriteLine("Thong bao: ");
                        string value = Console.ReadLine();
                        Console.WriteLine(string.Format(value));
                        Console.WriteLine("Thong bao thanh cong .");
                        continue;
                    }

                    case "cp":
                    {
                        GameClient[]    allClients   = GameServer.Instance.GetAllClients();
                        int             num2         = (allClients == null) ? 0 : allClients.Length;
                        GamePlayer[]    allPlayers   = WorldMgr.GetAllPlayers();
                        int             num3         = (allPlayers == null) ? 0 : allPlayers.Length;
                        List <BaseRoom> allUsingRoom = RoomMgr.GetAllUsingRoom();
                        int             num4         = 0;
                        int             num5         = 0;
                        foreach (BaseRoom current in allUsingRoom)
                        {
                            if (!current.IsEmpty)
                            {
                                num4++;
                                if (current.IsPlaying)
                                {
                                    num5++;
                                }
                            }
                        }
                        double num6 = (double)GC.GetTotalMemory(false);
                        Console.WriteLine(string.Format("Total Clients/Players:{0}/{1}", num2, num3));
                        Console.WriteLine(string.Format("Total Rooms/Games:{0}/{1}", num4, num5));
                        Console.WriteLine(string.Format("Total Momey Used:{0} MB", num6 / 1024.0 / 1024.0));
                        continue;
                    }

                    case "shutdown":
                        ConsoleStart._count = 6;
                        ConsoleStart._timer = new Timer(new TimerCallback(ConsoleStart.ShutDownCallBack), null, 0, 60000);
                        continue;

                    case "savemap":
                        continue;

                    case "clear":
                        Console.Clear();
                        continue;

                    case "ball&reload":
                        if (BallMgr.ReLoad())
                        {
                            Console.WriteLine("Ball info is Reload!");
                            continue;
                        }
                        Console.WriteLine("Ball info is Error!");
                        continue;

                    case "map&reload":
                        if (MapMgr.ReLoadMap())
                        {
                            Console.WriteLine("Map info is Reload!");
                            continue;
                        }
                        Console.WriteLine("Map info is Error!");
                        continue;

                    case "mapserver&reload":
                        if (MapMgr.ReLoadMapServer())
                        {
                            Console.WriteLine("mapserver info is Reload!");
                            continue;
                        }
                        Console.WriteLine("mapserver info is Error!");
                        continue;

                    case "prop&reload":
                        if (PropItemMgr.Reload())
                        {
                            Console.WriteLine("prop info is Reload!");
                            continue;
                        }
                        Console.WriteLine("prop info is Error!");
                        continue;

                    case "item&reload":
                        if (ItemMgr.ReLoad())
                        {
                            Console.WriteLine("item info is Reload!");
                            continue;
                        }
                        Console.WriteLine("item info is Error!");
                        continue;

                    case "shop&reload":
                        if (ShopMgr.ReLoad())
                        {
                            Console.WriteLine("shop info is Reload!");
                            continue;
                        }
                        Console.WriteLine("shop info is Error!");
                        continue;

                    case "quest&reload":
                        if (QuestMgr.ReLoad())
                        {
                            Console.WriteLine("quest info is Reload!");
                            continue;
                        }
                        Console.WriteLine("quest info is Error!");
                        continue;

                    case "fusion&reload":
                        if (FusionMgr.ReLoad())
                        {
                            Console.WriteLine("fusion info is Reload!");
                            continue;
                        }
                        Console.WriteLine("fusion info is Error!");
                        continue;

                    case "consortia&reload":
                        if (ConsortiaMgr.ReLoad())
                        {
                            Console.WriteLine("consortiaMgr info is Reload!");
                            continue;
                        }
                        Console.WriteLine("consortiaMgr info is Error!");
                        continue;

                    case "rate&reload":
                        if (RateMgr.ReLoad())
                        {
                            Console.WriteLine("Rate Rate is Reload!");
                            continue;
                        }
                        Console.WriteLine("Rate Rate is Error!");
                        continue;

                    case "fight&reload":
                        if (FightRateMgr.ReLoad())
                        {
                            Console.WriteLine("FightRateMgr is Reload!");
                            continue;
                        }
                        Console.WriteLine("FightRateMgr is Error!");
                        continue;

                    case "dailyaward&reload":
                        if (AwardMgr.ReLoad())
                        {
                            Console.WriteLine("dailyaward is Reload!");
                            continue;
                        }
                        Console.WriteLine("dailyaward is Error!");
                        continue;

                    case "language&reload":
                        if (LanguageMgr.Reload(""))
                        {
                            Console.WriteLine("language is Reload!");
                            continue;
                        }
                        Console.WriteLine("language is Error!");
                        continue;

                    case "nickname":
                    {
                        Console.WriteLine("Please enter the nickname");
                        string nickName = Console.ReadLine();
                        string playerStringByPlayerNickName = WorldMgr.GetPlayerStringByPlayerNickName(nickName);
                        Console.WriteLine(playerStringByPlayerNickName);
                        continue;
                    }
                    }
                    if (text.Length > 0)
                    {
                        if (text[0] == '/')
                        {
                            text = text.Remove(0, 1);
                            text = text.Insert(0, "&");
                        }
                        try
                        {
                            if (!CommandMgr.HandleCommandNoPlvl(client, text))
                            {
                                Console.WriteLine("Unknown command: " + text);
                            }
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine(ex.ToString());
                        }
                    }
                }
                catch (Exception value)
                {
                    Console.WriteLine(value);
                }
            }
            if (GameServer.Instance != null)
            {
                GameServer.Instance.Stop();
            }
            LogManager.Shutdown();
        }