Example #1
0
        public Maincs()
        {
            //Set default settings
            #region Default Settings
            int LSPort  = 15779;
            int IPCPort = 15779;
            string LSIP = "";
            string IPCIP = "0.0.0.0";
            Systems.DownloadServer = "";
            #endregion

            //Initialize main
            InitializeComponent();
            //Set ini
            LoginServer.Systems.Ini ini = null;
            //Load settings
            #region Load Settings
            try
            {
                if (File.Exists(Environment.CurrentDirectory + @"\Settings\Settings.ini"))
                {
                    ini = new LoginServer.Systems.Ini(Environment.CurrentDirectory + @"\Settings\Settings.ini");
                    LSPort = Convert.ToInt32(ini.GetValue("Server", "port", 15779));
                    LSIP = ini.GetValue("Server", "ip", "").ToString();
                    IPCPort = Convert.ToInt32(ini.GetValue("IPC", "port", 15779));
                    IPCIP = ini.GetValue("IPC", "ip", "").ToString();
                    Systems.DownloadServer = ini.GetValue("Patch_Server", "ip", "");
                    Systems.DownloadPort = Convert.ToInt16(ini.GetValue("Patch_Server", "port", ""));
                    ini = null;
                    Activity("[INFO] Loaded your ip settings successfully");
                }
                else
                {
                    Activity("Could not find your settings.ini using defaults.");
                }
            }
            catch (Exception)
            {
                return;
            }
            #endregion

            #region get local ip

            Network.multihomed = false;
            if (Network.LocalIP == "")
            {
                IPAddress[] lIpList = Dns.GetHostAddresses(Dns.GetHostName());
                foreach (IPAddress aIP in lIpList)
                {
                    if (aIP.AddressFamily.Equals(AddressFamily.InterNetwork))
                    {
                        if (!aIP.Equals(IPAddress.Loopback))
                        {
                            if (Network.LocalIP != "")
                            {
                                Network.multihomed = true;
                            }
                            else
                            {
                                Network.LocalIP = aIP.ToString();
                            }
                        }
                    }
                }
            }
            #endregion

            Systems.Server net = new Systems.Server();

            net.OnConnect += new Systems.Server.dConnect(_OnClientConnect);
            net.OnError += new Systems.Server.dError(_ServerError);

            Systems.Client.OnReceiveData += new Systems.Client.dReceive(_OnReceiveData);
            Systems.Client.OnDisconnect += new Systems.Client.dDisconnect(_OnClientDisconnect);
            //Content.Patches.LoadPatches(this);
            Systems.Load_NewsList(this, newsform);

            try
            {
                net.Start(LSIP, LSPort);
            }
            catch (Exception ex)
            {
                Activity("Starting Server error "+ ex +"");
            }

            #region Load GameServers
            Systems.LoadServers("GameServers.ini", 15780, this, servers);
            #endregion

            #region IPC Listener
            IPCServer = new Servers.IPCServer();
            IPCServer.OnReceive += new Servers.IPCServer.dOnReceive(OnIPC);
            try
            {
                IPCServer.Start(IPCIP, IPCPort);
                foreach (KeyValuePair<int, Systems.SRX_Serverinfo> GS in Systems.GSList)
                {
                    byte[] rqPacket = IPCServer.PacketRequestServerInfo(IPCPort);
                    Servers.IPCenCode(ref rqPacket, GS.Value.code);
                    IPCServer.Send(GS.Value.ip, GS.Value.ipcport, rqPacket);
                    rqPacket = null;
                }
            }
            catch (Exception ex)
            {
                Activity("IPC start error " + ex + "");
            }
            #endregion
            Activity("[NET] Listening for gameserver connection...");
            this.ShowDialog();
            while (true)
            {
                Thread.Sleep(100);
                foreach (KeyValuePair<int, Systems.SRX_Serverinfo> SSI in Systems.GSList)
                {
                    if (SSI.Value.status != 0 && SSI.Value.lastPing.AddMinutes(5) < DateTime.Now) // server unavailable
                    {
                        SSI.Value.status = 0;
                        Activity("[ERROR] Server "+ SSI.Value.name +" has timed out");
                    }
                }
            }
        }
