From 6c869353cce7cdda5265d7c2dbf0f54a5b9a06a7 Mon Sep 17 00:00:00 2001 From: Filip Maj Date: Thu, 3 Sep 2015 23:07:56 -0400 Subject: [PATCH] World list packet fixes, and worked on reserve packet. --- FFXIVClassic_Lobby_Server/PacketProcessor.cs | 3 ++- FFXIVClassic_Lobby_Server/packets/BasePacket.cs | 2 +- FFXIVClassic_Lobby_Server/packets/WorldListPacket.cs | 6 +++--- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/FFXIVClassic_Lobby_Server/PacketProcessor.cs b/FFXIVClassic_Lobby_Server/PacketProcessor.cs index f989a3bf..106983be 100644 --- a/FFXIVClassic_Lobby_Server/PacketProcessor.cs +++ b/FFXIVClassic_Lobby_Server/PacketProcessor.cs @@ -254,7 +254,8 @@ namespace FFXIVClassic_Lobby_Server BasePacket basePacket = BasePacket.createPacket(subPackets, true, false); BasePacket.encryptPacket(client.blowfish, basePacket); - client.queuePacket(basePacket); + client.queuePacket(basePacket); + } private void sendUnknownList(ClientConnection client, SubPacket packet) diff --git a/FFXIVClassic_Lobby_Server/packets/BasePacket.cs b/FFXIVClassic_Lobby_Server/packets/BasePacket.cs index f44d10e7..4f448cc8 100644 --- a/FFXIVClassic_Lobby_Server/packets/BasePacket.cs +++ b/FFXIVClassic_Lobby_Server/packets/BasePacket.cs @@ -165,7 +165,7 @@ namespace FFXIVClassic_Lobby_Server.packets { byte[] subpacketData = subpacket.getBytes(); Array.Copy(subpacketData, 0, data, offset, subpacketData.Length); - header.packetSize += (ushort)subpacketData.Length; + offset += (ushort)subpacketData.Length; } Debug.Assert(data != null && offset == data.Length && header.packetSize == 0x10 + offset); diff --git a/FFXIVClassic_Lobby_Server/packets/WorldListPacket.cs b/FFXIVClassic_Lobby_Server/packets/WorldListPacket.cs index 530f786d..9691d2de 100644 --- a/FFXIVClassic_Lobby_Server/packets/WorldListPacket.cs +++ b/FFXIVClassic_Lobby_Server/packets/WorldListPacket.cs @@ -37,9 +37,9 @@ namespace FFXIVClassic_Lobby_Server.packets //Write List Info binWriter.Write((UInt64)0); binWriter.Write(worldList.Count - totalCount <= 6 ? (byte)(worldList.Count + 1) : (byte)0); - binWriter.Write(worldList.Count - totalCount <= 6 ? (UInt32)worldList.Count - totalCount : (UInt32)6); - binWriter.Write((byte)0); - binWriter.Write((UInt16)0); + binWriter.Write(worldList.Count - totalCount <= 6 ? (UInt32)(worldList.Count - totalCount) : (UInt32)6); + binWriter.Write((byte)6); + binWriter.Write((UInt16)5); } //Write Entries