diff options
Diffstat (limited to 'src/modules/m_spanningtree.cpp')
-rw-r--r-- | src/modules/m_spanningtree.cpp | 12 |
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; } |