Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 12th, 2012  |  syntax: Java  |  size: 17.10 KB  |  hits: 19  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. public GameServer() throws Exception
  2.         {
  3.         gameServer = this;
  4.                 _log.finest("used mem:" + getUsedMemoryMB()+"MB" );
  5.  
  6.         if (Config.SERVER_VERSION != null)
  7.         {
  8.             _log.info("L2J Server Version:    "+Config.SERVER_VERSION);
  9.         }
  10.         if (Config.DATAPACK_VERSION != null)
  11.         {
  12.             _log.info("L2J Datapack Version:  "+Config.DATAPACK_VERSION);
  13.         }
  14.                 _idFactory = IdFactory.getInstance();
  15.         if (!_idFactory.isInitialized())
  16.         {
  17.             _log.severe("Could not read object IDs from DB. Please Check Your Data.");
  18.             throw new Exception("Could not initialize the ID factory");
  19.         }
  20.  
  21.         _threadpools = ThreadPoolManager.getInstance();
  22.  
  23.                 new File(Config.DATAPACK_ROOT, "data/clans").mkdirs();
  24.                 new File(Config.DATAPACK_ROOT, "data/crests").mkdirs();
  25.         new File("pathnode").mkdirs();
  26.  
  27.                 // start game time control early
  28.                 GameTimeController.getInstance();
  29.  
  30.                 // keep the references of Singletons to prevent garbage collection
  31.                 CharNameTable.getInstance();
  32.  
  33.                 _itemTable = ItemTable.getInstance();
  34.                 if (!_itemTable.isInitialized())
  35.                 {
  36.                     _log.severe("Could not find the extraced files. Please Check Your Data.");
  37.                     throw new Exception("Could not initialize the item table");
  38.                 }
  39.  
  40.                 ExtractableItemsData.getInstance();
  41.                 SummonItemsData.getInstance();
  42.  
  43.  
  44.                 TradeController.getInstance();
  45.                 _skillTable = SkillTable.getInstance();
  46.                 if (!_skillTable.isInitialized())
  47.                 {
  48.                     _log.severe("Could not find the extraced files. Please Check Your Data.");
  49.                     throw new Exception("Could not initialize the skill table");
  50.                 }
  51.  
  52.                
  53. //              L2EMU_ADD by Rayan. L2J - BigBro
  54.                 //if(Config.ALLOW_NPC_WALKERS)
  55.                 NpcWalkerRoutesTable.getInstance().load();
  56.                 //L2EMU_ADD by Rayan. L2J - BigBro
  57.                
  58.                 RecipeController.getInstance();
  59.  
  60.                 SkillTreeTable.getInstance();
  61.                 ArmorSetsTable.getInstance();
  62.                 FishTable.getInstance();
  63.                 SkillSpellbookTable.getInstance();
  64.                 CharTemplateTable.getInstance();
  65.                 NobleSkillTable.getInstance();
  66.                 HeroSkillTable.getInstance();
  67.  
  68.         //Call to load caches
  69.         HtmCache.getInstance();
  70.         CrestCache.getInstance();
  71.         ClanTable.getInstance();
  72.                 _npcTable = NpcTable.getInstance();
  73.  
  74.                 if (!_npcTable.isInitialized())
  75.                 {
  76.                     _log.severe("Could not find the extraced files. Please Check Your Data.");
  77.                     throw new Exception("Could not initialize the npc table");
  78.                 }
  79.  
  80.                 _hennaTable = HennaTable.getInstance();
  81.  
  82.                 if (!_hennaTable.isInitialized())
  83.                 {
  84.                    throw new Exception("Could not initialize the Henna Table");
  85.                 }
  86.  
  87.                 HennaTreeTable.getInstance();
  88.  
  89.                 if (!_hennaTable.isInitialized())
  90.                 {
  91.                    throw new Exception("Could not initialize the Henna Tree Table");
  92.                 }
  93.  
  94.         _helperBuffTable = HelperBuffTable.getInstance();
  95.  
  96.         if (!_helperBuffTable.isInitialized())
  97.         {
  98.            throw new Exception("Could not initialize the Helper Buff Table");
  99.         }
  100.  
  101.         GeoData.getInstance();
  102.         if (Config.GEODATA == 2)
  103.                 GeoPathFinding.getInstance();
  104.  
  105.         // Load clan hall data before zone data
  106.         _cHManager = ClanHallManager.getInstance();
  107.                 CastleManager.getInstance();
  108.                 SiegeManager.getInstance();
  109.  
  110.                 TeleportLocationTable.getInstance();
  111.                 LevelUpData.getInstance();
  112.                 L2World.getInstance();
  113.                 ZoneData.getInstance();
  114.         SpawnTable.getInstance();
  115.         RaidBossSpawnManager.getInstance();
  116.         DayNightSpawnManager.getInstance().notifyChangeMode();
  117.         DimensionalRiftManager.getInstance();
  118.                 Announcements.getInstance();
  119.                 MapRegionTable.getInstance();
  120.                 EventDroplist.getInstance();
  121.  
  122.                 /** Load Manor data */
  123.                 L2Manor.getInstance();
  124.  
  125.                 /** Load Manager */
  126.                 AuctionManager.getInstance();
  127.                 BoatManager.getInstance();
  128.                 CastleManorManager.getInstance();
  129.                 MercTicketManager.getInstance();
  130.                 //PartyCommandManager.getInstance();
  131.                 PetitionManager.getInstance();
  132.                 QuestManager.getInstance();
  133.                 AugmentationData.getInstance();
  134.                 if (Config.SAVE_DROPPED_ITEM)
  135.                         ItemsOnGroundManager.getInstance();
  136.  
  137.                 if (Config.AUTODESTROY_ITEM_AFTER > 0 || Config.HERB_AUTO_DESTROY_TIME > 0)
  138.             ItemsAutoDestroy.getInstance();
  139.  
  140.         MonsterRace.getInstance();
  141.  
  142.                 _doorTable = DoorTable.getInstance();
  143.                 _doorTable.parseData();
  144.         StaticObjects.getInstance();
  145.  
  146.                 _sevenSignsEngine = SevenSigns.getInstance();
  147.         SevenSignsFestival.getInstance();
  148.                 _autoSpawnHandler = AutoSpawnHandler.getInstance();
  149.                 _autoChatHandler = AutoChatHandler.getInstance();
  150.  
  151.         // Spawn the Orators/Preachers if in the Seal Validation period.
  152.         _sevenSignsEngine.spawnSevenSignsNPC();
  153.  
  154.         Olympiad.getInstance();
  155.         Hero.getInstance();
  156.         FaenorScriptEngine.getInstance();
  157.         // Init of a cursed weapon manager
  158.         CursedWeaponsManager.getInstance();
  159.  
  160.                 _log.config("AutoChatHandler: Loaded " + _autoChatHandler.size() + " handlers in total.");
  161.                 _log.config("AutoSpawnHandler: Loaded " + _autoSpawnHandler.size() + " handlers in total.");
  162.  
  163.                 _itemHandler = ItemHandler.getInstance();
  164.                 _itemHandler.registerItemHandler(new ScrollOfEscape());
  165.                 _itemHandler.registerItemHandler(new ScrollOfResurrection());
  166.                 _itemHandler.registerItemHandler(new SoulShots());
  167.                 _itemHandler.registerItemHandler(new SpiritShot());
  168.                 _itemHandler.registerItemHandler(new BlessedSpiritShot());
  169.         _itemHandler.registerItemHandler(new BeastSoulShot());
  170.         _itemHandler.registerItemHandler(new BeastSpiritShot());
  171.         _itemHandler.registerItemHandler(new ChestKey());
  172.         _itemHandler.registerItemHandler(new PaganKeys());
  173.                 _itemHandler.registerItemHandler(new Maps());
  174.                 _itemHandler.registerItemHandler(new Potions());
  175.                 _itemHandler.registerItemHandler(new Recipes());
  176.         _itemHandler.registerItemHandler(new RollingDice());
  177.         _itemHandler.registerItemHandler(new MysteryPotion());
  178.                 _itemHandler.registerItemHandler(new EnchantScrolls());
  179.         _itemHandler.registerItemHandler(new EnergyStone());
  180.                 _itemHandler.registerItemHandler(new Book());
  181.                 _itemHandler.registerItemHandler(new Remedy());
  182.                 _itemHandler.registerItemHandler(new Scrolls());
  183.                 _itemHandler.registerItemHandler(new CrystalCarol());
  184.                 _itemHandler.registerItemHandler(new SoulCrystals());
  185.                 _itemHandler.registerItemHandler(new SevenSignsRecord());
  186.         _itemHandler.registerItemHandler(new CharChangePotions());
  187.         _itemHandler.registerItemHandler(new Firework());
  188.         _itemHandler.registerItemHandler(new Seed());
  189.         _itemHandler.registerItemHandler(new Harvester());
  190.         _itemHandler.registerItemHandler(new MercTicket());
  191.                 _itemHandler.registerItemHandler(new FishShots());
  192.                 _itemHandler.registerItemHandler(new ExtractableItems());
  193.                 _itemHandler.registerItemHandler(new SpecialXMas());
  194.                 _itemHandler.registerItemHandler(new SummonItems());
  195.                 _itemHandler.registerItemHandler(new BeastSpice());
  196.         _log.config("ItemHandler: Loaded " + _itemHandler.size() + " handlers.");
  197.  
  198.                 _skillHandler = SkillHandler.getInstance();
  199.                 _skillHandler.registerSkillHandler(new Blow());
  200.                 _skillHandler.registerSkillHandler(new Pdam());
  201.                 _skillHandler.registerSkillHandler(new Mdam());
  202.                 _skillHandler.registerSkillHandler(new CpDam());
  203.                 _skillHandler.registerSkillHandler(new Manadam());
  204.                 _skillHandler.registerSkillHandler(new Heal());
  205.         _skillHandler.registerSkillHandler(new CombatPointHeal());
  206.                 _skillHandler.registerSkillHandler(new ManaHeal());
  207.                 _skillHandler.registerSkillHandler(new BalanceLife());
  208.                 _skillHandler.registerSkillHandler(new Charge());
  209.                 _skillHandler.registerSkillHandler(new Continuous());
  210.                 _skillHandler.registerSkillHandler(new Resurrect());
  211.         _skillHandler.registerSkillHandler(new Spoil());
  212.         _skillHandler.registerSkillHandler(new Sweep());
  213.         _skillHandler.registerSkillHandler(new StrSiegeAssault());
  214.         _skillHandler.registerSkillHandler(new SummonFriend());
  215.         _skillHandler.registerSkillHandler(new SummonTreasureKey());
  216.         _skillHandler.registerSkillHandler(new Disablers());
  217.                 _skillHandler.registerSkillHandler(new Recall());
  218.         _skillHandler.registerSkillHandler(new SiegeFlag());
  219.         _skillHandler.registerSkillHandler(new TakeCastle());
  220.         _skillHandler.registerSkillHandler(new Unlock());
  221.         _skillHandler.registerSkillHandler(new DrainSoul());
  222.         _skillHandler.registerSkillHandler(new Craft());
  223.                 _skillHandler.registerSkillHandler(new Fishing());
  224.                 _skillHandler.registerSkillHandler(new FishingSkill());
  225.         _skillHandler.registerSkillHandler(new BeastFeed());
  226.         _skillHandler.registerSkillHandler(new DeluxeKey());
  227.         _skillHandler.registerSkillHandler(new Sow());
  228.         _skillHandler.registerSkillHandler(new Harvest());
  229.         _skillHandler.registerSkillHandler(new Signets());
  230.         _skillHandler.registerSkillHandler(new GetPlayer());
  231.         _log.config("SkillHandler: Loaded " + _skillHandler.size() + " handlers.");
  232.  
  233.                 _adminCommandHandler = AdminCommandHandler.getInstance();
  234.                 _adminCommandHandler.registerAdminCommandHandler(new AdminAdmin());
  235.                 _adminCommandHandler.registerAdminCommandHandler(new AdminInvul());
  236.                 _adminCommandHandler.registerAdminCommandHandler(new AdminDelete());
  237.                 _adminCommandHandler.registerAdminCommandHandler(new AdminKill());
  238.                 _adminCommandHandler.registerAdminCommandHandler(new AdminTarget());
  239.                 _adminCommandHandler.registerAdminCommandHandler(new AdminShop());
  240.                 _adminCommandHandler.registerAdminCommandHandler(new AdminAnnouncements());
  241.                 _adminCommandHandler.registerAdminCommandHandler(new AdminCreateItem());
  242.         _adminCommandHandler.registerAdminCommandHandler(new AdminHeal());
  243.                 _adminCommandHandler.registerAdminCommandHandler(new AdminHelpPage());
  244.                 _adminCommandHandler.registerAdminCommandHandler(new AdminShutdown());
  245.                 _adminCommandHandler.registerAdminCommandHandler(new AdminSpawn());
  246.                 _adminCommandHandler.registerAdminCommandHandler(new AdminSkill());
  247.                 _adminCommandHandler.registerAdminCommandHandler(new AdminExpSp());
  248.         _adminCommandHandler.registerAdminCommandHandler(new AdminEventEngine());
  249.                 _adminCommandHandler.registerAdminCommandHandler(new AdminGmChat());
  250.                 _adminCommandHandler.registerAdminCommandHandler(new AdminEditChar());
  251.                 _adminCommandHandler.registerAdminCommandHandler(new AdminGm());
  252.                 _adminCommandHandler.registerAdminCommandHandler(new AdminTeleport());
  253.                 _adminCommandHandler.registerAdminCommandHandler(new AdminRepairChar());
  254.         _adminCommandHandler.registerAdminCommandHandler(new AdminChangeAccessLevel());
  255.         _adminCommandHandler.registerAdminCommandHandler(new AdminBan());
  256.         _adminCommandHandler.registerAdminCommandHandler(new AdminPolymorph());
  257.                 _adminCommandHandler.registerAdminCommandHandler(new AdminBanChat());
  258.         _adminCommandHandler.registerAdminCommandHandler(new AdminKick());
  259.         _adminCommandHandler.registerAdminCommandHandler(new AdminMonsterRace());
  260.         _adminCommandHandler.registerAdminCommandHandler(new AdminEditNpc());
  261.         _adminCommandHandler.registerAdminCommandHandler(new AdminFightCalculator());
  262.         _adminCommandHandler.registerAdminCommandHandler(new AdminMenu());
  263.         _adminCommandHandler.registerAdminCommandHandler(new AdminSiege());
  264.         _adminCommandHandler.registerAdminCommandHandler(new AdminPathNode());
  265.         _adminCommandHandler.registerAdminCommandHandler(new AdminPetition());
  266.         _adminCommandHandler.registerAdminCommandHandler(new AdminPForge());
  267.         _adminCommandHandler.registerAdminCommandHandler(new AdminBBS());
  268.         _adminCommandHandler.registerAdminCommandHandler(new AdminEffects());
  269.         _adminCommandHandler.registerAdminCommandHandler(new AdminDoorControl());
  270.         _adminCommandHandler.registerAdminCommandHandler(new AdminTest());
  271.         _adminCommandHandler.registerAdminCommandHandler(new AdminEnchant());
  272.         _adminCommandHandler.registerAdminCommandHandler(new AdminMobGroup());
  273.         _adminCommandHandler.registerAdminCommandHandler(new AdminRes());
  274.         _adminCommandHandler.registerAdminCommandHandler(new AdminMammon());
  275.         _adminCommandHandler.registerAdminCommandHandler(new AdminUnblockIp());
  276.         _adminCommandHandler.registerAdminCommandHandler(new AdminPledge());
  277.         _adminCommandHandler.registerAdminCommandHandler(new AdminRideWyvern());
  278.         _adminCommandHandler.registerAdminCommandHandler(new AdminLogin());
  279.         _adminCommandHandler.registerAdminCommandHandler(new AdminCache());
  280.         _adminCommandHandler.registerAdminCommandHandler(new AdminLevel());
  281.         _adminCommandHandler.registerAdminCommandHandler(new AdminQuest());
  282.         _adminCommandHandler.registerAdminCommandHandler(new AdminZone());
  283.         _adminCommandHandler.registerAdminCommandHandler(new AdminCursedWeapons());
  284.         _adminCommandHandler.registerAdminCommandHandler(new AdminGeodata());
  285.         _adminCommandHandler.registerAdminCommandHandler(new AdminGeoEditor());
  286.         _adminCommandHandler.registerAdminCommandHandler(new AdminManor());
  287.         _adminCommandHandler.registerAdminCommandHandler(new AdminTvTEvent());
  288.         //_adminCommandHandler.registerAdminCommandHandler(new AdminRadar());
  289.         _log.config("AdminCommandHandler: Loaded " + _adminCommandHandler.size() + " handlers.");
  290.  
  291.         _userCommandHandler = UserCommandHandler.getInstance();
  292.         _userCommandHandler.registerUserCommandHandler(new ClanPenalty());
  293.         _userCommandHandler.registerUserCommandHandler(new ClanWarsList());
  294.         _userCommandHandler.registerUserCommandHandler(new DisMount());
  295.         _userCommandHandler.registerUserCommandHandler(new Escape());
  296.         _userCommandHandler.registerUserCommandHandler(new Loc());
  297.         _userCommandHandler.registerUserCommandHandler(new Mount());
  298.         _userCommandHandler.registerUserCommandHandler(new PartyInfo());
  299.                 _userCommandHandler.registerUserCommandHandler(new Time());
  300.                 _userCommandHandler.registerUserCommandHandler(new OlympiadStat());
  301.                 _userCommandHandler.registerUserCommandHandler(new ChannelLeave());
  302.                 _userCommandHandler.registerUserCommandHandler(new ChannelDelete());
  303.                 _userCommandHandler.registerUserCommandHandler(new ChannelListUpdate());
  304.  
  305.         _log.config("UserCommandHandler: Loaded " + _userCommandHandler.size() + " handlers.");
  306.  
  307.                 _voicedCommandHandler = VoicedCommandHandler.getInstance();
  308.                 _voicedCommandHandler.registerVoicedCommandHandler(new stats());
  309.  
  310.                 if(Config.L2JMOD_ALLOW_WEDDING)
  311.                         _voicedCommandHandler.registerVoicedCommandHandler(new Wedding());
  312.  
  313.                 _log.config("VoicedCommandHandler: Loaded " + _voicedCommandHandler.size() + " handlers.");
  314.  
  315.                
  316.                                                
  317.                 if(Config.L2JMOD_ALLOW_WEDDING)
  318.                         CoupleManager.getInstance();
  319.  
  320.         TaskManager.getInstance();
  321.  
  322.                 GmListTable.getInstance();
  323.  
  324.         // read pet stats from db
  325.         L2PetDataTable.getInstance().loadPetsData();
  326.  
  327.         Universe.getInstance();
  328.  
  329.                 if (Config.ACCEPT_GEOEDITOR_CONN)
  330.                         GeoEditorListener.getInstance();
  331.  
  332.                 _shutdownHandler = Shutdown.getInstance();
  333.                 Runtime.getRuntime().addShutdownHook(_shutdownHandler);
  334.  
  335.                 try
  336.         {
  337.             _doorTable.getDoor(24190001).openMe();
  338.             _doorTable.getDoor(24190002).openMe();
  339.             _doorTable.getDoor(24190003).openMe();
  340.             _doorTable.getDoor(24190004).openMe();
  341.             _doorTable.getDoor(23180001).openMe();
  342.             _doorTable.getDoor(23180002).openMe();
  343.             _doorTable.getDoor(23180003).openMe();
  344.             _doorTable.getDoor(23180004).openMe();
  345.             _doorTable.getDoor(23180005).openMe();
  346.             _doorTable.getDoor(23180006).openMe();
  347.  
  348.             _doorTable.checkAutoOpen();
  349.         }
  350.         catch (NullPointerException e)
  351.         {
  352.             _log.warning("There is errors in your Door.csv file. Update door.csv");
  353.             if (Config.DEBUG)
  354.                 e.printStackTrace();
  355.         }
  356.         ForumsBBSManager.getInstance();
  357.         _log.config("IdFactory: Free ObjectID's remaining: " + IdFactory.getInstance().size());
  358.  
  359.         // initialize the dynamic extension loader
  360.         try {
  361.             DynamicExtension.getInstance();
  362.         } catch (Exception ex) {
  363.             _log.log(Level.WARNING, "DynamicExtension could not be loaded and initialized", ex);
  364.         }
  365.  
  366.         FloodProtector.getInstance();
  367.         TvTManager.getInstance();
  368.                 System.gc();
  369.                 // maxMemory is the upper limit the jvm can use, totalMemory the size of the current allocation pool, freeMemory the unused memory in the allocation pool
  370.                 long freeMem = (Runtime.getRuntime().maxMemory()-Runtime.getRuntime().totalMemory()+Runtime.getRuntime().freeMemory()) / 1048576; // 1024 * 1024 = 1048576;
  371.                 long totalMem = Runtime.getRuntime().maxMemory() / 1048576;
  372.                 _log.info("GameServer Started, free memory "+freeMem+" Mb of "+totalMem+" Mb");
  373.  
  374.                 _loginThread = LoginServerThread.getInstance();
  375.                 _loginThread.start();
  376.  
  377.                 SelectorServerConfig ssc = new SelectorServerConfig(Config.PORT_GAME);
  378.                 L2GamePacketHandler gph = new L2GamePacketHandler();
  379.                 _selectorThread = new SelectorThread<L2GameClient>(ssc, gph, gph, gph);
  380.                 _selectorThread.openServerSocket();
  381.                 _selectorThread.start();
  382.                 _log.config("Maximum Numbers of Connected Players: " + Config.MAXIMUM_ONLINE_USERS);
  383.         }