diff --git a/FFXIVClassic Map Server/FFXIVClassic Map Server.csproj b/FFXIVClassic Map Server/FFXIVClassic Map Server.csproj index 90fcbbe0..27a9891d 100644 --- a/FFXIVClassic Map Server/FFXIVClassic Map Server.csproj +++ b/FFXIVClassic Map Server/FFXIVClassic Map Server.csproj @@ -130,6 +130,7 @@ + diff --git a/FFXIVClassic Map Server/PacketProcessor.cs b/FFXIVClassic Map Server/PacketProcessor.cs index da8591ec..f14e048c 100644 --- a/FFXIVClassic Map Server/PacketProcessor.cs +++ b/FFXIVClassic Map Server/PacketProcessor.cs @@ -178,7 +178,8 @@ namespace FFXIVClassic_Lobby_Server case 0x0002: subpacket.debugPrintSubPacket(); - client.queuePacket(SendMessagePacket.buildPacket(player.actorID, player.actorID, SendMessagePacket.MESSAGE_TYPE_GENERAL_INFO, "", "-------- Login Message --------\nWelcome to the 1.0 Dev Server"), true, false); + client.queuePacket(_0x2Packet.buildPacket(player.actorID), true, false); + Server.GetWorldManager().DoLogin(player.getActor()); diff --git a/FFXIVClassic Map Server/WorldManager.cs b/FFXIVClassic Map Server/WorldManager.cs index d161efcf..1145f418 100644 --- a/FFXIVClassic Map Server/WorldManager.cs +++ b/FFXIVClassic Map Server/WorldManager.cs @@ -457,9 +457,7 @@ namespace FFXIVClassic_Map_Server player.zone = zone; zone.addActorToZone(player); - //Send packets - player.playerSession.queuePacket(DeleteAllActorsPacket.buildPacket(player.actorId), true, false); - player.playerSession.queuePacket(_0x2Packet.buildPacket(player.actorId), true, false); + //Send packets player.sendZoneInPackets(this, 0x1); player.playerSession.clearInstance(); player.sendInstanceUpdate(); diff --git a/FFXIVClassic Map Server/actors/chara/player/Player.cs b/FFXIVClassic Map Server/actors/chara/player/Player.cs index cc8264b0..40fd941b 100644 --- a/FFXIVClassic Map Server/actors/chara/player/Player.cs +++ b/FFXIVClassic Map Server/actors/chara/player/Player.cs @@ -482,7 +482,6 @@ namespace FFXIVClassic_Map_Server.Actors public void sendZoneInPackets(WorldManager world, ushort spawnType) { queuePacket(SetMapPacket.buildPacket(actorId, zone.regionId, zone.actorId)); - // queuePacket(_0x2Packet.buildPacket(actorId)); queuePacket(SetMusicPacket.buildPacket(actorId, zone.bgmDay, 0x01)); queuePacket(SetWeatherPacket.buildPacket(actorId, SetWeatherPacket.WEATHER_CLEAR)); diff --git a/FFXIVClassic Map Server/packets/receive/_0x02ReceivePacket.cs b/FFXIVClassic Map Server/packets/receive/_0x02ReceivePacket.cs new file mode 100644 index 00000000..b1c7cdc7 --- /dev/null +++ b/FFXIVClassic Map Server/packets/receive/_0x02ReceivePacket.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FFXIVClassic_Map_Server.packets.receive +{ + class _0x02ReceivePacket + { + bool invalidPacket = false; + uint unknown; + + public _0x02ReceivePacket(byte[] data) + { + using (MemoryStream mem = new MemoryStream(data)) + { + using (BinaryReader binReader = new BinaryReader(mem)) + { + try + { + binReader.BaseStream.Seek(0x14, SeekOrigin.Begin); + unknown = binReader.ReadUInt32(); + } + catch (Exception) + { + invalidPacket = true; + } + } + } + } + } +}