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 ReloadGeoBlockList() { using (var lua = new Lua()) { GeoIpBlock.Clear(); lua.LoadCLRPackage(); lua.RegisterFunction("AddCountry", null, typeof(GeoIpBlock).GetMethod("AddCountry")); lua.DoFile("GeoIP.lua"); } }
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"); } }