Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            #region Load Settings
            _dir = Environment.CurrentDirectory;
            LogConsole._Load();

            try
            {
                if (File.Exists(_dir + _file_config))
                {
                    ini = new Systems.Ini(_dir + _file_config);

                    s_timer   = ini.GetValue("Timer", "minutes", 10);
                    max_count = ini.GetValue("Timer", "max", 100);
                    delay     = ini.GetValue("Timer", "delay", 10000);
                    infi      = ini.GetValue("Timer", "infi", false);

                    _db_user = ini.GetValue("MYSQL", "user", "root");
                    _db_pass = ini.GetValue("MYSQL", "pass", "123456");
                    _db_ipsv = ini.GetValue("MYSQL", "ipsv", "127.0.0.1");
                    _db_name = ini.GetValue("MYSQL", "data", "rakion");
                    _db_port = ini.GetValue("MYSQL", "port", 3306);

                    debug = ini.GetValue("CONSOLE", "debug", false);
                    ini   = null;
                    LogConsole.Show("Has loaded your settings successfully");
                }
                else
                {
                    LogConsole.Show("Settings.ini could not be found, using default setting");
                }
            }
            catch (Exception)
            {
                return;
            }
            #endregion

            _SQL.Init(_db_ipsv, _db_user, _db_pass, _db_name, _db_port);
            TimerX _t = new TimerX(s_timer, max_count, infi, delay);
        }
