1syntax = "proto2";
2message Response {
3    enum ResponseCode {
4        RespNotConnected = -1;
5        RespNothing = 0;
6        RespOk = 1;
7        RespNotInRoom = 2;
8        RespInternalError = 3;
9        RespInvalidCommand = 4;
10        RespInvalidData = 5;
11        RespNameNotFound = 6;
12        RespLoginNeeded = 7;
13        RespFunctionNotAllowed = 8;
14        RespGameNotStarted = 9;
15        RespGameFull = 10;
16        RespContextError = 11;
17        RespWrongPassword = 12;
18        RespSpectatorsNotAllowed = 13;
19        RespOnlyBuddies = 14;
20        RespUserLevelTooLow = 15;
21        RespInIgnoreList = 16;
22        RespWouldOverwriteOldSession = 17;
23        RespChatFlood = 18;
24        RespUserIsBanned = 19;
25        RespAccessDenied = 20;
26        RespUsernameInvalid = 21;
27        RespRegistrationRequired = 22;
28        RespRegistrationAccepted = 23;    // Server agrees to process client's registration request
29        RespUserAlreadyExists = 24;       // Client attempted to register a name which is already registered
30        RespEmailRequiredToRegister = 25; // Server requires email to register accounts but client did not provide one
31        RespTooManyRequests = 26;  // Server refused to complete command because client has sent too many too quickly
32        RespPasswordTooShort = 27; // Server requires a decent password
33        RespAccountNotActivated =
34            28; // Client attempted to log into a registered username but the account hasn't been activated
35        RespRegistrationDisabled = 29; // Server does not allow clients to register
36        RespRegistrationFailed = 30;   // Server accepted a reg request but failed to perform the registration
37        RespActivationAccepted = 31;   // Server accepted a reg user activation token
38        RespActivationFailed = 32;     // Server didn't accept a reg user activation token
39        RespRegistrationAcceptedNeedsActivation =
40            33;                    // Server accepted cient registration, but it will need token activation
41        RespClientIdRequired = 34; // Server requires client to generate and send its client id before allowing access
42        RespClientUpdateRequired = 35; // Client is missing features that the server is requiring
43        RespServerFull = 36;           // Server user limit reached
44        RespEmailBlackListed = 37;     // Server has blacklisted the email address provided for registration
45    }
46    enum ResponseType {
47        JOIN_ROOM = 1000;
48        LIST_USERS = 1001;
49        GET_GAMES_OF_USER = 1002;
50        GET_USER_INFO = 1003;
51        DUMP_ZONE = 1004;
52        LOGIN = 1005;
53        DECK_LIST = 1006;
54        DECK_DOWNLOAD = 1007;
55        DECK_UPLOAD = 1008;
56        REGISTER = 1009;
57        ACTIVATE = 1010;
58        ADJUST_MOD = 1011;
59        BAN_HISTORY = 1012;
60        WARN_HISTORY = 1013;
61        WARN_LIST = 1014;
62        VIEW_LOG = 1015;
63        FORGOT_PASSWORD_REQUEST = 1016;
64        REPLAY_LIST = 1100;
65        REPLAY_DOWNLOAD = 1101;
66    }
67    required uint64 cmd_id = 1;
68    optional ResponseCode response_code = 2;
69
70    extensions 100 to max;
71}
72