Game Opcodes
Revision as of 19:43, 24 March 2021 by Unnamed Mercenary (talk | contribs) (Unnamed Mercenary moved page Opcodes to Game Opcodes)
This is a list of all the various opcodes and their layouts that FFXIV 1.23b uses.
Lobby
Sent from Client
| Opcode | Packet Name | Size | Packet Description |
|---|---|---|---|
| 0x03 | Get Characters | ||
| 0x04 | Select Character | ||
| 0x05 | Get Accounts | Content/Service Accounts? | |
| 0x0B | Modify Character | ||
| 0x0F | Finish Mod Retainers | GM Tool? |
Sent from Server
| Opcode | Packet Name | Size | Packet Description |
|---|---|---|---|
| 0x01 | |||
| 0x02 | Error | ||
| 0x0C | Account List | ||
| 0x0D | Character List | ||
| 0x0E | Modify Character Reply | ||
| 0x0F | Select Character Reply | ||
| 0x10 | |||
| 0x15 | World List | ||
| 0x16 | Import Name List | ||
| 0x17 | Retainer List | ||
| 0x1F4 | |||
| 0x1F5 |
Game
| Opcode | Server -> Client | Client -> Server | Packet Description | |||
|---|---|---|---|---|---|---|
| Packet Name | Size | Packet Name | Size | |||
| 0x0001 | Pong | Ping | ||||
| 0x0002 | ??? | ??? | Received/Sent during login | |||
| 0x0003 | Chat Message | Chat Message | Sent along the chat socket | |||
| 0x0004 | Reset Engine? | |||||
| 0x0005 | Set Map | |||||
| 0x0006 | Mass Delete Actor Start | Language Code | ||||
| 0x0007 | Mass Delete Actor End | |||||
| 0x0008 | Actors to NOT Mass Delete | |||||
| 0x0009 | Actors to NOT Mass Delete (10?) | |||||
| 0x000A | Actors to NOT Mass Delete (20?) | |||||
| 0x000B | Actors to NOT Mass Delete (40?) | |||||
| 0x000C | Set Music | |||||
| 0x000D | Set Weather | |||||
| 0x000E | Logout | |||||
| 0x000F | ||||||
| 0x0010 | During Login - One param: 00 or FF? | |||||
| 0x0011 | Quit Game | |||||
| 0x00C7 | Party Message | |||||
| 0x00C8 | Tell Message | |||||
| 0x00C9 | Linkshell Message | |||||
| 0x00CA | Create Actor | Position Update | ||||
| 0x00CB | Delete Actor | |||||
| 0x00CC | Load Class Script for Actor | |||||
| 0x00CD | Unset Actor Class/Script? | Target Selected | ||||
| 0x00CE | Set Actor Position | Starting Cutscene | ||||
| 0x00CF | Move Actor to Position | /countdown | ||||
| 0x00D0 | Set Actor Speeds | |||||
| 0x00D2 | ? | Played Player does to mob, mob ID | ||||
| 0x00D3 | Set Actor Target (Animated) | Played Player does to mob, mob ID | ||||
| 0x00D4 | Turn Actor to Target | |||||
| 0x00D6 | Set Actor Appearance | |||||
| 0x00D7 | Flashes Appearance, Sets Actor Target | |||||
| 0x00D8 | Bind BG MapObj to Actor | |||||
| 0x00D9 | Play BG animation | spin: Ship In, spot: Ship Out, stt0: open dock, end0: close dock. Also "show"? | ||||
| 0x00DA | Play particle animation on actor (w.o stopping) | B9 0B 00 04 will fade you away | ||||
| 0x00DB | Set Actor Target | Final byte was 3F | ||||
| 0x00DC | ? Set Actor Targer (Unknown) | |||||
| 0x00DD | ? | |||||
| 0x00DE | ? Clears Actor Target (Seems to) | |||||
| 0x00DF | Set Actor Target | |||||
| 0x00E0 | Play animation/effect | Second param unknown | ||||
| 0x00E1 | Do Emote | Emotes use this | ||||
| 0x00E2 | Needed for mapchange (0x02 first byte) Show/Hide UI (0x15/0x16 first byte) | |||||
| 0x00E3 | Used to set "Have Quest" and "Important" NPC Icons | |||||
| 0x00E4 | Show/Hide Weapon | First byte can be 03, dunno what it does | ||||
| 0x00E5 | Countdown | |||||
| 0x012C | ||||||
| 0x012D | Script Start Request/Script Error | ~/Fired when actor with script is activated | ||||
| 0x012E | SetTalkEventCondition | Script Result | Sets actor to have a talk event condition/Fired after selecting an option in a script | |||
| 0x012F | KickClientOrderEvent | Parameter Data Request | Tells an actor to start an event/Fired on certain menus, asking for data | |||
| 0x0130 | StartServerOrderEventFunction | Like bed or door object | ||||
| 0x0131 | EndClientOrderEvent | |||||
| 0x0132 | Sets things up on PC creation (??) | |||||
| 0x0133 | General Data Packet | Group Created | Used for sending various info as well as some commands/Tells server to send work values | |||
| 0x0134 | Set Actor State | |||||
| 0x0135 | ||||||
| 0x0136 | SetEventStatus (Fire at the end to make em work) | |||||
| 0x0137 | Set Actor Propery (AKA: SynchMemory) | |||||
| 0x0138 | SetTargetTime | |||||
| 0x0139 | Battle Action (x01 Log/Effect) | Used for general attacks | ||||
| 0x013A | Battle Action (x10 Log/Effect) | Shows EXP Chains/Exp gained | ||||
| 0x013B | Battle Action (x18 Log/Effect) | |||||
| 0x013C | Battle Action (No Log/Effect) | Shows chocobo mount animation | ||||
| 0x013D | Set Actor Name | |||||
| 0x0143 | Delete Group | Might be delete group... sends group ids | ||||
| 0x0144 | Set Actor Animation | 0xc?, 0x00 0xF0? | ||||
| 0x0145 | Set Actor Icon (ChangeActorExtraStat) | |||||
| 0x0146 | Inventory Chunk Start | ActorId, Count, Inventory Type | 05, 62: Key Items | |||
| 0x0147 | Inventory Chunk End | 8bytes of 0. | ||||
| 0x0148 | Add Item (x01) | |||||
| 0x0149 | Add Item (x08, variable) | |||||
| 0x014A | Add Item (x16) | |||||
| 0x014B | Add Item (x32) | |||||
| 0x014C | Add Item (x64) | |||||
| 0x014D | Set Equipment Id (x01) | |||||
| 0x014E | Set Equipment Id (x08, variable) | |||||
| 0x014F | Set Equipment Id (x16) | |||||
| 0x0150 | Set Equipment Id (x32) | |||||
| 0x0151 | Set Equipment Id (x64) | |||||
| 0x0152 | Remove Item (x01) | 2bytes each | ||||
| 0x0153 | Remove Item (x08, variable) | count at 0x10 | ||||
| 0x0154 | Remove Item (x16) | |||||
| 0x0155 | Remove Item (x32) | |||||
| 0x0156 | Remove Item (x64) | |||||
| 0x0157 | Text Sheet Message (Source Actor) 1 | [Source Actor][WorldMaster Id][Text Id][Log] (30Bytes) | Used on Chocobo Call/Dismiss. | |||
| 0x0158 | Text Sheet Message (Source Actor) 2 | [Source Actor][WorldMaster Id][Text Id][Log][Params] [@0x14: int32] (38Bytes) | Used for "You can't use that item now". Last int32 needs to be > 4... investigate. | |||
| 0x0159 | Text Sheet Message (Source Actor) 3 | [Source Actor][WorldMaster Id][Text Id][Log][Params] (40Bytes) | Used for Ability switch/Class Switch | |||
| 0x015A | Text Sheet Message (Source Actor) 4 | [Source Actor][WorldMaster Id][Text Id][Log][Params] (50Bytes) | Used for "You obtain a [item]" | |||
| 0x015B | Text Sheet Message (Source Actor) 5 | [Source Actor][WorldMaster Id][Text Id][Log][Params] (70Bytes) | ||||
| 0x015C | Text Sheet Message (Custom Sender) 1 | [NPC Actor Id][Text Id][Log][0x20Bytes Name] (48Bytes) | ||||
| 0x015D | Text Sheet Message (Custom Sender) 2 | [NPC Actor Id][Text Id][Log][0x20Bytes Name][Params][@0x30: int32] (58Bytes) | ||||
| 0x015E | Text Sheet Message (Custom Sender) 3 | [NPC Actor Id][Text Id][Log][0x20Bytes Name][Params] (68Bytes) | ||||
| 0x015F | Text Sheet Message (Custom Sender) 4 | [NPC Actor Id][Text Id][Log][0x20Bytes Name][Params] (78Bytes) | ||||
| 0x0160 | Text Sheet Message (Custom Sender) 5 | [NPC Actor Id][Text Id][Log][0x20Bytes Name][Params] (98Bytes) | ||||
| 0x0161 | Text Sheet Message (DispId Sender) 1 | [Display Name Id][NPC Actor Id][Text Id][Log] (30Bytes) | ||||
| 0x0162 | Text Sheet Message (DispId Sender) 2 | [Display Name Id][NPC Actor Id][Text Id][Log][Params] [@0x14: int32] (38Bytes) | ||||
| 0x0163 | Text Sheet Message (DispId Sender) 3 | [Display Name Id][NPC Actor Id][Text Id][Log][Params] (40Bytes) | ||||
| 0x0164 | Text Sheet Message (DispId Sender) 4 | [Display Name Id][NPC Actor Id][Text Id][Log][Params] (50Bytes) | ||||
| 0x0165 | Text Sheet Message (DispId Sender) 5 | [Display Name Id][NPC Actor Id][Text Id][Log][Params] (60Bytes) | ||||
| 0x0166 | Text Sheet Message (No Source Actor) 1 | [WorldMaster Id][Text Id][Log] (28Bytes) | Used during "Teleporting" or "Can't carry anymore" message | |||
| 0x0167 | Text Sheet Message (No Source Actor) 2 | [WorldMaster Id][Text Id][Log][Params] [@0x30: int32] (38Bytes) | Used during "Entering Bowl of Embers" message | |||
| 0x0168 | Text Sheet Message (No Source Actor) 3 | [WorldMaster Id][Text Id][Log][Params] (38Bytes) | Used for "You Don't not have an Inferno lamp" and "You use 4 fire shards" message | |||
| 0x0169 | Text Sheet Message (No Source Actor) 4 | [WorldMaster Id][Text Id][Log][Params] (48Bytes) | Used for "teleport/anima" message | |||
| 0x016A | Text Sheet Message (No Source Actor) 5 | [WorldMaster Id][Text Id][Log][Params] (68Bytes) | ||||
| 0x016B | SetNoticeEventCondition | |||||
| 0x016C | SetEmoteEventCondition | emoteDefault? | ||||
| 0x016D | Inventory Start | |||||
| 0x016E | Inventory End | |||||
| 0x016F | SetPushEventConditionWithCircle | |||||
| 0x0170 | SetPushEventConditionWithFan | |||||
| 0x0171 | ||||||
| 0x0172 | ||||||
| 0x0173 | ||||||
| 0x0174 | ||||||
| 0x0175 | SetPushEventConditionWithTriggerBox | |||||
| 0x0176 | Equip Related????? Look in beta/alpha | |||||
| 0x0177 | Set Status @ Index | |||||
| 0x0179 | Set All Status | |||||
| 0x017A | Set Group Work Properties | |||||
| 0x017B | Set Actor In Different Zone | |||||
| 0x017C | Group Packet Header | |||||
| 0x017D | Group Begin | |||||
| 0x017E | Group End | |||||
| 0x017F | Group Members Body (x8, variable) | |||||
| 0x0180 | Group Members Body (x16) | |||||
| 0x0181 | Group Members Body (x32) | |||||
| 0x0182 | Group Members Body (x64) | |||||
| 0x0183 | Group Duty Members Body (x8, variable) | |||||
| 0x0184 | Group Duty Members Body (x16) | |||||
| 0x0185 | Group Duty Members Body (x32) | |||||
| 0x0186 | Group Duty Members Body (x64) | |||||
| 0x0187 | Single Group related | 0x08: FFFFFFFF, 0x0C: Name? | ||||
| 0x0188 | Create Named Group (IE: LS) | 0x00: 07, 0x10: Name? | ||||
| 0x0189 | Create Named Group (x8, variable) | Linkshell list? npc_pc_lastevent | ||||
| 0x018A | Set Active Linkshell | |||||
| 0x018B | Group Update Member (x1) | |||||
| 0x018C | Group Update Member (x8, variable) (?? guess) | |||||
| 0x018D | Group Update Member (x16, variable) (??) | |||||
| 0x018E | ChangeSystemStat | |||||
| 0x018F | Some Start Tag? | |||||
| 0x0190 | Some Body Opcode? | |||||
| 0x0191 | Some End Tag? | |||||
| 0x0192 | ||||||
| 0x0193 | Stops control (0x14) and starts (0x15). | 0x13 talks about actioncheck value being set. | ||||
| 0x0194 | Set Grand Company Info | |||||
| 0x0195 | Set Emnity Indicator | First arg actorID, Second emnity level | ||||
| 0x0196 | ??? - In Packet 7 | 0x00,00,0xE (1.19a), 0x00,00,0D (1.20), 0x00,07,5A also 0x1 @ 10 bytes backwards(1.22c), 0x000014, 1 in same spot. (1.23b) | ||||
| 0x0197 | Set Chocobo Appearance | 0: Standard, 1-4: Maelstrom, 1F-22: Adders, 3D-3F: Flames | ||||
| 0x0198 | Set Chocobo Name | |||||
| 0x0199 | Set Has Chocobo | > 0 YES, else NO | ||||
| 0x019A | Set Achievements Completed | |||||
| 0x019B | Set Top Achievements | |||||
| 0x019C | Set Total Achievement Points | |||||
| 0x019D | Set Player Title | |||||
| 0x019E | Achievement Earned Packet | |||||
| 0x019F | Respond Achievement Completion Rate | |||||
| 0x01A0 | Set Gobbue Appearance | |||||
| 0x01A1 | Set Has Gobbue Mount | > 0 YES, else NO | ||||
| 0x01A2 | JobQuestCompleteTriple | |||||
| 0x01A3 | Set Completed Quests (For Book) | Sets path companion too | ||||
| 0x01A4 | Set Current Job | |||||
| 0x01A5 | EntrustItem (20 bytes. Each byte tested as bitflag.) | |||||
| 0x01A6 | HamletSupplyRanking | |||||
| 0x01A7 | Set Dream Result (Required for wakeup) | |||||
| 0x01A8 | HamletDefenseScore | |||||
| 0x01C2 | Doesn't Exist? | |||||
| 0x01C3 | Recruiting Started Response | Recruitment Start Request | 0 = Failed, 1 = Successful | |||
| 0x01C4 | Recruiting Ended Response | Recruitment End Request | 0 = Failed, 1 = Successful | |||
| 0x01C5 | Recruiting State Response (Open Party) | Party Window Opened, asking for state | ||||
| 0x01C6 | Recruiting Acceptment Response | |||||
| 0x01C7 | Recruitment Search Results | Search Result request | ||||
| 0x01C8 | Get Recruitment Info | Current Recruitment Info request | Unable to retrieve recruitment info | |||
| 0x01C9 | Add Blacklist Response | 0 = Failed, 1 = Successful | ||||
| 0x01CA | Remove Blacklist Response | 0 = Failed, 1 = Successful | ||||
| 0x01CB | Send Blacklist | |||||
| 0x01CC | Add Friendlist Response | |||||
| 0x01CD | Remove Friendlist Response | 0 = Failed, 1 = Successful | ||||
| 0x01CE | Send Friendlist | |||||
| 0x01CF | Friend Status Update Response | |||||
| 0x01D0 | Faq Request Response | |||||
| 0x01D1 | Faq Body Response | |||||
| 0x01D2 | Send Issue Options | |||||
| 0x01D3 | Makes GM Icon Reply appear | First byte must == 1 to show icon | ||||
| 0x01D4 | GM Message Response | |||||
| 0x01D5 | GM Ticket Sent Response. | 0 = GM send failed, 1 = GM send successful | ||||
| 0x01D6 | Confirm GM ticket ended | First byte must == 1 to hide icon | ||||
| 0x01D7 | Deals with something stored at EAX + C8 | |||||
| 0x01D8 | Deals with something stored at EAX + C8 | |||||
| 0x01D9 | Deals with something stored at EAX + C8 | |||||
| 0x01DA | Deals with something stored at EAX + E8 | |||||
| 0x01DB | Deals with something stored at EAX + E8 | |||||
| 0x01DC | Set Search Info | Deals with something stored at EAX + E8 | ||||
| 0x01DD | Bazaar? | Begin Search | ||||
| 0x01DE | Response to Client 0x1DB | Needs to have 0x1DB to fire | ||||
| 0x01DF | Search Information Response | |||||
| 0x01E0 | Ends Search but also has info???? | |||||
| 0x01E1 | Deals with something stored at EAX + C8 | |||||
| 0x01F4 | Unused? | |||||
| 0x01F5 | Unused? | |||||
| 0x01F6 | Unused? | |||||