The docs section on realtime multiplayer recommends using a binary format to send data. So I decided to go with one of the listed options - FlatBuffers. The implementation was relatively smooth up to the point where I tried to actually deserialize data that was sent from my client. After some debugging I found out, that FlatBuffers Lua implementation uses Lua 5.3, but the Nakama server only has a Lua 5.1 runtime. Specifically FlatBuffers uses the string.unpack function, which doesn’t exist in Lua 5.1 (Maybe there’s more, this is the first error I’ve run into)
According to this topic it is not trivial to upgrade Nakama to use Lua 5.3 and there are no plans to do so.
Did anyone find a workaround to use FlatBuffers with Lua? Or would I be better off just using Go (which would be a bit of a shame as I would have to rewrite all of my server-side code)?