summaryrefslogtreecommitdiff
path: root/src/modules
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2006-02-07 01:45:00 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2006-02-07 01:45:00 +0000
commit6a35f96eb272821d42f0757e2654d84bd5b2c05a (patch)
treefa94608f71a6e94fcfed2920f25da934c83d4253 /src/modules
parent4897253c0c195c755a715a2b68ce04044047e6d6 (diff)
Added max and current local/global usercounts to /lusers same way as most other ircds
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3120 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/m_spanningtree.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/modules/m_spanningtree.cpp b/src/modules/m_spanningtree.cpp
index 310945824..03e543cd6 100644
--- a/src/modules/m_spanningtree.cpp
+++ b/src/modules/m_spanningtree.cpp
@@ -2509,12 +2509,14 @@ class ModuleSpanningTree : public Module
std::vector<TreeSocket*> Bindings;
int line;
int NumServers;
+ int max_local;
+ int max_global;
cmd_rconnect* command_rconnect;
public:
ModuleSpanningTree(Server* Me)
- : Module::Module(Me)
+ : Module::Module(Me), max_local(0), max_global(0)
{
Srv = Me;
Bindings.clear();
@@ -2571,11 +2573,19 @@ class ModuleSpanningTree : public Module
void HandleLusers(char** parameters, int pcnt, userrec* user)
{
+ /* Only update these when someone wants to see them, more efficient */
+ if (local_count() > max_local)
+ max_local = local_count();
+ if (clientlist.size() > max_global)
+ max_global = clientlist.size();
+
WriteServ(user->fd,"251 %s :There are %d users and %d invisible on %d servers",user->nick,usercnt()-usercount_invisible(),usercount_invisible(),this->CountServs());
WriteServ(user->fd,"252 %s %d :operator(s) online",user->nick,usercount_opers());
WriteServ(user->fd,"253 %s %d :unknown connections",user->nick,usercount_unknown());
WriteServ(user->fd,"254 %s %d :channels formed",user->nick,chancount());
WriteServ(user->fd,"254 %s :I have %d clients and %d servers",user->nick,local_count(),this->CountLocalServs());
+ WriteServ(user->fd,"265 %s :Current Local Users: %d Max: %d",user->nick,local_count(),max_local);
+ WriteServ(user->fd,"266 %s :Current Global Users: %d Max: %d",user->nick,clientlist.size(),max_global);
return;
}