1
Fork 0
mirror of https://bitbucket.org/Ioncannon/project-meteor-server.git synced 2025-04-20 11:47:48 +00:00

Added null option for status update packet to send empty list. Added 0x1CF response for FL list to packet processor. Exception reason will now be printed when can't send packet by console.

This commit is contained in:
Filip Maj 2015-12-05 18:58:06 -05:00
parent 0dcebd1658
commit de353c9909
5 changed files with 69 additions and 8 deletions

View file

@ -93,10 +93,8 @@
<Compile Include="packets\receive\script\ScriptResultPacket.cs" />
<Compile Include="packets\receive\SetTargetPacket.cs" />
<Compile Include="packets\receive\LockTargetPacket.cs" />
<Compile Include="packets\receive\social\AddBlacklistPacket.cs" />
<Compile Include="packets\receive\social\AddFriendRequestPacket.cs" />
<Compile Include="packets\receive\social\RemoveBlacklistPacket.cs" />
<Compile Include="packets\receive\social\RemoveFriendRequestPacket.cs" />
<Compile Include="packets\receive\social\AddRemoveSocialPacket.cs" />
<Compile Include="packets\receive\social\FriendlistRequestPacket.cs" />
<Compile Include="packets\receive\StartScriptPacket.cs" />
<Compile Include="packets\send\actor\ActorDoEmotePacket.cs" />
<Compile Include="packets\send\actor\DeleteAllActorsPacket.cs" />
@ -145,6 +143,9 @@
<Compile Include="packets\send\social\BlacklistRemovedPacket.cs" />
<Compile Include="packets\send\social\FriendlistAddedPacket.cs" />
<Compile Include="packets\send\social\FriendlistRemovedPacket.cs" />
<Compile Include="packets\send\social\FriendStatusPacket.cs" />
<Compile Include="packets\send\social\SendFriendlistPacket.cs" />
<Compile Include="packets\send\social\SendBlacklistPacket.cs" />
<Compile Include="packets\send\supportdesk\IssueListResponsePacket.cs" />
<Compile Include="packets\send\supportdesk\StartGMTicketPacket.cs" />
<Compile Include="packets\send\supportdesk\EndGMTicketPacket.cs" />

View file

@ -22,6 +22,8 @@ using FFXIVClassic_Map_Server.packets.send.script;
using FFXIVClassic_Map_Server.packets.send.player;
using FFXIVClassic_Map_Server.dataobjects.chara;
using FFXIVClassic_Map_Server.packets.send.supportdesk;
using FFXIVClassic_Map_Server.packets.receive.social;
using FFXIVClassic_Map_Server.packets.send.social;
namespace FFXIVClassic_Lobby_Server
{
@ -336,6 +338,26 @@ namespace FFXIVClassic_Lobby_Server
case 0x012F:
subpacket.debugPrintSubPacket();
break;
/* SOCIAL STUFF */
case 0x01C9:
AddRemoveSocialPacket addBlackList = new AddRemoveSocialPacket(subpacket.data);
client.queuePacket(BasePacket.createPacket(BlacklistAddedPacket.buildPacket(player.actorID, true, addBlackList.name), true, false));
break;
case 0x01CA:
AddRemoveSocialPacket removeBlackList = new AddRemoveSocialPacket(subpacket.data);
client.queuePacket(BasePacket.createPacket(BlacklistRemovedPacket.buildPacket(player.actorID, true, removeBlackList.name), true, false));
break;
case 0x01CC:
AddRemoveSocialPacket addFriendList = new AddRemoveSocialPacket(subpacket.data);
client.queuePacket(BasePacket.createPacket(FriendlistAddedPacket.buildPacket(player.actorID, true, (uint)10, true, addFriendList.name), true, false));
break;
case 0x01CD:
AddRemoveSocialPacket removeFriendList = new AddRemoveSocialPacket(subpacket.data);
client.queuePacket(BasePacket.createPacket(FriendlistRemovedPacket.buildPacket(player.actorID, true, removeFriendList.name), true, false));
break;
case 0x01CF:
client.queuePacket(BasePacket.createPacket(FriendStatusPacket.buildPacket(player.actorID, null), true, false));
break;
/* SUPPORT DESK STUFF */
//Request for FAQ/Info List
case 0x01D0:

View file

@ -83,7 +83,7 @@ namespace FFXIVClassic_Lobby_Server
}
catch (Exception e)
{
Log.error("Could not load packet");
Log.error("Could not load packet: " + e);
}
}
else if (split[0].Equals("property"))

View file

@ -0,0 +1,33 @@
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.social
{
class FriendlistRequestPacket
{
public bool invalidPacket = false;
public uint num1;
public uint num2;
public FriendlistRequestPacket(byte[] data)
{
using (MemoryStream mem = new MemoryStream(data))
{
using (BinaryReader binReader = new BinaryReader(mem))
{
try{
num1 = binReader.ReadUInt32();
num2 = binReader.ReadUInt32();
}
catch (Exception){
invalidPacket = true;
}
}
}
}
}
}

View file

@ -24,10 +24,15 @@ namespace FFXIVClassic_Map_Server.packets.send.social
binWriter.Write((UInt32)0);
int max;
if (friendStatus != null)
{
if (friendStatus.Length <= 200)
max = friendStatus.Length;
else
max = 200;
}
else
max = 0;
binWriter.Write((UInt32)max);