Example #2
0
        static void Main(string[] args)
        {
            Program pro = new Program();
            //Definitions.Bootlogo._Load();
            Systems.Ini ini = null;
            LogConsole.Init();

            #region Default Settings
            int LSPort = 5999;
            int IPCPort = 5999;
            string LSIP = "127.0.0.1";
            string IPCIP = "127.0.0.1";
            #endregion

            #region Load Settings
            try
            {
                if (File.Exists(Environment.CurrentDirectory + @"\Settings\Settings.ini"))
                {
                    ini = new Systems.Ini(Environment.CurrentDirectory + @"\Settings\Settings.ini");
                    LSPort = Convert.ToInt32(ini.GetValue("SERVER", "port", 5999));
                    LSIP = ini.GetValue("SERVER", "ip", "127.0.0.1").ToString();
                    IPCPort = Convert.ToInt32(ini.GetValue("IPC", "port", 5999));
                    IPCIP = ini.GetValue("IPC", "ip", "127.0.0.1").ToString();
                    debug = ini.GetValue("CONSOLE", "debug", false);
                    MYSQL_USER = ini.GetValue("MYSQL", "user", "root");
                    MYSQL_PASS = ini.GetValue("MYSQL", "pass", "123456");
                    MYSQL_DATA = ini.GetValue("MYSQL", "data", "godswar");
                    MYSQL_IP = ini.GetValue("MYSQL", "ip", "127.0.0.1");
                    MYSQL_PORT = ini.GetValue("MYSQL", "port", 3306);
                    ini = null;
                    LogConsole.Show("Has loaded your ip settings successfully");
                }
                else
                {
                    LogConsole.Show("Settings.ini could not be found, using default setting");
                }
            }
            catch (Exception)
            {
                return;
            }
            #endregion

            _SQL.Init(MYSQL_IP, MYSQL_USER, MYSQL_PASS, MYSQL_DATA, MYSQL_PORT);

            Systems.Server net = new Systems.Server();

            net.OnConnect += new Systems.Server.dConnect(pro._OnClientConnect);
            net.OnError += new Systems.Server.dError(pro._ServerError);

            Systems.Client.OnReceiveData += new Systems.Client.dReceive(pro._OnReceiveData);
            Systems.Client.OnDisconnect += new Systems.Client.dDisconnect(pro._OnClientDisconnect);

            try
            {
                net.Start(LSIP, LSPort);
            }
            catch (Exception ex)
            {
                LogConsole.Show("Starting Server error: {0}", ex);
            }

            #region Load GameServers
            //Systems.LoadServers("GameServers.ini", 6001);
            #endregion

            #region IPC Listener
            /*IPCServer = new Network.Servers.IPCServer();
            IPCServer.OnReceive += new Network.Servers.IPCServer.dOnReceive(pro.OnIPC);
            try
            {
                IPCServer.Start(IPCIP, IPCPort);
                foreach (KeyValuePair<int, Systems.SRX_Serverinfo> GS in Systems.GSList)
                {
                    byte[] rqPacket = IPCServer.PacketRequestServerInfo(IPCPort);
                    Network.Servers.IPCenCode(ref rqPacket, GS.Value.code);
                    IPCServer.Send(GS.Value.ip, GS.Value.ipcport, rqPacket);
                    rqPacket = null;
                }
            }
            catch (Exception ex)
            {
                LogConsole.Show("Error start ICP: {0}", ex);
            }*/
            #endregion

            //LogConsole.Show("Ready for gameserver connection...");
            #region Loop Update GameServers
            while (true)
            {
                Thread.Sleep(100);
                /*foreach (KeyValuePair<int, Systems.SRX_Serverinfo> SSI in Systems.GSList)
                {
                    if (SSI.Value.status != 0 && SSI.Value.lastPing.AddMinutes(5) < DateTime.Now) // server unavailable
                    {
                        SSI.Value.status = 0;
                        LogConsole.Show("Server: {0}:({1}) has timed out, status changed to check", SSI.Value.id, SSI.Value.name);
                    }
                }*/
            }
            #endregion
        }
