summaryrefslogtreecommitdiff
path: root/src/modules/m_spanningtree.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/m_spanningtree.cpp')
-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;
}