Hi there!
I’m making some stress test on the server with authoritative matches and I’m getting some disconnections with no errors. I guess is due to message queue size, but I don’t have any access to it.
Is it possible to know the queue size or if the disconnection reason is due to this?
Hitting the limit on unprocessed outgoing messages to an individual client socket will print this log message with warning severity:
“Could not write message, session outgoing queue full”
If this is what’s happening I’d recommend you start by examining the overall message flow rather than just increasing the limit.
Can you please elaborate this more as earlier I was not having such issues but now it’s became headache and game is not playable…
For example
- What’s the ideal number of outgoing msgs per tick?
(for me it’s sending 5-7 msgs per tick and sometimes uptp 13) - How to control number of msgs per tick is there a way to keep a check on that or manually dropping least important msgs before sending
Hej @surajTLabs maybe to go a different route, instead of balancing and knowing what is queue message size, go rather with which packets/msg can be combined. How can i lower the amount of messages it needs to get sent. What are the sizes of those messages?
As per doc:
" The binary content (payload) in each data message should be as small as possible within the maximum transmission unit (MTU) of 1500
bytes."
" When further reducing the message size and/or frequency is not possible, it is best to prioritize sending fewer messages. For example, 1 message of 1000
bytes per second is better than 5 messages of 200
bytes per second.
Client messages are buffered by the server in the order received and, when the next match loop runs, are handed off as a batch. Best practice is to try and maintain no more than 1 message per tick, per presence to the server, and the same from the server to each presence."
So depending on your gameplay, if it is turn based, i belive with usage of protobufs,flatbufs,messagepack and then bit packing you can drastically reduce size of the messages, and then see on which claver way you can utilize or combine more messages to single one.
Thank you for detailed explanation, we are already using protobuf to reduce size. I think now it’s time to combine messages to reduce the total count.
Hello,
I think you’re encountering disconnections during stress tests on a server with authoritative matches and suspect it’s due to message queue size, but lack access to verify it directly, start by checking server logs for any related errors or warnings. Use network monitoring tools to observe traffic and server metrics, which can indirectly indicate queue size issues