From 6cbd7cb554f41c8661244eee40673f67bed10bf1 Mon Sep 17 00:00:00 2001 From: Rafael Barreto Date: Thu, 22 Jul 2010 00:20:32 +0000 Subject: [PATCH] the correct fix for the maxclient issue git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@5436 e016b1c5-ed68-44aa-a2f7-31cac88cffde --- source/src/cube.h | 1 + source/src/serverbrowser.cpp | 2 +- source/src/serverms.cpp | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/source/src/cube.h b/source/src/cube.h index e8e80c5c..392b44ea 100644 --- a/source/src/cube.h +++ b/source/src/cube.h @@ -53,6 +53,7 @@ extern int verbose; #define AC_VERSION 1100 #define AC_MASTER_URI "assault.cubers.net" #define AC_MASTER_PORT 28760 +#define MAXCL 20 #endif diff --git a/source/src/serverbrowser.cpp b/source/src/serverbrowser.cpp index 45fce4aa..0e1852f8 100644 --- a/source/src/serverbrowser.cpp +++ b/source/src/serverbrowser.cpp @@ -1029,7 +1029,7 @@ void refreshservers(void *menu, bool init) { serverinfo &si = *servers[i]; si.menuline_to = si.menuline_from = ((gmenu *)menu)->items.length(); - if(!showallservers && si.lastpingmillis < servermenumillis) continue; // no pong yet + if( (!showallservers && si.lastpingmillis < servermenumillis) || (si.maxclients>MAXCL && searchlan<2) ) continue; // no pong yet or forbidden int banned = ((si.pongflags >> PONGFLAG_BANNED) & 1) | ((si.pongflags >> (PONGFLAG_BLACKLIST - 1)) & 2); bool showthisone = !(banned && showonlygoodservers) && !(showonlyfavourites > 0 && si.favcat != showonlyfavourites - 1); bool serverfull = si.numplayers >= si.maxclients; diff --git a/source/src/serverms.cpp b/source/src/serverms.cpp index 16d99135..fa43bb93 100644 --- a/source/src/serverms.cpp +++ b/source/src/serverms.cpp @@ -44,7 +44,7 @@ ENetSocket connectmaster() { if(!mastername[0]) return ENET_SOCKET_NULL; extern servercommandline scl; - if(scl.maxclients>20) { logline(ACLOG_WARNING, "maxclient exceeded: cannot register"); return ENET_SOCKET_NULL; } + if(scl.maxclients>MAXCL) { logline(ACLOG_WARNING, "maxclient exceeded: cannot register"); return ENET_SOCKET_NULL; } if(masteraddress.host == ENET_HOST_ANY) {