mahou/protocol

52 lines
No EOL
1.2 KiB
Text

PROTOCOL
this is almost a carbon copy of every other tcp/ip protocol i write
don't care enough to make it fancy
all numbers are packed unless stated otherwise
packed values are msb
byte n is b.n
region n is r.n
---
byte the zero: packet id
byte the one: region count
for 0 <= n < b.1
byte the byte after the previous byte byte:
region length < 128: one byte
region length >= 128: two bytes, highest bit on msb always 1
byte the bytes after the header octet bytes bytes:
raw body data shoved next to each other with no separation
---
client -> server
id 0: registration attempt
r.0 - username - string
r.1 - pin - ushort (max 9999)
id 1: login attempt
r.0 - username - string
r.1 - pin - ushort (max 9999)
id 2: ctx change response
r.0 - ack - bool
r.1 - ctx id - ushort
---
server -> client
id 0: registration response
r.0 - succeeded - bool
r.1 - status - string
id 1: login response
r.0 - succeeded - bool
r.1 -> status - string (if r.0 false)
-> user id - ushort (if r.0 true)
id 2: ctx change request
r.0 - ctx id - ushort