Fix string overflow in configstrings, replace most info_string usages with std::string#1932
Fix string overflow in configstrings, replace most info_string usages with std::string#1932VReaperV wants to merge 17 commits intofor-0.56.0/syncfrom
Conversation
Correctly parse multiline strings in network messages.
|
As discussed #1215, the issue with cvars like Is there any particular motivation for making reliable commands arbitrarily large as well? The configstrings have a splitting mechanism using |
Where do you see cvars in the server list?
To suggest that fixing an overflow is not a motivation is atrocious.
Clearly it doesn't work. Unlike this pr. |
|
I don't see any bugs with the current config string code. There is just a deliberately placed restriction on the serverinfo string of maximum length 1k, unlike the other configstrings which have max length 8k. The long configstring transmission code works. You can verify by executing these commands on a server: Then run One can "fix" the server info string, as far as transmitting large data from the server to the client, by changing false to true on Daemon/src/engine/server/sv_main.cpp Line 1383 in 4c90dfa
The detailed server info in the in-game browser is broken or unimplemented currently, but you can see it on some older versions. For example with Unvanquished 0.17 you can click "Server Info" on the server list screen and see the list of cvars. |
|
One can inspect the server informations by querying servers using the third-party qstat tool: The Unvanquished's built-in server browser may be limited, but third-party browser tools like XQF can list those cvars as well. |
|
Cgame-side pr: Unvanquished/Unvanquished#3492
The configstring issue can be observed when e. g. the server sets a lot of entries in
g_disabledEquipmentandg_disabledClassesetc.MAX_INFO_STRING/BIG_INFO_STRINGis now almost entirely unused, and should be fixable without requiring compat-breaking changes after this pr.