Ejemplo n.º 1
0
        /// <summary>
        /// Connects to server
        /// </summary>
        /// <param name="creds"></param>
        /// <returns></returns>
        public static NodeRegionServer ConnectToServer(Tuple <string, int> creds)
        {
            var s = NodeRegionServer.Connect(creds.Item1, (ushort)(creds.Item2 + 10000), (ushort)creds.Item2).Result;

            s.OnPacketReceived += (pak, len) => GameServer.Instance.HandleValidUdpPacket(pak, pak.Length);
            return(s);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Inits all connections
        /// </summary>
        public static bool Init()
        {
            log.Info("Connecting to Region Servers ..");

            if (GameServer.Instance.IsLive)
            {
                Default = TryConnect("myserver.example", 10400);
            }
            else
            {
                Default = TryConnect("localhost", 10401);
            }
            return(true);
        }
Ejemplo n.º 3
0
        public static async Task <NodeRegionServer> Connect(string host, ushort rpcPort, ushort tcpPort)
        {
            // RPC
            var options = new List <ChannelOption>();

            options.Add(new ChannelOption(ChannelOptions.MaxMessageLength, 65536 /* needs to match server */));
            Channel channel = new Channel(host, rpcPort, ChannelCredentials.Insecure, options);
            await channel.ConnectAsync(DateTime.UtcNow.AddSeconds(20));

            // TCP
            TcpRelaySocket sock = new TcpRelaySocket(host, tcpPort);

            var server = new NodeRegionServer(channel, new RegionService.RegionServiceClient(channel), sock);
            await server.Init();

            return(server);
        }