Ejemplo n.º 2
0
 public static int LoadServers(string serverFile, UInt16 defaultPort)
 {
     try
     {
         if (File.Exists(Environment.CurrentDirectory + @"\Settings\" + serverFile))
         {
             Systems.Ini ini   = new Systems.Ini(Environment.CurrentDirectory + @"\Settings\" + serverFile);
             string[]    sList = null;
             sList = ini.GetEntryNames("SERVERS");
             if (sList != null && sList.Length > 0)
             {
                 foreach (string sectname in sList)
                 {
                     string sName = ini.GetValue("SERVERS", sectname, "");
                     Systems.SRX_Serverinfo SServerInfo = new Systems.SRX_Serverinfo();
                     SServerInfo.id      = Convert.ToUInt16(ini.GetValue(sName, "id", 0));
                     SServerInfo.ip      = ini.GetValue(sName, "ip", "192.168.1.5");
                     SServerInfo.wan     = ini.GetValue(sName, "wan", "192.168.1.5");
                     SServerInfo.name    = ini.GetValue(sName, "name", sName);
                     SServerInfo.port    = Convert.ToUInt16(ini.GetValue(sName, "port", defaultPort));
                     SServerInfo.ipcport = Convert.ToUInt16(ini.GetValue(sName, "ipcport", "6001"));
                     SServerInfo.code    = ini.GetValue(sName, "code", "");
                     SServerInfo.lan_wan = ini.GetValue(sName, "lan_wan", "0") == "1" ? true : false;
                     SServerInfo.Version = Convert.ToInt32(ini.GetValue(sName, "version", 0));
                     if (SServerInfo.ip == "" || SServerInfo.port == 0 || SServerInfo.id == 0 || SServerInfo.ipcport == 0 || GSList.ContainsKey(SServerInfo.id))
                     {
                         LogDebug.Show("IPC: Error on Server " + sName + " in " + serverFile + ": field missing or id already in use!");
                         SServerInfo = null;
                     }
                     else
                     {
                         GSList.Add(SServerInfo.id, SServerInfo);
                     }
                 }
             }
             if (GSList.Count() > 0)
             {
                 string servers = "Server";
                 if (GSList.Count > 1)
                 {
                     servers = "Servers";
                 }
                 LogConsole.Show("Loaded " + GSList.Count() + " " + servers + " from server settings");
             }
             else
             {
                 Systems.SRX_Serverinfo GServer = new Systems.SRX_Serverinfo();
                 GServer.id = 1;
                 GServer.ip = "192.168.1.5";
                 if (Global.Network.multihomed)
                 {
                     //Multihomed
                 }
                 else
                 {
                     GServer.extip = Global.Network.LocalIP;
                 }
                 GServer.name    = "[SERVER] Default";
                 GServer.port    = defaultPort;
                 GServer.ipcport = 6001;
                 GServer.code    = "xdxdxdxdxdxd";
                 GSList.Add(GServer.id, GServer);
             }
             sList = null;
             ini   = null;
             return(GSList.Count());
         }
         else
         {
             Systems.SRX_Serverinfo GServer = new Systems.SRX_Serverinfo();
             GServer.id = 1;
             GServer.ip = "192.168.1.5";
             if (Global.Network.multihomed)
             {
                 //Multihomed
             }
             else
             {
                 //No servers
                 GServer.extip = Global.Network.LocalIP;
             }
             GServer.name    = "[SERVER " + Global.Versions.appVersion + "]";
             GServer.port    = defaultPort;
             GServer.ipcport = 6001;
             GServer.code    = "";
             GSList.Add(GServer.id, GServer);
             return(-1);
         }
     }
     catch (Exception ex)
     {
         LogConsole.Show("Error loading GameServer settings " + ex + "");
         return(-2);
     }
 }
Ejemplo n.º 3
0
        static void Main(string[] args)
        {
            Program pro = new Program();

            LogConsole._Load();
            Systems.Ini ini = null;

            #region Default Settings
            int    LSPort  = 8372;
            int    IPCPort = 8500;
            string LSIP    = "127.0.0.1";
            string IPCIP   = "127.0.0.1";

            string m_host = "localhost";
            string m_user = "******";
            string m_pass = "";
            string m_db   = "";
            int    m_port = 3306;
            #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", 8372));
                    LSIP   = ini.GetValue("Server", "ip", "127.0.0.1").ToString();
                    VER    = ini.GetValue("Server", "ver", 1);

                    IPCPort = Convert.ToInt32(ini.GetValue("IPC", "port", 8500));
                    IPCIP   = ini.GetValue("IPC", "ip", "127.0.0.1").ToString();
                    DEBUG   = Convert.ToBoolean(ini.GetValue("CONSOLE", "debug", "false"));

                    m_host = ini.GetValue("MySQL", "host", "localhost").ToString();
                    m_user = ini.GetValue("MySQL", "user", "root").ToString();
                    m_pass = ini.GetValue("MySQL", "pass", "").ToString();
                    m_db   = ini.GetValue("MySQL", "data", "").ToString();
                    m_port = Convert.ToInt32(ini.GetValue("MySQL", "port", 3306));

                    ini = null;
                    LogConsole.Show(LogType.INFO, "Has loaded your ip settings successfully");
                }
                else
                {
                    LogConsole.Show(LogType.ALERT, "Settings.ini could not be found, using default setting");
                }
            }
            catch (Exception excc)
            {
                LogConsole.Show(LogType.ERROR, " {0}", excc.ToString());
                return;
            }
            #endregion

            Systems.Crypto.Initialize();
            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(LogType.ERROR, "Starting Server error: {0}", ex);
            }



            _LoopThrreading          = new Thread(new ThreadStart(Program.LoopConsole));
            _LoopThrreading.Priority = ThreadPriority.BelowNormal;
            _LoopThrreading.Start();

            while (true)
            {
                Thread.Sleep(100);
            }
        }
Ejemplo n.º 4
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
        }
Ejemplo n.º 5
0
        static void Main(string[] args)
        {
            Program pro = new Program();

            GameServer.Definitions.Bootlogo._Load();
            Systems.Ini ini = null;
            LogConsole.Init();

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

            #region Load Settings
            try
            {
                if (File.Exists(Environment.CurrentDirectory + @"\Settings\GS-Settings.ini"))
                {
                    ini        = new Systems.Ini(Environment.CurrentDirectory + @"\Settings\GS-Settings.ini");
                    LSPort     = Convert.ToInt32(ini.GetValue("GAMESERVER", "port", 7000));
                    LSIP       = ini.GetValue("SERVER", "ip", "127.0.0.1").ToString();
                    IPCPort    = Convert.ToInt32(ini.GetValue("IPC", "port", 7000));
                    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("MYSQL Connection Server-Settings... LOADED!");
                }
                else
                {
                    LogConsole.Show("Server-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 += 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("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> Server in Systems.GSList)
             *  {
             *      byte[] rqPacket = IPCServer.PacketRequestServerInfo(IPCPort);
             *      Network.Servers.IPCenCode(ref rqPacket, Server.Value.code);
             *      IPCServer.Send(Server.Value.ip, Server.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
        }