Ejemplo n.º 1
0
    public static void NET_Init()
    {
        for (int i2 = 0; i2 < hostcache.Length; i2++)
        {
            hostcache[i2] = new hostcache_t();
        }

        if (net_drivers == null)
        {
            if (HasParam("-playback"))
            {
                net_drivers = new INetDriver[]
                {
                    new NetVcr()
                };
            }
            else
            {
                net_drivers = new INetDriver[]
                {
                    new NetLoop(),
                    NetDatagram.Instance
                };
            }
        }

        if (net_landrivers == null)
        {
            net_landrivers = new INetLanDriver[]
            {
                NetTcpIp.Instance
            };
        }

        if (HasParam("-record"))
        {
            recording = true;
        }

        int i = COM_CheckParm("-port");

        if (i == 0)
        {
            i = COM_CheckParm("-udpport");
        }
        if (i == 0)
        {
            i = COM_CheckParm("-ipxport");
        }

        if (i > 0)
        {
            if (i < com_argv.Length - 1)
            {
                DEFAULTnet_hostport = atoi(Argv(i + 1));
            }
            else
            {
                Sys_Error("Net.Init: you must specify a number after -port!");
            }
        }
        net_hostport = DEFAULTnet_hostport;

        if (HasParam("-listen") || cls.state == cactive_t.ca_dedicated)
        {
            listening = true;
        }
        int numsockets = svs.maxclientslimit;

        if (cls.state != cactive_t.ca_dedicated)
        {
            numsockets++;
        }

        net_freeSockets   = new List <qsocket_t>(numsockets);
        net_activeSockets = new List <qsocket_t>(numsockets);

        for (i = 0; i < numsockets; i++)
        {
            net_freeSockets.Add(new qsocket_t());
        }

        SetNetTime();

        // allocate space for network message buffer
        Message = new MsgWriter(q_shared.NET_MAXMESSAGE); // SZ_Alloc (&net_message, NET_MAXMESSAGE);
        Reader  = new MsgReader(Message);

        net_messagetimeout = new cvar_t("net_messagetimeout", "300");
        hostname           = new cvar_t("hostname", "UNNAMED");

        Cmd_AddCommand("slist", NET_Slist_f);
        Cmd_AddCommand("listen", NET_Listen_f);
        Cmd_AddCommand("maxplayers", MaxPlayers_f);
        Cmd_AddCommand("port", NET_Port_f);

        // initialize all the drivers
        net_driverlevel = 0;
        foreach (INetDriver driver in net_drivers)
        {
            driver.Init();
            if (driver.IsInitialized && listening)
            {
                driver.Datagram_Listen(true);
            }
            net_driverlevel++;
        }

        //if (*my_ipx_address)
        //    Con_DPrintf("IPX address %s\n", my_ipx_address);
        if (!String.IsNullOrEmpty(my_tcpip_address))
        {
            Con_DPrintf("TCP/IP address {0}\n", my_tcpip_address);
        }
    }