Example #3
0
        static void Main(string[] args)
        {
            Program pro = new Program();

            Bootlogo._Load();
            Systems.Ini ini = null;
            LogConsole.Init();
            new EncDec().Load_Hash1();
            new EncDec().Load_Hash2();

            #region Default Settings
            int    LSPort  = 5999;
            int    IPCPort = 5999;
            string LSIP    = "127.0.0.1";
            string IPCIP   = "127.0.0.1";
            #endregion

            #region Load Settings
            try
            {
                if (File.Exists(Environment.CurrentDirectory + @"\Settings\Settings.ini"))
                {
                    ini        = new Systems.Ini(Environment.CurrentDirectory + @"\Settings\Settings.ini");
                    LSPort     = Convert.ToInt32(ini.GetValue("SERVER", "port", 5999));
                    LSIP       = ini.GetValue("SERVER", "ip", "127.0.0.1");
                    IPCPort    = Convert.ToInt32(ini.GetValue("IPC", "port", 5999));
                    IPCIP      = ini.GetValue("IPC", "ip", "127.0.0.1");
                    debug      = ini.GetValue("CONSOLE", "debug", false);
                    MYSQL_USER = ini.GetValue("MYSQL", "user", "root");
                    MYSQL_PASS = ini.GetValue("MYSQL", "pass", "123456");
                    MYSQL_DATA = ini.GetValue("MYSQL", "data", "godswar");
                    MYSQL_IP   = ini.GetValue("MYSQL", "ip", "127.0.0.1");
                    MYSQL_PORT = ini.GetValue("MYSQL", "port", 3306);
                    ini        = null;
                    LogConsole.Show("MYSQL Connection Settings... LOADED!");
                }
                else
                {
                    LogConsole.Show("Settings.ini could not be found, doing fallback to default settings!");
                }
            }
            catch (Exception)
            {
                return;
            }
            #endregion

            _SQL.Init(MYSQL_IP, MYSQL_USER, MYSQL_PASS, MYSQL_DATA, MYSQL_PORT);

            Systems.Server net = new Systems.Server();

            net.OnConnect += pro._OnClientConnect;
            net.OnError   += pro._ServerError;

            Systems.Client.OnReceiveData += pro._OnReceiveData;
            Systems.Client.OnDisconnect  += pro._OnClientDisconnect;

            try
            {
                net.Start(LSIP, LSPort);
            }
            catch (Exception ex)
            {
                LogConsole.Show("Error Initializing Server: {0}", ex);
            }

            #region Load GameServers
            //Systems.LoadServers("GameServers.ini", 6001);
            #endregion

            #region IPC Listener

            /*IPCServer = new Network.Servers.IPCServer();
             * IPCServer.OnReceive += new Network.Servers.IPCServer.dOnReceive(pro.OnIPC);
             * try
             * {
             *  IPCServer.Start(IPCIP, IPCPort);
             *  foreach (KeyValuePair<int, Systems.SRX_Serverinfo> GS in Systems.GSList)
             *  {
             *      byte[] rqPacket = IPCServer.PacketRequestServerInfo(IPCPort);
             *      Network.Servers.IPCenCode(ref rqPacket, GS.Value.code);
             *      IPCServer.Send(GS.Value.ip, GS.Value.ipcport, rqPacket);
             *      rqPacket = null;
             *  }
             * }
             * catch (Exception ex)
             * {
             *  LogConsole.Show("Error start ICP: {0}", ex);
             * }*/
            #endregion

            //LogConsole.Show("Ready for gameserver connection...");
            #region Loop Update GameServers
            while (true)
            {
                Thread.Sleep(100);
            }
            #endregion
        }
