mirror of
				https://bitbucket.org/Ioncannon/project-meteor-server.git
				synced 2025-05-20 08:26:59 -04:00 
			
		
		
		
	Can queue subpackets now (automatically creates basepacket). List packets implemented. Base packets fully figured out and implemented. Login has been stablized and no longer crashes. Implemented the following packets: List Packets, Set Job packet, chat message receive packet, SetActorIcon, SetActorIsZoning, SetActorSingleStatus, AchievementRate and some unknown packets.
This commit is contained in:
		@@ -0,0 +1,35 @@
 | 
			
		||||
using FFXIVClassic_Lobby_Server.packets;
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.IO;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
using System.Text;
 | 
			
		||||
using System.Threading.Tasks;
 | 
			
		||||
 | 
			
		||||
namespace FFXIVClassic_Map_Server.packets.send.actor
 | 
			
		||||
{
 | 
			
		||||
    class SetActorIconPacket
 | 
			
		||||
    {
 | 
			
		||||
        public const uint DISCONNECTING = 0x00010000;
 | 
			
		||||
        public const uint ISGM = 0x00020000;
 | 
			
		||||
        public const uint ISAFK = 0x00000100;
 | 
			
		||||
 | 
			
		||||
        public const ushort OPCODE = 0x0145;
 | 
			
		||||
        public const uint PACKET_SIZE = 0x28;
 | 
			
		||||
 | 
			
		||||
        public static SubPacket buildPacket(uint playerActorID, uint targetActorID, uint iconCode)
 | 
			
		||||
        {
 | 
			
		||||
            byte[] data = new byte[PACKET_SIZE - 0x20];
 | 
			
		||||
 | 
			
		||||
            using (MemoryStream mem = new MemoryStream(data))
 | 
			
		||||
            {
 | 
			
		||||
                using (BinaryWriter binWriter = new BinaryWriter(mem))
 | 
			
		||||
                {
 | 
			
		||||
                    binWriter.Write((UInt32)iconCode);
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            return new SubPacket(OPCODE, playerActorID, targetActorID, data);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,22 @@
 | 
			
		||||
using FFXIVClassic_Lobby_Server.packets;
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
using System.Text;
 | 
			
		||||
using System.Threading.Tasks;
 | 
			
		||||
 | 
			
		||||
namespace FFXIVClassic_Map_Server.packets.send.actor
 | 
			
		||||
{
 | 
			
		||||
    class SetActorIsZoningPacket
 | 
			
		||||
    {
 | 
			
		||||
        public const ushort OPCODE = 0x017B;
 | 
			
		||||
        public const uint PACKET_SIZE = 0x28;
 | 
			
		||||
 | 
			
		||||
        public static SubPacket buildPacket(uint playerActorID, uint targetActorID, bool isDimmed)
 | 
			
		||||
        {
 | 
			
		||||
            byte[] data = new byte[PACKET_SIZE - 0x20];
 | 
			
		||||
            data[0] = (byte)(isDimmed ? 1 : 0);
 | 
			
		||||
            return new SubPacket(OPCODE, playerActorID, targetActorID, data);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -36,7 +36,7 @@ namespace FFXIVClassic_Map_Server.packets.send.actor
 | 
			
		||||
                using (BinaryWriter binWriter = new BinaryWriter(mem))
 | 
			
		||||
                {
 | 
			
		||||
                    binWriter.Write((Int32)0);
 | 
			
		||||
                    binWriter.Write((Int32)sourceActorID);
 | 
			
		||||
                    binWriter.Write((Int32)0);
 | 
			
		||||
                    binWriter.Write((Single)x);
 | 
			
		||||
                    binWriter.Write((Single)y);
 | 
			
		||||
                    binWriter.Write((Single)z);
 | 
			
		||||
 
 | 
			
		||||
@@ -8,7 +8,7 @@ using System.Threading.Tasks;
 | 
			
		||||
 | 
			
		||||
namespace FFXIVClassic_Map_Server.packets.send.actor
 | 
			
		||||
{
 | 
			
		||||
    class SetStatusPacket
 | 
			
		||||
    class SetActorStatusAllPacket
 | 
			
		||||
    {
 | 
			
		||||
        public const ushort OPCODE = 0x0179;
 | 
			
		||||
        public const uint PACKET_SIZE = 0x48;
 | 
			
		||||
@@ -0,0 +1,32 @@
 | 
			
		||||
using FFXIVClassic_Lobby_Server.packets;
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.IO;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
using System.Text;
 | 
			
		||||
using System.Threading.Tasks;
 | 
			
		||||
 | 
			
		||||
namespace FFXIVClassic_Map_Server.packets.send.actor
 | 
			
		||||
{
 | 
			
		||||
    class SetActorStatusPacket
 | 
			
		||||
    {
 | 
			
		||||
        public const ushort OPCODE = 0x0177;
 | 
			
		||||
        public const uint PACKET_SIZE = 0x28;
 | 
			
		||||
 | 
			
		||||
        public static SubPacket buildPacket(uint playerActorID, uint targetActorID, ushort index, ushort statusCode)
 | 
			
		||||
        {
 | 
			
		||||
            byte[] data = new byte[PACKET_SIZE - 0x20];
 | 
			
		||||
          
 | 
			
		||||
            using (MemoryStream mem = new MemoryStream(data))
 | 
			
		||||
            {
 | 
			
		||||
                using (BinaryWriter binWriter = new BinaryWriter(mem))
 | 
			
		||||
                {
 | 
			
		||||
                    binWriter.Write((UInt16)index);
 | 
			
		||||
                    binWriter.Write((UInt16)statusCode);
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            return new SubPacket(OPCODE, playerActorID, targetActorID, data);            
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										31
									
								
								FFXIVClassic Map Server/packets/send/Actor/_0xFPacket.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								FFXIVClassic Map Server/packets/send/Actor/_0xFPacket.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,31 @@
 | 
			
		||||
using FFXIVClassic_Lobby_Server.packets;
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.IO;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
using System.Text;
 | 
			
		||||
using System.Threading.Tasks;
 | 
			
		||||
 | 
			
		||||
namespace FFXIVClassic_Map_Server.packets.send.actor
 | 
			
		||||
{
 | 
			
		||||
    class _0xFPacket
 | 
			
		||||
    {
 | 
			
		||||
        public const ushort OPCODE = 0x000F;
 | 
			
		||||
        public const uint PACKET_SIZE = 0x38;
 | 
			
		||||
 | 
			
		||||
        public static SubPacket buildPacket(uint playerActorID, uint targetActorID)
 | 
			
		||||
        {
 | 
			
		||||
            byte[] data = new byte[PACKET_SIZE - 0x20];
 | 
			
		||||
 | 
			
		||||
            using (MemoryStream mem = new MemoryStream(data))
 | 
			
		||||
            {
 | 
			
		||||
                using (BinaryWriter binWriter = new BinaryWriter(mem))
 | 
			
		||||
                {
 | 
			
		||||
                    
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            return new SubPacket(OPCODE, playerActorID, targetActorID, data);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user