1
Fork 0
mirror of https://bitbucket.org/Ioncannon/project-meteor-server.git synced 2025-04-24 05:37:46 +00:00

Added some error checking to "sendpacket" command. Changed the packet processor to send correct packets when it receives 0x1CB, 0x1CE, and 0x1D3. Forgot to push latest project file.

This commit is contained in:
Filip Maj 2015-12-13 22:19:39 -05:00
parent fa3d69b8b3
commit 3a8d7a43e5
3 changed files with 44 additions and 14 deletions

View file

@ -116,6 +116,12 @@
<Compile Include="packets\send\actor\inventory\InventorySetEndPacket.cs" />
<Compile Include="packets\send\actor\inventory\EquipmentSetupPacket.cs" />
<Compile Include="packets\send\actor\RemoveActorPacket.cs" />
<Compile Include="packets\send\list\SetListPropertyPacket.cs" />
<Compile Include="packets\send\list\ListBeginPacket.cs" />
<Compile Include="packets\send\list\ListEndPacket.cs" />
<Compile Include="packets\send\list\ListEntriesEndPacket.cs" />
<Compile Include="packets\send\list\ListStartPacket.cs" />
<Compile Include="packets\send\player\SetGrandCompanyPacket.cs" />
<Compile Include="packets\send\actor\SetActorNamePacket.cs" />
<Compile Include="packets\send\actor\SetActorPropetyPacket.cs" />
<Compile Include="packets\send\actor\SetActorSpeedPacket.cs" />
@ -135,7 +141,8 @@
<Compile Include="packets\send\player\SetCutsceneBookPacket.cs" />
<Compile Include="packets\send\player\SetAchievementPointsPacket.cs" />
<Compile Include="packets\send\player\SetChocoboNamePacket.cs" />
<Compile Include="packets\send\player\SetGCInfoPacket.cs" />
<Compile Include="packets\send\player\SetHasGoobbuePacket.cs" />
<Compile Include="packets\send\player\SetHasChocoboPacket.cs" />
<Compile Include="packets\send\player\SetLatestAchievementsPacket.cs" />
<Compile Include="packets\send\player\SetPlayerDreamPacket.cs" />
<Compile Include="packets\send\player\SetPlayerTitlePacket.cs" />

View file