Example #4
0
        //Run
        #region run
        public Maincs()
        {
            //Set default settings
            #region Default Settings
            int    LSPort  = 15779;
            int    IPCPort = 15779;
            string LSIP    = "";
            string IPCIP   = "0.0.0.0";
            Systems.DownloadServer = "";
            #endregion

            //Initialize main
            InitializeComponent();
            //Set ini
            LoginServer.Systems.Ini ini = null;
            //Load settings
            #region Load Settings
            try
            {
                if (File.Exists(Environment.CurrentDirectory + @"\Settings\Settings.ini"))
                {
                    ini     = new LoginServer.Systems.Ini(Environment.CurrentDirectory + @"\Settings\Settings.ini");
                    LSPort  = Convert.ToInt32(ini.GetValue("Server", "port", 15779));
                    LSIP    = ini.GetValue("Server", "ip", "").ToString();
                    IPCPort = Convert.ToInt32(ini.GetValue("IPC", "port", 15779));
                    IPCIP   = ini.GetValue("IPC", "ip", "").ToString();
                    Systems.DownloadServer = ini.GetValue("Patch_Server", "ip", "");
                    Systems.DownloadPort   = Convert.ToInt16(ini.GetValue("Patch_Server", "port", ""));
                    ini = null;
                    Activity("[INFO] Loaded your ip settings successfully");
                }
                else
                {
                    Activity("Could not find your settings.ini using defaults.");
                }
            }
            catch (Exception)
            {
                return;
            }
            #endregion

            #region get local ip

            Network.multihomed = false;
            if (Network.LocalIP == "")
            {
                IPAddress[] lIpList = Dns.GetHostAddresses(Dns.GetHostName());
                foreach (IPAddress aIP in lIpList)
                {
                    if (aIP.AddressFamily.Equals(AddressFamily.InterNetwork))
                    {
                        if (!aIP.Equals(IPAddress.Loopback))
                        {
                            if (Network.LocalIP != "")
                            {
                                Network.multihomed = true;
                            }
                            else
                            {
                                Network.LocalIP = aIP.ToString();
                            }
                        }
                    }
                }
            }
            #endregion

            Systems.Server net = new Systems.Server();

            net.OnConnect += new Systems.Server.dConnect(_OnClientConnect);
            net.OnError   += new Systems.Server.dError(_ServerError);

            Systems.Client.OnReceiveData += new Systems.Client.dReceive(_OnReceiveData);
            Systems.Client.OnDisconnect  += new Systems.Client.dDisconnect(_OnClientDisconnect);
            //Content.Patches.LoadPatches(this);
            Systems.Load_NewsList(this, newsform);

            try
            {
                net.Start(LSIP, LSPort);
            }
            catch (Exception ex)
            {
                Activity("Starting Server error " + ex + "");
            }

            #region Load GameServers
            Systems.LoadServers("GameServers.ini", 15780, this, servers);
            #endregion

            #region IPC Listener
            IPCServer            = new Servers.IPCServer();
            IPCServer.OnReceive += new Servers.IPCServer.dOnReceive(OnIPC);
            try
            {
                IPCServer.Start(IPCIP, IPCPort);
                foreach (KeyValuePair <int, Systems.SRX_Serverinfo> GS in Systems.GSList)
                {
                    byte[] rqPacket = IPCServer.PacketRequestServerInfo(IPCPort);
                    Servers.IPCenCode(ref rqPacket, GS.Value.code);
                    IPCServer.Send(GS.Value.ip, GS.Value.ipcport, rqPacket);
                    rqPacket = null;
                }
            }
            catch (Exception ex)
            {
                Activity("IPC start error " + ex + "");
            }
            #endregion
            Activity("[NET] Listening for gameserver connection...");
            this.ShowDialog();
            while (true)
            {
                Thread.Sleep(100);
                foreach (KeyValuePair <int, Systems.SRX_Serverinfo> SSI in Systems.GSList)
                {
                    if (SSI.Value.status != 0 && SSI.Value.lastPing.AddMinutes(5) < DateTime.Now) // server unavailable
                    {
                        SSI.Value.status = 0;
                        Activity("[ERROR] Server " + SSI.Value.name + " has timed out");
                    }
                }
            }
        }
