I was seeing apparently random unresponded messages when sending RCON commands to the server, and after inspecting the connection with Wireshark it seems clear that if multiple messages are sent in a single TCP packet, only the first is ever responded.
This is unexpected, as TCP is a stream protocol and the concept of a packet is just an implementation detail that should never affect the protocols written on top (such as RCON), and more importantly clients don't have direct control over which things are put in which packets (I just send multiple commands separately, and the kernel decides to smush them together in a packet or not).
I've also tried to force a single RCON message to split between multiple TCP packets and Factorio complains that the input is corrupted, so this leads me to believe that Factorio is reading data from the TCP socket in such a way that it expects a single message to fit in a single packet, always, as if this was RCON over UDP.
[Oxyd] [0.16.10] RCON responds only to first command in packet
Re: [Oxyd] [0.16.10] RCON responds only to first command in packet
Thanks, will be fixed in 0.16.16.