diff --git a/client/CServerHandler.cpp b/client/CServerHandler.cpp index 9761ad124..d38793d46 100644 --- a/client/CServerHandler.cpp +++ b/client/CServerHandler.cpp @@ -451,6 +451,13 @@ void CServerHandler::sendStartGame(bool allowOnlyAI) const { verifyStateBeforeStart(allowOnlyAI ? true : settings["session"]["onlyai"].Bool()); LobbyStartGame lsg; + if(client) + { + lsg.initializedStartInfo = std::make_shared(* const_cast(client->getStartInfo(true))); + lsg.initializedStartInfo->mode = StartInfo::NEW_GAME; + lsg.initializedStartInfo->seedToBeUsed = lsg.initializedStartInfo->seedPostInit = 0; + * si = * lsg.initializedStartInfo; + } sendLobbyPack(lsg); } diff --git a/server/CVCMIServer.cpp b/server/CVCMIServer.cpp index b469585fe..11881cb39 100644 --- a/server/CVCMIServer.cpp +++ b/server/CVCMIServer.cpp @@ -228,6 +228,8 @@ void CVCMIServer::prepareToStartGame() if(state == EServerState::GAMEPLAY) { restartGameplay = true; + * si = * gh->gs->initialOpts; + si->seedToBeUsed = si->seedPostInit = 0; state = EServerState::LOBBY; // FIXME: dirry hack to make sure old CGameHandler::run is finished boost::this_thread::sleep(boost::posix_time::milliseconds(1000));