Example #5
0
        public static void Main(string[] args)
        {
            Program pro = new Program();
            Definitions.Bootlogo._Load();
            LoginServer.Systems.Ini ini = null;
            #region Default Settings
            int LSPort = 15779;
            int IPCPort = 15790;
            string LSIP = "127.0.0.1";
            string IPCIP = "127.0.0.1";
            Systems.DownloadServer = "127.0.0.1";
            #endregion

            #region Load Settings
            try
            {
                if (File.Exists(Environment.CurrentDirectory + @"\Settings\Settings.ini"))
                {
                    ini = new LoginServer.Systems.Ini(Environment.CurrentDirectory + @"\Settings\Settings.ini");
                    LSPort = Convert.ToInt32(ini.GetValue("Server", "port", 15779));
                    LSIP = ini.GetValue("Server", "ip", "127.0.0.1").ToString();
                    IPCPort = Convert.ToInt32(ini.GetValue("IPC", "port", 15790));
                    IPCIP = ini.GetValue("IPC", "ip", "127.0.0.1").ToString();
                    Systems.DownloadServer = ini.GetValue("Patch_Server", "ip", "127.0.0.1");
                    Systems.DownloadPort = Convert.ToInt16(ini.GetValue("Patch_Server", "port", ""));
                    ini = null;
                    Console.WriteLine("{0}Has loaded your ip settings successfully", Product.Prefix);
                }
                else
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.BackgroundColor = ConsoleColor.Yellow;
                    Console.WriteLine("{0}Settings.ini could not be found, using default setting", Product.Prefix);
                }
            }
            catch (Exception)
            {
                return;
            }
            #endregion

            #region get local ip

            if (args.Length > 0)
            {
                if (args[0] == "extip")
                {
                    HttpWebRequest HWR = (HttpWebRequest)WebRequest.Create("http://checkip.dyndns.org/");
                    HWR.Method = "GET";
                    WebResponse MWR = HWR.GetResponse();
                    StreamReader Hsr = new StreamReader(MWR.GetResponseStream(), System.Text.Encoding.UTF8);
                    string theip = Hsr.ReadToEnd();
                }
            }

            Network.multihomed = false;
            if (Network.LocalIP == "")
            {
                IPAddress[] lIpList = Dns.GetHostAddresses(Dns.GetHostName());
                foreach (IPAddress aIP in lIpList)
                {
                    if (aIP.AddressFamily.Equals(AddressFamily.InterNetwork))
                    {
                        if (!aIP.Equals(IPAddress.Loopback))
                        {
                            if (Network.LocalIP != "")
                            {
                                Network.multihomed = true;
                            }
                            else
                            {
                                Network.LocalIP = aIP.ToString();
                            }
                        }
                    }
                }
            }
            #endregion

            Systems.Server net = new Systems.Server();

            net.OnConnect += new Systems.Server.dConnect(pro._OnClientConnect);
            net.OnError += new Systems.Server.dError(pro._ServerError);

            Systems.Client.OnReceiveData += new Systems.Client.dReceive(pro._OnReceiveData);
            Systems.Client.OnDisconnect += new Systems.Client.dDisconnect(pro._OnClientDisconnect);
            //Content.Patches.LoadPatches();
            Systems.Load_NewsList();

            try
            {
                net.Start(LSIP, LSPort);
            }
            catch (Exception ex)
            {
                Console.WriteLine("{1}Starting Server error: {0}", ex, Product.Prefix);
            }

            #region Load GameServers
            Systems.LoadServers("GameServers.ini", 15780);
            #endregion

            #region IPC Listener
            IPCServer = new Servers.IPCServer();
            IPCServer.OnReceive += new Servers.IPCServer.dOnReceive(pro.OnIPC);
            try
            {
                IPCServer.Start(IPCIP, IPCPort);
                foreach (KeyValuePair<int, Systems.SRX_Serverinfo> GS in Systems.GSList)
                {
                    byte[] rqPacket = IPCServer.PacketRequestServerInfo(IPCPort);
                    Servers.IPCenCode(ref rqPacket, GS.Value.code);
                    IPCServer.Send(GS.Value.ip, GS.Value.ipcport, rqPacket);
                    rqPacket = null;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error start ICP: {0}", ex);
            }
            #endregion
            Console.WriteLine("{0}Ready for gameserver connection...", Global.Product.Prefix);
            while (true)
            {
                Thread.Sleep(100);
                foreach (KeyValuePair<int, Systems.SRX_Serverinfo> SSI in Systems.GSList)
                {
                    if (SSI.Value.status != 0 && SSI.Value.lastPing.AddMinutes(5) < DateTime.Now) // server unavailable
                    {
                        SSI.Value.status = 0;
                        Console.WriteLine("{2}Server: ({1}) has timed out, status changed to check", SSI.Value.id, SSI.Value.name, Product.Prefix);
                    }
                }
            }
        }
