]> jfr.im git - irc/gameservirc.git/blobdiff - gameserv/tcpclient.cpp
Added ultimate2.8.x support
[irc/gameservirc.git] / gameserv / tcpclient.cpp
index 2031b7ee69f2da9ca46b946f36d7b53fe9807ab5..72306500611708cd4e22188a9547a07ac865b772 100644 (file)
@@ -97,13 +97,12 @@ int main(int argc, char *argv[])
        delete []conf;
 
     // Turn into a daemon
-/*
     if (daemon(1,0) < 0)
     {
         perror("Could not turn into a daemon");
         exit(3);
     }
-*/
+
   init_masters();
   load_gs_dbase();
   cout << "Loading news" << endl;
@@ -183,6 +182,14 @@ int main(int argc, char *argv[])
        raw("NICK %S 1 %d +w%s %s %s %s :GameServ", time(NULL), (isBOper() ? "o" : ""), 
                gsident, gshost, servername);
        raw(":%s SJOIN %ld %s +nt :@%S", servername, time(NULL), c_Forest);
+#elif defined(ULTIMATE2)
+       raw("PASS %s :TS", remotepass);
+       raw("SERVER %s 1 :%s", servername, servername);
+       raw("NICK %S 1 %d %s %s %s 0 :GameServ", 
+               time(NULL), gsident, gshost, servername);
+       if (isBOper())
+           raw(":%S mode %S +o");
+       raw(":%S JOIN %s", c_Forest);
 #elif defined(P10)
        // Server numeric is: []  <-- must be unique
        raw("PASS :%s", remotepass);
@@ -196,9 +203,14 @@ int main(int argc, char *argv[])
        raw("%s T %s :%s", gsnum, c_Forest, c_ForestTopic);
        raw("[] EB");  // End burst
 #else 
-#ifndef HYBRID
-       raw(":%S MODE %s +o %S", c_Forest);
-#endif
+    #ifndef HYBRID
+       #if defined(ULTIMATE2)
+           raw(":%s MODE %s +o %S %ld", servername, c_Forest, 
+               time(NULL));
+       #else
+           raw(":%S MODE %s +o %S", c_Forest);
+       #endif
+    #endif
        raw(":%S TOPIC %s :%s", c_Forest, c_ForestTopic);
 #endif
 
@@ -360,7 +372,7 @@ int main(int argc, char *argv[])
 
                temp = clients[hv].insertAtBack(newuser);
 
-               #if defined(HYBRID) || defined(BAHAMUT)
+               #if defined(HYBRID) || defined(BAHAMUT) || defined(ULTIMATE2)
                    char *nickserver;
                    strtok(NULL, " ");
                    strtok(NULL, " ");
@@ -368,7 +380,6 @@ int main(int argc, char *argv[])
                    if (nickserver[0] == '+')
                        strtok(NULL, " ");
                    strtok(NULL, " ");
-
                    nickserver = strtok(NULL, " ");
                    for (int x = 0; x < 32; x++)
                    {