浏览代码

Add more logging for weird crash on game start

Ivan Savenko 1 年之前
父节点
当前提交
c9b6b17422
共有 1 个文件被更改,包括 9 次插入0 次删除
  1. 9 0
      server/CGameHandler.cpp

+ 9 - 0
server/CGameHandler.cpp

@@ -682,6 +682,15 @@ void CGameHandler::onNewTurn()
 		}
 	}
 
+	for (auto & player : gs->players)
+	{
+		if (player.second.status != EPlayerStatus::INGAME)
+			continue;
+
+		if (player.second.heroes.empty() && player.second.towns.empty())
+			throw std::runtime_error("Invalid player in player state! Player " + std::to_string(player.first.getNum()) + ", map name: " + gs->map->name.toString() + ", map description: " + gs->map->description.toString());
+	}
+
 	if (newWeek && !firstTurn)
 	{
 		n.specialWeek = NewTurn::NORMAL;