masterserver works again

This commit is contained in:
Titus Tscharntke
2010-05-13 11:19:10 +00:00
parent a7e7b00cba
commit 9163d75fcc
2 changed files with 11 additions and 11 deletions

View File

@@ -54,6 +54,7 @@ MenuStateCustomGame::MenuStateCustomGame(Program *program, MainMenu *mainMenu, b
needToSetChangedGameSettings = false; needToSetChangedGameSettings = false;
needToRepublishToMasterserver = false; needToRepublishToMasterserver = false;
needToBroadcastServerSettings = false;
lastSetChangedGameSettings = time(NULL); lastSetChangedGameSettings = time(NULL);
lastMasterserverPublishing = time(NULL); lastMasterserverPublishing = time(NULL);
@@ -648,6 +649,11 @@ void MenuStateCustomGame::update()
listBoxPublishServer.setSelectedItemIndex(1); listBoxPublishServer.setSelectedItemIndex(1);
listBoxPublishServer.setEditable(false); listBoxPublishServer.setEditable(false);
} }
if(difftime(time(NULL),lastMasterserverPublishing) >= 5 ){
needToRepublishToMasterserver = true;
lastMasterserverPublishing = time(NULL);
}
if(listBoxPublishServer.getEditable() && if(listBoxPublishServer.getEditable() &&
listBoxPublishServer.getSelectedItemIndex() == 0 && listBoxPublishServer.getSelectedItemIndex() == 0 &&
@@ -656,15 +662,10 @@ void MenuStateCustomGame::update()
publishToMasterserver(); publishToMasterserver();
} }
/*
if(difftime(time(NULL),lastSetChangedGameSettings) >= 2) if(difftime(time(NULL),lastSetChangedGameSettings) >= 2)
{ {
GameSettings gameSettings; needToBroadcastServerSettings=true;
loadGameSettings(&gameSettings);
serverInterface->setGameSettings(&gameSettings);
serverInterface->broadcastGameSetup(&gameSettings);
} }
*/
//call the chat manager //call the chat manager
chatManager.updateNetwork(); chatManager.updateNetwork();
@@ -738,12 +739,10 @@ void MenuStateCustomGame::publishToMasterserver()
} }
void MenuStateCustomGame::simpleTask() { void MenuStateCustomGame::simpleTask() {
if( needToRepublishToMasterserver == true && if( needToRepublishToMasterserver == true &&
difftime(time(NULL),lastMasterserverPublishing) >= 5 &&
publishToServerInfo != "") { publishToServerInfo != "") {
needToRepublishToMasterserver = false; needToRepublishToMasterserver = false;
lastMasterserverPublishing = time(NULL);
string request = Config::getInstance().getString("Masterserver") + "addServerInfo.php?" + publishToServerInfo; string request = Config::getInstance().getString("Masterserver") + "addServerInfo.php?" + publishToServerInfo;
publishToServerInfo = ""; publishToServerInfo = "";
@@ -751,9 +750,9 @@ void MenuStateCustomGame::simpleTask() {
std::string serverInfo = SystemFlags::getHTTP(request); std::string serverInfo = SystemFlags::getHTTP(request);
} }
if(difftime(time(NULL),lastSetChangedGameSettings) >= 2) if(needToBroadcastServerSettings)
{ {
lastSetChangedGameSettings = time(NULL); needToBroadcastServerSettings=false;
GameSettings gameSettings; GameSettings gameSettings;
loadGameSettings(&gameSettings); loadGameSettings(&gameSettings);
ServerInterface* serverInterface= NetworkManager::getInstance().getServerInterface(); ServerInterface* serverInterface= NetworkManager::getInstance().getServerInterface();

View File

@@ -56,6 +56,7 @@ private:
time_t lastSetChangedGameSettings; time_t lastSetChangedGameSettings;
time_t lastMasterserverPublishing; time_t lastMasterserverPublishing;
bool needToRepublishToMasterserver; bool needToRepublishToMasterserver;
bool needToBroadcastServerSettings;
string publishToServerInfo; string publishToServerInfo;
SimpleTaskThread *publishToMasterserverThread; SimpleTaskThread *publishToMasterserverThread;