Cockatrice 2026-10-19-Development-3.1.2-beta.2
A virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
serversocketinterface.h
Go to the documentation of this file.
1/***************************************************************************
2 * Copyright (C) 2008 by Max-Wilhelm Bruker *
3 * brukie@laptop *
4 * *
5 * This program is free software; you can redistribute it and/or modify *
6 * it under the terms of the GNU General Public License as published by *
7 * the Free Software Foundation; either version 2 of the License, or *
8 * (at your option) any later version. *
9 * *
10 * This program is distributed in the hope that it will be useful, *
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13 * GNU General Public License for more details. *
14 * *
15 * You should have received a copy of the GNU General Public License *
16 * along with this program; if not, write to the *
17 * Free Software Foundation, Inc., *
18 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
19 ***************************************************************************/
20#ifndef SERVERSOCKETINTERFACE_H
21#define SERVERSOCKETINTERFACE_H
22
23#include "libcockatrice/protocol/pb/response.pb.h"
24#include "libcockatrice/protocol/pb/server_message.pb.h"
25
26#include <QAbstractSocket>
27#include <QByteArray>
28#include <QHostAddress>
29#include <QList>
30#include <QMutex>
31#include <QString>
32#include <QStringList>
33#include <QTcpSocket>
34#include <QWebSocket>
35#include <QtGlobal>
36#include <qtmetamacros.h>
38
39class Servatrice;
41class DeckList;
49class Command_DeckDel;
93class Command_Report;
109class Command_WarnUser;
110class QObject;
112
114{
115 Q_OBJECT
116protected slots:
117 void catchSocketError(QAbstractSocket::SocketError socketError);
119 virtual void flushOutputQueue() = 0;
120signals:
122 void incTxBytes(qint64 amount);
123
124protected:
125 void logDebugMessage(const QString &message) override;
126 bool tooManyRegistrationAttempts(const QString &ipAddress);
127 void processCommandContainer(const CommandContainer &cont) override;
128 bool acceptsCredentialFormat(bool passwordNeedsHash, const QString &password) const;
129
130 virtual void writeToSocket(QByteArray &data) = 0;
131 virtual void flushSocket() = 0;
132
136
137private:
139
142 int getDeckPathId(int basePathId, QStringList path);
143 int getDeckPathId(const QString &path);
144 bool deckListHelper(int folderId,
146 int userId,
147 bool inheritedPublic,
148 bool publicOnly);
149 int getDeckOwnerId(int deckId);
150 bool isDeckEffectivelyPublic(int deckId);
155 void deckDelDirHelper(int basePathId);
156 void sendServerMessage(const QString userName, const QString message);
172 QString createHashForReplay(int gameId);
179 cmdGetLogHistory(const Command_ViewLogHistory &cmd, ResponseContainer &rc, bool allowPrivateChat);
195 Response::ResponseCode continuePasswordRequest(const QString &userName,
196 const QString &clientId,
198 bool challenged = false);
206 void onLogin(ResponseContainer &rc) override;
212 processExtendedSessionCommand(int cmdType, const SessionCommand &cmd, ResponseContainer &rc) override;
214 processExtendedModeratorCommand(int cmdType, const ModeratorCommand &cmd, ResponseContainer &rc) override;
216 processExtendedAdminCommand(int cmdType, const AdminCommand &cmd, ResponseContainer &rc) override;
218 processExtendedDeveloperCommand(int cmdType, const DeveloperCommand &cmd, ResponseContainer &rc) override;
219
229
232
238
240
241 bool addAdminFlagToUser(const QString &user, int flag);
242 bool removeAdminFlagFromUser(const QString &user, int flag);
243
244 bool isPasswordLongEnough(const int passwordLength);
245 void removeSaidMessages(const QString &userName, int amount);
246
247public:
249 Servatrice_DatabaseInterface *_databaseInterface,
250 QObject *parent = 0);
254 bool initSession();
255
256 virtual QHostAddress getPeerAddress() const = 0;
257 QString getAddress() const override = 0;
258
259 void transmitProtocolItem(const ServerMessage &item) override;
260};
261
263{
264 Q_OBJECT
265public:
267 Servatrice_DatabaseInterface *_databaseInterface,
268 QObject *parent = 0);
270
271 QHostAddress getPeerAddress() const
272 {
273 return socket->peerAddress();
274 }
275 QString getAddress() const
276 {
277 return socket->peerAddress().toString();
278 }
279 QString getConnectionType() const
280 {
281 return "tcp";
282 }
283
284private:
285 QTcpSocket *socket;
286 QByteArray inputBuffer;
290
291protected:
292 void writeToSocket(QByteArray &data)
293 {
294 socket->write(data);
295 }
297 {
298 socket->flush();
299 }
301 bool initTcpSession();
302protected slots:
303 void readClient();
304 void flushOutputQueue();
305public slots:
306 void initConnection(int socketDescriptor);
307};
308
310{
311 Q_OBJECT
312public:
314 Servatrice_DatabaseInterface *_databaseInterface,
315 QObject *parent = nullptr);
317
318 QHostAddress getPeerAddress() const
319 {
320 return address;
321 }
322 QString getAddress() const
323 {
324 return address.toString();
325 }
326 QString getConnectionType() const
327 {
328 return "websocket";
329 }
330
331private:
332 QWebSocket *socket;
333 QHostAddress address;
334
335protected:
336 void writeToSocket(QByteArray &data)
337 {
338 socket->sendBinaryMessage(data);
339 }
341 {
342 socket->flush();
343 }
345protected slots:
346 void binaryMessageReceived(const QByteArray &message);
347 void flushOutputQueue();
348public slots:
349 void initConnection(void *_socket);
350};
351
352#endif
bool isPasswordLongEnough(const int passwordLength)
Definition serversocketinterface.cpp:4691
Response::ResponseCode cmdReplayDeleteMatch(const Command_ReplayDeleteMatch &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:1534
bool acceptsCredentialFormat(bool passwordNeedsHash, const QString &password) const
Definition serversocketinterface.cpp:3361
bool isDeckEffectivelyPublic(int deckId)
Definition serversocketinterface.cpp:793
Response::ResponseCode cmdRegisterAccount(const Command_Register &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:3156
QMutex outputQueueMutex
Definition serversocketinterface.h:135
Response::ResponseCode cmdDeckShareCreate(const Command_DeckShareCreate &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:1201
Response::ResponseCode cmdRequestPasswordSalt(const Command_RequestPasswordSalt &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:3919
Response::ResponseCode cmdReportAssign(const Command_ReportAssign &cmd, ResponseContainer &)
Definition serversocketinterface.cpp:2119
Response::ResponseCode cmdDeckDownload(const Command_DeckDownload &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:1152
Response::ResponseCode cmdDeckShareListMine(const Command_DeckShareListMine &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:1312
Response::ResponseCode cmdGrantReplayAccess(const Command_GrantReplayAccess &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:4229
Response::ResponseCode cmdDeckDownloadPublic(const Command_DeckDownloadPublic &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:878
Response::ResponseCode cmdDeckList(const Command_DeckList &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:734
Response::ResponseCode cmdAccountEdit(const Command_AccountEdit &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:3418
Response::ResponseCode cmdRemoveCardArtRule(const Command_RemoveCardArtRule &cmd, ResponseContainer &)
Definition serversocketinterface.cpp:3626
Response::ResponseCode cmdForceActivateUser(const Command_ForceActivateUser &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:4275
Response::ResponseCode processExtendedModeratorCommand(int cmdType, const ModeratorCommand &cmd, ResponseContainer &rc) override
Definition serversocketinterface.cpp:429
Response::ResponseCode cmdDeckDel(const Command_DeckDel &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:993
Response::ResponseCode cmdGetAdminNotes(const Command_GetAdminNotes &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:4305
QString getAddress() const override=0
Response::ResponseCode cmdShutdownServer(const Command_ShutdownServer &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:4115
Response::ResponseCode cmdReportList(const Command_ReportList &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:2023
Response::ResponseCode cmdAddToList(const Command_AddToList &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:526
int getDeckPathId(int basePathId, QStringList path)
Definition serversocketinterface.cpp:626
Response::ResponseCode cmdDeckShareList(const Command_DeckShareList &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:1360
Response::ResponseCode cmdDeckShareDownload(const Command_DeckShareDownload &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:1395
bool deckListHelper(int folderId, ServerInfo_DeckStorage_Folder *folder, int userId, bool inheritedPublic, bool publicOnly)
Definition serversocketinterface.cpp:659
Response::ResponseCode cmdReplaySubmitCode(const Command_ReplaySubmitCode &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:1625
bool tooManyRegistrationAttempts(const QString &ipAddress)
Definition serversocketinterface.cpp:3356
void sendServerMessage(const QString userName, const QString message)
Definition serversocketinterface.cpp:959
Response::ResponseCode cmdGetWarnList(const Command_GetWarnList &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:1808
Response::ResponseCode cmdAdjustMod(const Command_AdjustMod &cmd, ResponseContainer &)
Definition serversocketinterface.cpp:4184
virtual void writeToSocket(QByteArray &data)=0
Response::ResponseCode cmdDeckUpload(const Command_DeckUpload &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:1032
Response::ResponseCode cmdReportUserInfo(const Command_ReportUserInfo &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:2262
Response::ResponseCode cmdUpdateServerMessage(const Command_UpdateServerMessage &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:4108
Response::ResponseCode cmdReportResolve(const Command_ReportResolve &cmd, ResponseContainer &)
Definition serversocketinterface.cpp:2163
Response::ResponseCode cmdReplayDownload(const Command_ReplayDownload &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:1472
void transmitProtocolItem(const ServerMessage &item) override
Definition serversocketinterface.cpp:254
Response::ResponseCode cmdDeckNewDir(const Command_DeckNewDir &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:908
Response::ResponseCode cmdDeckSetVisibility(const Command_DeckSetVisibility &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:829
Response::ResponseCode cmdSetCardArtParams(const Command_SetCardArtParams &cmd, ResponseContainer &)
Definition serversocketinterface.cpp:3524
Response::ResponseCode processExtendedSessionCommand(int cmdType, const SessionCommand &cmd, ResponseContainer &rc) override
Definition serversocketinterface.cpp:339
Response::ResponseCode cmdGetModeratorLastLogins(const Command_GetModeratorLastLogins &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:2587
void deckDelDirHelper(int basePathId)
Definition serversocketinterface.cpp:939
Response::ResponseCode cmdForgotPasswordChallenge(const Command_ForgotPasswordChallenge &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:3870
bool addAdminFlagToUser(const QString &user, int flag)
Definition serversocketinterface.cpp:4132
bool removeAdminFlagFromUser(const QString &user, int flag)
Definition serversocketinterface.cpp:4156
Response::ResponseCode cmdReportMyList(const Command_ReportMyList &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:2770
Response::ResponseCode cmdReportDetails(const Command_ReportDetails &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:2882
AbstractServerSocketInterface(Servatrice *_server, Servatrice_DatabaseInterface *_databaseInterface, QObject *parent=0)
Definition serversocketinterface.cpp:191
Response::ResponseCode cmdForgotPasswordRequest(const Command_ForgotPasswordRequest &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:3714
Response::ResponseCode cmdReportAddComment(const Command_ReportAddComment &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:2990
~AbstractServerSocketInterface()
Definition serversocketinterface.h:251
Response::ResponseCode processExtendedDeveloperCommand(int cmdType, const DeveloperCommand &cmd, ResponseContainer &rc) override
Definition serversocketinterface.cpp:509
Response::ResponseCode cmdReloadConfig(const Command_ReloadConfig &, ResponseContainer &)
Definition serversocketinterface.cpp:4123
Response::ResponseCode cmdAccountPassword(const Command_AccountPassword &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:3671
void catchSocketDisconnected()
Definition serversocketinterface.cpp:249
Response::ResponseCode cmdReplayGetCode(const Command_ReplayGetCode &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:1589
Response::ResponseCode cmdAccountImage(const Command_AccountImage &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:3502
Servatrice_DatabaseInterface * sqlInterface
Definition serversocketinterface.h:138
Response::ResponseCode processExtendedAdminCommand(int cmdType, const AdminCommand &cmd, ResponseContainer &rc) override
Definition serversocketinterface.cpp:488
Response::ResponseCode cmdRemoveUserAvatar(const Command_RemoveUserAvatar &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:2664
Response::ResponseCode cmdSubmitPasswordVerifier(const Command_SubmitPasswordVerifier &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:4072
Response::ResponseCode cmdReplayList(const Command_ReplayList &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:1416
bool initSession()
Definition serversocketinterface.cpp:203
Response::ResponseCode cmdGetUserSessions(const Command_GetUserSessions &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:2544
Response::ResponseCode cmdResetUserPassword(const Command_ResetUserPassword &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:2603
void logDebugMessage(const QString &message) override
Definition serversocketinterface.cpp:263
Response::ResponseCode cmdReplayDownloadByGameId(const Command_ReplayDownloadByGameId &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:3122
void incTxBytes(qint64 amount)
QString createHashForReplay(int gameId)
Definition serversocketinterface.cpp:1566
Response::ResponseCode cmdReportReopen(const Command_ReportReopen &cmd, ResponseContainer &)
Definition serversocketinterface.cpp:2846
void removeSaidMessages(const QString &userName, int amount)
Definition serversocketinterface.cpp:1840
Response::ResponseCode cmdDeckDelDir(const Command_DeckDelDir &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:976
Response::ResponseCode cmdGetBanHistory(const Command_GetBanHistory &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:1793
int getDeckOwnerId(int deckId)
Definition serversocketinterface.cpp:780
void onLogin(ResponseContainer &rc) override
Definition serversocketinterface.cpp:2765
QList< ServerMessage > outputQueue
Definition serversocketinterface.h:134
Response::ResponseCode cmdUpdateAdminNotes(const Command_UpdateAdminNotes &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:4328
virtual void flushOutputQueue()=0
Response::ResponseCode cmdDeckListOtherUser(const Command_DeckListOtherUser &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:754
Response::ResponseCode cmdActivateAccount(const Command_Activate &cmd, ResponseContainer &)
Definition serversocketinterface.cpp:3385
Response::ResponseCode cmdDeckShareRemove(const Command_DeckShareRemove &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:1340
void catchSocketError(QAbstractSocket::SocketError socketError)
Definition serversocketinterface.cpp:242
Response::ResponseCode cmdForgotPasswordReset(const Command_ForgotPasswordReset &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:3809
Response::ResponseCode cmdReport(const Command_Report &cmd, ResponseContainer &)
Definition serversocketinterface.cpp:3978
DeckList * getDeckFromDatabase(int deckId)
Response::ResponseCode cmdGetWarnHistory(const Command_GetWarnHistory &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:1825
Response::ResponseCode cmdReportStats(const Command_ReportStats &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:2437
Response::ResponseCode cmdAddCardArtRule(const Command_AddCardArtRule &cmd, ResponseContainer &)
Definition serversocketinterface.cpp:3592
Response::ResponseCode cmdWarnUser(const Command_WarnUser &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:1847
Response::ResponseCode cmdGetServerStats(const Command_GetServerStats &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:2364
Response::ResponseCode cmdGetUserAlts(const Command_GetUserAlts &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:2566
Response::ResponseCode continuePasswordRequest(const QString &userName, const QString &clientId, ResponseContainer &rc, bool challenged=false)
Definition serversocketinterface.cpp:3759
Servatrice * servatrice
Definition serversocketinterface.h:133
void sendPendingReportNotifications(ResponseContainer &rc)
Definition serversocketinterface.cpp:2689
Response::ResponseCode cmdGetLogHistory(const Command_ViewLogHistory &cmd, ResponseContainer &rc, bool allowPrivateChat)
Definition serversocketinterface.cpp:1695
Response::ResponseCode cmdListCardArtRules(const Command_ListCardArtRules &, ResponseContainer &rc)
Definition serversocketinterface.cpp:3647
Response::ResponseCode cmdReplayModifyMatch(const Command_ReplayModifyMatch &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:1511
Response::ResponseCode cmdBanFromServer(const Command_BanFromServer &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:1892
void processCommandContainer(const CommandContainer &cont) override
Definition serversocketinterface.cpp:268
virtual QHostAddress getPeerAddress() const =0
virtual void flushSocket()=0
Response::ResponseCode cmdRemoveFromList(const Command_RemoveFromList &cmd, ResponseContainer &rc)
Definition serversocketinterface.cpp:579
Represents a complete deck, including metadata, zones, cards, and sideboard plans.
Definition deck_list.h:67
Definition remote_connection_controller.h:20
Definition server_response_containers.h:93
Definition servatrice_database_interface.h:51
Definition servatrice.h:149
Server_ProtocolHandler(Server *_server, Server_DatabaseInterface *_databaseInterface, QObject *parent=0)
Definition server_protocolhandler.cpp:63
TcpServerSocketInterface(Servatrice *_server, Servatrice_DatabaseInterface *_databaseInterface, QObject *parent=0)
Definition serversocketinterface.cpp:4347
QByteArray inputBuffer
Definition serversocketinterface.h:286
QHostAddress getPeerAddress() const
Definition serversocketinterface.h:271
void readClient()
Definition serversocketinterface.cpp:4428
void flushSocket()
Definition serversocketinterface.h:296
void writeToSocket(QByteArray &data)
Definition serversocketinterface.h:292
bool messageInProgress
Definition serversocketinterface.h:287
bool handshakeStarted
Definition serversocketinterface.h:288
QString getConnectionType() const
Definition serversocketinterface.h:279
void initSessionDeprecated()
Definition serversocketinterface.cpp:4379
QString getAddress() const
Definition serversocketinterface.h:275
QTcpSocket * socket
Definition serversocketinterface.h:285
void flushOutputQueue()
Definition serversocketinterface.cpp:4389
int messageLength
Definition serversocketinterface.h:289
void initConnection(int socketDescriptor)
Definition serversocketinterface.cpp:4368
bool initTcpSession()
Definition serversocketinterface.cpp:4506
QString getConnectionType() const
Definition serversocketinterface.h:326
QString getAddress() const
Definition serversocketinterface.h:322
void binaryMessageReceived(const QByteArray &message)
Definition serversocketinterface.cpp:4653
WebsocketServerSocketInterface(Servatrice *_server, Servatrice_DatabaseInterface *_databaseInterface, QObject *parent=nullptr)
Definition serversocketinterface.cpp:4533
void flushOutputQueue()
Definition serversocketinterface.cpp:4618
QHostAddress getPeerAddress() const
Definition serversocketinterface.h:318
QHostAddress address
Definition serversocketinterface.h:333
void initConnection(void *_socket)
Definition serversocketinterface.cpp:4547
void flushSocket()
Definition serversocketinterface.h:340
QWebSocket * socket
Definition serversocketinterface.h:332
bool initWebsocketSession()
Definition serversocketinterface.cpp:4590
void writeToSocket(QByteArray &data)
Definition serversocketinterface.h:336
Definition admin_commands.proto:2
Definition commands.proto:8
Definition session_commands.proto:156
Definition session_commands.proto:167
Definition session_commands.proto:173
Definition session_commands.proto:144
Definition moderator_commands.proto:117
Definition session_commands.proto:94
Definition admin_commands.proto:29
Definition moderator_commands.proto:33
Definition command_deck_del_dir.proto:3
Definition command_deck_del.proto:3
Definition command_deck_download_public.proto:3
Definition command_deck_download.proto:3
Definition command_deck_list_other_user.proto:3
Definition command_deck_list.proto:3
Definition command_deck_new_dir.proto:3
Definition command_deck_set_visibility.proto:3
Definition command_deck_share_create.proto:16
Definition command_deck_share_download.proto:3
Definition command_deck_share_list_mine.proto:6
Definition command_deck_share_list.proto:3
Definition command_deck_share_remove.proto:6
Definition command_deck_upload.proto:3
Definition moderator_commands.proto:97
Definition session_commands.proto:200
Definition session_commands.proto:183
Definition session_commands.proto:190
Definition moderator_commands.proto:104
Definition moderator_commands.proto:45
Definition moderator_commands.proto:151
Definition command_get_server_stats.proto:3
Definition moderator_commands.proto:145
Definition moderator_commands.proto:138
Definition moderator_commands.proto:60
Definition moderator_commands.proto:66
Definition moderator_commands.proto:90
Definition moderator_commands.proto:133
Definition session_commands.proto:121
Definition admin_commands.proto:24
Definition moderator_commands.proto:126
Definition session_commands.proto:101
Definition moderator_commands.proto:156
Definition command_replay_delete_match.proto:3
Definition command_replay_download_by_game_id.proto:3
Definition command_replay_download.proto:3
Definition command_replay_get_code.proto:3
Definition command_replay_list.proto:3
Definition command_replay_modify_match.proto:3
Definition command_replay_submit_code.proto:3
Definition command_report_add_comment.proto:3
Definition command_report_assign.proto:3
Definition command_report_details.proto:3
Definition command_report_list.proto:3
Definition command_report_my_list.proto:3
Definition command_report_reopen.proto:3
Definition command_report_resolve.proto:3
Definition command_report_stats.proto:3
Definition command_report_user_info.proto:3
Definition command_report.proto:3
Definition session_commands.proto:208
Definition admin_commands.proto:38
Definition session_commands.proto:214
Definition admin_commands.proto:17
Definition session_commands.proto:229
Definition moderator_commands.proto:110
Definition admin_commands.proto:12
Definition moderator_commands.proto:74
Definition moderator_commands.proto:51
Definition developer_commands.proto:2
Definition moderator_commands.proto:3
ResponseCode
Definition response.proto:14
Definition serverinfo_deckstorage.proto:17
Definition server_message.proto:6
Definition session_commands.proto:2