diff --git a/Cargo.lock b/Cargo.lock index a5dd47d3..0ac848a4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -750,7 +750,7 @@ dependencies = [ [[package]] name = "kawari" -version = "7.51.0" +version = "7.51.1" dependencies = [ "binrw", "bitflags", @@ -772,7 +772,7 @@ dependencies = [ [[package]] name = "kawari-admin" -version = "7.51.0" +version = "7.51.1" dependencies = [ "axum", "kawari", @@ -789,7 +789,7 @@ dependencies = [ [[package]] name = "kawari-core-macro" -version = "7.51.0" +version = "7.51.1" dependencies = [ "proc-macro2", "quote", @@ -798,7 +798,7 @@ dependencies = [ [[package]] name = "kawari-frontier" -version = "7.51.0" +version = "7.51.1" dependencies = [ "axum", "kawari", @@ -812,7 +812,7 @@ dependencies = [ [[package]] name = "kawari-launcher" -version = "7.51.0" +version = "7.51.1" dependencies = [ "axum", "kawari", @@ -826,7 +826,7 @@ dependencies = [ [[package]] name = "kawari-lobby" -version = "7.51.0" +version = "7.51.1" dependencies = [ "axum", "kawari", @@ -841,7 +841,7 @@ dependencies = [ [[package]] name = "kawari-login" -version = "7.51.0" +version = "7.51.1" dependencies = [ "axum", "axum-extra", @@ -864,7 +864,7 @@ dependencies = [ [[package]] name = "kawari-navimesh" -version = "7.51.0" +version = "7.51.1" dependencies = [ "icarus", "kawari", @@ -877,7 +877,7 @@ dependencies = [ [[package]] name = "kawari-patch" -version = "7.51.0" +version = "7.51.1" dependencies = [ "axum", "kawari", @@ -890,7 +890,7 @@ dependencies = [ [[package]] name = "kawari-run" -version = "7.51.0" +version = "7.51.1" dependencies = [ "nu-ansi-term", "tokio", @@ -898,7 +898,7 @@ dependencies = [ [[package]] name = "kawari-web" -version = "7.51.0" +version = "7.51.1" dependencies = [ "axum", "kawari", @@ -911,7 +911,7 @@ dependencies = [ [[package]] name = "kawari-world" -version = "7.51.0" +version = "7.51.1" dependencies = [ "async-trait", "axum", diff --git a/Cargo.toml b/Cargo.toml index 3deb729e..d6ea901c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -20,7 +20,7 @@ members = [ resolver = "3" [workspace.package] -version = "7.51.0" +version = "7.51.1" edition = "2024" [workspace.lints.clippy] diff --git a/README.md b/README.md index ee0e2ebe..bd66c9f4 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ Modern server emulator for FFXIV. Updates for on the project can be found [on my ![](.github/main.png) -Kawari currently supports patch **7.51** (2026.05.25.0000.0000). We only support the Windows client. If you're looking for a 1.x server, check out our sister project [Kodama](https://codeberg.org/redstrate/Kodama). +Kawari currently supports patch **7.51h1** (2026.06.10.0000.0000). We only support the Windows client. If you're looking for a 1.x server, check out our sister project [Kodama](https://codeberg.org/redstrate/Kodama). To get started, there is a guide to [running Kawari in our documentation](https://docs.xiv.zone/kawari/setup/overview.html). diff --git a/resources/data/constants.yml b/resources/data/constants.yml index 7d30b644..0706778e 100644 --- a/resources/data/constants.yml +++ b/resources/data/constants.yml @@ -4,7 +4,7 @@ AETHERYTE_UNLOCK_BITMASK_SIZE: 30 AETHER_CURRENT_BITMASK_SIZE: 56 AETHER_CURRENT_COMP_FLG_SET_BITMASK_SIZE: 4 AVAILABLE_CLASSJOBS: 42 -BASE_INVENTORY_ACTION: 243 +BASE_INVENTORY_ACTION: 191 BEAST_TRIBE_ARRAY_SIZE: 20 BEGINNER_TRAINING_ARRAY_SIZE: 4 BUDDY_EQUIP_BITMASK_SIZE: 13 @@ -48,10 +48,10 @@ SUPPORTED_BOOT_VERSION: 2026.04.10.0000.0001 SUPPORTED_EXPAC_VERSIONS: - 2026.05.15.0000.0000 - 2026.05.25.0000.0000 -- 2026.05.25.0000.0000 -- 2026.05.25.0000.0000 -- 2026.05.25.0000.0000 -SUPPORTED_GAME_VERSION: 2026.05.25.0000.0000 +- 2026.06.10.0000.0000 +- 2026.06.10.0000.0000 +- 2026.06.10.0000.0000 +SUPPORTED_GAME_VERSION: 2026.06.10.0000.0000 TITLE_UNLOCK_BITMASK_SIZE: 112 TRIAL_ARRAY_SIZE: 14 TRIPLE_TRIAD_CARDS_BITMASK_SIZE: 60 diff --git a/resources/data/opcodes.yml b/resources/data/opcodes.yml index 383792f5..d0018504 100644 --- a/resources/data/opcodes.yml +++ b/resources/data/opcodes.yml @@ -1,387 +1,387 @@ ServerZoneIpcType: - name: ZoneInit comment: Inform the client which zone to load, along with some other miscellaneous information. - opcode: 150 + opcode: 139 size: 136 - name: ActorControlSelf comment: Control player actor state, from playing emotes to making them invisible. - opcode: 457 + opcode: 866 size: 40 - name: PlayerStats comment: Contains various character statistics like Strength and HP. - opcode: 731 + opcode: 279 size: 144 - name: PlayerSetup comment: Lots of useful and persistent information like which dungeons are unlocked. - opcode: 575 + opcode: 936 size: 2954 - name: UpdateClassInfo comment: Updates class-specific information, like your currently synced level. - opcode: 125 + opcode: 940 size: 16 - name: SpawnPlayer comment: Used to spawn players actors in. - opcode: 597 + opcode: 948 size: 664 - name: InitResponse comment: Sent by the server as response to ZoneInitRequest. - opcode: 753 + opcode: 215 size: 16 - name: LogOutComplete comment: Informs the client that the server-side log out preparations are complete, and it's safe to disconnect. - opcode: 789 + opcode: 529 size: 8 - name: ActorSetPos comment: Teleport to another position in the current zone. - opcode: 655 + opcode: 305 size: 24 - name: ServerNoticeMessage comment: Display a purple server notice message in the chat window, or in some cases, on-screen. Usually used for login messages and imminent maintenance notices. - opcode: 660 + opcode: 865 size: 776 - name: PrepareZoning comment: Inform the client to display next loading screen, how long it should last and other information. - opcode: 403 + opcode: 486 size: 16 - name: ActorControl comment: Control another actor's state, from playing emotes to making them invisible. - opcode: 488 + opcode: 639 size: 24 - name: ActorMove comment: Move actors other than the current player. The client animates the actor to this new position. - opcode: 950 + opcode: 870 size: 16 - name: Blacklist comment: Sent by the server in response to RequestBlacklist. - opcode: 449 + opcode: 153 size: 968 - name: SocialList comment: Sent by the server in response to SocialListRequest. - opcode: 770 + opcode: 968 size: 1136 - name: SpawnNpc comment: Used to spawn friendly or battle NPCs. - opcode: 619 + opcode: 275 size: 656 - name: StatusEffectList comment: Update an actor's status effect list. - opcode: 661 + opcode: 299 size: 384 - name: WeatherId comment: Change the weather in the current zone. - opcode: 305 + opcode: 606 size: 8 - name: UpdateItem comment: Update a specific inventory slot. - opcode: 830 + opcode: 788 size: 64 - name: ContainerInfo comment: Update the status of one container, for example the amount of items contained within. - opcode: 944 + opcode: 257 size: 16 - name: EventResume2 comment: Start a scene for the current event. - opcode: 695 + opcode: 385 size: 16 - name: EventResume4 comment: Unknown, seen in Out on a Limb. - opcode: 107 + opcode: 707 size: 24 - name: EventResume8 comment: Unknown, seen in Out on a Limb. - opcode: 213 + opcode: 230 size: 40 - name: EventScene2 comment: Start a scene for the current event. - opcode: 126 + opcode: 667 size: 40 - name: EventScene4 comment: Start a scene for the current event. - opcode: 579 + opcode: 680 size: 48 - name: EventScene8 comment: Start a scene for the current event. - opcode: 640 + opcode: 542 size: 64 - name: EventScene16 comment: Start a scene for the current event. - opcode: 191 + opcode: 781 size: 96 - name: EventScene32 comment: Start a scene for the current event. - opcode: 244 + opcode: 397 size: 160 - name: EventScene64 comment: Start a scene for the current event. - opcode: 153 + opcode: 621 size: 288 - name: EventScene128 comment: Start a scene for the current event. - opcode: 152 + opcode: 586 size: 544 - name: EventScene255 comment: Start a scene for the current event. - opcode: 659 + opcode: 734 size: 1052 - name: EventStart comment: Have the client to load this event. - opcode: 593 + opcode: 854 size: 24 - name: UpdateHpMpTp comment: Update an actor's HP & MP values. - opcode: 222 + opcode: 916 size: 8 - name: ActionResult comment: Results of an action, in response to ActionRequest. - opcode: 915 + opcode: 473 size: 124 - name: Equip comment: List of model IDs to apply to yourself or another actor. - opcode: 295 + opcode: 452 size: 72 - name: DeleteActor comment: Free up the specified spawn index of an actor. - opcode: 733 + opcode: 893 size: 8 - name: EventFinish comment: Stop an event that was previously playing. - opcode: 715 + opcode: 994 size: 16 - name: Condition comment: List of networked conditions applied to the player. - opcode: 662 + opcode: 427 size: 16 - name: ActorControlTarget comment: Unknown purpose. - opcode: 637 + opcode: 827 size: 32 - name: CurrencyCrystalInfo comment: Update the player's currencies, used instead of UpdateItem. - opcode: 876 + opcode: 359 size: 24 - name: Config comment: Update an actor's equip display flags. - opcode: 285 + opcode: 668 size: 8 - name: PingSyncReply comment: Sent by the server in response to PingReply. - opcode: 128 + opcode: 915 size: 32 - name: InventoryActionAck comment: Acknowledging when the client is updating their inventory in some way (typically when interacting with shops.) - opcode: 913 + opcode: 198 size: 16 - name: QuestCompleteList comment: List of already completed quests. - opcode: 370 + opcode: 975 size: 816 - name: UnkResponse2 comment: Unsure the true purpose of this, but it's needed for the Unending Journey to function. - opcode: 805 + opcode: 367 size: 8 - name: InventoryTransaction comment: Informs the client of when the inventory is being updated (typically when interacting with shops.) - opcode: 654 + opcode: 847 size: 48 - name: InventoryTransactionFinish comment: Sent at the end of a sequence of InventoryTransaction packets. - opcode: 938 + opcode: 620 size: 16 - name: ContentFinderUpdate comment: Update the duty finder state. - opcode: 529 + opcode: 118 size: 40 - name: ContentFinderFound comment: Show a dialog that the duty finder content was found. - opcode: 754 + opcode: 253 size: 40 - name: SpawnObject comment: Used to spawn objects in. - opcode: 437 + opcode: 424 size: 64 - name: ActorGauge comment: Contains classjob-specific gauge information. - opcode: 516 + opcode: 189 size: 16 - name: FreeCompanyInfo comment: Presumably contains information about the current free company. - opcode: 905 + opcode: 589 size: 80 - name: TitleList comment: Contains the acquired title list. - opcode: 869 + opcode: 826 size: 112 - name: QuestActiveList comment: Contains the list of active (or in-progress quests. - opcode: 862 + opcode: 252 size: 480 - name: LevequestCompleteList comment: Contains the list of completed levequests. - opcode: 866 + opcode: 914 size: 232 - name: ShopLogMessage comment: Sent by the server when an item is obtained from shops that accept gil. - opcode: 916 + opcode: 378 size: 32 - name: UpdateInventorySlot comment: Sent by the server typically when a shop transaction takes place, usually to update currency. - opcode: 432 + opcode: 226 size: 64 - name: EffectResult comment: Unknown purpose. - opcode: 215 + opcode: 176 size: 96 - name: LogMessage comment: Sent by the server to send a predefined log message in chat. - opcode: 250 + opcode: 852 size: 24 - name: ContentFinderCommencing comment: Sent to give you the green checkmark before entering a CF zone. - opcode: 450 + opcode: 481 size: 24 - name: StatusEffectList3 comment: Unknown purpose. - opcode: 312 + opcode: 239 size: 360 - name: CrossworldLinkshells comment: Unknown purpose. - opcode: 670 + opcode: 426 size: 456 - name: SetSearchInfo comment: Updates the search info for the client in response to RequestOwnSearchInfo. - opcode: 827 + opcode: 838 size: 216 - name: WalkInEvent comment: Sent by the server when walking over a trigger (e.g. the teleport pads in Solution Nine.) - opcode: 439 + opcode: 219 size: 24 - name: GrandCompanyInfo comment: Unknown purpose. - opcode: 530 + opcode: 771 size: 8 - name: CraftingLog comment: Unknown purpose. - opcode: 979 + opcode: 722 size: 808 - name: GatheringLog comment: Unknown purpose. - opcode: 172 + opcode: 222 size: 104 - name: Fellowships comment: The fellowships you have joined. - opcode: 466 + opcode: 795 size: 808 - name: DailyQuests comment: Sent shortly after the server sends InitZone, this with UnkZoneLoad2 it makes everything load faster. - opcode: 136 + opcode: 281 size: 56 - name: DailyQuestRepeatFlags comment: Sent shortly after the server sends InitZone, this with UnkZoneLoad1 it makes everything load faster. - opcode: 500 + opcode: 259 size: 8 - name: Linkshells comment: Sent to inform the client about server-local Linkshells, not to be confused with cross-world ones. - opcode: 280 + opcode: 296 size: 448 - name: ChatMessage comment: Sent to nearby clients when a client sends a chat message in the say, yell, or shout channels. - opcode: 265 + opcode: 227 size: 1080 - name: LocationDiscovered comment: Sent by the server in response to NewDiscovery. - opcode: 928 + opcode: 921 size: 8 - name: Mount comment: Sent by the server to mount the player. - opcode: 664 + opcode: 624 size: 16 - name: SetOnlineStatus comment: Sent by the server to update your online status. - opcode: 700 + opcode: 525 size: 8 - name: FreeCompanyHierarchy comment: Sent by the server to inform clients about their free company's hierarchy info. - opcode: 599 + opcode: 271 size: 1440 - name: FreeCompanyGreeting comment: Sent by the server to inform clients about their free company's message of the day. - opcode: 114 + opcode: 817 size: 200 - name: FreeCompanyShortMessage comment: Sent by the server to inform clients about a short message from a character (including their own) in their free company. - opcode: 663 + opcode: 349 size: 120 - name: FreeCompanyHeader comment: Sent by the server to inform clients about the free company's header (top portion of the free company UI). - opcode: 800 + opcode: 294 size: 80 - name: FreeCompanyActivityList comment: Sent by the server to inform clients about the free company's recent activity history. - opcode: 251 + opcode: 884 size: 528 - name: CharaInfoFromContentIds comment: Sent by the server in response to RequestCharaInfoFromContentIds. - opcode: 974 + opcode: 808 size: 568 - name: InviteCharacterResult comment: Sent by the server to inform the client about their own new invite to another character. This can display a pre-defined log message if anything goes wrong, like the recipient going offline. - opcode: 224 + opcode: 241 size: 48 - name: InviteUpdate comment: Sent by the server to inform the client of an invitation changing state. - opcode: 921 + opcode: 301 size: 72 - name: PartyUpdate comment: Sent by the server when the party needs to be updated. - opcode: 945 + opcode: 576 size: 104 - name: PartyList comment: Sent by the server when the party list needs to be updated. - opcode: 235 + opcode: 844 size: 3672 - name: InviteReplyResult comment: Sent by the server to inform the client about its own invite reply. - opcode: 877 + opcode: 320 size: 48 - name: PartyMemberPositions comment: Sent by the server to inform the client about the party's positions in the world. - opcode: 482 + opcode: 145 size: 64 - name: AcceptQuest comment: Sent by the server to add a quest to your journal, I think. - opcode: 711 + opcode: 740 size: 8 - name: UpdateQuest comment: Sent by the server to update a quest. - opcode: 893 + opcode: 492 size: 24 - name: FinishQuest comment: Sent by the server when finshing a quest. - opcode: 738 + opcode: 186 size: 8 - name: UpdateMapMarkers8 comment: Unknown purpose. - opcode: 390 + opcode: 423 size: 112 - name: UpdateMapMarkers16 comment: Unknown purpose. - opcode: 103 + opcode: 648 size: 216 - name: UpdateMapMarkers32 comment: Unknown purpose. - opcode: 703 + opcode: 133 size: 424 - name: QuestTracker comment: A list of active or pinned quests, shows up under the duty list. - opcode: 642 + opcode: 232 size: 24 - name: HouseList comment: A list of basic house information. - opcode: 448 + opcode: 125 size: 1216 - name: HousingWardInfo comment: Sent by the server in response to the client requesting housing ward info on the residential aetheryte menu. - opcode: 339 + opcode: 132 size: 2416 - name: SupportDeskNotification comment: Sent by the server to indicate you have a support desk notification(?) !! Out of date as of 7.40. @@ -393,416 +393,416 @@ ServerZoneIpcType: size: 32 - name: LegacyQuestList comment: Sent by the server to send a list of completed FFXIV 1.x quests. - opcode: 328 + opcode: 789 size: 40 - name: DirectorVars comment: Unknown purpose. - opcode: 881 + opcode: 361 size: 24 - name: UnkDirector1 comment: Unknown purpose. - opcode: 825 + opcode: 703 size: 32 - name: PartyMemberPortraits comment: Displays the party member portraits for this duty. - opcode: 269 + opcode: 355 size: 184 - name: FieldMarkerPreset comment: A player in the client's party has applied a waymark preset. - opcode: 698 + opcode: 683 size: 104 - name: DeleteObject comment: Sent to the client to free up an object spawn index. - opcode: 141 + opcode: 175 size: 8 - name: GoldSaucerInformation comment: Sent to the client when opening the Gold Saucer window. - opcode: 870 + opcode: 143 size: 40 - name: UnkContentFinder comment: Unknown purpose, but it clears the currently operating content finder. - opcode: 901 + opcode: 651 size: 16 - name: TrustInformation comment: Sent to the client to initialize the Trust window. - opcode: 389 + opcode: 857 size: 728 - name: DutySupportInformation comment: Sent to the client to initialize the Duty Support window. - opcode: 322 + opcode: 713 size: 80 - name: PortraitsInformation comment: Sent to the client to initialize the Portraits window. - opcode: 345 + opcode: 657 size: 56 - name: InitializeObfuscation comment: Initialize the packet obfuscation system. - opcode: 163 + opcode: 464 size: 16 - name: BeginStrategyBoardSession comment: A client starts a strategy board sharing session with their party. - opcode: 499 + opcode: 381 size: 16 - name: StrategyBoard comment: The content id of the real-time sharing host, and the actual strategy board data to be shared. - opcode: 489 + opcode: 245 size: 1184 - name: StrategyBoardReceivedAck comment: The server informs the sharing client that a client in the party has received a strategy board. - opcode: 766 + opcode: 400 size: 16 - name: StrategyBoardUpdate comment: The client updates their strategy board during real-time sharing, and other party members are informed. - opcode: 298 + opcode: 992 size: 64 - name: EndStrategyBoardSession comment: The client stopped sharing their strategy board, or if it wasn't real-time, the transfer has completed. - opcode: 409 + opcode: 130 size: 16 - name: WaymarkUpdate comment: A client updated a waymark, and now their party needs to be informed. - opcode: 395 + opcode: 597 size: 16 - name: UnkContentFinder2 comment: Unknown purpose, but it controls something like hiding the Join button. - opcode: 602 + opcode: 436 size: 16 - name: Playtime comment: A client requested their playtime, and now they need to be informed. - opcode: 372 + opcode: 559 size: 8 - name: Countdown comment: A client initiated a countdown from the Party menu, and now their party needs to be informed. - opcode: 584 + opcode: 694 size: 64 - name: DirectorPopupMessage comment: Shows a popup message (usually reserved for NPCs and bosses.) Not sure if it's the only thing this does. - opcode: 692 + opcode: 664 size: 40 - name: DirectorSetupMapEffects64 comment: Seems to animate stuff like the train moving in the Tower of Babil. Unsure of its purpose elsewhere. - opcode: 337 + opcode: 565 size: 136 - name: DirectorSetupMapEffects128 comment: Seems to animate stuff like the train moving in the Tower of Babil. Unsure of its purpose elsewhere. - opcode: 985 + opcode: 461 size: 264 - name: DirectorMapEffect comment: Updates a map effect. - opcode: 951 + opcode: 980 size: 16 - name: FurnitureList comment: Sent by the server to inform the client about furniture (both indoor & outdoor) that exists in this ward or housing interior. - opcode: 519 + opcode: 701 size: 2416 - name: OwnedHousing comment: Sent to inform you of which housing you own/have access to. - opcode: 230 + opcode: 785 size: 136 - name: UpdateFittingShop comment: Sent to inform the client which items are listed under Latest Trends in Dreamfitting. - opcode: 146 + opcode: 439 size: 16 - name: UnkSocialResponse comment: Unknown purpose, but allows you to load in while sending the search info packet. - opcode: 839 + opcode: 802 size: 80 - name: UnkClassRelated comment: Seems to control the client's hotbars. - opcode: 836 + opcode: 666 size: 8 - name: EnmityList comment: Sent to update the enemity of the party. - opcode: 771 + opcode: 780 size: 72 - name: HaterList comment: Sent to update the people who hate you. - opcode: 304 + opcode: 182 size: 264 - name: DuelInformation comment: Information about an upcoming duel. - opcode: 258 + opcode: 217 size: 64 - name: MarketBoardItems comment: Sent to fill out the list of items on the Market Board. - opcode: 610 + opcode: 923 size: 176 - name: EffectResultBasic comment: Unknown purpose. - opcode: 596 + opcode: 120 size: 24 - name: AoeEffect8 comment: Unknown purpose. - opcode: 211 + opcode: 321 size: 636 - name: ActorCast comment: Unknown purpose. - opcode: 758 + opcode: 760 size: 32 - name: SearchPlayersResult comment: Sent to inform the client about how many search results were found. - opcode: 702 + opcode: 750 size: 8 - name: FriendGroupIcon comment: Sent to inform the client that SetFriendGroupIcon request has been acknowledged. - opcode: 540 + opcode: 787 size: 16 - name: DeepDungeonParty comment: Unknown purpose. - opcode: 419 + opcode: 762 size: 20 - name: DeepDungeonChests comment: Unknown purpose. - opcode: 769 + opcode: 328 size: 32 - name: DeepDungeonSetup comment: Unknown purpose. - opcode: 291 + opcode: 270 size: 24 - name: DeepDungeonMap comment: Unknown purpose. - opcode: 929 + opcode: 715 size: 56 - name: ExamineCharacterInformation comment: Sent to show character information in the Examine window. - opcode: 930 + opcode: 443 size: 944 - name: OtherSearchInfo comment: Used when the player requests someone else's search info. - opcode: 225 + opcode: 332 size: 424 - name: SetPlayerCustomizeData comment: Unknown purpose. - opcode: 826 + opcode: 794 size: 26 - name: CrossworldLinkshellsEx comment: Sent in response to the client opening the Crossworld Linkshell menu. It has additional information the login list does not. - opcode: 650 + opcode: 684 size: 520 - name: CrossworldLinkshellMemberList comment: Sent in response to CrossworldLinkshellMemberList. Sends the member list of this CWLS. - opcode: 725 + opcode: 859 size: 464 - name: SpawnTreasure comment: Unknown purpose. - opcode: 851 + opcode: 496 size: 112 - name: OpenedTreasure comment: Unknown purpose. - opcode: 934 + opcode: 476 size: 24 - name: TreasureFadeOut comment: Unknown purpose. - opcode: 776 + opcode: 208 size: 8 - name: FirstAttack comment: Unknown purpose. - opcode: 829 + opcode: 172 size: 16 - name: UnkFate comment: Seen while fates were initializing. - opcode: 937 + opcode: 631 size: 24 - name: CrossRealmListings comment: Sent to fill out the Party Finder. - opcode: 669 + opcode: 910 size: 1616 - name: CrossRealmListingsOverview comment: Sent to fill out the information for Party Finder tabs and other overview information. - opcode: 707 + opcode: 581 size: 48 - name: CrossRealmListingInformation comment: Sent in response to ViewCrossRealmListing - opcode: 119 + opcode: 210 size: 464 - name: CWLinkshellNameAvailability comment: The server responds to CheckCWLinkshellNameAvailability, informing the client if the desired name was available or not. - opcode: 680 + opcode: 894 size: 40 - name: NewCrossworldLinkshell comment: The server responds to NewCrossworldLinkshellInfoRequest, providing some information on the newly created/joined cwls. - opcode: 569 + opcode: 185 size: 64 - name: RetainerInfo comment: Sent when the client requests retainer information through the bell. - opcode: 270 + opcode: 671 size: 80 - name: RetainerInfoEnd comment: Seen after a sequence of RetainerInfo packets. - opcode: 552 + opcode: 459 size: 24 - name: CrossworldLinkshellDisbanded comment: The server informs the client that the linkshell has been disbanded. - opcode: 392 + opcode: 434 size: 40 - name: CrossworldLinkshellMemberLeft comment: The server informs the client that a member in the linkshell has left (including themself if it was them). - opcode: 616 + opcode: 627 size: 64 - name: CrossworldLinkshellRenamed comment: The server informs the client that the linkshell has been renamed. - opcode: 110 + opcode: 266 size: 88 - name: CrossworldLinkshellMemberRank comment: The server informs the client that a member in the linkshell has had their rank changed. - opcode: 968 + opcode: 949 size: 64 - name: CrossworldLinkshellInvite comment: The server informs the client about an invitation to a cross-world linkshell. - opcode: 727 + opcode: 551 size: 128 - name: CrossworldLinkshellJoinedSelf comment: The server informs the client about the linkshell they just joined. - opcode: 857 + opcode: 886 size: 48 - name: CrossworldLinkshellJoined2 comment: The server informs the rest of the linkshell about the member that just joined. - opcode: 590 + opcode: 330 size: 56 - name: MailboxStatus comment: Upon login, the server informs the client of how many letters they have in their mailbox, along with any that are from support/GMs. - opcode: 914 + opcode: 774 size: 16 - name: MailboxPreview comment: The server sends the client previews of letters they have received. - opcode: 847 + opcode: 895 size: 1168 - name: ShowLinkshellError comment: The server sends the client an error message due to something going wrong with a linkshell. - opcode: 678 + opcode: 200 size: 24 - name: HousingInteriorDetails comment: The server sends the client exhaustive information (wall/floor textures, window models, etc.) about the housing interior they entered. - opcode: 645 + opcode: 420 size: 56 - name: ApartmentList comment: The server sends the client a list of apartments in the current apartment building. - opcode: 764 + opcode: 110 size: 1584 - name: FriendRemoved comment: The server informs the client about the result of their RemoveFriend request. - opcode: 386 + opcode: 563 size: 48 - name: Letter comment: The server sends the full contents of a letter to the client. - opcode: 885 + opcode: 285 size: 616 - name: LetterUpdate comment: The server informs the client about a letter being sent or deleted. - opcode: 773 + opcode: 807 size: 144 - name: HousingOccupiedLandInfo comment: Contains owner information of an occupied housing plot. This packet is sent when clicking a placard of an occupied plot, when clicking an occupied plot in the house list, or when viewing FC estate information. - opcode: 204 + opcode: 608 size: 280 - name: HousingVacantLandInfo comment: Contains lottery information of a vacant housing plot. This packet is sent when clicking the placard of a vacant plot. - opcode: 483 + opcode: 543 size: 40 - name: HousingEstateGreeting comment: Contains the greeting text for a specific housing plot. This packet is sent when hovering the greeting text bubble in the house list. - opcode: 781 + opcode: 249 size: 208 - name: NpcYell comment: Seen during Gold Saucer GATE announcements. - opcode: 613 + opcode: 179 size: 32 - name: InteriorFurniturePlaced comment: The server informs the client about a piece of furniture that was placed in the current housing interior. - opcode: 962 + opcode: 925 size: 32 - name: Mogpendium comment: Contains character specific Mogpendium progress data. - opcode: 821 + opcode: 183 size: 144 - name: PlayerName comment: Sent in response to the RequestPlayerName client trigger. - opcode: 735 + opcode: 250 size: 40 - name: ExteriorFurniturePlaced comment: The server informs the client about a piece of furniture that was placed in the current housing ward. - opcode: 311 + opcode: 547 size: 32 - name: EorzeanTimeOffset comment: Probably a GM-only opcode, it sets the time of day in the current zone. - opcode: 378 + opcode: 653 size: 8 - name: FurnitureTranslatedForObserver comment: The server informs the client about a piece of furniture being moved/rotated indoors or outdoors. This is only sent to observing clients. - opcode: 787 + opcode: 636 size: 24 - name: SharedFATEInformation comment: Unknown purpose. - opcode: 159 + opcode: 134 size: 16 - name: UnkDirector2 comment: Unknown purpose. - opcode: 387 + opcode: 583 size: 24 - name: StatusEffectListDouble comment: Unknown purpose, seen in instanced content. - opcode: 838 + opcode: 997 size: 720 - name: StatusEffectListPlayerDouble comment: Unknown purpose, seen in instanced content. - opcode: 477 + opcode: 165 size: 720 - name: UnkJobGauge comment: Seen while dying in instanced content. - opcode: 892 + opcode: 229 size: 8 - name: UpdateRecastTimes comment: Supposedly, from FFXIVOpcodes. - opcode: 320 + opcode: 152 size: 640 ClientZoneIpcType: - name: InitRequest comment: Sent by the client when they successfully initialize with the server, and they need several bits of information (e.g. what zone to load.) - opcode: 352 + opcode: 793 size: 120 - name: FinishLoading comment: Sent by the client when they're done loading and they need to be spawned in. - opcode: 358 + opcode: 986 size: 72 - name: ClientTrigger comment: Sent for a variety of actions from the client, e.g. sheathing a weapon. - opcode: 800 + opcode: 294 size: 32 - name: SocialListRequest comment: Sent by the client when it requests the friends list and other related info. - opcode: 313 + opcode: 169 size: 16 - name: UpdatePositionHandler comment: Contains the client's new position after the player moves their character. - opcode: 663 + opcode: 349 size: 24 - name: LogOut comment: Sent by the client when the user requests to log out. - opcode: 602 + opcode: 436 size: 8 - name: Disconnected comment: Sent by the client when it's actually disconnecting. - opcode: 766 + opcode: 400 size: 8 - name: SendChatMessage comment: Sent by the client when they send a chat message. - opcode: 228 + opcode: 495 size: 1056 - name: GMCommand comment: Sent by the client when they send a GM command. This can only be sent by the client if they are sent a GM rank. - opcode: 953 + opcode: 702 size: 32 - name: ZoneJump comment: Sent by the client when the character walks into a zone transistion. - opcode: 463 + opcode: 950 size: 24 - name: ActionRequest comment: Sent by the client when a character performs an action. - opcode: 251 + opcode: 884 size: 32 - name: PingSync comment: Occasionally sent by the client, purpose is unknown. - opcode: 796 + opcode: 878 size: 32 - name: UnkSocialEvent comment: Unknown purpose. @@ -810,31 +810,31 @@ ClientZoneIpcType: size: 8 - name: ItemOperation comment: Unknown purpose. - opcode: 242 + opcode: 190 size: 48 - name: StartTalkEvent comment: Unknown purpose. - opcode: 229 + opcode: 991 size: 16 - name: EventReturnHandler2 comment: Unknown purpose. - opcode: 393 + opcode: 304 size: 16 - name: EventReturnHandler8 comment: Unknown purpose. - opcode: 457 + opcode: 866 size: 40 - name: Config comment: Unknown purpose. - opcode: 567 + opcode: 867 size: 8 - name: EventYieldHandler2 comment: Unknown purpose, but seen when trying to play a Gold Saucer arcade machine. - opcode: 167 + opcode: 401 size: 16 - name: EventYieldHandler4 comment: Unknown purpose. - opcode: 488 + opcode: 639 size: 24 - name: EventYieldHandler16 comment: Unknown purpose. @@ -846,23 +846,23 @@ ClientZoneIpcType: size: 520 - name: UnkCall2 comment: Unsure the true purpose of this, but it's needed for the Unending Journey to function. - opcode: 356 + opcode: 223 size: 8 - name: StandardControlsPivot comment: This packet is sent by the client when they pivot left or right on standard controls. It is sent once when beginning to pivot, and once when pivoting ends. - opcode: 867 + opcode: 103 size: 8 - name: QueueDuties comment: Queue for the selected duties. - opcode: 603 + opcode: 800 size: 40 - name: ContentFinderAction comment: Unknown purpose. - opcode: 667 + opcode: 805 size: 8 - name: EquipGearset comment: Unknown purpose. - opcode: 615 + opcode: 488 size: 72 - name: EquipGearset2 comment: Unknown purpose, and also unsure why it's different from EquipGearset. @@ -870,43 +870,43 @@ ClientZoneIpcType: size: 128 - name: StartWalkInEvent comment: Unknown purpose. - opcode: 970 + opcode: 989 size: 24 - name: NewDiscovery comment: Sent by the client when they discover a new location on the map. - opcode: 114 + opcode: 817 size: 16 - name: GMCommandName comment: Sent by the client when they send a GM command. This can only be sent by the client if they are sent a GM rank. - opcode: 528 + opcode: 440 size: 52 - name: GMCommandName2 comment: Sent by the client when they send a GM command. This can only be sent by the client if they are sent a GM rank. Seen in //gm buddy_name. - opcode: 374 + opcode: 641 size: 40 - name: RequestBlacklist comment: Seems to happen when opening the Blacklist window. - opcode: 592 + opcode: 973 size: 8 - name: RequestFellowships comment: Seems to happen when opening the Fellowships window. - opcode: 857 + opcode: 886 size: 8 - name: RequestCrossworldLinkshells comment: Seems to happen when opening the Cross-world Linkshells window. This requests the extended version of the list, CrossworldLinkshellsEx. - opcode: 678 + opcode: 200 size: 8 - name: SearchFellowships comment: Seems to happen when opening the Fellowship Finder. - opcode: 858 + opcode: 244 size: 112 - name: StartCountdown comment: Happens when starting a countdown through the Countdown window. - opcode: 847 + opcode: 895 size: 40 - name: RequestPlaytime comment: Happens when the client requests the playtime using the /playtime command. - opcode: 310 + opcode: 162 size: 8 - name: SetFreeCompanyGreeting comment: Happens when the client sets their free company's message of the day. May have additional uses? @@ -914,7 +914,7 @@ ClientZoneIpcType: size: 200 - name: SetClientLanguage comment: Happens during initialization, informs the server what the client's language is set to. - opcode: 128 + opcode: 915 size: 8 - name: RequestCharaInfoFromContentIds comment: Happens when the client requests more information about other characters, and only has their content id. @@ -922,83 +922,83 @@ ClientZoneIpcType: size: 80 - name: PartyLeave comment: Happens when the client leaves their party. - opcode: 498 + opcode: 403 size: 8 - name: PartyDisband comment: Happens when the client disbands their party. - opcode: 630 + opcode: 444 size: 8 - name: InviteCharacter comment: Happens when the client invites another player to a party, adds them to their friend list, etc. - opcode: 673 + opcode: 291 size: 48 - name: InviteReply comment: Happens when the client responds to another player's party invitation. - opcode: 323 + opcode: 602 size: 16 - name: InviteReply2 comment: Happens when the client responds to another player's friend invitation. - opcode: 865 + opcode: 396 size: 48 - name: PartyMemberKick comment: Sent by the client to remove another player from their party. - opcode: 795 + opcode: 142 size: 48 - name: PartyChangeLeader comment: Sent by the client to relinquish leadership to another player in their party. - opcode: 466 + opcode: 795 size: 48 - name: RequestSearchInfo comment: Happens when the client requests search info for any player. - opcode: 194 + opcode: 813 size: 24 - name: RequestAdventurerPlate comment: Happens when the client requests the adventurer plate for any player. - opcode: 238 + opcode: 573 size: 16 - name: SearchPlayers comment: Happens when the client searches for players under the Social window. - opcode: 135 + opcode: 610 size: 176 - name: EditSearchInfo comment: Happens when the client wants to update the search info of the player. - opcode: 525 + opcode: 978 size: 216 - name: RequestOwnSearchInfo comment: Seems to happen when the client wants to know its own search info. - opcode: 761 + opcode: 974 size: 8 - name: WalkOutsideEvent comment: Sent by the client when walking outside a trigger (e.g. exiting Ul'dah in the opening.) - opcode: 430 + opcode: 720 size: 24 - name: EnterTerritoryEvent comment: Sent by the client when requesting to play an event (because we entered a territory.) - opcode: 596 + opcode: 120 size: 8 - name: Trade comment: Sent by the client while trading. - opcode: 118 + opcode: 550 size: 16 - name: ShareStrategyBoard comment: The client wishes to share a strategy board with their party. - opcode: 898 + opcode: 480 size: 1184 - name: StrategyBoardReceived comment: The client acknowledges receipt of a strategy board from another player. - opcode: 158 + opcode: 769 size: 16 - name: StrategyBoardUpdate comment: The client updates their strategy board during real-time sharing. - opcode: 919 + opcode: 376 size: 64 - name: RealtimeStrategyBoardFinished comment: The client finishes their real-time sharing session. - opcode: 939 + opcode: 747 size: 8 - name: ApplyFieldMarkerPreset comment: The client wants to apply a waymarker preset for their party. - opcode: 829 + opcode: 172 size: 104 - name: RequestFreeCompanyShortMessage comment: The client requests a character's short message in their free company. @@ -1006,63 +1006,63 @@ ClientZoneIpcType: size: 16 - name: QueueRoulette comment: The client queues into a roulette. - opcode: 496 + opcode: 490 size: 24 - name: InitiateReadyCheck comment: The client initiates a ready check for their party. - opcode: 702 + opcode: 750 size: 8 - name: ReadyCheckResponse comment: The client responds to an ongoing ready check from their party. - opcode: 296 + opcode: 633 size: 8 - name: RequestMarketBoardItems comment: When the client requests a list of specific items on the Market Board. - opcode: 564 + opcode: 438 size: 136 - name: SetFriendGroupIcon comment: When the client assigns a friend group icon to someone on their friend list. - opcode: 275 + opcode: 560 size: 16 - name: CreateLocalLinkshellRequest comment: The client requests the creation of a local linkshell. - opcode: 482 + opcode: 145 size: 40 - name: CrossworldLinkshellMemberListRequest comment: The client requests the member list for this cross-world linkshell. - opcode: 254 + opcode: 260 size: 16 - name: OpenTreasure comment: Unknown purpose. - opcode: 838 + opcode: 997 size: 8 - name: CrossRealmListingsRequest1 comment: Seen while opening the Party Finder. - opcode: 699 + opcode: 502 size: 56 - name: CrossRealmListingsRequest2 comment: Seen while opening the Party Finder. - opcode: 298 + opcode: 992 size: 40 - name: ViewCrossRealmListing comment: Seen while viewing information for a specific Party Finder listing. - opcode: 669 + opcode: 910 size: 16 - name: CheckCWLinkshellNameAvailability comment: The client requests if this name is available for use with a new cross-world linkshell. - opcode: 713 + opcode: 339 size: 40 - name: CreateNewCrossworldLinkshell comment: The client requests for the server to commence with creating the new cross-world linkshell after confirming its name's availability. - opcode: 844 + opcode: 593 size: 32 - name: DisbandCrossworldLinkshell comment: The client requests the deletion of a cross-world linkshell. - opcode: 582 + opcode: 836 size: 8 - name: LeaveCrossworldLinkshell comment: The client requests to leave a cross-world linkshell. Masters cannot do this, they first have to appoint a new Master or disband the linkshell entirely. - opcode: 293 + opcode: 268 size: 8 - name: RenameCrossworldLinkshell comment: The client requests to rename a cross-world linkshell. Only Masters can do this. @@ -1070,71 +1070,71 @@ ClientZoneIpcType: size: 40 - name: SetCWLSMemberRank comment: The client promotes a member in their linkshell to a higher rank. Only Masters can do this if the target is another player, and only Leaders can target themselves to resign. Masters resign when they leave the linkshell. - opcode: 314 + opcode: 151 size: 24 - name: RemoveCWLSMember comment: The client kicks a member from one of their cross-world Linkshells. Only Leaders and Masters can do this. - opcode: 178 + opcode: 846 size: 16 - name: InviteCharacterToCWLS comment: The client invites another character to join their cross-world linkshell. Only Leaders and Masters can do this. - opcode: 808 + opcode: 498 size: 24 - name: LinkshellInviteReply comment: The client replies to a cross-world linkshell invite. - opcode: 455 + opcode: 764 size: 16 - name: RequestMailbox comment: The client requests the contents of their mailbox from the server. - opcode: 315 + opcode: 469 size: 8 - name: SendLetter comment: The client sends a letter to a friend. - opcode: 164 + opcode: 967 size: 688 - name: RemoveFriend comment: The client removes a player from their friend list. - opcode: 140 + opcode: 254 size: 48 - name: ViewLetter comment: The client opens a letter in their mailbox. - opcode: 420 + opcode: 392 size: 16 - name: DeleteLetter comment: The client deletes a letter in their mailbox. - opcode: 926 + opcode: 136 size: 16 - name: RewardDeliveryRequest comment: The client requests that any pending reward letters be sent to them. - opcode: 341 + opcode: 382 size: 8 - name: TakeLetterAttachments comment: The client requests that any attachments in this letter be given to them. - opcode: 265 + opcode: 227 size: 64 - name: Dive comment: The client dives underwater. - opcode: 655 + opcode: 305 size: 32 - name: WorldInteraction comment: The client interacts with the world in some way. - opcode: 599 + opcode: 271 size: 32 - name: PlaceFurniture comment: The client places furniture on their property (indoors or outdoors), or into the relevant storeroom (the furniture is not spawned in that case). - opcode: 193 + opcode: 587 size: 40 - name: TranslateFurniture comment: The client moves or rotates a piece of furniture. - opcode: 956 + opcode: 981 size: 32 - name: UpdatePositionHandlerInstance comment: Used for client updating their position in instances. Unsure why it's separate. - opcode: 793 + opcode: 256 size: 40 - name: FallFromArena comment: Happens when you fall off the edge of an arena. - opcode: 598 + opcode: 515 size: 24 ServerLobbyIpcType: - name: NackReply diff --git a/resources/data/tests/zone/client/inventory_modify.bin b/resources/data/tests/zone/client/inventory_modify.bin index 521855af..0f51435f 100644 Binary files a/resources/data/tests/zone/client/inventory_modify.bin and b/resources/data/tests/zone/client/inventory_modify.bin differ