Cockatrice/libcockatrice_protocol/libcockatrice/protocol/pb/response.proto
2026-07-01 11:20:54 -04:00

89 lines
5.7 KiB
Protocol Buffer
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

syntax = "proto2";
/// Server response envelope linking to a command
/**
* This message is sent immediately after a client command, using the same `cmd_id`
* to connect the response to the command.
*
* Responses may contain standard outcome codes (`ResponseCode`) and indicate
* what type of response the server is sending (`ResponseType`).
*/
message Response {
// Outcome of the command sent by the client
enum ResponseCode {
RespNotConnected = -1; // Client is not connected or session expired
RespNothing = 0; // No response required
RespOk = 1; // Command succeeded
RespNotInRoom = 2; // Client is not in the room for this command
RespInternalError = 3; // Server encountered an unexpected error
RespInvalidCommand = 4; // Command was invalid or unrecognized
RespInvalidData = 5; // Command data was invalid or malformed
RespNameNotFound = 6; // Target user not found
RespLoginNeeded = 7; // Client must log in first
RespFunctionNotAllowed = 8; // Client tried to perform a restricted action
RespGameNotStarted = 9; // Game has not started yet
RespGameFull = 10; // Game is full
RespContextError = 11; // Context (room/game) mismatch
RespWrongPassword = 12; // Password for this room or game is incorrect
RespSpectatorsNotAllowed = 13; // Spectators are not allowed in this room/game
RespOnlyBuddies = 14; // Only buddies can perform this action
RespUserLevelTooLow = 15; // Users permission level is insufficient
RespInIgnoreList = 16; // Target user has ignored the client
RespWouldOverwriteOldSession = 17; // Would overwrite an existing session
RespChatFlood = 18; // Too many messages sent in short time
RespUserIsBanned = 19; // Client is banned
RespAccessDenied = 20; // Access to this action is denied
RespUsernameInvalid = 21; // Username is invalid
RespRegistrationRequired = 22; // Registration is required
RespRegistrationAccepted = 23; // Server agrees to process client's registration request
RespUserAlreadyExists = 24; // Client attempted to register a name which is already registered
RespEmailRequiredToRegister = 25; // Server requires email to register accounts but client did not provide one
RespTooManyRequests = 26; // Server refused to complete command because client has sent too many too quickly
RespPasswordTooShort = 27; // Server requires a decent password
RespAccountNotActivated =
28; // Client attempted to log into a registered username but the account hasn't been activated
RespRegistrationDisabled = 29; // Server does not allow clients to register
RespRegistrationFailed = 30; // Server accepted a reg request but failed to perform the registration
RespActivationAccepted = 31; // Server accepted a reg user activation token
RespActivationFailed = 32; // Server didn't accept a reg user activation token
RespRegistrationAcceptedNeedsActivation =
33; // Server accepted client registration, but it will need token activation
RespClientIdRequired = 34; // Server requires client to generate and send its client id before allowing access
RespClientUpdateRequired = 35; // Client is missing features that the server is requiring
RespServerFull = 36; // Server user limit reached
RespEmailBlackListed = 37; // Server has blocked the email address provided for registration for some reason
}
// Type of response, used to route handling on the client
enum ResponseType {
JOIN_ROOM = 1000; // Response for joining a room
LIST_USERS = 1001; // Response listing users
GET_GAMES_OF_USER = 1002; // Response with user's games
GET_USER_INFO = 1003; // Response with user info
DUMP_ZONE = 1004; // Response with zone dump
LOGIN = 1005; // Response to login attempt
DECK_LIST = 1006; // Response with deck list
DECK_DOWNLOAD = 1007; // Response for deck download
DECK_UPLOAD = 1008; // Response for deck upload
REGISTER = 1009; // Response to registration
ACTIVATE = 1010; // Response to activation
ADJUST_MOD = 1011; // Response to mod adjustments
BAN_HISTORY = 1012; // Response with ban history
WARN_HISTORY = 1013; // Response with warn history
WARN_LIST = 1014; // Response with current warnings
VIEW_LOG = 1015; // Response with logs
FORGOT_PASSWORD_REQUEST = 1016; // Response to password reset request
PASSWORD_SALT = 1017; // Response containing password salt
GET_ADMIN_NOTES = 1018; // Response with admin notes
REPLAY_LIST = 1100; // Response listing replays
REPLAY_DOWNLOAD = 1101; // Response for replay download
REPLAY_GET_CODE = 1102; // Response containing replay code
CARD_ART_RULE_LIST = 1200;
}
required uint64 cmd_id = 1; // Command ID that this response corresponds to
optional ResponseCode response_code = 2; // Outcome code of the command
extensions 100 to max; // Protobuf extensions reserved for future use
}