- if (ServerConfig::FileExists(txtconf.c_str()))
- {
- strlcat(this->ConfigFileName, ".txt", MAXBUF);
- }
- else
-#endif
- {
- printf("ERROR: Cannot open config file: %s\nExiting...\n", this->ConfigFileName);
- this->Logs->Log("STARTUP",DEFAULT,"Unable to open config file %s", this->ConfigFileName);
- Exit(EXIT_STATUS_CONFIG);
- }
- }
-
- printf_c("\033[1;32mInspire Internet Relay Chat Server, compiled %s at %s\n",__DATE__,__TIME__);
- printf_c("(C) InspIRCd Development Team.\033[0m\n\n");
- printf_c("Developers:\n");
- printf_c("\t\033[1;32mBrain, FrostyCoolSlug, w00t, Om, Special\n");
- printf_c("\t\033[1;32mpeavey, aquanight, psychon, dz, danieldg\033[0m\n\n");
- printf_c("Others:\t\t\t\033[1;32mSee /INFO Output\033[0m\n");
-
- this->Modes = new ModeParser(this);
-
- if (!do_root)
- this->CheckRoot();
- else
- {
- printf("* WARNING * WARNING * WARNING * WARNING * WARNING * \n\n");
- printf("YOU ARE RUNNING INSPIRCD AS ROOT. THIS IS UNSUPPORTED\n");
- printf("AND IF YOU ARE HACKED, CRACKED, SPINDLED OR MUTILATED\n");
- printf("OR ANYTHING ELSE UNEXPECTED HAPPENS TO YOU OR YOUR\n");
- printf("SERVER, THEN IT IS YOUR OWN FAULT. IF YOU DID NOT MEAN\n");
- printf("TO START INSPIRCD AS ROOT, HIT CTRL+C NOW AND RESTART\n");
- printf("THE PROGRAM AS A NORMAL USER. YOU HAVE BEEN WARNED!\n");
- printf("\nInspIRCd starting in 20 seconds, ctrl+c to abort...\n");
- sleep(20);
- }
-
- this->SetSignals();
-
- if (!Config->nofork)
- {
- if (!this->DaemonSeed())
- {
- printf("ERROR: could not go into daemon mode. Shutting down.\n");
- Logs->Log("STARTUP", DEFAULT, "ERROR: could not go into daemon mode. Shutting down.");
- Exit(EXIT_STATUS_FORK);
- }
- }
-
- SE->RecoverFromFork();
-
- /* During startup we don't actually initialize this
- * in the thread engine.