| 1397 | VAR(msctrl, 1, 1, INT_MAX); |
| 1398 | |
| 1399 | void updatefrommaster(int *force) |
| 1400 | { |
| 1401 | static int lastupdate = 0; |
| 1402 | if(!*force && lastupdate && totalmillis-lastupdate<masterupdatefrequency*1000) return; |
| 1403 | |
| 1404 | vector<char> data; |
| 1405 | retrieveservers(data); |
| 1406 | |
| 1407 | if(data.empty()) conoutf("Master server is not replying. \f1Get more information at http://masterserver.cubers.net/"); |
| 1408 | else |
| 1409 | { |
| 1410 | // preserve currently connected server from deletion |
| 1411 | serverinfo *curserver = getconnectedserverinfo(); |
| 1412 | string curname; |
| 1413 | if(curserver) copystring(curname, curserver->name); |
| 1414 | |
| 1415 | clearservers(); |
| 1416 | |
| 1417 | execute(data.getbuf()); |
| 1418 | if(curserver) addserver(curname, curserver->port, curserver->msweight); |
| 1419 | |
| 1420 | lastupdate = totalmillis; |
| 1421 | } |
| 1422 | } |
| 1423 | |
| 1424 | COMMANDF(addserver, "sii", (char *n, int *p, int *w) { addserver(n, *p, *w); }); |
| 1425 | COMMAND(clearservers, ""); |
no test coverage detected