23#include <QHostAddress>
26#include <QReadWriteLock>
27#include <QSqlDatabase>
28#include <QSslCertificate>
31#include <QWebSocketServer>
35Q_DECLARE_METATYPE(QSqlDatabase)
58 const QSqlDatabase &_sqlDatabase,
59 QObject *parent =
nullptr);
77 const QSqlDatabase &_sqlDatabase,
78 QObject *parent =
nullptr);
97 const QSslCertificate &_cert,
99 QObject *parent =
nullptr)
119 const QSslCertificate &_cert,
121 const QHostAddress &_address,
206 explicit Servatrice(QObject *parent =
nullptr);
Definition serversocketinterface.h:59
Definition featureset.h:9
Definition isl_interface.h:29
Definition servatrice_connection_pool.h:11
Definition servatrice_database_interface.h:18
Definition servatrice.h:49
Servatrice_ConnectionPool * findLeastUsedConnectionPool()
Definition servatrice.cpp:97
~Servatrice_GameServer() override
Definition servatrice.cpp:73
void incomingConnection(qintptr socketDescriptor) override
Definition servatrice.cpp:84
Servatrice * server
Definition servatrice.h:52
Servatrice_GameServer(Servatrice *_server, int _numberPools, const QSqlDatabase &_sqlDatabase, QObject *parent=nullptr)
Definition servatrice.cpp:49
QList< Servatrice_ConnectionPool * > connectionPools
Definition servatrice.h:53
Definition servatrice.h:88
QSslCertificate cert
Definition servatrice.h:92
Servatrice * server
Definition servatrice.h:91
void incomingConnection(qintptr socketDescriptor) override
Definition servatrice.cpp:188
QSslKey privateKey
Definition servatrice.h:93
Servatrice_IslServer(Servatrice *_server, const QSslCertificate &_cert, QSslKey _privateKey, QObject *parent=nullptr)
Definition servatrice.h:96
Definition servatrice.h:68
Servatrice_WebsocketGameServer(Servatrice *_server, int _numberPools, const QSqlDatabase &_sqlDatabase, QObject *parent=nullptr)
Definition servatrice.cpp:116
QList< Servatrice_ConnectionPool * > connectionPools
Definition servatrice.h:72
Servatrice * server
Definition servatrice.h:71
Servatrice_ConnectionPool * findLeastUsedConnectionPool()
Definition servatrice.cpp:171
void onNewConnection()
Definition servatrice.cpp:154
~Servatrice_WebsocketGameServer() override
Definition servatrice.cpp:143
Definition servatrice.h:131
QString getISLNetworkSSLKeyFile() const
Definition servatrice.cpp:1038
int getMessageCountingInterval() const override
Definition servatrice.cpp:945
bool initServer()
Definition servatrice.cpp:225
int getNumberOfTCPPools() const
Definition servatrice.cpp:980
int getServerWebSocketPort() const
Definition servatrice.cpp:1020
int getUsersWithAddress(const QHostAddress &address) const
Definition servatrice.cpp:517
QString getAuthenticationMethodString() const
Definition servatrice.cpp:825
quint64 rxBytes
Definition servatrice.h:168
QString getDBHostNameString() const
Definition servatrice.cpp:884
QHostAddress getServerWebSocketHost() const
Definition servatrice.cpp:1010
QString getDBTypeString() const
Definition servatrice.cpp:868
int getMaxCommandCountPerInterval() const override
Definition servatrice.cpp:970
bool getISLNetworkEnabled() const
Definition servatrice.cpp:1028
QList< ServerProperties > serverList
Definition servatrice.h:176
int nextShutdownMessageMinutes
Definition servatrice.h:172
QList< AbstractServerSocketInterface * > getUsersWithAddressAsList(const QHostAddress &address) const
Definition servatrice.cpp:530
int getMaxUsersPerAddress() const
Definition servatrice.cpp:940
bool getEnableAudit() const
Definition servatrice.cpp:1093
Servatrice(QObject *parent=nullptr)
Definition servatrice.cpp:201
bool getRequireEmailActivationEnabled() const
Definition servatrice.cpp:858
bool getRegOnlyServerEnabled() const override
Definition servatrice.cpp:820
QTimer * shutdownTimer
Definition servatrice.h:173
void shutdownTimeout()
Definition servatrice.cpp:703
int getMaxMessageCountPerInterval() const override
Definition servatrice.cpp:950
int getMaxGameInactivityTime() const override
Definition servatrice.cpp:925
void addDatabaseInterface(QThread *thread, Servatrice_DatabaseInterface *databaseInterface)
Definition servatrice.cpp:476
int getForgotPasswordTokenLife() const
Definition servatrice.cpp:1073
void doSendIslMessage(const IslMessage &msg, int _serverId) override
Definition servatrice.cpp:776
QString getServerName() const
Definition servatrice.cpp:805
bool getEnableLogQuery() const override
Definition servatrice.cpp:1053
bool getRegistrationEnabled() const
Definition servatrice.cpp:848
bool getClientIDRequiredEnabled() const override
Definition servatrice.cpp:815
int getMaxPlayerInactivityTime() const override
Definition servatrice.cpp:930
int getMaxAccountsPerEmail() const
Definition servatrice.cpp:1058
QString getLoginMessage() const override
Definition servatrice.h:214
QString loginMessage
Definition servatrice.h:160
~Servatrice() override
Definition servatrice.cpp:208
DatabaseType
Definition servatrice.h:149
@ DatabaseMySql
Definition servatrice.h:151
@ DatabaseNone
Definition servatrice.h:150
QTimer * pingClock
Definition servatrice.h:155
Servatrice_DatabaseInterface * servatriceDatabaseInterface
Definition servatrice.h:164
int getCommandCountingInterval() const override
Definition servatrice.cpp:965
DatabaseType databaseType
Definition servatrice.h:154
AuthenticationMethod authenticationMethod
Definition servatrice.h:153
bool getMaxUserLimitEnabled() const override
Definition servatrice.cpp:800
QMutex serverListMutex
Definition servatrice.h:175
int getServerID() const override
Definition servatrice.cpp:810
QString getRequiredFeatures() const override
Definition servatrice.cpp:863
void updateServerList()
Definition servatrice.cpp:481
void scheduleShutdown(const QString &reason, int minutes)
Definition servatrice.cpp:676
void statusUpdate()
Definition servatrice.cpp:586
bool getEnableForgotPasswordAudit() const
Definition servatrice.cpp:1103
int getMaxTcpUserLimit() const
Definition servatrice.cpp:838
AuthenticationMethod
Definition servatrice.h:135
@ AuthenticationPassword
Definition servatrice.h:138
@ AuthenticationNone
Definition servatrice.h:136
@ AuthenticationSql
Definition servatrice.h:137
QReadWriteLock islLock
Definition servatrice.h:281
QString getRoomsMethodString() const
Definition servatrice.cpp:917
QHostAddress getServerTCPHost() const
Definition servatrice.cpp:990
int getServerStatusUpdateTime() const
Definition servatrice.cpp:975
AuthenticationMethod getAuthenticationMethod() const
Definition servatrice.h:228
QString getEmailWhiteList() const
Definition servatrice.cpp:1088
void updateLoginMessage()
Definition servatrice.cpp:542
void setRequiredFeatures(const QString &featureList)
Definition servatrice.cpp:571
void incRxBytes(quint64 num)
Definition servatrice.cpp:696
QString getISLNetworkSSLCertFile() const
Definition servatrice.cpp:1033
bool getStoreReplaysEnabled() const override
Definition servatrice.cpp:833
QString officialWarnings
Definition servatrice.h:163
int getNumberOfWebSocketPools() const
Definition servatrice.cpp:1005
bool getEnableInternalSMTPClient() const
Definition servatrice.cpp:1063
int getMaxGamesPerUser() const override
Definition servatrice.cpp:960
bool getEnableForgotPassword() const
Definition servatrice.cpp:1068
void removeIslInterface(int _serverId)
Definition servatrice.cpp:768
bool islConnectionExists(int _serverId) const
Definition servatrice.cpp:737
bool getEnableForgotPasswordChallenge() const
Definition servatrice.cpp:1078
QString getDBPrefixString() const
Definition servatrice.cpp:876
QString getDbPrefix() const
Definition servatrice.h:222
int getMaxMessageSizePerInterval() const override
Definition servatrice.cpp:955
int getMaxUserTotal() const override
Definition servatrice.cpp:795
QMutex txBytesMutex
Definition servatrice.h:167
QString getDBDatabaseNameString() const
Definition servatrice.cpp:892
bool permitCreateGameAsJudge() const override
Definition servatrice.cpp:985
QList< ServerProperties > getServerList() const
Definition servatrice.cpp:508
QMap< int, IslInterface * > islInterfaces
Definition servatrice.h:179
Servatrice_IslServer * islServer
Definition servatrice.h:158
bool getRequireEmailForRegistrationEnabled() const
Definition servatrice.cpp:853
int getIdleClientTimeout() const override
Definition servatrice.cpp:1048
bool getEnableRegistrationAudit() const
Definition servatrice.cpp:1098
int getMinPasswordLength() const
Definition servatrice.cpp:1108
QMap< QString, bool > serverRequiredFeatureList
Definition servatrice.h:162
Servatrice_WebsocketGameServer * websocketGameServer
Definition servatrice.h:157
QString dbPrefix
Definition servatrice.h:161
quint64 txBytes
Definition servatrice.h:168
int getServerTCPPort() const
Definition servatrice.cpp:1000
int getISLNetworkPort() const
Definition servatrice.cpp:1043
QTimer * statusUpdateClock
Definition servatrice.h:155
void incTxBytes(quint64 num)
Definition servatrice.cpp:689
int getClientKeepAlive() const override
Definition servatrice.cpp:935
bool getGameShouldPing() const override
Definition servatrice.h:236
int uptime
Definition servatrice.h:166
QString getDBUserNameString() const
Definition servatrice.cpp:901
int serverId
Definition servatrice.h:165
QMutex loginMessageMutex
Definition servatrice.h:159
QString shutdownReason
Definition servatrice.h:170
QString getEmailBlackList() const
Definition servatrice.cpp:1083
Servatrice_GameServer * gameServer
Definition servatrice.h:156
QString getDBPasswordString() const
Definition servatrice.cpp:909
int shutdownMinutes
Definition servatrice.h:171
int getMaxWebSocketUserLimit() const
Definition servatrice.cpp:843
QMap< QString, bool > getServerRequiredFeatureList() const override
Definition servatrice.h:209
bool permitUnregisteredUsers() const override
Definition servatrice.h:232
void addIslInterface(int _serverId, IslInterface *interface)
Definition servatrice.cpp:743
QMutex rxBytesMutex
Definition servatrice.h:167
int controlPort
Definition servatrice.h:116
int id
Definition servatrice.h:111
QSslCertificate cert
Definition servatrice.h:112
QString hostname
Definition servatrice.h:113
int gamePort
Definition servatrice.h:115
ServerProperties(int _id, const QSslCertificate &_cert, QString _hostname, const QHostAddress &_address, int _gamePort, int _controlPort)
Definition servatrice.h:118
QHostAddress address
Definition servatrice.h:114
Server(QObject *parent=nullptr)
Definition server.cpp:40