Server bug?
Client bug?
Maybe you can remake this function to delay rotate player.
protocolgame.cpp ->
void ProtocolGame::parseTurn(NetworkMessage& msg, Direction dir)
{
addGameTaskTimed(DISPATCHER_TASK_EXPIRATION, &Game::playerTurn, player->getID(), dir);
}
This is a small clue ;)