diff options
| author | salmonik <salmonik@tuta.io> | 2026-11-01 17:49:08 +0100 |
|---|---|---|
| committer | salmonik <salmonik@tuta.io> | 2026-11-01 17:49:08 +0100 |
| commit | 2fe2e8cdbc3bb520994ff0944188f2fa657c546a (patch) | |
| tree | 10f29b4dd62c2b8127d20f0bffd4325b3ca0bfd2 /docs/GAMES.md | |
| parent | docs: add the phased GUI plan (diff) | |
| download | zagan-bet-2fe2e8cdbc3bb520994ff0944188f2fa657c546a.tar.gz zagan-bet-2fe2e8cdbc3bb520994ff0944188f2fa657c546a.zip | |
v4.0.0: require HELLO MAJOR.MINOR lockstep before auth
Diffstat (limited to '')
| -rw-r--r-- | docs/GAMES.md | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/docs/GAMES.md b/docs/GAMES.md index bd372b1..6f6d197 100644 --- a/docs/GAMES.md +++ b/docs/GAMES.md | |||
| @@ -182,6 +182,20 @@ database. | |||
| 182 | 182 | ||
| 183 | ## Wire protocol | 183 | ## Wire protocol |
| 184 | 184 | ||
| 185 | The first line after the TLS handshake is always the version handshake: | ||
| 186 | |||
| 187 | ``` | ||
| 188 | HELLO <version> | ||
| 189 | HELLO <version> latest=<version> url=<download-url> | ||
| 190 | ``` | ||
| 191 | |||
| 192 | Client and server must share MAJOR.MINOR; only the patch component may differ. | ||
| 193 | Until the handshake succeeds the server answers every other message with | ||
| 194 | `ERROR HELLO required`, and the client sends no credentials. A mismatch answers | ||
| 195 | `ERROR Version mismatch: ...` and the client disconnects. `latest` and `url` | ||
| 196 | drive the "newer version available" notice. The server reads `DOWNLOAD_URL` | ||
| 197 | from its environment, falling back to the public site. | ||
| 198 | |||
| 185 | Slots keeps its original exchange: | 199 | Slots keeps its original exchange: |
| 186 | 200 | ||
| 187 | ``` | 201 | ``` |
