client side lock and version info

git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@5135 e016b1c5-ed68-44aa-a2f7-31cac88cffde
This commit is contained in:
Rafael Barreto
2010-06-02 15:36:43 +00:00
parent a9c94eaa9f
commit d7830dbe5d
3 changed files with 10 additions and 5 deletions
+8 -3
View File
@@ -1268,6 +1268,7 @@ void clearservers()
#define RETRIEVELIMIT 20000
extern char *global_name;
bool cllock = true, serverscfgread = false;
void retrieveservers(vector<char> &data)
{
@@ -1280,7 +1281,7 @@ void retrieveservers(vector<char> &data)
int starttime = SDL_GetTicks(), timeout = 0;
string request;
sprintf(request, "list %s\n",global_name);
sprintf(request, "list %s %d\n",global_name,AC_VERSION);
const char *req = request;
int reqlen = strlen(req);
ENetBuffer buf;
@@ -1335,7 +1336,10 @@ void updatefrommaster(int force)
vector<char> data;
retrieveservers(data);
if(data.empty()) conoutf("master server not replying");
if(data.empty()) {
conoutf("master server not replying");
if ( !serverscfgread ) { execfile("config/servers.cfg"); serverscfgread = true;}
}
else
{
// preserve currently connected server from deletion
@@ -1349,7 +1353,8 @@ void updatefrommaster(int force)
}
clearservers();
execute(data.getbuf());
if ( !strncmp(data.getbuf(), "addserver", 9) ) cllock = false;
if ( !cllock ) execute(data.getbuf());
if(curserver) addserver(curname, curport, curweight);
lastupdate = totalmillis;