Added whitelist for game commands
This commit is contained in:
parent
8be5563563
commit
5463255516
1 changed files with 16 additions and 1 deletions
|
@ -184,6 +184,18 @@ Response::ResponseCode Server_ProtocolHandler::processRoomCommandContainer(const
|
||||||
|
|
||||||
Response::ResponseCode Server_ProtocolHandler::processGameCommandContainer(const CommandContainer &cont, ResponseContainer &rc)
|
Response::ResponseCode Server_ProtocolHandler::processGameCommandContainer(const CommandContainer &cont, ResponseContainer &rc)
|
||||||
{
|
{
|
||||||
|
static QList<GameCommand::GameCommandType> antifloodCommandsWhiteList = QList<GameCommand::GameCommandType>()
|
||||||
|
// draw, undraw cards (eg: drawing 10 cards one by one from the deck)
|
||||||
|
<< GameCommand::DRAW_CARDS
|
||||||
|
<< GameCommand::UNDO_DRAW
|
||||||
|
// create, delete arrows (eg: targeting with 10 cards during an attack)
|
||||||
|
<< GameCommand::CREATE_ARROW
|
||||||
|
<< GameCommand::DELETE_ARROW
|
||||||
|
// set card attributes (eg: tapping 10 cards at once)
|
||||||
|
<< GameCommand::SET_CARD_ATTR
|
||||||
|
// increment / decrement counter (eg: -10 lifepoints one by one)
|
||||||
|
<< GameCommand::INC_COUNTER;
|
||||||
|
|
||||||
if (authState == NotLoggedIn)
|
if (authState == NotLoggedIn)
|
||||||
return Response::RespLoginNeeded;
|
return Response::RespLoginNeeded;
|
||||||
|
|
||||||
|
@ -229,7 +241,10 @@ Response::ResponseCode Server_ProtocolHandler::processGameCommandContainer(const
|
||||||
int totalCount = 0;
|
int totalCount = 0;
|
||||||
if (commandCountOverTime.isEmpty())
|
if (commandCountOverTime.isEmpty())
|
||||||
commandCountOverTime.prepend(0);
|
commandCountOverTime.prepend(0);
|
||||||
++commandCountOverTime[0];
|
|
||||||
|
if(!antifloodCommandsWhiteList.contains((GameCommand::GameCommandType) getPbExtension(sc)))
|
||||||
|
++commandCountOverTime[0];
|
||||||
|
|
||||||
for (int i = 0; i < commandCountOverTime.size(); ++i)
|
for (int i = 0; i < commandCountOverTime.size(); ++i)
|
||||||
totalCount += commandCountOverTime[i];
|
totalCount += commandCountOverTime[i];
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue