Internals¶
These pages are for contributors, and for anyone who wants to know what happens under a service call.
-
The login handshake, how a reply finds its request, and the package layers, drawn.
-
The network, protocol, state and client layers and what each owns.
-
The SmartFox handshake and the
%xt%message format, as the game client sends them. -
Thread safety, passive updates, object identity and the movement lifecycle.
-
Command ids, the commander/castellan/general split, the
gliandcrakeys, map object types, and how to read the client bundle yourself.
The game client is the source of truth¶
Every model and request is written against the game's own HTML5 client. A
model's docstring ends with a Client: line naming the client class, and the
line of the client bundle it was read from. Where the library is more lenient
than the client, its docstring says so. The command ids the library uses are
checked against a snapshot of the client's command tables, and a weekly
workflow compares that snapshot with the live client.
Contributing explains how to add a command and the conventions every model follows.