public void ServerLoop() { // Aceita a conexão do servidor de login. Login.AcceptClient(); // Recebe os dados. Login.ReceiveData(); // Verifica o estado da conexão enviando um ping. Login.SendPing(); // Aceita novas conexões. Server.AcceptClient(); // Processa os dados das conexões. Server.ReceiveData(); // Verifica o estado da conexão enviando um ping. Server.SendPing(); // Verifica o tempo limite de cada conexão. Server.CheckConnectionTimeOut(); ProcessMaps(); // Verifica por exclusões. DeleteRequest.CheckForDeletedCharacters(); IpFiltering.RemoveExpiredIpAddress(); IpBlockList.RemoveExpiredIpAddress(); CountUps(); }
public void InitializeScript() { using (var lua = new Lua()) { lua.RegisterFunction("AddIpAddress", null, typeof(IpBlockList).GetMethod("AddIpAddress")); IpBlockList.Clear(); lua.DoFile("BlockList.lua"); } }
public void InitServer() { Configuration.Open(); Configuration.GetGeneralConfig(); Configuration.GetDatabaseConfig(); Configuration.Close(); Configuration.ShowConfigInLog(); Configuration.CheckDatabaseConnection(); if (GeoIpBlock.Enabled) { WriteLog(LogType.System, "Loading GeoIp data country", LogColor.Black); GeoIpBlock.LoadData(); } IpBlockList.Initialize(); IpFiltering = new IpFiltering() { CheckAccessTime = Configuration.CheckAccessTime, IpLifetime = Configuration.IpLifetime, IpMaxAccessCount = Configuration.IpMaxAccessCount, IpMaxAttempt = Configuration.IpMaxAttempt }; WriteLog(LogType.System, "Initializing scripts", LogColor.Blue); var lua = new LuaScript(); lua.InitializeScript(); OpCode.Initialize(); TcpTransfer = new TcpTransfer() { GameIpAddress = Configuration.GameServerIp, GamePort = Configuration.GameServerPort }; TcpTransfer.InitClient(); WriteLog(LogType.System, "Trying to connect to Game Server", LogColor.Black); Server = new TcpServer() { IpFiltering = IpFiltering, Port = Configuration.Port }; Server.InitServer(); // Delegate SendGameServerPacket = SendGameServerData; WriteLog(LogType.System, "Login Server started", LogColor.Green); }
public void ReloadBlockList() { using (var lua = new Lua()) { IpBlockList.Clear(); lua.LoadCLRPackage(); lua.RegisterFunction("AddIpAddress", null, typeof(IpBlockList).GetMethod("AddIpAddress")); lua.DoFile("BlockList.lua"); } }
public void StopServer() { Server.Stop(); Login.Stop(); DataManagement.ClearDatabases(); Authentication.Clear(); IpFiltering.Clear(); IpBlockList.Clear(); CloseLog(); }
public void ServerLoop() { TcpTransfer.Connect(); TcpTransfer.SendPing(); Server.AcceptClient(); Server.ProcessClients(); IpBlockList.RemoveExpiredIpAddress(); IpFiltering.RemoveExpiredIpAddress(); CountUps(); }
public void StopServer() { Server.Stop(); TcpTransfer.Disconnect(); TcpTransfer = null; IpFiltering.Clear(); Checksum.Clear(); GeoIpBlock.Clear(); IpBlockList.Clear(); CloseLog(); }
public void InitializeScript() { using (var lua = new Lua()) { lua.LoadCLRPackage(); lua.RegisterFunction("AddChecksum", null, typeof(Checksum).GetMethod("Add")); lua.RegisterFunction("AddCountry", null, typeof(GeoIpBlock).GetMethod("AddCountry")); lua.RegisterFunction("AddIpAddress", null, typeof(IpBlockList).GetMethod("AddIpAddress")); Checksum.Clear(); lua.DoFile("Checksum.lua"); GeoIpBlock.Clear(); lua.DoFile("GeoIP.lua"); IpBlockList.Clear(); lua.DoFile("BlockList.lua"); } }
public void InitServer() { Configuration.Open(); Configuration.GetGeneralConfig(); Configuration.GetDatabaseConfig(); Configuration.Close(); Configuration.ShowConfigInLog(); Configuration.CheckDatabaseConnection(); // Cria a instância e registra o delegate. DeleteRequest = new CharacterDeleteRequest(); DeleteRequest.DeleteCharacter += DeleteCharacter; IpBlockList.Initialize(); IpFiltering = new IpFiltering() { CheckAccessTime = Configuration.CheckAccessTime, IpLifetime = Configuration.IpLifetime, IpMaxAccessCount = Configuration.IpMaxAccessCount, IpMaxAttempt = Configuration.IpMaxAttempt }; WriteLog(LogType.System, "Initializing scripts", LogColor.Blue); var lua = new LuaScript(); lua.InitializeScript(); WriteLog(LogType.System, "Initializing prohibited names", LogColor.Blue); lua.LoadProhibitedNames(); WriteLog(LogType.System, "Initializing character config", LogColor.Blue); lua.LoadCharacterConfiguration(); Configuration.ShowCharacterConfigInLog(); WriteLog(LogType.System, "Initializing game config", LogColor.Blue); lua.LoadGameConfiguration(); WriteLog(LogType.System, "Initializing classes", LogColor.Blue); lua.LoadClasses(); DataManagement.InitializeData(); WriteLog(LogType.System, "Initializing map instances", LogColor.Blue); InitializeMaps(); OpCode.Initialize(); Login = new TcpLogin() { Port = Configuration.LoginPort }; Login.InitServer(); WriteLog(LogType.System, "Waiting for Login Server conenction", LogColor.Black); Server = new TcpServer() { Port = Configuration.Port, IpFiltering = IpFiltering }; Server.InitServer(); WriteLog(LogType.System, "Game Server started", LogColor.Green); Initialized = true; }