diff --git a/lib/VCMI_lib.cbp b/lib/VCMI_lib.cbp
index 76967df72..67eae96cf 100644
--- a/lib/VCMI_lib.cbp
+++ b/lib/VCMI_lib.cbp
@@ -30,6 +30,7 @@
+
@@ -57,6 +58,7 @@
+
diff --git a/server/CGameHandler.cpp b/server/CGameHandler.cpp
index 5fe7b8fad..e2da798c9 100644
--- a/server/CGameHandler.cpp
+++ b/server/CGameHandler.cpp
@@ -1605,6 +1605,15 @@ void CGameHandler::run(bool resume)
}
}
}
+ //additional check that game is not finished
+ bool activePlayer = false;
+ for(auto player : playerTurnOrder)
+ {
+ if(gs->players[player].status == EPlayerStatus::INGAME)
+ activePlayer = true;
+ }
+ if(!activePlayer)
+ end2 = true;
}
while(conns.size() && (*conns.begin())->isOpen())
boost::this_thread::sleep(boost::posix_time::milliseconds(5)); //give time client to close socket