public void Can_get_GameServerPort() { var packet = new ConnectToGameServerPacket(); packet.Deserialize(FakePackets.ConnectToGameServerPacket); packet.GameServerPort.Should().Be(2593); }
public void Can_get_GameServerIP() { var packet = new ConnectToGameServerPacket(); packet.Deserialize(FakePackets.ConnectToGameServerPacket); packet.GameServerIp.Should().BeEquivalentTo(new byte[] { 0x7F, 0x00, 0x00, 0x01 }); }
public void Can_set_GameServerPort() { var packet = new ConnectToGameServerPacket(); packet.Deserialize(FakePackets.ConnectToGameServerPacket); packet.GameServerPort = 0xAABB; packet.GameServerPort.Should().Be(0xAABB); new byte[] { 0xAA, 0xBB }.Should().BeSubsetOf(packet.RawPacket.Payload); }
public void Can_set_GameServerIp() { var packet = new ConnectToGameServerPacket(); packet.Deserialize(FakePackets.ConnectToGameServerPacket); var gameServerIp = new byte[] { 0xFF, 0xFE, 0xFD, 0xFC }; packet.GameServerIp = gameServerIp; gameServerIp.Should().BeEquivalentTo(packet.GameServerIp); gameServerIp.Should().BeSubsetOf(packet.RawPacket.Payload); }
private void HandleSelectServerRequest(SelectServerRequest packet) { if (packet.ChosenServerId == 0) { var connectPacket = new ConnectToGameServerPacket(); connectPacket.GameServerIp = new byte[] { 127, 0, 0, 1 }; connectPacket.Seed = connectPacket.GameServerIp; connectPacket.GameServerPort = 30000; SendToClient(connectPacket.Serialize()); } else { throw new NotImplementedException($"Unexpected server id {packet.ChosenServerId}, it must be always 0"); } }
private void HandleConnectToGameServer(ConnectToGameServerPacket packet) { lock (serverStreamLock) { DisconnectFromServer(); Thread.Sleep(1000); serverEndpoint = new IPEndPoint(new IPAddress(packet.GameServerIp), packet.GameServerPort); serverStream = ConnectToServer(); } SendToServer(new Packet(PacketDefinitions.LoginSeed.Id, packet.Seed)); var loginRequest = new GameServerLoginRequest { Key = packet.Seed, AccountName = startConfig.AccountName, Password = startConfig.Password }; SendToServer(loginRequest.Serialize()); }