summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/core/ss_main.c3
-rw-r--r--src/servers.c13
2 files changed, 10 insertions, 6 deletions
diff --git a/src/core/ss_main.c b/src/core/ss_main.c
index c92ce5211..e4fb1df15 100644
--- a/src/core/ss_main.c
+++ b/src/core/ss_main.c
@@ -72,7 +72,8 @@ class SSMain : public Module
}
}
- void OnServerConnect(const std::string &sname)
+ /** This hack is necessary to replace delayed loading, for now */
+ void OnServerConnect(Server *)
{
statserv = findbot("StatServ");
if (!statserv)
diff --git a/src/servers.c b/src/servers.c
index e66c5be98..073891fad 100644
--- a/src/servers.c
+++ b/src/servers.c
@@ -161,10 +161,6 @@ Server *new_server(Server * server_uplink, const char *name, const char *desc,
if ((server_uplink == me_server) && !(flags & SERVER_JUPED))
serv_uplink = serv;
- /* Write the StartGlobal (to non-juped servers) */
- if (GlobalOnCycle && GlobalOnCycleUP && !(flags & SERVER_JUPED))
- notice_server(s_GlobalNoticer, serv, "%s", GlobalOnCycleUP);
-
return serv;
}
@@ -402,8 +398,15 @@ void do_server(const char *source, const char *servername, const char *hops,
if (s == NULL)
throw CoreException("Recieved a server from a nonexistant uplink?");
+ /* Create a server structure. */
new_server(s, servername, descript, 0, numeric);
- FOREACH_MOD(I_OnServerConnect, OnServerConnect(servername));
+
+ /* Announce services being online. */
+ if (GlobalOnCycle && GlobalOnCycleUP)
+ notice_server(s_GlobalNoticer, serv, "%s", GlobalOnCycleUP);
+
+ /* Let modules know about the connection */
+ FOREACH_MOD(I_OnServerConnect, OnServerConnect(s));
}
/*************************************************************************/