Complete list of all 50+ typed game events.

Events Reference

All events available via ctx.eventBus.on(eventName, handler).

Combat Events

mob:killed

{ killerId, mobId, mobDefinitionId, posX, posY, zoneId, mobTier }

player:killed

{ victimId, killerId, posX, posY, isPvpKill, pvpRule, zoneId }

damage:dealt

{ attackerId, targetId, abilityId, damage, isCrit, damageType, targetHpLeft }

loot:dropped

{ mobId, killerId, items: [{ definitionId, quantity }], posX, posY, zoneId }

item:pickedup

{ playerId, itemDefinitionId, quantity, sourceEntityId }

Harvesting & Crafting

harvest:yield

{ playerId, nodeId, resourceType, itemDefinitionId, quantity, zoneId }

harvest:nodeDepleted

{ nodeId, resourceNodeDefId, zoneId, posX, posY, respawnMs }

craft:started

{ entityId, recipeId, recipeName }

craft:completed

{ playerId, recipeId, outputItemDefinitionId, outputQuantity, quality }

Progression

skill:discovered

{ entityId, skillId, skillName, triggerAction }

skill:xpGained

{ entityId, skillId, amount, newXp, newLevel }

skill:levelUp

{ playerId, skillId, newLevel }

player:levelUpdate

{ entityId, level, totalSkillLevels, skillCount }

Quests

quest:accepted

{ entityId, questId, questName }

quest:objectiveAdvanced

{ entityId, questId, objectiveId, objType, newProgress, targetCount }

quest:turnedIn

{ playerId, questId, questName, rewardGold, rewardXp, rewardItemIds }

quest:abandoned

{ entityId, questId }

Economy & Social

trade:completed

{ playerAId, playerBId, itemsTraded, goldTraded }

gold:changed

{ entityId, amount, newBalance }

chat:message

{ senderId, senderName, channel, text, zoneId }

Pets

tame:success

{ playerId, petDefinitionId, petLevel, mobEntityId }

tame:failed

{ playerId, mobEntityId, mobDefinitionId }

petBattle:started

{ battleId, challengerId, defenderId }

petBattle:ended

{ battleId, winnerId, loserId }

Inventory

item:equipped

{ entityId, itemInstanceId, definitionId, slot }

item:unequipped

{ entityId, itemInstanceId, definitionId, slot }

item:broken

{ entityId, itemInstanceId, definitionId }

Zone & Connection

zone:changed

{ entityId, previousZoneId, newZoneId, zoneName }

player:login

{ playerId, playerName, isGuest, zoneId }

player:logout

{ playerId, playerName, zoneId }

Achievements

achievement:progress

{ entityId, characterId, achievementId, currentCount, requiredCount }

achievement:completed

{ entityId, characterId, achievementId, achievementName, points }

Server Lifecycle

tick:start / tick:end

{ deltaMs }  // tick:end also has tickMs

server:starting

{}

server:ready

{ timestamp }

server:stopping

{ timestamp }