Init Protocol
The init protocol
When a connection is established, the first thing that a client sends to the server is the HelloPacket. This packet identifies the kind of game the client is, which language it is using
and which protocol version the client is currently compiled with. The HelloPacket structure is the following:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| protocol_version (U16) | game_id (U16) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| server_number (U16) | language_id (U8) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The only observed protocol_version was 17. server_number is a valued controlled by Java Applet parameters.
See the tables below for valid language_id and game_id values.
Languages
Valid language_id values:
| id | code |
|---|---|
| 0 | en |
| 1 | ger |
| 2 | fr |
| 3 | pt-br |
Games
Valid game_id values:
id |
internalName |
|---|---|
| 1 | geoblox |
| 2 | lexicominos |
| 3 | bouncedown |
| 4 | drphlogistonsavestheearth |
| 5 | minerdisturbance |
| 6 | wizardrun |
| 7 | 36cardtrick |
| 8 | holdtheline |
| 9 | starcannon |
| 10 | stellarshard |
| 11 | torquing |
| 12 | trackcontroller |
| 13 | transmogrify |
| 14 | chess |
| 15 | crazycrystals |
| 16 | solknight |
| 17 | tetralink |
| 18 | aceofskies |
| 19 | arcanistsmulti |
| 20 | confined |
| 21 | escapevector |
| 22 | fleacircus |
| 23 | hostilespawn |
| 24 | monkeypuzzle2 |
| 25 | shatteredplans |
| 26 | terraphoenix |
| 31 | dekobloko |
| 32 | dungeonassault |
| 39 | torchallenge |
| 41 | zombiedawn |
| 55 | pixelate |
| 60 | orbdefence |
| 61 | pool |
| 64 | vertigo2 |
| 65 | brickabrac |
| 68 | armiesofgielinor |
| 69 | kickabout |
| 70 | bachelorfridge |
| 71 | steelsentinels |
| 72 | zombiedawnmulti |
| 77 | virogrid |
| 81 | tombracer |
| 92 | voidhunters |
| 100 | sumoblitz |