*** VERSION 5.4.0 ***
[NeonServV5.git] / src / main.c
index 0ca3d31ea190c1be70efb3f6eded83e96dfa43d9..af42218e74faa800f1a689c79c7599cb98a4b640 100644 (file)
@@ -1,4 +1,4 @@
-/* main.c - NeonServ v5.3
+/* main.c - NeonServ v5.4
  * Copyright (C) 2011-2012  Philipp Kreil (pk910)
  * 
  * This program is free software: you can redistribute it and/or modify
 #include "ModeNode.h"
 #include "IRCQueue.h"
 #include "DBHelper.h"
-#include "commands.h"
 #include "ConfigParser.h"
 #include "ssl.h"
 #include "QServer.h"
 #include "version.h"
+#include "modules.h"
+#include "module_commands.h"
 
 time_t start_time;
 static int running, hard_restart;
@@ -191,10 +192,15 @@ int main(int argc, char *argv[]) {
             break;
         }
     }
+    #ifndef WIN32
     if(geteuid() == 0 || getuid() == 0) {
         fprintf(stderr, "NeonServ may not be run with super user privileges.\n");
         exit(0);
     }
+    #endif
+    #ifdef ENABLE_MEMORY_DEBUG
+    initMemoryDebug();
+    #endif
     if(!loadConfig(CONF_FILE)) {
         fprintf(stderr, "Unable to load " CONF_FILE "\n");
         exit(0);
@@ -243,10 +249,6 @@ main:
     signal(SIGSEGV, sighandler);
     signal(SIGTERM, sighandler);
     
-    #ifdef ENABLE_MEMORY_DEBUG
-    initMemoryDebug();
-    #endif
-    
     start_time = time(0);
     
     #ifdef WIN32
@@ -280,9 +282,10 @@ main:
     init_ModeNode();
     init_bind();
        init_modcmd();
+    register_module_commands();
     init_handleinfohandler();
     init_tools();
-    
+    loadModules();
     init_bots();
     init_DBHelper();
     qserver_init();
@@ -457,7 +460,7 @@ TIMEQ_CALLBACK(main_checkauths) {
             if ((row = mysql_fetch_row(res)) != NULL) {
                 lastcheck = atoi(row[1]);
                 if(!lastcheck || unixtime - lastcheck >= min_unckecked) {
-                    lookup_authname(row[0], main_checkauths_callback, NULL);
+                    lookup_authname(row[0], 0, main_checkauths_callback, NULL);
                 } else 
                     next_call = 300;
             }