Which version? Writing down what "1.127" and "1.65" mean
While reading packet code we kept tripping over version numbers. Our test server is "a 1.65
server", yet the client OpenDAoC recommends announces itself as 1.127, and the server release is
called 2026.09.36. Packet layouts we'd copied from notes turned out to belong to older clients.
So we stopped and wrote down what each number means. In short:
- 1.127 is the client's
game.dllversion, and it is the protocol version. It decides how every packet is laid out. - 1.65 is the rules era: which patch's classes, spells and world the server recreates.
- 2026.09.36 is just OpenDAoC's release tag.
- The database has no version at all; it's pinned only by the exact server image.
The finding that made it click: OpenDAoC supports 62 client versions, from 1.68 to 1.129. The oldest client it accepts is newer than the rules it plays by. A "1.65 server" can't talk to a 1.65 client, because freeshards pair a modern client with old rules.
For our client this simplifies things: we implement exactly one protocol version, 1.127, and the rules era doesn't change how packets are built.
The details, sources and open questions are on a reference page we'll keep updating: Versions: client, protocol, rules, server, database.