Skip to content

Events ​

Every inbound GameserverMessage* is subscribable. Specialized decoders still add richer nested views when they exist.

lua
local Engine = require("sdk.engine")

print(Engine.help("Wait"))
print(Engine.help("Talk"))

Engine.on("Wait", function(ev)
  print(ev.wait_time)
end)

Engine.on("Talk", function(ev)
  print(ev.speaker, ev.text, ev.mode)
  -- ev.position is a nested Coordinate (x / y / z)
end)

local all = Engine.onAny(function(ev)
  print(ev.name, ev.fields)
end)

-- Later:
-- Engine.off(id)

Named scalars land on ev and ev.fields. Nested msg / rep stay as a small table (kind, offset, nested type) until a decoder expands them. Login/session events redact hex. Presence is (1 << hasbit).

192 inbound types:

PacketRTTIHow
CreatureLightGameserverMessageCreatureLightEngine.on("CreatureLight", fn)
WeaponProficiencyNotificationGameserverMessageWeaponProficiencyNotificationEngine.on("WeaponProficiencyNotification", fn)
CreateInContainerGameserverMessageCreateInContainerEngine.on("CreateInContainer", fn)
StoreErrorGameserverMessageStoreErrorEngine.on("StoreError", fn)
HirelingNameChangeGameserverMessageHirelingNameChangeEngine.on("HirelingNameChange", fn)
MultiUseDelayGameserverMessageMultiUseDelayEngine.on("MultiUseDelay", fn)
CloseChannelGameserverMessageCloseChannelEngine.on("CloseChannel", fn)
CyclopediaHouseActionResultGameserverMessageCyclopediaHouseActionResultEngine.on("CyclopediaHouseActionResult", fn)
QuestLineGameserverMessageQuestLineEngine.on("QuestLine", fn)
PrivateChannelGameserverMessagePrivateChannelEngine.on("PrivateChannel", fn)
RestingAreaStateGameserverMessageRestingAreaStateEngine.on("RestingAreaState", fn)
QuestLogGameserverMessageQuestLogEngine.on("QuestLog", fn)
SetStoreButtonDeeplinkGameserverMessageSetStoreButtonDeeplinkEngine.on("SetStoreButtonDeeplink", fn)
SetInventoryGameserverMessageSetInventoryEngine.on("SetInventory", fn)
ShapedPerkReshapeOffersGameserverMessageShapedPerkReshapeOffersEngine.on("ShapedPerkReshapeOffers", fn)
RemoveGraphicalEffectGameserverMessageRemoveGraphicalEffectEngine.on("RemoveGraphicalEffect", fn)
CloseTradeGameserverMessageCloseTradeEngine.on("CloseTrade", fn)
OfferDescriptionGameserverMessageOfferDescriptionEngine.on("OfferDescription", fn)
CreatureMarksGameserverMessageCreatureMarksEngine.on("CreatureMarks", fn)
BossTrackingGameserverMessageBossTrackingEngine.on("BossTracking", fn)
SpecialContainersAvailableGameserverMessageSpecialContainersAvailableEngine.on("SpecialContainersAvailable", fn)
ImpactTrackingGameserverMessageImpactTrackingEngine.on("ImpactTracking", fn)
PreyPricesGameserverMessagePreyPricesEngine.on("PreyPrices", fn)
SnapBackGameserverMessageSnapBackEngine.on("SnapBack", fn)
SessionDumpStartGameserverMessageSessionDumpStartEngine.on("SessionDumpStart", fn)
PartyHuntAnalyserGameserverMessagePartyHuntAnalyserEngine.on("PartyHuntAnalyser", fn)
FriendSystemDataGameserverMessageFriendSystemDataEngine.on("FriendSystemData", fn)
SoulSealsDialogGameserverMessageSoulSealsDialogEngine.on("SoulSealsDialog", fn)
EditGuildMessageGameserverMessageEditGuildMessageEngine.on("EditGuildMessage", fn)
XpChangedGameserverMessageXpChangedEngine.on("XpChanged", fn)
BugReportsAllowedGameserverMessageBugReportsAllowedEngine.on("BugReportsAllowed", fn)
ItemWastedGameserverMessageItemWastedEngine.on("ItemWasted", fn)
WaitGameserverMessageWaitEngine.on("Wait", fn)
CloseDepotSearchGameserverMessageCloseDepotSearchEngine.on("CloseDepotSearch", fn)
InspectionListGameserverMessageInspectionListEngine.on("InspectionList", fn)
ContainerGameserverMessageContainerEngine.on("Container", fn)
PlayerDataBasicGameserverMessagePlayerDataBasicEngine.on("PlayerDataBasic", fn)
PassiveAbilityDataGameserverMessagePassiveAbilityDataEngine.on("PassiveAbilityData", fn)
TeamFinderTeamMemberGameserverMessageTeamFinderTeamMemberEngine.on("TeamFinderTeamMember", fn)
CreatureSpeedGameserverMessageCreatureSpeedEngine.on("CreatureSpeed", fn)
CloseImbuingDialogGameserverMessageCloseImbuingDialogEngine.on("CloseImbuingDialog", fn)
MonsterCyclopediaNewDetailsGameserverMessageMonsterCyclopediaNewDetailsEngine.on("MonsterCyclopediaNewDetails", fn)
CreatureOutfitGameserverMessageCreatureOutfitEngine.on("CreatureOutfit", fn)
ExaltationHistoryGameserverMessageExaltationHistoryEngine.on("ExaltationHistory", fn)
CreatureTypeGameserverMessageCreatureTypeEngine.on("CreatureType", fn)
StashGameserverMessageStashEngine.on("Stash", fn)
CloseContainerGameserverMessageCloseContainerEngine.on("CloseContainer", fn)
DailyRewardHistoryGameserverMessageDailyRewardHistoryEngine.on("DailyRewardHistory", fn)
CounterOfferGameserverMessageCounterOfferEngine.on("CounterOffer", fn)
HighscoresGameserverMessageHighscoresEngine.on("Highscores", fn)
UnlockedSpellsGameserverMessageUnlockedSpellsEngine.on("UnlockedSpells", fn)
LoginSuccessGameserverMessageLoginSuccessEngine.on("LoginSuccess", fn)
WeaponProficiencyGameserverMessageWeaponProficiencyEngine.on("WeaponProficiency", fn)
TalkGameserverMessageTalkEngine.on("Talk", fn)
ChangeOnMapGameserverMessageChangeOnMapEngine.on("ChangeOnMap", fn)
BottomRowGameserverMessageBottomRowEngine.on("BottomRow", fn)
ReadyForSecondaryConnectionGameserverMessageReadyForSecondaryConnectionEngine.on("ReadyForSecondaryConnection", fn)
MarketBrowseGameserverMessageMarketBrowseEngine.on("MarketBrowse", fn)
BossDifficultySelectionGameserverMessageBossDifficultySelectionEngine.on("BossDifficultySelection", fn)
AmbientLightGameserverMessageAmbientLightEngine.on("AmbientLight", fn)
CreatureUnpassGameserverMessageCreatureUnpassEngine.on("CreatureUnpass", fn)
StopGameserverMessageStopEngine.on("Stop", fn)
ConfigureCreaturePodiumGameserverMessageConfigureCreaturePodiumEngine.on("ConfigureCreaturePodium", fn)
CreatureSkullGameserverMessageCreatureSkullEngine.on("CreatureSkull", fn)
LoginWaitGameserverMessageLoginWaitEngine.on("LoginWait", fn)
ClientCheckGameserverMessageClientCheckEngine.on("ClientCheck", fn)
UpdateManagedContainersGameserverMessageUpdateManagedContainersEngine.on("UpdateManagedContainers", fn)
TeamFinderTeamLeaderGameserverMessageTeamFinderTeamLeaderEngine.on("TeamFinderTeamLeader", fn)
MonsterCyclopediaBonusEffectsGameserverMessageMonsterCyclopediaBonusEffectsEngine.on("MonsterCyclopediaBonusEffects", fn)
DepotSearchDetailListGameserverMessageDepotSearchDetailListEngine.on("DepotSearchDetailList", fn)
CyclopediaStaticHouseDataGameserverMessageCyclopediaStaticHouseDataEngine.on("CyclopediaStaticHouseData", fn)
PreyDataGameserverMessagePreyDataEngine.on("PreyData", fn)
ShowMultiOfflineTrainingDialogGameserverMessageShowMultiOfflineTrainingDialogEngine.on("ShowMultiOfflineTrainingDialog", fn)
ExaltationDialogRefreshGameserverMessageExaltationDialogRefreshEngine.on("ExaltationDialogRefresh", fn)
BlessingsGameserverMessageBlessingsEngine.on("Blessings", fn)
ResourceBalanceGameserverMessageResourceBalanceEngine.on("ResourceBalance", fn)
BosstiaryGameserverMessageBosstiaryEngine.on("Bosstiary", fn)
MoveCreatureGameserverMessageMoveCreatureEngine.on("MoveCreature", fn)
BuddyGroupDataGameserverMessageBuddyGroupDataEngine.on("BuddyGroupData", fn)
PlayerDataCurrentGameserverMessagePlayerDataCurrentEngine.on("PlayerDataCurrent", fn)
TrackQuestFlagsGameserverMessageTrackQuestFlagsEngine.on("TrackQuestFlags", fn)
TopRowGameserverMessageTopRowEngine.on("TopRow", fn)
ItemLootedGameserverMessageItemLootedEngine.on("ItemLooted", fn)
FullMapGameserverMessageFullMapEngine.on("FullMap", fn)
PremiumTriggerGameserverMessagePremiumTriggerEngine.on("PremiumTrigger", fn)
CloseRewardWallGameserverMessageCloseRewardWallEngine.on("CloseRewardWall", fn)
ImbuingDialogRefreshGameserverMessageImbuingDialogRefreshEngine.on("ImbuingDialogRefresh", fn)
BottomFloorGameserverMessageBottomFloorEngine.on("BottomFloor", fn)
PreyTimeLeftGameserverMessagePreyTimeLeftEngine.on("PreyTimeLeft", fn)
MarketLeaveGameserverMessageMarketLeaveEngine.on("MarketLeave", fn)
ImbuementDurationsGameserverMessageImbuementDurationsEngine.on("ImbuementDurations", fn)
PingBackGameserverMessagePingBackEngine.on("PingBack", fn)
SkillWheelGameserverMessageSkillWheelEngine.on("SkillWheel", fn)
CreatureUpdateGameserverMessageCreatureUpdateEngine.on("CreatureUpdate", fn)
ShowGameNewsGameserverMessageShowGameNewsEngine.on("ShowGameNews", fn)
ChangeInContainerGameserverMessageChangeInContainerEngine.on("ChangeInContainer", fn)
GemAtelierGemRevealedGameserverMessageGemAtelierGemRevealedEngine.on("GemAtelierGemRevealed", fn)
CyclopediaCurrentHouseDataGameserverMessageCyclopediaCurrentHouseDataEngine.on("CyclopediaCurrentHouseData", fn)
UpdateExivaOptionsGameserverMessageUpdateExivaOptionsEngine.on("UpdateExivaOptions", fn)
MonsterCyclopediaGameserverMessageMonsterCyclopediaEngine.on("MonsterCyclopedia", fn)
NPCOfferGameserverMessageNPCOfferEngine.on("NPCOffer", fn)
DailyRewardCollectionStateGameserverMessageDailyRewardCollectionStateEngine.on("DailyRewardCollectionState", fn)
OpenRewardWallGameserverMessageOpenRewardWallEngine.on("OpenRewardWall", fn)
ExaltationBaseDataGameserverMessageExaltationBaseDataEngine.on("ExaltationBaseData", fn)
InspectionStateGameserverMessageInspectionStateEngine.on("InspectionState", fn)
LoginErrorGameserverMessageLoginErrorEngine.on("LoginError", fn)
DeadGameserverMessageDeadEngine.on("Dead", fn)
MonsterCyclopediaMonstersGameserverMessageMonsterCyclopediaMonstersEngine.on("MonsterCyclopediaMonsters", fn)
CreatureDataGameserverMessageCreatureDataEngine.on("CreatureData", fn)
GameEventGameserverMessageGameEventEngine.on("GameEvent", fn)
CreditBalanceGameserverMessageCreditBalanceEngine.on("CreditBalance", fn)
DeleteInContainerGameserverMessageDeleteInContainerEngine.on("DeleteInContainer", fn)
PlayerSkillsGameserverMessagePlayerSkillsEngine.on("PlayerSkills", fn)
BestiaryTrackerGameserverMessageBestiaryTrackerEngine.on("BestiaryTracker", fn)
TextForReportGameserverMessageTextForReportEngine.on("TextForReport", fn)
CreatureHealthGameserverMessageCreatureHealthEngine.on("CreatureHealth", fn)
DailyRewardBasicGameserverMessageDailyRewardBasicEngine.on("DailyRewardBasic", fn)
UnknownGameserverMessageUnknownEngine.on("Unknown", fn)
ExaltationResultGameserverMessageExaltationResultEngine.on("ExaltationResult", fn)
ShowMessageDialogGameserverMessageShowMessageDialogEngine.on("ShowMessageDialog", fn)
StoreSuccessGameserverMessageStoreSuccessEngine.on("StoreSuccess", fn)
RequestPurchaseDataGameserverMessageRequestPurchaseDataEngine.on("RequestPurchaseData", fn)
TopFloorGameserverMessageTopFloorEngine.on("TopFloor", fn)
SetTacticsGameserverMessageSetTacticsEngine.on("SetTactics", fn)
PlayerStateGameserverMessagePlayerStateEngine.on("PlayerState", fn)
CloseNPCTradeGameserverMessageCloseNPCTradeEngine.on("CloseNPCTrade", fn)
PendingStateEnteredGameserverMessagePendingStateEnteredEngine.on("PendingStateEntered", fn)
MessageGameserverMessageMessageEngine.on("Message", fn)
DeleteInventoryGameserverMessageDeleteInventoryEngine.on("DeleteInventory", fn)
BuddyStatusChangeGameserverMessageBuddyStatusChangeEngine.on("BuddyStatusChange", fn)
TaskboardGameserverMessageTaskboardEngine.on("Taskboard", fn)
TransactionDetailsGameserverMessageTransactionDetailsEngine.on("TransactionDetails", fn)
SoundTriggerGameserverMessageSoundTriggerEngine.on("SoundTrigger", fn)
DepotSearchResultGameserverMessageDepotSearchResultEngine.on("DepotSearchResult", fn)
RightColumnGameserverMessageRightColumnEngine.on("RightColumn", fn)
CreateOnMapGameserverMessageCreateOnMapEngine.on("CreateOnMap", fn)
DeleteOnMapGameserverMessageDeleteOnMapEngine.on("DeleteOnMap", fn)
BosstiaryHighlightGameserverMessageBosstiaryHighlightEngine.on("BosstiaryHighlight", fn)
UpdateTargetGameserverMessageUpdateTargetEngine.on("UpdateTarget", fn)
ChannelsGameserverMessageChannelsEngine.on("Channels", fn)
FieldDataGameserverMessageFieldDataEngine.on("FieldData", fn)
BlessingsDialogGameserverMessageBlessingsDialogEngine.on("BlessingsDialog", fn)
ObjectInfoGameserverMessageObjectInfoEngine.on("ObjectInfo", fn)
ChannelEventGameserverMessageChannelEventEngine.on("ChannelEvent", fn)
CyclopediaMapDataGameserverMessageCyclopediaMapDataEngine.on("CyclopediaMapData", fn)
OutfitMemorialGameserverMessageOutfitMemorialEngine.on("OutfitMemorial", fn)
SpellGroupDelayGameserverMessageSpellGroupDelayEngine.on("SpellGroupDelay", fn)
StoreCategoriesGameserverMessageStoreCategoriesEngine.on("StoreCategories", fn)
KillTrackingGameserverMessageKillTrackingEngine.on("KillTracking", fn)
LoginAdviceGameserverMessageLoginAdviceEngine.on("LoginAdvice", fn)
NpcTalkPartersGameserverMessageNpcTalkPartersEngine.on("NpcTalkParters", fn)
TransactionHistoryGameserverMessageTransactionHistoryEngine.on("TransactionHistory", fn)
SwitchPresetGameserverMessageSwitchPresetEngine.on("SwitchPreset", fn)
MetaDataGameserverMessageMetaDataEngine.on("MetaData", fn)
CreaturePartyGameserverMessageCreaturePartyEngine.on("CreatureParty", fn)
CyclopediaCharacterInfoGameserverMessageCyclopediaCharacterInfoEngine.on("CyclopediaCharacterInfo", fn)
LeftColumnGameserverMessageLeftColumnEngine.on("LeftColumn", fn)
UnjustifiedPointsGameserverMessageUnjustifiedPointsEngine.on("UnjustifiedPoints", fn)
PingGameserverMessagePingEngine.on("Ping", fn)
StoreButtonIndicatorsGameserverMessageStoreButtonIndicatorsEngine.on("StoreButtonIndicators", fn)
UpdatingShopBalanceGameserverMessageUpdatingShopBalanceEngine.on("UpdatingShopBalance", fn)
ShowModalDialogGameserverMessageShowModalDialogEngine.on("ShowModalDialog", fn)
EditTextGameserverMessageEditTextEngine.on("EditText", fn)
StoreOffersGameserverMessageStoreOffersEngine.on("StoreOffers", fn)
TutorialHintGameserverMessageTutorialHintEngine.on("TutorialHint", fn)
MarketStatisticsGameserverMessageMarketStatisticsEngine.on("MarketStatistics", fn)
BuddyDataGameserverMessageBuddyDataEngine.on("BuddyData", fn)
MonsterCyclopediaRaceGameserverMessageMonsterCyclopediaRaceEngine.on("MonsterCyclopediaRace", fn)
EditListGameserverMessageEditListEngine.on("EditList", fn)
MarketEnterGameserverMessageMarketEnterEngine.on("MarketEnter", fn)
PvpSituationsGameserverMessagePvpSituationsEngine.on("PvpSituations", fn)
CloseExaltationDialogGameserverMessageCloseExaltationDialogEngine.on("CloseExaltationDialog", fn)
OwnOfferGameserverMessageOwnOfferEngine.on("OwnOffer", fn)
SessionEndInformationGameserverMessageSessionEndInformationEngine.on("SessionEndInformation", fn)
VocationSpecificPlayerDataGameserverMessageVocationSpecificPlayerDataEngine.on("VocationSpecificPlayerData", fn)
GraphicalEffectsGameserverMessageGraphicalEffectsEngine.on("GraphicalEffects", fn)
BossSlotsGameserverMessageBossSlotsEngine.on("BossSlots", fn)
PlayerGoodsGameserverMessagePlayerGoodsEngine.on("PlayerGoods", fn)
BosstiaryStaticDataGameserverMessageBosstiaryStaticDataEngine.on("BosstiaryStaticData", fn)
LoginChallengeGameserverMessageLoginChallengeEngine.on("LoginChallenge", fn)
TibiaTimeGameserverMessageTibiaTimeEngine.on("TibiaTime", fn)
OpenOwnChannelGameserverMessageOpenOwnChannelEngine.on("OpenOwnChannel", fn)
SpellDataModificationGameserverMessageSpellDataModificationEngine.on("SpellDataModification", fn)
OutfitGameserverMessageOutfitEngine.on("Outfit", fn)
SpellDelayGameserverMessageSpellDelayEngine.on("SpellDelay", fn)
OpenChannelGameserverMessageOpenChannelEngine.on("OpenChannel", fn)
MarketDetailGameserverMessageMarketDetailEngine.on("MarketDetail", fn)
PlayerInventoryGameserverMessagePlayerInventoryEngine.on("PlayerInventory", fn)
WorldEnteredGameserverMessageWorldEnteredEngine.on("WorldEntered", fn)
ExivaSuppressedGameserverMessageExivaSuppressedEngine.on("ExivaSuppressed", fn)
CharacterTradeConfigurationGameserverMessageCharacterTradeConfigurationEngine.on("CharacterTradeConfiguration", fn)
GameserverStreamGameserverStreamEngine.on("GameserverStream", fn)

Arcane SDK catalog generated from scripts/sdk