Open cu-kai opened 2 weeks ago
How sad
I looked at the current serverinfo on Bunker and it's about 800 bytes. This is close to the "normal" MAX_INFO_STRING size of 1024, but nowhere near BIG_INFO_STRING. So probably the bcs
commands are just broken and can't handle stuff more than 1024 correctly.
I looked at the current serverinfo on Bunker and it's about 800 bytes. This is close to the "normal" MAX_INFO_STRING size of 1024, but nowhere near BIG_INFO_STRING. So probably the
bcs
commands are just broken and can't handle stuff more than 1024 correctly.
Thanks for the clarification. So the real bug is not the one I am reporting? Feel free to re-title this as appropriate.
I was able to reproduce locally. The server sends a bcs0
and a bcs2
command, but somehow only the bcs2
command arrives to the client.
bcs exceeded BIG_INFO_STRING
bug, BUT it does not mean that you can safely have a serverinfo string up to 8192 characters. In other parts of the system the serverinfo string is limited to 1024 chars. It has more restrictions than a general config string.With #1218 you can now safely have a serverinfo string which is close to 1024 characters but not exceeding it (this was probably your use case.)
Increasing the max serverinfo length would require a compatibility-breaking change. Anyway the idea of the serverinfo is to display only the things that would be most relevant to someone deciding which server to join.
What is the long term fix? Are you saying we should create another mechanism for syncing arbitrary data between the server and client?
Increasing the max serverinfo length would require a compatibility-breaking change. Anyway the idea of the serverinfo is to display only the things that would be most relevant to someone deciding which server to join.
It seems to also be used to let the client decide which buildables, classes and equipment to show as locked in the menu.
What is the long term fix? Are you saying we should create another mechanism for syncing arbitrary data between the server and client?
This would probably be the best thing to do?
Other cvars that need to be sent to clients could be put in another info string besides the serverinfo one.
We are sending a lot of information in the info strings now, and 8192 is just not big enough for this as I found out, simply setting some
g_disabledEquipment
andg_disabledBuildables
caused an overflow on Bunker, and players are either spammed by: "Warn: Unknown client game command ..." or kicked from the server with the "bcs exceeded BIG_INFO_STRING" message.Can we increase this? (double it?) What are the implications of such a change?