Пример #1
0
        public static void StartUpServer()
        {
            GameServer.Managers.PacketManager.setup();

            if (_RunningServer)
            {
                return;
            }
            _RunningServer = true;
            DateTime Start = DateTime.Now;

            Log.AppendText("");
            Log.AppendText("WarRocK GameServer started!");
            LookupModule = new LookupService("GeoIP.dat", LookupService.GEOIP_MEMORY_CACHE);
            Log.AppendText("GeoIP module initialized.");
            DB.runQuery("UPDATE users SET online='0'");
            Log.AppendText("All accounts have been set offline");


            _ServerThread          = new Thread(new ThreadStart(Structure.serverLoop));
            _ServerThread.Priority = ThreadPriority.BelowNormal;
            _ServerThread.Start();

            _CommandThread          = new Thread(new ThreadStart(Structure.commandLoop));
            _CommandThread.Priority = ThreadPriority.BelowNormal;
            _CommandThread.Start();


            //ItemManager.InitializeHexTable();

            Log.WriteBlank();

            ClanManager.Load();
            GameServer.Managers.BanManager.load();
            UserManager.setup();
            RoomManager.setup();
            virtualMapData.Load();
            EventManager.Load();
            NoticeManager.load();
            MapVehicleSeats.Load();
            VehicleManager.Load();
            WordManager.Load();
            //VehicleManagers2.Load();
            MapVehicles.Load();
            ZombieManager.Load();
            Thread EventThread = new Thread(Event);

            EventThread.Priority = ThreadPriority.AboveNormal;
            EventThread.Start();
            Thread LoginEventThread = new Thread(LoginEventCheckLoop);

            LoginEventThread.Priority = ThreadPriority.AboveNormal;
            LoginEventThread.Start();
            Thread CouponCheckThread = new Thread(CheckCouponLoop);

            CouponCheckThread.Priority = ThreadPriority.AboveNormal;
            CouponCheckThread.Start();
            //MapManager.load();


            DateTime current   = DateTime.Now;
            long     StartTime = long.Parse(String.Format("{0:yyMMdd}", current));

            BootTime = Convert.ToInt32(StartTime.ToString());

            FormCalling.frm1.AppendColorLabelBox2("");
            FormCalling.frm1.AppendLabelBox2("Started");
            TimeSpan bootTime = DateTime.Now - Start;

            Log.AppendText("Emulator has booted in " + bootTime.TotalMilliseconds + " milliseconds..");


            Log.WriteBlank();

            if (GameServer.NetworkSocket.openSocket(5340, 999999999) == false)
            {
                return;
            }
            GC.Collect();
        }