Ejemplo n.º 1
0
        public static ConnectionTarget CreateServer(ServerSettings settings)
        {
            var endpoints = new List <IPEndPoint>
            {
                new IPEndPoint(IPAddress.IPv6Any, settings.ListenPort),
                new IPEndPoint(IPAddress.Any, settings.ListenPort)
            };

            server = new Server.Server(endpoints, settings, ModData, ServerType.Multiplayer);

            return(server.GetEndpointForLocalConnection());
        }
Ejemplo n.º 2
0
        public static ConnectionTarget CreateLocalServer(string map)
        {
            var settings = new ServerSettings()
            {
                Name            = "Skirmish Game",
                Map             = map,
                AdvertiseOnline = false
            };

            var endpoints = new List <IPEndPoint>
            {
                new IPEndPoint(IPAddress.IPv6Loopback, 0),
                new IPEndPoint(IPAddress.Loopback, 0)
            };

            server = new Server.Server(endpoints, settings, ModData, ServerType.Local);

            return(server.GetEndpointForLocalConnection());
        }
Ejemplo n.º 3
0
        public static ConnectionTarget CreateLocalServer(string map)
        {
            var settings = new ServerSettings()
            {
                Name            = "Skirmish Game",
                Map             = map,
                AdvertiseOnline = false
            };

            // Always connect to local games using the same loopback connection
            // Exposing multiple endpoints introduces a race condition on the client's PlayerIndex (sometimes 0, sometimes 1)
            // This would break the Restart button, which relies on the PlayerIndex always being the same for local servers
            var endpoints = new List <IPEndPoint>
            {
                new IPEndPoint(IPAddress.Loopback, 0)
            };

            server = new Server.Server(endpoints, settings, ModData, ServerType.Local);

            return(server.GetEndpointForLocalConnection());
        }