Require at least 3 characters for search addon in server

This will prevent sending too many data if server has all addons
This commit is contained in:
Benau
2019-12-26 15:18:31 +08:00
parent f6ee1ebab1
commit 3708d81815

View File

@@ -4994,10 +4994,18 @@ void ServerLobby::handleServerCommand(Event* event,
NetworkString* chat = getNetworkString();
chat->addUInt8(LE_CHAT);
chat->setSynchronous(true);
if (argv.size() > 3)
if (argv.size() == 1 || argv.size() > 3 || argv[1].size() < 3 ||
(argv.size() == 2 &&
(argv[1].compare("-track") == 0 ||
argv[1].compare("-arena") == 0 ||
argv[1].compare("-kart") == 0 ||
argv[1].compare("-soccer") == 0)) ||
(argv.size() == 3 && argv[2].size() < 3))
{
chat->encodeString16(
L"Usage: /listserveraddon [option][addon prefix letter(s) to find]. Available options: -track, -arena, -kart, -soccer.");
L"Usage: /listserveraddon [option][addon string to find "
"(at least 3 characters)]. Available options: "
"-track, -arena, -kart, -soccer.");
}
else
{