Example #6
0
        public static void Main(string[] args)
        {
            Program pro = new Program();

            Definitions.Bootlogo._Load();
            LoginServer.Systems.Ini ini = null;
            #region Default Settings
            int    LSPort  = 15779;
            int    IPCPort = 15790;
            string LSIP    = "127.0.0.1";
            string IPCIP   = "127.0.0.1";
            Systems.DownloadServer = "127.0.0.1";
            #endregion

            #region Load Settings
            try
            {
                if (File.Exists(Environment.CurrentDirectory + @"\Settings\Settings.ini"))
                {
                    ini     = new LoginServer.Systems.Ini(Environment.CurrentDirectory + @"\Settings\Settings.ini");
                    LSPort  = Convert.ToInt32(ini.GetValue("Server", "port", 15779));
                    LSIP    = ini.GetValue("Server", "ip", "127.0.0.1").ToString();
                    IPCPort = Convert.ToInt32(ini.GetValue("IPC", "port", 15790));
                    IPCIP   = ini.GetValue("IPC", "ip", "127.0.0.1").ToString();
                    Systems.DownloadServer = ini.GetValue("Patch_Server", "ip", "127.0.0.1");
                    Systems.DownloadPort   = Convert.ToInt16(ini.GetValue("Patch_Server", "port", ""));
                    ini = null;
                    Console.WriteLine("{0}Has loaded your ip settings successfully", Product.Prefix);
                }
                else
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.BackgroundColor = ConsoleColor.Yellow;
                    Console.WriteLine("{0}Settings.ini could not be found, using default setting", Product.Prefix);
                }
            }
            catch (Exception)
            {
                return;
            }
            #endregion

            #region get local ip

            if (args.Length > 0)
            {
                if (args[0] == "extip")
                {
                    HttpWebRequest HWR = (HttpWebRequest)WebRequest.Create("http://checkip.dyndns.org/");
                    HWR.Method = "GET";
                    WebResponse  MWR   = HWR.GetResponse();
                    StreamReader Hsr   = new StreamReader(MWR.GetResponseStream(), System.Text.Encoding.UTF8);
                    string       theip = Hsr.ReadToEnd();
                }
            }

            Network.multihomed = false;
            if (Network.LocalIP == "")
            {
                IPAddress[] lIpList = Dns.GetHostAddresses(Dns.GetHostName());
                foreach (IPAddress aIP in lIpList)
                {
                    if (aIP.AddressFamily.Equals(AddressFamily.InterNetwork))
                    {
                        if (!aIP.Equals(IPAddress.Loopback))
                        {
                            if (Network.LocalIP != "")
                            {
                                Network.multihomed = true;
                            }
                            else
                            {
                                Network.LocalIP = aIP.ToString();
                            }
                        }
                    }
                }
            }
            #endregion

            Systems.Server net = new Systems.Server();

            net.OnConnect += new Systems.Server.dConnect(pro._OnClientConnect);
            net.OnError   += new Systems.Server.dError(pro._ServerError);

            Systems.Client.OnReceiveData += new Systems.Client.dReceive(pro._OnReceiveData);
            Systems.Client.OnDisconnect  += new Systems.Client.dDisconnect(pro._OnClientDisconnect);
            //Content.Patches.LoadPatches();
            Systems.Load_NewsList();

            try
            {
                net.Start(LSIP, LSPort);
            }
            catch (Exception ex)
            {
                Console.WriteLine("{1}Starting Server error: {0}", ex, Product.Prefix);
            }

            #region Load GameServers
            Systems.LoadServers("GameServers.ini", 15780);
            #endregion

            #region IPC Listener
            IPCServer            = new Servers.IPCServer();
            IPCServer.OnReceive += new Servers.IPCServer.dOnReceive(pro.OnIPC);
            try
            {
                IPCServer.Start(IPCIP, IPCPort);
                foreach (KeyValuePair <int, Systems.SRX_Serverinfo> GS in Systems.GSList)
                {
                    byte[] rqPacket = IPCServer.PacketRequestServerInfo(IPCPort);
                    Servers.IPCenCode(ref rqPacket, GS.Value.code);
                    IPCServer.Send(GS.Value.ip, GS.Value.ipcport, rqPacket);
                    rqPacket = null;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error start ICP: {0}", ex);
            }
            #endregion
            Console.WriteLine("{0}Ready for gameserver connection...", Global.Product.Prefix);
            while (true)
            {
                Thread.Sleep(100);
                foreach (KeyValuePair <int, Systems.SRX_Serverinfo> SSI in Systems.GSList)
                {
                    if (SSI.Value.status != 0 && SSI.Value.lastPing.AddMinutes(5) < DateTime.Now) // server unavailable
                    {
                        SSI.Value.status = 0;
                        Console.WriteLine("{2}Server: ({1}) has timed out, status changed to check", SSI.Value.id, SSI.Value.name, Product.Prefix);
                    }
                }
            }
        }