Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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.");
        }