public void Start() { var build = $"League Sandbox Build {ServerContext.BuildDateString}"; Console.Title = build; _logger.Debug(build); _logger.Debug($"Yorick {_serverVersion}"); _logger.Info($"Game started on port: {_serverPort}"); var _packetServer = new PacketServer(); _packetServer.InitServer(_serverPort, _blowfishKey, _game, _game.RequestHandler, _game.ResponseHandler); _game.Initialize(_config, _packetServer); }
public void Initialize(ushort port, string blowfishKey, Config config) { _logger.Info("Loading Config."); Config = config; _gameScriptTimers = new List <GameScriptTimer>(); ChatCommandManager.LoadCommands(); ObjectManager = new ObjectManager(this); Map = new Map(this); ApiFunctionManager.SetGame(this); ApiEventManager.SetGame(this); IsRunning = false; _logger.Info("Loading C# Scripts"); LoadScripts(); Map.Init(); _logger.Info("Add players"); foreach (var p in Config.Players) { ((PlayerManager)PlayerManager).AddPlayer(p); } _pauseTimer = new Timer { AutoReset = true, Enabled = false, Interval = 1000 }; _pauseTimer.Elapsed += (sender, args) => PauseTimeLeft--; PauseTimeLeft = 30 * 60; // 30 minutes _packetServer = new PacketServer(); _packetServer.InitServer(port, blowfishKey, this); PacketNotifier = new PacketNotifier(_packetServer.PacketHandlerManager, Map.NavGrid); // TODO: make lib to only get API types and not byte[], start from removing this line PacketReader = new PacketReader(); _logger.Info("Game is ready."); }