diff --git a/servatrice/servatrice.ini.example b/servatrice/servatrice.ini.example index 6a728e26..93dee245 100644 --- a/servatrice/servatrice.ini.example +++ b/servatrice/servatrice.ini.example @@ -79,7 +79,7 @@ requiredfeatures="" ; You can define custom warnings that users are sent when the moderation staff uses the right client warn user ; menu option. This list is comma seperated that each item will appear in the drop down list for staff members ; to choose from. Example: "Flaming,Foul Language" -officialwarnings="Flamming,Spamming,Causing Drama,Abusive Language" +officialwarnings="Flaming,Spamming,Causing Drama,Abusive Language" ; Maximum time in seconds a player can stay connected but idle. Default is 3600 (0 = disabled) ; Clients will be notified at the 90% time period of pending disconnection if they do not take action. diff --git a/servatrice/src/main.cpp b/servatrice/src/main.cpp index b9a61d5f..357a9170 100644 --- a/servatrice/src/main.cpp +++ b/servatrice/src/main.cpp @@ -30,6 +30,7 @@ #include #include #include +#include #include #include #include @@ -140,7 +141,12 @@ int main(int argc, char *argv[]) qRegisterMetaType>("QList"); - configPath = SettingsCache::guessConfigurationPath(configPath); + if (configPath.isEmpty()) { + configPath = SettingsCache::guessConfigurationPath(); + } else if (!QFile::exists(configPath)) { + qCritical() << "Could not find configuration file at" << configPath; + return 1; + } qWarning() << "Using configuration file: " << configPath; settingsCache = new SettingsCache(configPath); @@ -167,10 +173,15 @@ int main(int argc, char *argv[]) PasswordHasher::initialize(); - if (testRandom) + if (testRandom) { testRNG(); - if (testHashFunction) + } + if (testHashFunction) { testHash(); + } + if (testRandom || testHashFunction) { + return 0; + } smtpClient = new SmtpClient(); diff --git a/servatrice/src/settingscache.cpp b/servatrice/src/settingscache.cpp index 06052a33..8c33cdba 100644 --- a/servatrice/src/settingscache.cpp +++ b/servatrice/src/settingscache.cpp @@ -23,7 +23,7 @@ SettingsCache::SettingsCache(const QString &fileName, QSettings::Format format, } } -QString SettingsCache::guessConfigurationPath(QString &specificPath) +QString SettingsCache::guessConfigurationPath() { const QString fileName = "servatrice.ini"; if (QFile::exists(qApp->applicationDirPath() + "/portable.dat")) { @@ -32,9 +32,6 @@ QString SettingsCache::guessConfigurationPath(QString &specificPath) } QString guessFileName; - // specific path - if (!specificPath.isEmpty() && QFile::exists(specificPath)) - return specificPath; // application directory path guessFileName = QCoreApplication::applicationDirPath() + "/" + fileName; diff --git a/servatrice/src/settingscache.h b/servatrice/src/settingscache.h index 7abfd8bb..20eb7cf6 100644 --- a/servatrice/src/settingscache.h +++ b/servatrice/src/settingscache.h @@ -16,7 +16,7 @@ public: SettingsCache(const QString &fileName = "servatrice.ini", QSettings::Format format = QSettings::IniFormat, QObject *parent = 0); - static QString guessConfigurationPath(QString &specificPath); + static QString guessConfigurationPath(); QList disallowedRegExp; bool getIsPortableBuild() const {