Ejemplo n.º 2
0
        // NET_Init (void)
        public static void Init()
        {
            for (int i2 = 0; i2 < _HostCache.Length; i2++)
            {
                _HostCache[i2] = new hostcache_t();
            }

            if (_Drivers == null)
            {
                if (Common.HasParam("-playback"))
                {
                    _Drivers = new INetDriver[]
                    {
                        new NetVcr()
                    };
                }
                else
                {
                    _Drivers = new INetDriver[]
                    {
                        new NetLoop(),
                        NetDatagram.Instance
                    };
                }
            }

            if (_LanDrivers == null)
            {
                _LanDrivers = new INetLanDriver[]
                {
                    NetTcpIp.Instance
                };
            }

            if (Common.HasParam("-record"))
            {
                _IsRecording = true;
            }

            int i = Common.CheckParm("-port");

            if (i == 0)
            {
                i = Common.CheckParm("-udpport");
            }
            if (i == 0)
            {
                i = Common.CheckParm("-ipxport");
            }

            if (i > 0)
            {
                if (i < Common.Argc - 1)
                {
                    _DefHostPort = Common.atoi(Common.Argv(i + 1));
                }
                else
                {
                    Sys.Error("Net.Init: you must specify a number after -port!");
                }
            }
            HostPort = _DefHostPort;

            if (Common.HasParam("-listen") || Client.cls.state == cactive_t.ca_dedicated)
            {
                _IsListening = true;
            }
            int numsockets = Server.svs.maxclientslimit;

            if (Client.cls.state != cactive_t.ca_dedicated)
            {
                numsockets++;
            }

            _FreeSockets   = new List <qsocket_t>(numsockets);
            _ActiveSockets = new List <qsocket_t>(numsockets);

            for (i = 0; i < numsockets; i++)
            {
                _FreeSockets.Add(new qsocket_t());
            }

            SetNetTime();

            // allocate space for network message buffer
            Message = new MsgWriter(NET_MAXMESSAGE); // SZ_Alloc (&net_message, NET_MAXMESSAGE);
            Reader  = new MsgReader(Net.Message);

            if (_MessageTimeout == null)
            {
                _MessageTimeout = new Cvar("net_messagetimeout", "300");
                _HostName       = new Cvar("hostname", "UNNAMED");
            }

            Cmd.Add("slist", Slist_f);
            Cmd.Add("listen", Listen_f);
            Cmd.Add("maxplayers", MaxPlayers_f);
            Cmd.Add("port", Port_f);

            // initialize all the drivers
            _DriverLevel = 0;
            foreach (INetDriver driver in _Drivers)
            {
                driver.Init();
                if (driver.IsInitialized && _IsListening)
                {
                    driver.Listen(true);
                }
                _DriverLevel++;
            }

            //if (*my_ipx_address)
            //    Con_DPrintf("IPX address %s\n", my_ipx_address);
            if (!String.IsNullOrEmpty(_MyTcpIpAddress))
            {
                Con.DPrint("TCP/IP address {0}\n", _MyTcpIpAddress);
            }
        }
Ejemplo n.º 3
0
        // NET_Init (void)
        public static void Init()
        {
            for (int i2 = 0; i2 < _HostCache.Length; i2++)
                _HostCache[i2] = new hostcache_t();

            if (_Drivers == null)
            {
                if(Common.HasParam("-playback"))
                {
                    _Drivers = new INetDriver[]
                    {
                        new NetVcr()
                    };
                }
                else
                {
                    _Drivers = new INetDriver[]
                    {
                        new NetLoop(),
                        NetDatagram.Instance
                    };
                }
            }

            if (_LanDrivers == null)
            {
                _LanDrivers = new INetLanDriver[]
                {
                    NetTcpIp.Instance
                };
            }

            if (Common.HasParam("-record"))
                _IsRecording = true;

            int i = Common.CheckParm("-port");
            if (i == 0)
                i = Common.CheckParm("-udpport");
            if (i == 0)
                i = Common.CheckParm("-ipxport");

            if (i > 0)
            {
                if (i < Common.Argc - 1)
                    _DefHostPort = Common.atoi(Common.Argv(i + 1));
                else
                    Sys.Error("Net.Init: you must specify a number after -port!");
            }
            HostPort = _DefHostPort;

            if (Common.HasParam("-listen") || Client.cls.state == cactive_t.ca_dedicated)
                _IsListening = true;
            int numsockets = Server.svs.maxclientslimit;
            if (Client.cls.state != cactive_t.ca_dedicated)
                numsockets++;

            _FreeSockets = new List<qsocket_t>(numsockets);
            _ActiveSockets = new List<qsocket_t>(numsockets);

            for (i = 0; i < numsockets; i++)
                _FreeSockets.Add(new qsocket_t());

            SetNetTime();

            // allocate space for network message buffer
            Message = new MsgWriter(NET_MAXMESSAGE); // SZ_Alloc (&net_message, NET_MAXMESSAGE);
            Reader = new MsgReader(Net.Message);

            if (_MessageTimeout == null)
            {
                _MessageTimeout = new Cvar("net_messagetimeout", "300");
                _HostName = new Cvar("hostname", "UNNAMED");
            }

            Cmd.Add("slist", Slist_f);
            Cmd.Add("listen", Listen_f);
            Cmd.Add("maxplayers", MaxPlayers_f);
            Cmd.Add("port", Port_f);

            // initialize all the drivers
            _DriverLevel = 0;
            foreach (INetDriver driver in _Drivers)
            {
                driver.Init();
                if (driver.IsInitialized && _IsListening)
                {
                    driver.Listen(true);
                }
                _DriverLevel++;
            }

            //if (*my_ipx_address)
            //    Con_DPrintf("IPX address %s\n", my_ipx_address);
            if (!String.IsNullOrEmpty(_MyTcpIpAddress))
                Con.DPrint("TCP/IP address {0}\n", _MyTcpIpAddress);
        }