3import com.runehive.content.WellOfGoodwill;
4import com.runehive.content.bloodmoney.BloodChestEvent;
5import com.runehive.content.clanchannel.ClanRepository;
6import com.runehive.content.itemaction.ItemActionRepository;
7import com.runehive.content.lms.LMSGameEvent;
8import com.runehive.content.lms.loadouts.LMSLoadoutManager;
9import com.runehive.content.lms.lobby.LMSLobbyEvent;
10import com.runehive.content.mysterybox.MysteryBox;
11import com.runehive.content.preloads.PreloadRepository;
12import com.runehive.content.shootingstar.ShootingStar;
13import com.runehive.content.skill.SkillRepository;
14import com.runehive.content.tradingpost.TradingPost;
15import com.runehive.content.triviabot.TriviaBot;
16import com.runehive.content.wintertodt.Wintertodt;
17import com.runehive.fs.cache.FileSystem;
18import com.runehive.fs.cache.decoder.*;
19import com.runehive.game.engine.GameEngine;
20import com.runehive.game.plugin.PluginManager;
21import com.runehive.game.service.*;
22import com.runehive.game.task.impl.ClanUpdateEvent;
23import com.runehive.game.task.impl.DoubleExperienceEvent;
24import com.runehive.game.task.impl.MessageEvent;
25import com.runehive.game.task.impl.PlayerSaveEvent;
26import com.runehive.game.world.World;
27import com.runehive.game.world.WorldType;
28import com.runehive.game.world.cronjobs.Jobs;
29import com.runehive.game.world.entity.combat.attack.listener.CombatListenerManager;
30import com.runehive.game.world.entity.combat.strategy.npc.boss.skotizo.SkotizoEvent;
31import com.runehive.game.world.entity.mob.npc.definition.NpcDefinition;
32import com.runehive.game.world.entity.mob.player.BannedPlayers;
33import com.runehive.game.world.entity.mob.player.IPBannedPlayers;
34import com.runehive.game.world.entity.mob.player.IPMutedPlayers;
35import com.runehive.game.world.entity.mob.player.profile.ProfileRepository;
36import com.runehive.game.world.items.ItemDefinition;
37import com.runehive.io.PacketListenerLoader;
38import com.runehive.net.LoginExecutorService;
39import com.runehive.util.GameSaver;
40import com.runehive.util.Stopwatch;
41import com.runehive.util.parser.impl.*;
42import dev.advo.fs.FileServer;
43import org.apache.logging.log4j.LogManager;
44import org.apache.logging.log4j.Logger;
45import org.jire.runehiveps.OldToNew;
46import org.jire.runehiveps.objectexamines.ObjectExamines;
47import org.joda.time.DateTime;
48import org.joda.time.DateTimeZone;
49import plugin.click.item.ClueScrollPlugin;
51import java.io.IOException;
52import java.util.concurrent.TimeUnit;
53import java.util.concurrent.atomic.AtomicBoolean;
59 public static final AtomicBoolean
serverStarted =
new AtomicBoolean(
false);
86 }
catch (IOException e) {
144 logger.info(
"Events have been scheduled");
147 public void start() throws Exception {
165 logger.info(
"Startup service finished");
172 logger.info(
"Game service started");
185 public static void main(String[] args) {
186 Runtime.getRuntime().addShutdownHook(
new Thread(() -> {
187 logger.info(
"shutting down server, initializing shutdown hook");
189 com.runehive.content.ai.LazyAIManager.shutdown();
194 }
catch (Throwable t) {
195 logger.error(
"A problem has been encountered while starting the server.", t);
209 return DateTimeZone.UTC;
213 return this.loginExecutorService;
The class that contains setting-related constants for the server.
static final boolean FORUM_INTEGRATION
If forum integration is true, users can only login if they enter the same username and password that'...
static final boolean PARALLEL_GAME_ENGINE
This will use the parallel game game.
static final int CLIENT_VERSION
static final int SERVER_PORT
The server port.
static WorldType WORLD_TYPE
void processSequentialStartupTasks()
void processParallelStartupTasks()
Called after the sequential startup tasks, use this for faster startup.
static final AtomicBoolean serverStarted
static DateTime currentDateTime()
static final Stopwatch UPTIME
static RuneHive getInstance()
static final RuneHive INSTANCE
LoginExecutorService getLoginExecutorService()
static DateTimeZone timeZone()
static void main(String[] args)
void onStart()
Called when the game engine is running and all the startup tasks have finished loading.
static final StartupService startupService
static final NetworkService networkService
final LoginExecutorService loginExecutorService
static final Logger logger
static final GameEngine gameService
Handles contribution towards the well of goodwill.
static boolean isActive()
Handles the blood chest event.
static void loadChannels()
Loads all clans and puts them into the map.
static void declare()
Declares all the item actions.
static void load()
Handles loading the mystery boxes.
static void declare()
Declares all the preloads into the list on startup.
static void load()
Loads all the skilling data.
static void loadAllListings()
static void loadItemHistory()
static void loadRecentItemHistory()
static void declare()
Declares the TriviaBot data.
Represents a file system of Caches and Archives.
static final int CONFIG_ARCHIVE
Represents the id of the configurations archive.
static FileSystem create(String directory)
Constructs and initializes a FileSystem from the specified directory.
A class which parses animation definitions.
static void unpackConfig(final Archive archive)
A class which parses RegionDefinitions.
A class which parses object definitions.
A class which parses static object definitions, which include tool.mapviewer tiles and landscapes.
This class handles how plugins are loaded/unloaded and accessed.
static void load(final String pkg)
The bootstrap that will prepare the game and net.
An ExecutorService that waits for all its events to finish executing.
static WebsitePlayerCountService getInstance()
An randomevent which handles updating clan chats.
An randomevent which starts double experience for 1 hour.
Sends game messages to all the online players.
Represents the game world.
static void schedule(Task task)
Submits a new event.
static void save()
Saves all the game data.
Contains the npc definitions.
static GsonParser createParser()
static void load()
Loads all the profiles.
Represents all of an in-game Item's attributes.
static GsonParser createParser()
The class that loads all packet listeners.
The class that loads all global object on startup.
Loads npc drops on startup.
Parses through the npc spawn file and creates Npcs on startup.
Parses through the npc spawn file and creates Npcs on startup.
Handles parsing the removed object.
Parses through the packet sizes file and associates their opcode with a size.
Parses throug the shops files and creates in-game shop object for the game on startup.
The OS Royale world types.