@ -147,6 +147,7 @@ namespace FFXIVClassic_Lobby_Server
break;
//Unknown
case 0x0002:
subpacket.debugPrintSubPacket();
BasePacket reply5 = new BasePacket("./packets/login/login5.bin");
@ -175,8 +176,9 @@ namespace FFXIVClassic_Lobby_Server
reply12.replaceActorID(player.actorID);
#endregion
client.queuePacket(BasePacket.createPacket(SetMapPacket.buildPacket(player.actorID, 0xD1), true, false));
client.queuePacket(BasePacket.createPacket(_0x2Packet.buildPacket(player.actorID), true, false));
// return;
client.queuePacket(BasePacket.createPacket(SetMapPacket.buildPacket(player.actorID, 0xD1, 0xF4), true, false));
client.queuePacket(BasePacket.createPacket(SetMusicPacket.buildPacket(player.actorID, 0x3D, 0x01), true, false));
client.queuePacket(reply5);
@ -184,7 +186,7 @@ namespace FFXIVClassic_Lobby_Server
client.queuePacket(BasePacket.createPacket(AddActorPacket.buildPacket(player.actorID, player.actorID, 0), true, false));
BasePacket actorPacket = player.getActor().createActorSpawnPackets(player.actorID);
actorPacket.debugPrintPacket();
//actorPacket.debugPrintPacket();
client.queuePacket(actorPacket);
client.queuePacket(reply6);
client.queuePacket(BasePacket.createPacket(new SubPacket(0xCC, player.actorID, player.actorID, File.ReadAllBytes("./packets/playerscript")),true, false));
@ -265,15 +267,18 @@ namespace FFXIVClassic_Lobby_Server
////////ITEMS////////
//The rest of hardcode
//client.queuePacket(BasePacket.createPacket(SetGCInfoPacket.buildPacket(player.actorID), true, false));
//client.queuePacket(BasePacket.createPacket(SetGCInfoPacket.buildPacket(player.actorID), true, false));
client.queuePacket(BasePacket.createPacket(SetGrandCompanyPacket.buildPacket(player.actorID, player.actorID, 0x01, 0x1B, 0x1B, 0x1B), true, false));
client.queuePacket(BasePacket.createPacket(SetPlayerTitlePacket.buildPacket(player.actorID, player.actorID, 0x00), true, false));
client.queuePacket(BasePacket.createPacket(SetPlayerTitlePacket.buildPacket(player.actorID, player.actorID, 0x00), true, false));
//client.queuePacket(BasePacket.createPacket(SetCurrentJobPacket.buildPacket(player.actorID, player.actorID, 0x00), true, false)); //196
client.queuePacket(BasePacket.createPacket(SetHasChocoboPacket.buildPacket(player.actorID, true), true, false));
client.queuePacket(BasePacket.createPacket(SetChocoboNamePacket.buildPacket(player.actorID, player.actorID, "Boco"), true, false));
//client.queuePacket(BasePacket.createPacket(SetPlayerTitlePacket.buildPacket(player.actorID, player.actorID, 0x00), true, false)); //199
client.queuePacket(BasePacket.createPacket(SetPlayerTitlePacket.buildPacket(player.actorID, player.actorID, 0x00), true, false));
client.queuePacket(BasePacket.createPacket(new SetCompletedAchievementsPacket().buildPacket(player.actorID), true, false));
SetCompletedAchievementsPacket cheevos = new SetCompletedAchievementsPacket();
for (int i = 0; i < cheevos.achievementFlags.Length; i++)
cheevos.achievementFlags[i] = true;
client.queuePacket(BasePacket.createPacket(cheevos.buildPacket(player.actorID), true, false));
client.queuePacket(BasePacket.createPacket(SetLatestAchievementsPacket.buildPacket(player.actorID, new uint[5]), true, false));
client.queuePacket(BasePacket.createPacket(SetAchievementPointsPacket.buildPacket(player.actorID, 0x00), true, false));
SetCutsceneBookPacket book = new SetCutsceneBookPacket();
@ -384,6 +389,10 @@ namespace FFXIVClassic_Lobby_Server
AddRemoveSocialPacket removeBlackList = new AddRemoveSocialPacket(subpacket.data);
client.queuePacket(BasePacket.createPacket(BlacklistRemovedPacket.buildPacket(player.actorID, true, removeBlackList.name), true, false));
break;
case 0x01CB:
int offset1 = 0;
client.queuePacket(BasePacket.createPacket(SendBlacklistPacket.buildPacket(player.actorID, new String[] { "Test" }, ref offset1), true, false));
break;
case 0x01CC:
AddRemoveSocialPacket addFriendList = new AddRemoveSocialPacket(subpacket.data);
client.queuePacket(BasePacket.createPacket(FriendlistAddedPacket.buildPacket(player.actorID, true, (uint)addFriendList.name.GetHashCode(), true, addFriendList.name), true, false));
@ -392,6 +401,10 @@ namespace FFXIVClassic_Lobby_Server
AddRemoveSocialPacket removeFriendList = new AddRemoveSocialPacket(subpacket.data);
client.queuePacket(BasePacket.createPacket(FriendlistRemovedPacket.buildPacket(player.actorID, true, removeFriendList.name), true, false));
break;
case 0x01CE:
int offset2 = 0;
client.queuePacket(BasePacket.createPacket(SendFriendlistPacket.buildPacket(player.actorID, new Tuple<long, string>[] { new Tuple<long, string>(01, "Test2") }, ref offset2), true, false));
break;
case 0x01CF:
client.queuePacket(BasePacket.createPacket(FriendStatusPacket.buildPacket(player.actorID, null), true, false));
break;
@ -411,6 +424,10 @@ namespace FFXIVClassic_Lobby_Server
GMTicketIssuesRequestPacket issuesRequest = new GMTicketIssuesRequestPacket(subpacket.data);
client.queuePacket(BasePacket.createPacket(IssueListResponsePacket.buildPacket(player.actorID, new string[] { "Test1", "Test2", "Test3", "Test4", "Test5"}), true, false));
break;
//Request if GM ticket exists
case 0x01D3:
client.queuePacket(BasePacket.createPacket(StartGMTicketPacket.buildPacket(player.actorID, false), true, false));
break;
//Request for GM response message
case 0x01D4:
client.queuePacket(BasePacket.createPacket(GMTicketPacket.buildPacket(player.actorID, "This is a GM Ticket Title", "This is a GM Ticket Body."), true, false));

View file

@ -235,8 +235,14 @@ namespace FFXIVClassic_Lobby_Server
SubPacket changePropertyPacket = changeProperty.buildPacket((entry.Value.actorID), (entry.Value.actorID));
BasePacket packet = BasePacket.createPacket(changePropertyPacket, true, false);
packet.debugPrintPacket();
if (entry.Value.getConnection1() != null)
entry.Value.getConnection1().queuePacket(packet);
else
Log.error("Connection was null");
if (entry.Value.getConnection2() != null)
entry.Value.getConnection2().queuePacket(packet);
else
Log.error("Connection was null");
}
}