eveofdarkness.org

DAoC protocol opcodes

Every opcode the 1.130 game client and the OpenDAoC server know, by feature family, with OpenDAoC's name, what it does, its sub-types, and whether OpenDAoC implements it.

opcodes
228
opcodes
client → server
92
client → server
server → client
136
server → client
missing in OpenDAoC
34
missing in OpenDAoC

Client → server 92 opcodes

Server → client 136 opcodes

Direction
Show
Family

Session & login

17 opcodes · 3 missing in OpenDAoC

No opcodes in this family match the filters.

0x14 C→S UDPInitRequest UDP Client local UDP address; server replies UDP init handled
0x21 S→C DebugMode retail Toggle client debug mode sent
0x22 S→C CryptKey retail Server version and encryption handshake sent
0x28 S→C SessionID retail Assign client session ID sent
0x29 S→C PingReply retail Reply to client ping with timestamp sent
0x2A S→C LoginGranted retail Login accepted: account, server name, ruleset sent
0x2C S→C LoginDenied Login refused with error reason 23 sub-types sent
ValueSub-typeNote
0x01IncorrectPassword
0x02InvalidAccount
0x03AuthorizationServerUnavailable
0x05IncorrectClientVersion
0x06Error
0x07AccountNotFound
0x08AccountNoAccessAnyGame
0x09AccountNoAccessThisGame
0x0AClosedAccount
0x0BAccountAlreadyLoggedIn
0x0CTooManyPlayersLoggedIn
0x0DGameCurrentlyClosed
0x10AccountAlreadyLoggedInToOtherServer
0x11AccountIsInLogoutProcedure
0x12TooManyFreeAccountsLoggedIn
0x13AccountNeedsInvite
0x14BannedAccount
0x15Unknown
0x19RequestedServerNotFound
0xAAServiceNotAvailable

20 of 23 listed.

0x2F S→C UDPInitReply UDP UDP channel initialised (UDP) sent
0x37 C→S ClientCrash Client crash report; server disconnects handled
0xA3 C→S PingRequest retail TCP ping; server echoes timestamp handled
0xA4 S→C Quit retail Logout: quit game or back to character select 2 sub-types sent
ValueSub-typeNote
0to character selecttotalOut=false
1total quittotalOut=true
0xA7 C→S LoginRequest retail Account login with version, username, password handled
0xAC C→S Leave-world notice confirmed live retail Sent on /quit to character select and on exit; 1 byte, always 0 no handler
0xB8 C→S Quit notice with reason confirmed live Sent only on game exit; 01 clean exit, 00 after a crash no handler
0xB8 S→C Realm lockout notice likely Handler prints "cannot log into this realm for another N minutes" never sent
0xF2 C→S UDPPingRequest UDP UDP keepalive; confirms UDP path handled
0xF4 C→S CryptKeyRequest retail Client type and version handshake handled

Character select & create

16 opcodes · 2 missing in OpenDAoC

No opcodes in this family match the filters.

0x10 C→S CharacterSelectRequest retail Character chosen; server grants login and session ID handled

Payload ignored.

0x52 C→S Character-select request with name guess Built in character-select code; u16 + 24-char name. Not delete no handler
0x52 S→C Character-select reply guess Handled before entering the world; pairs with C->S 0x52 never sent
0xC0 C→S CharacterDeleteRequest Delete character by name client never sends
0xC2 C→S Unknown Check character name against invalid-name list client never sends
0xC3 S→C BadNameCheckReply Character name allowed/forbidden reply client ignores
0xCB C→S DuplicateNameCheck Check if character name is taken or invalid handled
0xCC S→C DupNameCheckReply Character name duplicate check result sent
0xD4 S→C PlayerCreate older clients only
0xD5 C→S CreatePlayerRequest Request creation packet for another player handled
0xF0 S→C CharacterCreateReply Confirm character created client ignores
0xFC C→S CharacterOverviewRequest retail Choose realm / request character list 4 sub-types handled
ValueSub-typeNote
0realm querySendRealm
1AlbionSendCharacterOverview
2Midgard
3Hibernia
0xFC S→C CharacterOverview1126 retail Character select list for a realm sent
0xFD S→C CharacterOverview older clients only
0xFE S→C Realm retail Selected realm for character screen sent
0xFF C→S CharacterCreateRequest Create, customize or delete a character 3 sub-types handled

Pre-1.125 clients used 32-bit operation codes.

ValueSub-typeNote
1create
2customizeCustomizeType byte follows: 1 face, 2 attributes, 3 both
3deleteonly when name empty

World entry & regions

22 opcodes · 7 missing in OpenDAoC

No opcodes in this family match the filters.

0x1D C→S World-entry notice likely retail Sent 3x (zeros) on every world entry; retail sends no specific reply no handler
0x20 S→C PositionAndObjectID retail Own position, object ID and region on zone-in sent
0x24 S→C World-entry flag guess retail Retail sends 4 zero bytes in the world-entry burst never sent
0x2B S→C CharacterInitFinished retail Character world initialisation complete sent
0x2D S→C GameOpenReply retail Acknowledge game open request sent
0x42 C→S Area-list notice likely retail Sent with 0x43 from the zone/area-list code on world entry no handler
0x43 C→S Refresh request likely retail Sent on world entry, after dialog responses and with warmap requests no handler
0x50 S→C World-entry value guess retail Retail sends 4 bytes (00000bdc) just before GameOpenReply never sent
0x5C S→C XFire XFire integration flag client ignores
0x5F S→C World-entry notice guess retail Retail sends it 3x (1 byte, 00) on world entry never sent
0x7E S→C Time retail Game time and day increment sent
0x90 C→S PlayerRegionChangeRequest Use zone point / jump to another region handled
0x92 S→C Weather retail Region weather/storm parameters sent
0x9D C→S RegionListRequest retail Request region list for character-select slot handled
0x9E S→C ClientRegions Region list with server IP and ports client ignores
0xA6 S→C Zone-entry info (new in 1.130) likely retail Only opcode new in 1.130; retail sends 72 00 00 after "You have entered" never sent
0xB1 S→C ClientRegion retail Region server IP and port (1.126+) sent
0xB7 S→C RegionChanged Client region/zone changed sent
0xBF C→S GameOpenRequest retail Enter play state; UDP confirmation flag handled
0xD4 C→S WorldInitRequest retail Load selected character and enter world handled
0xE8 C→S PlayerInitRequest retail Region-enter init; server sends world state handled
0xEF S→C RegionSound Level-up or region-enter sound 2 sub-types sent
ValueSub-typeNote
1level up sound+ realm byte
2region enter sound+ sound ID

Movement & position

12 opcodes

No opcodes in this family match the filters.

0x04 S→C CharacterJump Teleport/jump player to position and heading sent
0x4E S→C ControlledHorse retail Player horse appearance (self when OID 0) sent
0xA9 C→S PositionUpdate retail Player position, speed, zone, heading and state handled

State and action fields are bit flags, not sub-types.

0xA9 S→C PlayerPosition UDP Broadcast another player's position, speed, state sent
0xB6 S→C MaxSpeed retail Max speed percent, turning lock, water speed sent
0xBA C→S PlayerHeadingUpdate retail Heading and state flags update (short state) handled
0xBA S→C PlayerHeading UDP Broadcast another player's heading and state sent
0xC7 C→S PlayerSitRequest Sit down or stand up handled
0xC8 C→S PlayerDismountRequest Dismount from steed handled
0xC8 S→C Riding Mount or dismount rider on steed 2 sub-types sent
ValueSub-typeNote
1mountwith seat slot
0dismount
0xD0 C→S CheckLosRequest Client reply to a server line-of-sight check handled
0xD0 S→C CheckLOSRequest Ask client to check line of sight sent

Objects, NPCs & targeting

21 opcodes · 1 missing in OpenDAoC

No opcodes in this family match the filters.

0x12 S→C MovingObjectCreate Create boat/siege moving object sent
0x4B S→C PlayerCreate172 Create another player in view sent
0x7A C→S ObjectInteractRequest Interact with (right-click) a world object handled

No sub-type: the server passes it to the target object.

0x99 C→S DoorRequest Open or close a door 2 sub-types handled

The door ID says which kind: keep door or house door.

ValueSub-typeNote
0x01open
otherclose
0x99 S→C DoorState Door open/closed state and sound flag sent
0xA1 S→C ObjectUpdate UDPretail NPC/object position, speed, target and health sent
0xA2 S→C RemoveObject Remove object from client view sent
0xA5 C→S ObjectUpdateRequest Request object refresh (ignored by server) client never sends
0xAC S→C Object removal guess Handler removes an object ID from a client-side table never sent
0xB0 C→S PlayerTarget Change current target (with LOS/examine flags) handled
0xB5 C→S PickUpRequest Pick up targeted ground object handled
0xBE C→S CreateObjectRequest retail Request creation packet for an object ID handled
0xD9 S→C ObjectCreate retail Create static object/door in world sent
0xDA S→C NPCCreate retail Create NPC with model, level, flags, name sent
0xDB S→C ModelChange Change object model and size sent
0xDE S→C ObjectGuildID retail Set object's guild ID sent
0xE1 S→C ObjectDelete Delete object from client sent
0xEC C→S PlayerGroundTarget Set ground target position handled
0xEC S→C ChangeGroundTarget Set ground target (GroundAssist) sent
0xEE S→C ObjectDataUpdate Update living level, guild and name sent
0xF6 S→C ChangeTarget Force client target change sent

Combat, death & pets

9 opcodes

No opcodes in this family match the filters.

0x74 C→S PlayerAttackRequest Toggle melee attack mode on or off handled
0x74 S→C AttackMode Toggle player melee attack mode sent
0x88 S→C PetWindow Open/update/close pet window with stance and buffs 3 sub-types sent
ValueSub-typeNote
2OpenePetWindowAction.Open: create window
1UpdateePetWindowAction.Update
0CloseePetWindowAction.Close / released
0x89 S→C PlayerRevive Player was resurrected sent
0x8A C→S PetWindow Pet window button: stance, movement or command 9 sub-types handled
ValueSub-typeNote
b0=1aggro Aggressive
b0=2aggro Defensive
b0=3aggro Passive
b1=1walk Follow
b1=2walk Stay
b1=3walk GoTarget
b1=4walk ComeHere
b2=1command Attack
b2=2command Release
0x8D S→C PlayerModelTypeChange retail Change player model type (e.g. form) sent
0xAD S→C CharacterStatusUpdate retail Own health/mana/endurance/concentration values sent
0xAE S→C PlayerDeath Player killed, with killer object sent
0xBC S→C CombatAnimation Melee attack animation and result sent

Spells, skills & effects

15 opcodes

No opcodes in this family match the filters.

0x1B S→C SpellEffectAnimation Spell hit/bolt visual effect on target sent
0x4C S→C VisualEffect retail Multiplexed per-object visual/UI effects 10 sub-types sent
ValueSub-typeNote
0x03hex / warlock chamber5 effect bytes; used by SendHexEffect and SendWarlockChamberEffect
0x04vampiir flight0 enable, 1 disable
0x05region colour scheme
0x07NPC quest indicatoreQuestIndicator: None/Available/Finish/Lesson/Lore/Pending
0x08blink UI panel
0x09free level state
0x0Bplayer title
0x0CRvR guild banner
0x0Dminotaur relic window
0x0Eminotaur relic bar XP
0x72 S→C SpellCastAnimation Start spell casting animation sent
0x73 S→C InterruptSpellCast Interrupt casting animation sent
0x75 S→C ConcentrationList retail Concentration buffs list sent
0x76 C→S RemoveConcentrationEffect Cancel a concentration spell by index handled
0x7D C→S UseSpell Cast spell, style or ability from a spell line handled

The server decides whether the index is a spell, style or ability.

0x7F S→C UpdateIcons Player active effect icons sent
0xBB C→S UseSkill Use ability, style, spell or spec from skill list 2 sub-types handled
ValueSub-typeNote
0full list indexindex into all usable skills incl. specializations
>0non-spec indexindex offset past specializations
0xC4 S→C DetailWindow Text detail window (stats/titles or custom text) 2 sub-types sent
ValueSub-typeNote
1player statistics + titlesSendPlayerTitles: stats lines, 200 marker, then titles list
0custom text windowSendCustomTextWindow: caption + text lines
0xCA C→S BonusesListRequest Request item/stat bonuses text window handled
0xD6 S→C DisableSkills retail Skill/spell cooldown (disabled) timers 2 sub-types sent
ValueSub-typeNote
1hybrid skillentries: skill index + duration
2list spellsentries: line index + spell index; shared duration
0xD8 C→S DetailRequest Delve/info request for item, spell, style, etc. 28 sub-types handled

More values: 3 hybrid spells, 15 chat group, 20-23 trainer styles, songs, spells and abilities, 101 self-craft, 102 salvage; anything else is champion lines.

ValueSub-typeNote
1inventory item
2spell list
4merchant item
5buff/effect icon
6style
7trade window item
8ability
9trainer window info
10market search item
12item info to guild chat
14item info to group chat
17item info to battlegroup
19quest reward item
24SpellsNew tooltip
25StylesNew tooltip
26SongsNew tooltip
27RANew tooltip
28AbilityNew tooltip
29quest window item (1.115+)
100repair

20 of 28 listed.

0xD8 S→C DelveInfo Delve (item/spell info) text sent
0xF8 C→S PlayerCancelsEffect Cancel own effect by tooltip ID handled

Character progression

9 opcodes

No opcodes in this family match the filters.

0x13 S→C MasterLevelWindow Master level progress bars and step descriptions sent

Byte 8 is the requested master level (0 = current).

0x16 S→C VariousUpdate retail Multiplexed character sheet updates (skills, stats, group, crafting) 6 sub-types sent
ValueSub-typeNote
0x01skillsusable skills/specs/abilities/styles list; subtype 0x03, 99 = more pages
0x02spell linesnon-hybrid spell lines; subtype 0x02 per line, 99 footer
0x03player infoname, class, realm rank, guild, titles
0x05weapon/armor statsweapon damage, weapon skill, effective AF
0x06group windowgroup member names, classes, levels
0x08crafting skillscrafting skill points list
0x53 C→S TrainHandler Train specializations and realm abilities from trainer window handled
0x7B C→S TrainWindowHandler Request trainer window handled
0x7B S→C TrainerWindow Trainer window: specs, realm abilities, champion lines 6 sub-types sent
ValueSub-typeNote
0specstrainable spec levels
1realm abilitiesRA list with costs
2championchampion line tree
3skill descriptionsper-spec skill entries
4name indexskill names
5realm ability detailsRA levels and per-level costs
0x7C C→S ChampionTrainHandler Train a champion-level ability handled
0x91 S→C CharacterPointsUpdate retail Realm/bounty/skill points and XP progress sent
0xBD S→C Encumberance retail Carrying capacity and inventory weight sent
0xFB S→C StatsUpdate retail Character stats or resists breakdown 2 sub-types sent
ValueSub-typeNote
0x00statsSendCharStatsUpdate: base/buff/item/cap/RA per stat
0xFFresistsSendCharResistsUpdate

Inventory & items

7 opcodes

No opcodes in this family match the filters.

0x02 S→C InventoryUpdate retail Inventory slot contents update, optionally opening a window 8 sub-types sent
ValueSub-typeNote
0x00Updateslot refresh, no window
0x01Equipment
0x02Inventory
0x03PlayerVault
0x04HouseVaultbyte 3 carries vault number
0x05ConsignmentOwner
0x06ConsignmentViewer
0x07HorseBags
0x15 S→C EquipmentUpdate retail Visible equipment models of a living sent
0x71 C→S UseSlot Use an inventory or quickbar item slot 3 sub-types handled
ValueSub-typeNote
0Clicksimple click on icon
1Use1/use
2Use2/use2
0x80 C→S DestroyItemRequest Destroy an inventory item by slot handled
0xDD C→S PlayerMoveItem Move/split item between slots, drop or give 4 sub-types handled
ValueSub-typeNote
>1000give to objectobject ID = toSlot - 1000 (trade/NPC/give)
100 / 600PlayerPaperDoll / NewPlayerPaperDollauto-equip into resolved slot
1Grounddrop item
601GeneralVaultshift-click move with vault open
0xE0 C→S PlayerAppraiseItemRequest Ask merchant or lot marker to appraise item handled
0xFA S→C MoneyUpdate retail Player money (copper..mithril) sent

Trade, merchants & market

10 opcodes

No opcodes in this family match the filters.

0x11 C→S MarketSearchRequest Market explorer item search query handled
0x17 S→C MerchantWindow Merchant item list page 14 sub-types sent
ValueSub-typeNote
0x00Normal
0x01Bp
0x02Count
0x03HousingDeedMenu
0x04HousingOutsideMenu
0x05HousingNPCHookpoint
0x06HousingInsideShop
0x07HousingOutsideShop
0x08HousingVaultHookpoint
0x09HousingCraftingHookpoint
0x0AHousingBindstoneHookpoint
0x0BHousingInsideMenu
0x0CHousingTicket
0x0DHousingGuildTicket
0x1A C→S SetMarketPrice Set consignment merchant price for a slot handled
0x1C C→S WithDrawMerchantMoney Withdraw money from consignment merchant handled
0x1E S→C ConsignmentMerchantMoney Consignment merchant stored money sent
0x1F S→C MarketExplorerWindow Market explorer search results page sent

Count 255 means an empty result window.

0x78 C→S BuyRequest Buy item from merchant or housing menu 8 sub-types handled
ValueSub-typeNote
0Normaldefault: forwarded to targeted merchant/guard merchant/lot marker
3HousingDeedMenu
5HousingNPCHookpoint
6HousingInsideShop
7HousingOutsideShop
8HousingVaultHookpoint
9HousingCraftingHookpoint
10HousingBindstoneHookpoint
0x79 C→S SellRequest Sell inventory item to targeted merchant handled
0xEA S→C TradeWindow Trade window contents; all-zero closes it sent
0xEB C→S ModifyTrade Update, accept or close trade window 3 sub-types handled
ValueSub-typeNote
0closeCloseTrade
1updaterepair/combine flags, 10 item slots, money
2acceptAcceptTrade

Chat, commands & UI

11 opcodes · 1 missing in OpenDAoC

No opcodes in this family match the filters.

0x81 S→C Dialog Show dialog box (invite, confirm, quest offer) 15 sub-types sent
ValueSub-typeNote
0x00SimpleWarningOK-only warning dialog
0x03GuildInviteguild invite yes/no (SendGuildInviteCommand)
0x05GroupInvitegroup invite yes/no (SendGroupInviteCommand)
0x06CustomDialogcustom server message with callback
0x08GuildLeaveconfirm leaving guild
0x14HousePayRenthouse rent payment dialog
0x19MasterLevelWindowmaster level dialog
0x1AKeepClaimconfirm keep claim
0x20BuyRespecenum member; no caller in source
0x21QuestFinishquest window, finish/not-yet (SendQuestWindow offer=false)
0x22QuestOfferquest window, accept/decline (SendQuestWindow offer=true)
0x30WarmapWindowHiberniawarmap teleport confirm, Hibernia
0x31WarmapWindowAlbionwarmap teleport confirm, Albion
0x32WarmapWindowMidgardwarmap teleport confirm, Midgard
0x64QuestSubscribequest accept (data3=0) or abort (data3=1)
0x82 C→S DialogResponse Player answer to a server dialog box 8 sub-types handled
ValueSub-typeNote
0x03GuildInviteaccept/decline guild invite
0x05GroupInviteaccept group invite
0x06CustomDialoginvokes stored callback when data2==1
0x08GuildLeaveconfirm leaving guild
0x14HousePayRentdeposit money/BPs into house lockbox
0x19MasterLevelWindowrequest ML window page
0x1AKeepClaimguild claims nearby keep
0x64QuestSubscribeaccept/decline/abort quest offer
0x98 C→S Appeal sub-request guess Built inside the /appeal command code; the appeal dialog doesn't send it no handler
0xAF C→S CommandHandler retail Slash command text from the player handled

182 player slash commands route through this opcode.

0xAF S→C Message retail Chat or system text message 38 sub-types sent

38 of the 39 chat types are used; the most common are listed.

ValueSub-typeNote
0x01CT_Say
0x12CT_System
0x1CCT_Important
0x1BCT_SpellResisted
0x10CT_Spell
0x04CT_Guild
0x05CT_Broadcast
0xC8CT_ScreenCenter
0x11CT_YouHit
0x08CT_Chat
0x19CT_SpellExpires
0x06CT_Emote
0x0FCT_Staff
0x14CT_Merchant
0x13CT_Items
0x0CCT_BattleGroup
0x1ECT_Action
0x1ACT_Loot
0x03CT_Group
0x02CT_Send

20 of 38 listed.

0xC9 S→C SoundEffect Play positional sound effect in zone sent
0xD3 S→C PlaySound Play sound by type and ID 2 sub-types sent
ValueSub-typeNote
0x01Craft
0x02Divers
0xDC C→S ClientFilterSettings retail Chat-type and spell-effect filter settings handled
0xF3 S→C TimerWindow Open or close countdown timer window 2 sub-types sent
ValueSub-typeNote
1openseconds + title
0closeSendCloseTimerWindow
0xF7 S→C HelpWindow Open help topic window 2 sub-types sent
ValueSub-typeNote
1starter helpSendStarterHelp
106rent reminderSendRentReminder, + house lot
0xF9 S→C EmoteAnimation Play emote animation on object sent

Quests & tasks

4 opcodes · 1 missing in OpenDAoC

No opcodes in this family match the filters.

0x40 C→S QuestRewardChosen Accept quest and chosen reward items handled

Response byte 1 confirms; anything else is ignored.

0x41 C→S Task request likely Its caller prints [Task] messages no handler
0x4F C→S RemoveQuestRequest Abandon a quest by journal index handled
0x83 S→C QuestEntry retail Journal quest/task entry at index sent

Crafting

1 opcode

No opcodes in this family match the filters.

0xED C→S CraftRequest Craft selected recipe item handled

Housing

20 opcodes

No opcodes in this family match the filters.

0x00 C→S HouseMenuRequest Open a house menu or merchant window 10 sub-types handled
ValueSub-typeNote
0HousingOutsideShop
1HousingInsideShop
2HousingDeedMenu
3HousingOutsideMenu
4HousingNPCHookpoint
5HousingVaultHookpoint
6HousingCraftingHookpoint
7HousingBindstoneHookpoint
8HousingInsideMenuflag byte: 0x00 roof, 0xFF floor/wall
9HouseInfosends house info instead of a window
0x01 C→S HouseEdit Change house exterior appearance (up to 10 changes) handled
0x03 C→S HouseUserPermissionRequest Request house per-player permission list handled
0x03 S→C HouseUserPermissions House per-player/guild permission list sent
0x05 C→S HousePermissionRequest Request house permission levels table handled
0x05 S→C HousingPermissions House permission level table sent
0x06 C→S HouseUserPermissionSet Set or remove a player's house permission slot handled

A new level of 100 removes the slot.

0x07 C→S HousePermissionSet Save one house permission level's flags handled
0x08 S→C HouseEnter Enter house interior: model, emblem, rug colours sent
0x09 S→C HousingItem House interior furniture list or single item update 2 sub-types sent
ValueSub-typeNote
0x00updatesingle item add/change/remove
0x80completefull furniture list
0x0A S→C HouseExit Leave house interior sent
0x0B C→S HouseEnterLeave Enter or leave a house 2 sub-types handled
ValueSub-typeNote
0leave
1enterrequires within 1000 units and entry permission
0x0C C→S HousePlaceItem Place item, decoration or rent money in a house 7 sub-types handled
ValueSub-typeNote
1gardenserver-forced for garden object type 49
2wallclient-sent
3floorclient-sent
4porchserver-forced for porch/consignment deeds
5hookpointserver-forced for object types 53/55/68
6banner/shieldserver-forced for object types 57/58/66/67
7vaultserver-forced for HouseVault on hookpoint
0x0D C→S PlayerPickupHouseItem Remove a placed house item back to inventory 3 sub-types handled
ValueSub-typeNote
1garden
2wall
3floor
0x0E C→S HouseDecorationRotate Rotate a placed indoor decoration handled
0x0F S→C HouseTogglePoints Toggle house decoration placement points sent
0x18 C→S HouseDecorationRequest Request rotation info for a house decoration handled
0x18 S→C HouseDecorationRotate Acknowledge house decoration rotate request sent
0xD1 S→C HouseCreate retail Create or remove house on lot 2 sub-types sent
ValueSub-typeNote
createSendHousefull house model/materials/name
removeSendRemoveHousemodel/material bytes zeroed, byte 0x03 at offset 27, empty name
0xD2 S→C HouseChangeGarden retail House garden items or occupied flag 3 sub-types sent
ValueSub-typeNote
count,0x80full gardenSendGarden(house): all outdoor items
0x01,0x00single item updateSendGarden(house,i)
0x00,flagoccupied flagSendHouseOccupied: flag 1/0

Keeps, RvR & siege

23 opcodes · 1 missing in OpenDAoC

No opcodes in this family match the filters.

0x48 C→S ShowWarmapRequest retail Warmap page select, refresh, or teleport 3 sub-types handled
ValueSub-typeNote
0set_pagestores realm map page
1updatesends keep list and fight info
2teleportteleport to border keep (ids 1-6) or keep portal stone
0x49 S→C WarMapClaimedKeeps retail Warmap keep/tower ownership, claims, relics sent
0x4A S→C WarMapDetailUpdate retail Warmap fight and group markers sent

No sub-type: fight records, then group records.

0x61 S→C KeepComponentInteractResponse Keep component info: realm, health, level, guild sent
0x62 S→C KeepClaim Keep claim/lord window 4 sub-types sent
ValueSub-typeNote
0Info
1KeepTargetLevel
2KeepLordType
4Releaseonly value sent
0x63 S→C KeepComponentHookpointStore Hookpoint purchase list (guards, siege, oil) sent
0x64 C→S BuyHookPoint Buy siege weapon or guard for keep hookpoint 5 sub-types handled
ValueSub-typeNote
0x00-0x20RedHPInventoryguards
0x21-0x40BlueHPInventoryNPCs
0x41-0x60LightGreenHPInventorysmall siege
0x61-0x80GreenHPInventorylarge siege
0x81+YellowHPInventoryoil
0x65 S→C KeepComponentHookpointUpdate Free hookpoints on keep component sent
0x66 C→S WarmapBonusRequest Request realm warmap bonuses handled
0x66 S→C WarmapBonuses Realm keep/tower/relic bonus counts sent
0x67 S→C KeepComponentUpdate Keep level and component state flags sent
0x69 S→C KeepInfo Create keep: position, realm, level sent
0x6A S→C KeepRealmUpdate Keep realm and level change sent
0x6B S→C KeepRemove Remove keep sent
0x6C S→C KeepComponentInfo Create keep component (wall/tower piece) sent
0x6D S→C KeepComponentDetailUpdate Keep component health/status update sent
0x6E S→C KeepComponentRemove Remove keep component sent
0x6F C→S KeepComponentInteract Keep wall/tower info and hookpoint selection 3 sub-types handled
ValueSub-typeNote
0show_infoSendKeepComponentInteract
1hookpoint_buttonSendKeepComponentHookPoint
2select_hookpointclears hookpoint and sends hookpoint store
0xE3 S→C SiegeWeaponAnimation Siege weapon aim/arm/load/fire animation 5 sub-types sent
ValueSub-typeNote
0x00None
0x01Aiming+ target health, target ID
0x02Arming+ target health
0x03Loading
0x04FireSendSiegeWeaponFireAnimation
0xE4 C→S ShipHookPoint Boat hookpoint interaction (switch seat) 2 sub-types handled

Other flag values are logged as unhandled.

ValueSub-typeNote
0none
3switch seatmove to empty boat seat
0xE5 S→C Keep-related guess Handler sits among the keep handlers never sent
0xF5 C→S SiegeCommandRequest Siege weapon control command 10 sub-types handled
ValueSub-typeNote
1loadselect ammo (ammo byte at offset 3)
2arm
3aim
4fire
5move
6repair
7salvage
8release
9stop move
10swingcalls Fire
0xF5 S→C SiegeWeaponInterface Open/update or close siege weapon UI 2 sub-types sent
ValueSub-typeNote
0open/updateammo list, action, name
1closeSendSiegeWeaponCloseInterface

Relics

8 opcodes · 5 missing in OpenDAoC

No opcodes in this family match the filters.

0x44 S→C Minotaur relic update likely Handler next to the relic-map handlers; opcode just below 0x45 never sent
0x45 S→C MinotaurRelicMapRemove Remove minotaur relic from map sent
0x46 S→C MinotaurRelicMapUpdate Minotaur relic map position sent
0x47 S→C Minotaur relic update likely Handler next to the relic-map handlers; opcode just above 0x46 never sent
0x4C C→S MinotaurRelicWindow Minotaur relic window command (unimplemented) client never sends

Server handler is empty.

0x59 S→C MinotaurRelicRealm retail never sent
0x5A S→C Minotaur relic state guess Follows 0x59 MinotaurRelicRealm in numbering and code never sent
0x5B S→C Minotaur relic state guess Follows 0x59 MinotaurRelicRealm in numbering and code never sent

Unclassified

7 opcodes · 7 missing in OpenDAoC

No opcodes in this family match the filters.

0x23 S→C Pairs with 0xA6 unknown Handler related to 0xA6 never sent
0x38 S→C Unknown unknown never sent
0x48 S→C Unknown unknown never sent
0x4D S→C Unknown unknown never sent
0x51 S→C Unknown unknown never sent
0xD5 S→C Unknown unknown never sent
0xED S→C Unknown unknown never sent

How we know

The client side is daoc-re's map of the official 1.130 game client: every opcode its receive code dispatches, and every message it builds for its TCP and UDP send functions. The server side comes from OpenDAoC's source: the handlers it registers for client opcodes and the methods it has for each message it sends. Names, purposes and sub-types are OpenDAoC's. The comparison itself is written up in What the client knows that the server doesn't.

An opcode is not a message

Many opcodes carry a sub-type that selects a different message: chat types, update kinds, character-create operations. Character delete, for one, is operation 3 inside character create. Open a row to see its sub-types.

Guesses are marked

Opcodes OpenDAoC has no name for carry a best guess, from daoc-re's clues about where the client uses them, with how sure it is: confirmed live, likely, guess or unknown. "Retail" marks the opcodes seen in one decoded session on the official servers. We update this page as sessions confirm or correct the guesses. Corrections are welcome.

The same table, laid out as a 24 × 36 in poster, is the PDF above; the data is the JSON file.

Data generated 2026-10-28.