Пример #1
0
        public void SendConnectToInstance(ConnectToSerial serial)
        {
            var instanceAddress = Global.WorldMgr.GetRealm().GetAddressForClient(System.Net.IPAddress.Parse(GetRemoteAddress()));

            _instanceConnectKey.AccountId      = GetAccountId();
            _instanceConnectKey.connectionType = ConnectionType.Instance;
            _instanceConnectKey.Key            = RandomHelper.URand(0, 0x7FFFFFFF);

            ConnectTo connectTo = new();

            connectTo.Key          = _instanceConnectKey.Raw;
            connectTo.Serial       = serial;
            connectTo.Payload.Port = (ushort)WorldConfig.GetIntValue(WorldCfg.PortInstance);
            connectTo.Con          = (byte)ConnectionType.Instance;

            if (instanceAddress.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
            {
                connectTo.Payload.Where.IPv4 = instanceAddress.Address.GetAddressBytes();
                connectTo.Payload.Where.Type = ConnectTo.AddressType.IPv4;
            }
            else
            {
                connectTo.Payload.Where.IPv6 = instanceAddress.Address.GetAddressBytes();
                connectTo.Payload.Where.Type = ConnectTo.AddressType.IPv6;
            }

            SendPacket(connectTo);
        }
Пример #2
0
        public void SendConnectToInstance(ConnectToSerial serial)
        {
            var instanceAddress = Global.WorldMgr.GetRealm().GetAddressForClient(System.Net.IPAddress.Parse(GetRemoteAddress()));

            instanceAddress.Port = WorldConfig.GetIntValue(WorldCfg.PortInstance);

            _instanceConnectKey.AccountId      = GetAccountId();
            _instanceConnectKey.connectionType = ConnectionType.Instance;
            _instanceConnectKey.Key            = RandomHelper.URand(0, 0x7FFFFFFF);

            ConnectTo connectTo = new ConnectTo();

            connectTo.Key           = _instanceConnectKey.Raw;
            connectTo.Serial        = serial;
            connectTo.Payload.Where = instanceAddress;
            connectTo.Con           = (byte)ConnectionType.Instance;

            SendPacket(connectTo);
        }