From 8dd24f4a709dc6abfbb80da02b3c2544fbf88cf7 Mon Sep 17 00:00:00 2001 From: dannuic Date: Mon, 13 Apr 2026 15:47:13 -0500 Subject: [PATCH] Updated comments for LogServer --- common/patches/tob.cpp | 54 +++----- tob/opcodes.md | 296 ++++++++++++++++++++--------------------- 2 files changed, 169 insertions(+), 181 deletions(-) diff --git a/common/patches/tob.cpp b/common/patches/tob.cpp index 000f5255d..f1130e5b4 100644 --- a/common/patches/tob.cpp +++ b/common/patches/tob.cpp @@ -856,82 +856,70 @@ namespace TOB SETUP_VAR_ENCODE(LogServer_Struct); ALLOC_LEN_ENCODE(1932); - //pvp + // pvp if (emu->enable_pvp) { *(char*)&__packet->pBuffer[0x04] = 1; } if (emu->enable_FV) { - //FV sets these both to 1 - //one appears to enable the no drop flag the other just marks the server as special? - *(char*)&__packet->pBuffer[0x08] = 1; - *(char*)&__packet->pBuffer[0x0a] = 1; + *(char*)&__packet->pBuffer[0x08] = 1; // RP server + *(char*)&__packet->pBuffer[0x0a] = 1; // free loot server } - //This has something to do with heirloom and prestige items but im not sure what it does - //Seems to sit at 0 + // this lets you transfer no drop items in the shared bank *(char*)&__packet->pBuffer[0x75d] = 0; - //not sure what this does, something to do with server select + // disable tutorial at character create/select *(char*)&__packet->pBuffer[0x09] = 0; - //this appears to have some effect on the tradeskill system; disabling made by tags perhaps? + // this is the auto-identify flag *(char*)&__packet->pBuffer[0x0b] = 0; - //not sure, setting it to the value ive seen + // not actually used in the client, has to do with name gen *(char*)&__packet->pBuffer[0x0c] = 1; - //Something to do with languages + // unknown languages are gibberish *(char*)&__packet->pBuffer[0x0d] = 1; - //These seem to affect if server has betabuff enabled - *(char*)&__packet->pBuffer[0x600] = 0; - *(char*)&__packet->pBuffer[0x601] = 0; - //This is set on test so it's probably indicating this is a test server - *(char*)&__packet->pBuffer[0x602] = 0; - - //not sure, but it's grouped with the beta and test stuff - *(char*)&__packet->pBuffer[0x603] = 0; + // is_dev_server flags + *(char*)&__packet->pBuffer[0x600] = 0; // is beta server + *(char*)&__packet->pBuffer[0x601] = 0; // override allow beta buff (for any server) + *(char*)&__packet->pBuffer[0x602] = 0; // is test server (name reservations are unavailable) + *(char*)&__packet->pBuffer[0x603] = 0; // unused in the client //world short name strncpy((char*)&__packet->pBuffer[0x15], emu->worldshortname, 32); - //not sure, affects some player calculation but didn't care to look more + // static base HP/MP regen *(char*)&__packet->pBuffer[0x5ec] = 0; - //Looks right + // use mail system if (emu->enablemail) { *(char*)&__packet->pBuffer[0x5f5] = 1; } - //Looks right + // use voice macros if (emu->enablevoicemacros) { *(char*)&__packet->pBuffer[0x5f4] = 1; } - //Not sure, sending what we've seen + // Disable character select buttons except create character *(char*)&__packet->pBuffer[0x5f6] = 0; - //Not sure sending what we've seen + // enable tutorial at character create/select *(char*)&__packet->pBuffer[0x5f8] = 1; - //Not sure sending what we've seen + // client defaults, unused *(int32_t*)&__packet->pBuffer[0x63c] = -1; - - //Test sets this to 1, everyone else seems to set it to 0 *(int32_t*)&__packet->pBuffer[0x640] = 0; - - //Disassembly puts it next to code dealing with commands, ive not seen anyone send anything but 0 *(char*)&__packet->pBuffer[0x745] = 0; - - //Something about item restrictions, seems to always be set to 1 *(char*)&__packet->pBuffer[0x750] = 1; - //This and 0x724 are often multiplied together in guild favor calcs, live and test send 1.0f + // these are always multiplied together in guild favor calcs for display, live and test send 1.0f *(float*)&__packet->pBuffer[0x760] = 1.0f; *(float*)&__packet->pBuffer[0x764] = 1.0f; - //This and 0x72c are often multiplied together in non-guild favor calcs, live and test send 1.0f + // these are always multiplied together in non-guild favor calcs for display, live and test send 1.0f *(float*)&__packet->pBuffer[0x768] = 1.0f; *(float*)&__packet->pBuffer[0x76c] = 1.0f; diff --git a/tob/opcodes.md b/tob/opcodes.md index fbafc2ae3..109f4431b 100644 --- a/tob/opcodes.md +++ b/tob/opcodes.md @@ -342,7 +342,7 @@ Below is a status list for the 450 opcodes we currently use on the server for th | `OP_LoginUnknown2` | 🔴 Not-Set | | | | `OP_Logout` | 🟡 Unverified | | | | `OP_LogoutReply` | 🔴 Not-Set | | | -| `OP_LogServer` | 🟡 Unverified | Set via disassembly, lots of unknowns still | | +| `OP_LogServer` | 🟢 Verified | Mostly unused values | | | `OP_LootComplete` | 🟡 Unverified | | | | `OP_LootItem` | 🟡 Unverified | | | | `OP_LootRequest` | 🟡 Unverified | | | @@ -487,150 +487,150 @@ Below is a status list for the 450 opcodes we currently use on the server for th | `OP_SendMaxCharacters` | 🟢 Verified | | | | `OP_SendMembership` | 🟡 Unverified | Seems right but may be new stuff we need to figure out | | | `OP_SendMembershipDetails` | 🟡 Unverified | Seems right but may be new stuff we need to figure out | | -| `OP_SendSystemStats` | 🔴 Not-Set | | | -| `OP_SendTitleList` | 🔴 Not-Set | | | -| `OP_SendTributes` | 🔴 Not-Set | | | -| `OP_SendZonepoints` | 🟡 Unverified | | | -| `OP_SenseHeading` | 🟡 Unverified | | | -| `OP_SenseTraps` | 🟡 Unverified | | | -| `OP_ServerListRequest` | 🔴 Not-Set | | | -| `OP_ServerListResponse` | 🔴 Not-Set | | | -| `OP_SessionReady` | 🔴 Not-Set | | | -| `OP_SetChatServer` | 🔴 Not-Set | | | -| `OP_SetChatServer2` | 🟡 Unverified | | | -| `OP_SetFace` | 🔴 Not-Set | | | -| `OP_SetGroupTarget` | 🔴 Not-Set | | | -| `OP_SetGuildMOTD` | 🔴 Not-Set | | | -| `OP_SetGuildRank` | 🔴 Not-Set | | | -| `OP_SetRunMode` | 🟡 Unverified | | | -| `OP_SetServerFilter` | 🟡 Unverified | | | -| `OP_SetStartCity` | 🔴 Not-Set | | | -| `OP_SetTitle` | 🔴 Not-Set | | | -| `OP_SetTitleReply` | 🔴 Not-Set | | | -| `OP_SharedTaskMemberList` | 🔴 Not-Set | | | -| `OP_SharedTaskAddPlayer` | 🔴 Not-Set | | | -| `OP_SharedTaskRemovePlayer` | 🔴 Not-Set | | | -| `OP_SharedTaskMakeLeader` | 🔴 Not-Set | | | -| `OP_SharedTaskMemberInvite` | 🔴 Not-Set | | | -| `OP_SharedTaskInvite` | 🔴 Not-Set | | | -| `OP_SharedTaskInviteResponse` | 🔴 Not-Set | | | -| `OP_SharedTaskAcceptNew` | 🔴 Not-Set | | | -| `OP_SharedTaskMemberChange` | 🔴 Not-Set | | | -| `OP_SharedTaskPlayerList` | 🔴 Not-Set | | | -| `OP_SharedTaskSelectWindow` | 🔴 Not-Set | | | -| `OP_SharedTaskQuit` | 🔴 Not-Set | | | -| `OP_TaskTimers` | 🔴 Not-Set | | | -| `OP_Shielding` | 🔴 Not-Set | | | -| `OP_ShopDelItem` | 🟡 Unverified | | | -| `OP_ShopEnd` | 🟡 Unverified | | | -| `OP_ShopEndConfirm` | 🟡 Unverified | | | -| `OP_ShopItem` | 🔴 Not-Set | | | -| `OP_ShopPlayerBuy` | 🟡 Unverified | | | -| `OP_ShopPlayerSell` | 🟡 Unverified | | | -| `OP_ShopSendParcel` | 🟡 Unverified | | | -| `OP_ShopDeleteParcel` | 🟡 Unverified | | | -| `OP_ShopRespondParcel` | 🔴 Not-Set | | | -| `OP_ShopRetrieveParcel` | 🟡 Unverified | | | -| `OP_ShopParcelIcon` | 🟡 Unverified | | | -| `OP_ShopRequest` | 🟡 Unverified | | | -| `OP_SimpleMessage` | 🟡 Unverified | | | -| `OP_SkillUpdate` | 🟡 Unverified | | | -| `OP_Sneak` | 🟡 Unverified | | | -| `OP_Some3ByteHPUpdate` | 🔴 Not-Set | | | -| `OP_Some6ByteHPUpdate` | 🔴 Not-Set | | | -| `OP_SomeItemPacketMaybe` | 🔴 Not-Set | | | -| `OP_Sound` | 🟡 Unverified | | | -| `OP_SpawnAppearance` | 🟡 Unverified | | | -| `OP_SpawnDoor` | 🟡 Unverified | | | -| `OP_SpawnPositionUpdate` | 🔴 Not-Set | | | -| `OP_SpecialMesg` | 🟡 Unverified | | | -| `OP_SpellEffect` | 🟡 Unverified | | | -| `OP_Split` | 🟡 Unverified | | | -| `OP_Stamina` | 🟡 Unverified | | | -| `OP_Stun` | 🟡 Unverified | | | -| `OP_Surname` | 🔴 Not-Set | | | -| `OP_SwapSpell` | 🟡 Unverified | | | -| `OP_SystemFingerprint` | 🔴 Not-Set | | | -| `OP_TargetBuffs` | 🔴 Not-Set | | | -| `OP_TargetCommand` | 🟡 Unverified | | | -| `OP_TargetHoTT` | 🔴 Not-Set | | | -| `OP_TargetMouse` | 🟡 Unverified | | | -| `OP_TargetReject` | 🔴 Not-Set | | | -| `OP_TaskActivity` | 🔴 Not-Set | | | -| `OP_TaskActivityComplete` | 🔴 Not-Set | | | -| `OP_TaskDescription` | 🔴 Not-Set | | | -| `OP_TaskHistoryReply` | 🔴 Not-Set | | | -| `OP_TaskHistoryRequest` | 🔴 Not-Set | | | -| `OP_TaskRequestTimer` | 🔴 Not-Set | | | -| `OP_TaskSelectWindow` | 🔴 Not-Set | | | -| `OP_Taunt` | 🟡 Unverified | | | -| `OP_TestBuff` | 🔴 Not-Set | | | -| `OP_TGB` | 🔴 Not-Set | | | -| `OP_TimeOfDay` | 🟡 Unverified | | | -| `OP_Track` | 🟡 Unverified | | | -| `OP_TrackTarget` | 🟡 Unverified | | | -| `OP_TrackUnknown` | 🟡 Unverified | | | -| `OP_TradeAcceptClick` | 🟡 Unverified | | | -| `OP_TradeBusy` | 🟡 Unverified | | | -| `OP_TradeCoins` | 🟡 Unverified | | | -| `OP_TradeMoneyUpdate` | 🟡 Unverified | | | -| `OP_Trader` | 🔴 Not-Set | | | -| `OP_TraderBulkSend` | 🔴 Not-Set | | | -| `OP_TraderBuy` | 🔴 Not-Set | | | -| `OP_TraderDelItem` | 🔴 Not-Set | | | -| `OP_TradeRequest` | 🟡 Unverified | | | -| `OP_TradeRequestAck` | 🟡 Unverified | | | -| `OP_TraderItemUpdate` | 🔴 Not-Set | | | -| `OP_TraderShop` | 🔴 Not-Set | | | -| `OP_TradeSkillCombine` | 🟡 Unverified | | | -| `OP_TradeSkillRecipeInspect` | 🔴 Not-Set | | | -| `OP_Translocate` | 🟡 Unverified | | | -| `OP_TributeInfo` | 🔴 Not-Set | | | -| `OP_TributeItem` | 🔴 Not-Set | | | -| `OP_TributeMoney` | 🔴 Not-Set | | | -| `OP_TributeNPC` | 🔴 Not-Set | | | -| `OP_TributePointUpdate` | 🔴 Not-Set | | | -| `OP_TributeTimer` | 🔴 Not-Set | | | -| `OP_TributeToggle` | 🔴 Not-Set | | | -| `OP_TributeUpdate` | 🔴 Not-Set | | | -| `OP_Untargetable` | 🟡 Unverified | | | -| `OP_UpdateAA` | 🟡 Unverified | | | -| `OP_UpdateAura` | 🔴 Not-Set | | | -| `OP_UpdateLeadershipAA` | 🔴 Not-Set | | | -| `OP_VetClaimReply` | 🔴 Not-Set | | | -| `OP_VetClaimRequest` | 🔴 Not-Set | | | -| `OP_VetRewardsAvaliable` | 🔴 Not-Set | | | -| `OP_VoiceMacroIn` | 🟡 Unverified | | | -| `OP_VoiceMacroOut` | 🟡 Unverified | | | -| `OP_WeaponEquip1` | 🔴 Not-Set | | | -| `OP_WearChange` | 🟡 Unverified | | | -| `OP_Weather` | 🟡 Unverified | | | -| `OP_Weblink` | 🟡 Unverified | | | -| `OP_WhoAllRequest` | 🟡 Unverified | | | -| `OP_WhoAllResponse` | 🟡 Unverified | | | -| `OP_World_Client_CRC1` | 🟡 Unverified | | | -| `OP_World_Client_CRC2` | 🟡 Unverified | | | -| `OP_World_Client_CRC3` | 🟡 Unverified | | | -| `OP_WorldClientReady` | 🟡 Unverified | | | -| `OP_WorldComplete` | 🟡 Unverified | | | -| `OP_WorldLogout` | 🔴 Not-Set | | | -| `OP_WorldObjectsSent` | 🟡 Unverified | | | -| `OP_WorldUnknown001` | 🟡 Unverified | | | -| `OP_XTargetAutoAddHaters` | 🔴 Not-Set | | | -| `OP_XTargetOpen` | 🔴 Not-Set | | | -| `OP_XTargetOpenResponse` | 🔴 Not-Set | | | -| `OP_XTargetRequest` | 🔴 Not-Set | | | -| `OP_XTargetResponse` | 🔴 Not-Set | | | -| `OP_YellForHelp` | 🟡 Unverified | | | -| `OP_ZoneChange` | 🟡 Unverified | | | -| `OP_ZoneComplete` | 🔴 Not-Set | | | -| `OP_ZoneEntry` | 🟢 Verified | | | -| `OP_ZoneGuildList` | 🔴 Not-Set | | | -| `OP_ZoneInUnknown` | 🔴 Not-Set | | | -| `OP_ZonePlayerToBind` | 🟡 Unverified | | | -| `OP_ZoneServerInfo` | 🟢 Verified | | | -| `OP_ZoneServerReady` | 🔴 Not-Set | | | -| `OP_ZoneSpawns` | 🟢 Verified | | | -| `OP_ZoneUnavail` | 🟡 Unverified | | | -| `OP_ResetAA` | 🟡 Unverified | | | -| `OP_UnderWorld` | 🟡 Unverified | | | +| `OP_SendSystemStats` | 🔴 Not-Set | | | +| `OP_SendTitleList` | 🔴 Not-Set | | | +| `OP_SendTributes` | 🔴 Not-Set | | | +| `OP_SendZonepoints` | 🟡 Unverified | | | +| `OP_SenseHeading` | 🟡 Unverified | | | +| `OP_SenseTraps` | 🟡 Unverified | | | +| `OP_ServerListRequest` | 🔴 Not-Set | | | +| `OP_ServerListResponse` | 🔴 Not-Set | | | +| `OP_SessionReady` | 🔴 Not-Set | | | +| `OP_SetChatServer` | 🔴 Not-Set | | | +| `OP_SetChatServer2` | 🟡 Unverified | | | +| `OP_SetFace` | 🔴 Not-Set | | | +| `OP_SetGroupTarget` | 🔴 Not-Set | | | +| `OP_SetGuildMOTD` | 🔴 Not-Set | | | +| `OP_SetGuildRank` | 🔴 Not-Set | | | +| `OP_SetRunMode` | 🟡 Unverified | | | +| `OP_SetServerFilter` | 🟡 Unverified | | | +| `OP_SetStartCity` | 🔴 Not-Set | | | +| `OP_SetTitle` | 🔴 Not-Set | | | +| `OP_SetTitleReply` | 🔴 Not-Set | | | +| `OP_SharedTaskMemberList` | 🔴 Not-Set | | | +| `OP_SharedTaskAddPlayer` | 🔴 Not-Set | | | +| `OP_SharedTaskRemovePlayer` | 🔴 Not-Set | | | +| `OP_SharedTaskMakeLeader` | 🔴 Not-Set | | | +| `OP_SharedTaskMemberInvite` | 🔴 Not-Set | | | +| `OP_SharedTaskInvite` | 🔴 Not-Set | | | +| `OP_SharedTaskInviteResponse` | 🔴 Not-Set | | | +| `OP_SharedTaskAcceptNew` | 🔴 Not-Set | | | +| `OP_SharedTaskMemberChange` | 🔴 Not-Set | | | +| `OP_SharedTaskPlayerList` | 🔴 Not-Set | | | +| `OP_SharedTaskSelectWindow` | 🔴 Not-Set | | | +| `OP_SharedTaskQuit` | 🔴 Not-Set | | | +| `OP_TaskTimers` | 🔴 Not-Set | | | +| `OP_Shielding` | 🔴 Not-Set | | | +| `OP_ShopDelItem` | 🟡 Unverified | | | +| `OP_ShopEnd` | 🟡 Unverified | | | +| `OP_ShopEndConfirm` | 🟡 Unverified | | | +| `OP_ShopItem` | 🔴 Not-Set | | | +| `OP_ShopPlayerBuy` | 🟡 Unverified | | | +| `OP_ShopPlayerSell` | 🟡 Unverified | | | +| `OP_ShopSendParcel` | 🟡 Unverified | | | +| `OP_ShopDeleteParcel` | 🟡 Unverified | | | +| `OP_ShopRespondParcel` | 🔴 Not-Set | | | +| `OP_ShopRetrieveParcel` | 🟡 Unverified | | | +| `OP_ShopParcelIcon` | 🟡 Unverified | | | +| `OP_ShopRequest` | 🟡 Unverified | | | +| `OP_SimpleMessage` | 🟡 Unverified | | | +| `OP_SkillUpdate` | 🟡 Unverified | | | +| `OP_Sneak` | 🟡 Unverified | | | +| `OP_Some3ByteHPUpdate` | 🔴 Not-Set | | | +| `OP_Some6ByteHPUpdate` | 🔴 Not-Set | | | +| `OP_SomeItemPacketMaybe` | 🔴 Not-Set | | | +| `OP_Sound` | 🟡 Unverified | | | +| `OP_SpawnAppearance` | 🟡 Unverified | | | +| `OP_SpawnDoor` | 🟡 Unverified | | | +| `OP_SpawnPositionUpdate` | 🔴 Not-Set | | | +| `OP_SpecialMesg` | 🟡 Unverified | | | +| `OP_SpellEffect` | 🟡 Unverified | | | +| `OP_Split` | 🟡 Unverified | | | +| `OP_Stamina` | 🟡 Unverified | | | +| `OP_Stun` | 🟡 Unverified | | | +| `OP_Surname` | 🔴 Not-Set | | | +| `OP_SwapSpell` | 🟡 Unverified | | | +| `OP_SystemFingerprint` | 🔴 Not-Set | | | +| `OP_TargetBuffs` | 🔴 Not-Set | | | +| `OP_TargetCommand` | 🟡 Unverified | | | +| `OP_TargetHoTT` | 🔴 Not-Set | | | +| `OP_TargetMouse` | 🟡 Unverified | | | +| `OP_TargetReject` | 🔴 Not-Set | | | +| `OP_TaskActivity` | 🔴 Not-Set | | | +| `OP_TaskActivityComplete` | 🔴 Not-Set | | | +| `OP_TaskDescription` | 🔴 Not-Set | | | +| `OP_TaskHistoryReply` | 🔴 Not-Set | | | +| `OP_TaskHistoryRequest` | 🔴 Not-Set | | | +| `OP_TaskRequestTimer` | 🔴 Not-Set | | | +| `OP_TaskSelectWindow` | 🔴 Not-Set | | | +| `OP_Taunt` | 🟡 Unverified | | | +| `OP_TestBuff` | 🔴 Not-Set | | | +| `OP_TGB` | 🔴 Not-Set | | | +| `OP_TimeOfDay` | 🟡 Unverified | | | +| `OP_Track` | 🟡 Unverified | | | +| `OP_TrackTarget` | 🟡 Unverified | | | +| `OP_TrackUnknown` | 🟡 Unverified | | | +| `OP_TradeAcceptClick` | 🟡 Unverified | | | +| `OP_TradeBusy` | 🟡 Unverified | | | +| `OP_TradeCoins` | 🟡 Unverified | | | +| `OP_TradeMoneyUpdate` | 🟡 Unverified | | | +| `OP_Trader` | 🔴 Not-Set | | | +| `OP_TraderBulkSend` | 🔴 Not-Set | | | +| `OP_TraderBuy` | 🔴 Not-Set | | | +| `OP_TraderDelItem` | 🔴 Not-Set | | | +| `OP_TradeRequest` | 🟡 Unverified | | | +| `OP_TradeRequestAck` | 🟡 Unverified | | | +| `OP_TraderItemUpdate` | 🔴 Not-Set | | | +| `OP_TraderShop` | 🔴 Not-Set | | | +| `OP_TradeSkillCombine` | 🟡 Unverified | | | +| `OP_TradeSkillRecipeInspect` | 🔴 Not-Set | | | +| `OP_Translocate` | 🟡 Unverified | | | +| `OP_TributeInfo` | 🔴 Not-Set | | | +| `OP_TributeItem` | 🔴 Not-Set | | | +| `OP_TributeMoney` | 🔴 Not-Set | | | +| `OP_TributeNPC` | 🔴 Not-Set | | | +| `OP_TributePointUpdate` | 🔴 Not-Set | | | +| `OP_TributeTimer` | 🔴 Not-Set | | | +| `OP_TributeToggle` | 🔴 Not-Set | | | +| `OP_TributeUpdate` | 🔴 Not-Set | | | +| `OP_Untargetable` | 🟡 Unverified | | | +| `OP_UpdateAA` | 🟡 Unverified | | | +| `OP_UpdateAura` | 🔴 Not-Set | | | +| `OP_UpdateLeadershipAA` | 🔴 Not-Set | | | +| `OP_VetClaimReply` | 🔴 Not-Set | | | +| `OP_VetClaimRequest` | 🔴 Not-Set | | | +| `OP_VetRewardsAvaliable` | 🔴 Not-Set | | | +| `OP_VoiceMacroIn` | 🟡 Unverified | | | +| `OP_VoiceMacroOut` | 🟡 Unverified | | | +| `OP_WeaponEquip1` | 🔴 Not-Set | | | +| `OP_WearChange` | 🟡 Unverified | | | +| `OP_Weather` | 🟡 Unverified | | | +| `OP_Weblink` | 🟡 Unverified | | | +| `OP_WhoAllRequest` | 🟡 Unverified | | | +| `OP_WhoAllResponse` | 🟡 Unverified | | | +| `OP_World_Client_CRC1` | 🟡 Unverified | | | +| `OP_World_Client_CRC2` | 🟡 Unverified | | | +| `OP_World_Client_CRC3` | 🟡 Unverified | | | +| `OP_WorldClientReady` | 🟡 Unverified | | | +| `OP_WorldComplete` | 🟡 Unverified | | | +| `OP_WorldLogout` | 🔴 Not-Set | | | +| `OP_WorldObjectsSent` | 🟡 Unverified | | | +| `OP_WorldUnknown001` | 🟡 Unverified | | | +| `OP_XTargetAutoAddHaters` | 🔴 Not-Set | | | +| `OP_XTargetOpen` | 🔴 Not-Set | | | +| `OP_XTargetOpenResponse` | 🔴 Not-Set | | | +| `OP_XTargetRequest` | 🔴 Not-Set | | | +| `OP_XTargetResponse` | 🔴 Not-Set | | | +| `OP_YellForHelp` | 🟡 Unverified | | | +| `OP_ZoneChange` | 🟡 Unverified | | | +| `OP_ZoneComplete` | 🔴 Not-Set | | | +| `OP_ZoneEntry` | 🟢 Verified | | | +| `OP_ZoneGuildList` | 🔴 Not-Set | | | +| `OP_ZoneInUnknown` | 🔴 Not-Set | | | +| `OP_ZonePlayerToBind` | 🟡 Unverified | | | +| `OP_ZoneServerInfo` | 🟢 Verified | | | +| `OP_ZoneServerReady` | 🔴 Not-Set | | | +| `OP_ZoneSpawns` | 🟢 Verified | | | +| `OP_ZoneUnavail` | 🟡 Unverified | | | +| `OP_ResetAA` | 🟡 Unverified | | | +| `OP_UnderWorld` | 🟡 Unverified | | |