Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.rs;
- import java.util.concurrent.TimeUnit;
- import java.io.IOException;
- import java.net.URL;
- import java.net.URLConnection;
- import com.alex.store.Index;
- import com.rs.cache.Cache;
- import com.rs.cache.loaders.ItemDefinitions;
- import com.rs.cache.loaders.ItemsEquipIds;
- import com.rs.cache.loaders.NPCDefinitions;
- import com.rs.cache.loaders.ObjectDefinitions;
- import com.rs.cores.CoresManager;
- import com.rs.game.Region;
- import com.rs.game.RegionBuilder;
- import com.rs.game.World;
- import com.rs.game.WorldTile;
- import com.rs.game.item.Item;
- import com.rs.game.npc.combat.CombatScriptsHandler;
- import com.rs.game.player.LendingManager;
- import com.rs.game.player.Player;
- import com.rs.game.player.content.FishingSpotsHandler;
- import com.rs.game.player.content.FriendChatsManager;
- import com.rs.game.player.content.clans.ClansManager;
- import com.rs.game.player.content.grandExchange.GrandExchangeLoader;
- import com.rs.game.player.controlers.ControlerHandler;
- import com.rs.game.player.cutscenes.CutscenesHandler;
- import com.rs.game.player.dialogues.DialogueHandler;
- import com.rs.game.worldlist.WorldList;
- import com.rs.net.ServerChannelHandler;
- import com.rs.net.decoders.handlers.NPCExamines;
- //import com.rs.utils.AutoBackup;
- import com.rs.utils.Censor;
- import com.rs.utils.DTRank;
- import com.rs.utils.DisplayNames;
- import com.rs.utils.IPBanL;
- import com.rs.utils.IPMute;
- import com.rs.utils.MacManagement;
- import com.rs.utils.NPCSpawning;
- import com.rs.utils.ItemBonuses;
- import com.rs.utils.ItemExamines;
- import com.rs.utils.Logger;
- import com.rs.utils.MACBan;
- import com.rs.utils.MapArchiveKeys;
- import com.rs.utils.MapAreas;
- import com.rs.utils.MusicHints;
- import com.rs.utils.NPCBonuses;
- import com.rs.utils.NPCCombatDefinitionsL;
- import com.rs.utils.NPCDrops;
- import com.rs.utils.NPCSpawns;
- import com.rs.utils.Text;
- import com.rs.utils.ObjectSpawns;
- import com.rs.utils.PkRank;
- import com.rs.utils.SerializableFilesManager;
- import com.rs.utils.ShopsHandler;
- import com.rs.utils.WorldObjectDelete;
- import com.rs.utils.huffman.Huffman;
- import com.rs.utils.mysql.DonationManager;
- public final class ServerLauncher {
- public static long ONLINE = System.currentTimeMillis();
- public static DonationManager md;
- //public static AutoBackup backup;
- public static void main(String[] args) throws Exception {
- if (args.length < 3) {
- System.out
- .println("USE: guimode(boolean) debug(boolean) hosted(boolean) port(integer)");
- return;
- }
- Settings.ECONOMY_MODE = Boolean.parseBoolean(args[2]);
- Settings.DEBUG = Boolean.parseBoolean(args[1]);
- Settings.SERVER_PORT = Integer.parseInt(args[3]);
- Logger.log("ServerLauncher", "Initing Server...");
- //backup = new AutoBackup();
- if (System.getenv("computername").replace("-PC", "").equalsIgnoreCase("Mikk"))
- DataConstant.CACHE_PATH = "C:/Lastrise/data/cache/";
- Cache.init();
- ItemsEquipIds.init();
- Huffman.init();
- DisplayNames.init();
- IPBanL.init();
- MacManagement.initialize();
- NPCExamines.init();
- IPMute.init();
- PkRank.init();
- DTRank.init();
- GrandExchangeLoader.initialize();
- MapArchiveKeys.init();
- MapAreas.init();
- WorldObjectDelete.deleteWorldObject();
- ObjectSpawns.init();
- NPCSpawns.init();
- NPCCombatDefinitionsL.init();
- NPCBonuses.init();
- NPCDrops.init();
- ItemExamines.init();
- ItemBonuses.init();
- MusicHints.init();
- ShopsHandler.init();
- WorldList.init();
- NPCDrops.init();
- Text.init();
- FishingSpotsHandler.init();
- CombatScriptsHandler.init();
- DialogueHandler.init();
- ControlerHandler.init();
- CutscenesHandler.init();
- FriendChatsManager.init();
- ClansManager.init();
- LendingManager.init();
- CoresManager.init();
- addUpdatePlayersOnlineTask();
- World.init();
- RegionBuilder.init();
- ServerChannelHandler.init();
- NPCSpawning.spawnNPCS();
- Censor.init();
- addGroundItemTask();
- //md = new DonationManager();
- md.start();
- Logger.log("ServerLauncher", "Server launched and bound to port: "
- + Settings.SERVER_PORT);
- addAccountsSavingTask();
- addCleanMemoryTask();//run here i never done it on here :L
- }
- private static void setWebsitePlayersOnline(int amount) throws IOException {
- URL url = new URL(
- "http://lastrisersps/forumsk/register.php?amount=" + amount);
- url.openStream().close();
- }
- private static void addGroundItemTask() {
- CoresManager.slowExecutor.scheduleWithFixedDelay(new Runnable() {
- @Override
- public void run() {
- try {
- World.addGroundItem2(new Item(946, 1), new WorldTile(3096, 3957, 0));
- } catch (Throwable e) {
- Logger.handle(e);
- }
- }
- }, 1, 5, TimeUnit.SECONDS);
- }
- private static void addUpdatePlayersOnlineTask() {
- CoresManager.slowExecutor.scheduleWithFixedDelay(new Runnable() {
- @Override
- public void run() {
- try {
- setWebsitePlayersOnline(World.getPlayers().size());
- } catch (Throwable e) {
- // Logger.handle(e);
- }
- }
- }, 1, 1, TimeUnit.MINUTES);
- }
- private static void addAccountsSavingTask() {
- CoresManager.slowExecutor.scheduleWithFixedDelay(new Runnable() {
- @Override
- public void run() {
- try {
- saveFiles();
- } catch (Throwable e) {
- Logger.handle(e);
- }
- }
- }, 1, 1, TimeUnit.SECONDS);
- }
- private static void addCleanMemoryTask() {
- CoresManager.slowExecutor.scheduleWithFixedDelay(new Runnable() {
- @Override
- public void run() {
- try {
- cleanMemory(Runtime.getRuntime().freeMemory() < DataConstant.MINIMUM_RAM_ALLOCATED);
- } catch (Throwable e) {
- Logger.handle(e);
- }
- }
- }, 0, 10, TimeUnit.MINUTES);
- }
- public static void cleanMemory(boolean force) {
- if (force) {
- ItemDefinitions.clearItemsDefinitions();
- NPCDefinitions.clearNPCDefinitions();
- ObjectDefinitions.clearObjectDefinitions();
- for (Region region : World.getRegions().values())
- region.removeMapFromMemory();
- }
- for (Index index : Cache.STORE.getIndexes())
- index.resetCachedFiles();
- CoresManager.fastExecutor.purge();
- System.gc();
- }
- public static void closeServices() {
- ServerChannelHandler.shutdown();
- CoresManager.shutdown();
- }
- public static void saveFiles() {
- for (Player player : World.getPlayers()) {
- if (player == null || !player.hasStarted() || player.hasFinished())
- continue;
- SerializableFilesManager.savePlayer(player);
- }
- DisplayNames.save();
- IPBanL.save();
- IPMute.save();
- MACBan.save();
- PkRank.save();
- DTRank.save();
- }
- public static void shutdown() {
- try {
- closeServices();
- } finally {
- System.exit(0);
- }
- }
- private ServerLauncher() {
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment