eveofdarkness.org

Every opcode on one page

Last time we compared the opcode tables of the 1.130 client and the OpenDAoC server. We've been working from that merged table ever since, so we cleaned it up and published it in two forms.

The opcode reference page lists all 228 opcodes, grouped into 18 feature families: session and login, character select, world entry, movement, combat, keeps and RvR, housing and so on. Each row has OpenDAoC's name, what the message does, and whether OpenDAoC implements it. You can filter by direction, by family, or to just the 34 opcodes OpenDAoC is missing, and open a row to see its sub-types. 0xAF, for one, is a single opcode carrying 38 kinds of chat message.

The poster (PDF, 24 × 36 in) is the same table laid out on one sheet, for the wall next to your desk.

The opcode poster: two 16 × 16 opcode maps at the top, the 18 family tables below

Reading it

The two grids at the top are opcode maps, one per direction: row is the high nibble, column the low one. Colour is the family. A filled cell means both sides implement the opcode; a pale cell with a coloured border means the client knows it and OpenDAoC doesn't. A dashed border means OpenDAoC has no name for it and the family is inferred. A dot marks the opcodes we saw in a recorded session on the official servers, and a small "U" marks the ones that can travel over UDP.

Guesses are marked

33 opcodes have no OpenDAoC name. For those, the table gives the best guess and how sure it is (confirmed live, likely, guess or unknown), using the clues from the last post. We'll update the page as sessions confirm or correct them; the PDF is a dated snapshot.

The data behind both is a JSON file. The names, purposes and sub-types come from OpenDAoC's source; the client-side table is daoc-re's, and the live confirmations come from sessions we recorded.