Request Reference¶
Table of Contents¶
meta_lobby.proto¶
Messages¶
AnswerInvitationRoomRequest¶
A client sends this request to answer an invitation request. When accepting the invitation, the server will send back a RoomJoinedRequest to all users present in the room. When declining the invitation, the server will send a RoomInvitationDeclinedRequest to room administrator and invitee.
C -> S
request_number: 2009
field_name: answer_invitation_room_request
In response to:
Possible Responses:
Field |
Type |
Description |
---|---|---|
room_id |
Identifier of the room the invitation came from |
|
invitation_answer |
If |
|
block_invitation |
If declined the invitation, can also set to |
AsyncAuthRequest¶
Used to:
either authentify a participant for a given connection (should be the first packet to be sent)
or resume a session from an existing session
You must connect using the OAuth2 Access Token provided by the REST API as described in the protocol documentation.
This Access Token must have the private
scope, of course.
Note : If a user logs out from her client and logs in with a different DoW account, we would have the same device token id pointing to different accounts. Thus it is possible that a given device receive notification for a different user, which is bad. Please send an AsyncUnlinkDeviceRequest before connecting with a different account / session.
More information can be found in Authentication section.
C -> S
request_number: 400
field_name: async_auth_request
Possible Responses:
Field |
Type |
Description |
---|---|---|
name |
Player login name |
|
partner_token |
Set this to authenticate with an access_token coming from the API |
|
user_agent |
Client user agent |
|
session |
If sent, then that means we want to resume a given session
|
|
game_type |
This is required - multi game protocol requires a distinct authentication
per participant per game.
Game types are enforced on the server, by example SW and TT are valid
|
|
device |
An optional device token.
If sent, this will be used for push notifications.
Devices are kept on the server, if the client already sent this device token it is not needed
to send it at every authentication attempt (to spare some resources on the server)
|
AsyncAuthRequest.UserAgent¶
Field |
Type |
Description |
---|---|---|
user_agent |
This contains the codified User Agent
(Downloadable, Steam, iPad, MacOSX, Pocket…)
|
|
full_user_agent |
This would contain the full string
obeying the following format: *platform*/*ua*/*version*
|
AsyncBuddyPresencePartialUpdateRequest¶
Despite its name, this request is sent by the server when the presence of some monitored players change.
More information can be found in Presence section.
S -> C
request_number: 517
field_name: async_buddy_presence_partial_update_request
Field |
Type |
Description |
---|---|---|
present |
List of present players global id, including buddies. Players not mentioned in this request have not
changed.
Note: due to the asynchronicity of the system, it is possible that some players id referenced
in those two lists are unknown to the client (for instance, if you don’t know yet who are your buddies).
|
|
absent |
List of absent players global id |
AsyncConnectedRequest¶
Returned by the server after a successful AsyncAuthRequest.
More information can be found in Authentication section.
S -> C
request_number: 406
field_name: async_connected_request
In response to:
Field |
Type |
Description |
---|---|---|
session |
The current participant session |
|
participant |
The current participant information |
AsyncConnectionErrorRequest¶
Returned from an AsyncAuthRequest if there is a failure.
More information can be found in Authentication section.
S -> C
request_number: 407
field_name: async_connection_error_request
In response to:
Field |
Type |
Description |
---|---|---|
code |
Connection error code |
AsyncDeviceUnlinkedRequest¶
Sent by the server to the client in response to a successful AsyncUnlinkDeviceRequest.
S -> C
request_number: 413
field_name: async_device_unlinked_request
In response to:
Field |
Type |
Description |
---|---|---|
device |
Device to unlink |
AsyncDisconnectRequest¶
When a participant wants to disconnect.
More information can be found in Logging out section.
C -> S
request_number: 401
field_name: async_disconnect_request
AsyncUnlinkDeviceRequest¶
Sent by the client to unlink a device from the current active session. The idea is that if a user logs out from her client and logs in with a different DoW account, we would have the same device token id pointing to different accounts. Thus it is possible that a given device receive notification for a different user, which is bad.
More information can be found in Logging out section.
C -> S
request_number: 412
field_name: async_unlink_device_request
Possible Responses:
MetaErrorRequest: UNKNOWN_DEVICE_TOKEN (6)
Field |
Type |
Description |
---|---|---|
device |
The device to unlink from the participant session |
ChatRoomHistoryEntry¶
An entry of a chat history.
More information about the chat can be found in Chat section.
Field |
Type |
Description |
---|---|---|
from |
Sender name |
|
text |
Chat message |
|
player_id |
For in room chat history it’s the local id, if from the lobby it’s the global id |
|
timestamp |
Unix epoch in millis when the server received the message. |
|
code |
Message code when using premade messages. |
ClientChatRoomBlockedRequest¶
Sent to the RoomChatRequest sender if her message has been blocked or if she’s been muted.
More information can be found in Chat section.
S -> C
request_number: 526
field_name: client_chat_blocked_request
In response to:
Field |
Type |
Description |
---|---|---|
room_id |
||
text |
Text chat |
|
sender |
The sender player |
|
muted |
After sending profanities, the sender might be muted
for an arbitrary time. If
muted is true , the client has been muted.Note: the server never tells a given client it has been unmuted
|
|
blocked |
This sender can be administratively blocked (prevented to chat) (community management), in this case
if she’s blocked (check the blocked and banned field in the PBGame.Player message after authentication)
|
|
code |
Code of the premade message sent (if multicast a code) |
|
recipient_ids |
Recipient of the message (if specified by the original multicast chat) |
ClientChatRoomHistoryRequest¶
Sent to in response to GetChatRoomHistoryRequest
More information about the chat can be found in Chat section.
S -> C
request_number: 536
field_name: client_chat_history_request
In response to:
Field |
Type |
Description |
---|---|---|
room_id |
System assigned room id |
|
entry |
Chat entries in chronological order |
|
last_seen_message_timestamp |
Timestamp of the last time a participant has seen a message |
ClientChatRoomRequest¶
Sent by the server in response to a RoomChatRequest to the participants of the game game_id
as long as they were listed in RoomChatRequest.recipient_ids
(or to all participants if recipient_ids
is empty).
More information can be found in Chat section.
S -> C
request_number: 525
field_name: client_chat_request
In response to:
Field |
Type |
Description |
---|---|---|
room_id |
||
text |
Text chat |
|
sender |
The sender player |
|
profanity |
|
|
code |
Code of the premade message sent (if multicast a code) |
|
recipient_ids |
Recipient of the message (if specified by the original multicast chat) |
ClientDataRequest¶
When one of the participant sent a MulticastDataRequest the server will send back a ClientDataRequest to the multicast clients.
More information can be found in Multicast section.
S -> C
request_number: 503
field_name: client_data_request
Field |
Type |
Description |
---|---|---|
room_id |
System assigned room id |
|
data |
Any data that was sent by the sender |
|
sender |
Sender participant |
CreateRoomRequest¶
Sent by the client when creating a new room with preset participants.
C -> S
request_number: 2000
field_name: create_room_request
Possible Responses:
Field |
Type |
Description |
---|---|---|
configuration |
Initial configuration of the chat room. |
|
participants |
Initial participants of the chat room (creator + invitees). |
GetChatRoomHistoryRequest¶
Sent to retrieve the chat history of the lobby or of a game.
More information about the chat can be found in Chat section.
C -> S
request_number: 535
field_name: get_chat_history_request
Possible Responses:
Field |
Type |
Description |
---|---|---|
room_id |
InviteFriendsToRoomRequest¶
Sent by a client that wants to invite other participants in a chat room.
C -> S
request_number: 2007
field_name: invite_friends_to_room_request
Possible Responses:
Field |
Type |
Description |
---|---|---|
room_id |
Identifier of the room to invite participants in |
|
friends |
Identifiers of the participants to invite in the room |
InvitedFriendsToRoomRequest¶
Sent by the server to the room administrator, to confirm that it received the invitation request.
S -> C
request_number: 2013
field_name: invited_friends_to_room_request
In response to:
Field |
Type |
Description |
---|---|---|
room_id |
Identifier of the room the invitation has been made |
|
friends |
Identifiers of the participants that has been invited |
InvitedRoomRequest¶
Sent by the server to invited friends.
S -> C
request_number: 2008
field_name: invited_room_request
In response to:
Field |
Type |
Description |
---|---|---|
room_id |
Identifier of the room |
|
invitation_by |
Identifier of the user that invited the recipient of this message |
|
details |
Details of the room the invitation comes from (name, other participants…) |
KickParticipantRequest¶
Sent to the server by the room admin to kick a player out of the room. The kicked player is not banned and can be added again through invitation.
C -> S
request_number: 2034
field_name: kick_participant_request
Possible responses:
Field |
Type |
Description |
---|---|---|
room_id |
||
kick |
LeaveRoomRequest¶
Sent by the client to quit the chat room. Users that left a room cannot chat in it anymore.
C -> S
request_number: 2005
field_name: leave_room_request
Possible Responses:
Field |
Type |
Description |
---|---|---|
room_id |
Identifier of the room to leave |
MetaErrorRequest¶
Sent in response to a client request that generated an error.
S -> C
request_number: 505
field_name: error_request
Field |
Type |
Description |
---|---|---|
room_id |
System assigned room id.
Might be
0 for errors not pertaining to a room |
|
code |
Error code. If |
|
msg |
Error message if any |
|
participant_id |
The participant who sent the original request when in a room |
MetaPlayerPresenceUpdateRequest¶
Sent by the server when one or more player presence status changes. In the current implementation, this message will contain only one presence status change (ie for only one given player).
The presence mechanism is a best effort system, so it can happen that presence/absence messages are sent while in fact the player is indeed absent/present. The client needs to keep presence information, and update presence or absence indicators based on this message (and also if it receives multicast data from a given sender).
All present/absent ids are local id to the game Presence update time resolution is 5s by default, so presence won’t be noticed until this delay.
More information can be found in Presence section.
S -> C
request_number: 506
field_name: player_presence_update_request
Field |
Type |
Description |
---|---|---|
room_id |
System assigned room id |
|
present |
Those participants local-game-id are now present |
|
absent |
Those participants local-game-id are now absent |
|
in_room |
Valid when
room_id is set, contains the set of participants that declared being inside this room_id by sending a SwitchedToRoomRequest
|
MulticastDataRequest¶
A participant can decide to send arbitrary data to a set or subset of the participants in the same room.
More information can be found in Multicast section.
C -> S
request_number: 502
field_name: multicast_data_request
Possible Responses:
MetaErrorRequest: UNKNOWN_ROOM (3)
Field |
Type |
Description |
---|---|---|
room_id |
System assigned room id |
|
data |
Any data that will be sent verbatim to the recipient_ids |
|
recipient_ids |
List of local participant ids that will receive the data |
|
present_participants_only |
Filter out people that are not ‘present’ at the moment.
If
false , then absent users will be notified by a push notification |
MuteParticipantRequest¶
Sent by the room admin to forbid a user to chat in a room.
C -> S
request_number: 2038
field_name: mute_participant_request
Possible responses:
Field |
Type |
Description |
---|---|---|
room_id |
||
mute |
ParticipantKickedRequest¶
Sent by the server when a participant has been kicked out of a room.
S -> C
request_number: 2035
field_name: participant_kicked_request
In response to:
Field |
Type |
Description |
---|---|---|
room_id |
||
kicked |
ParticipantMutedRequest¶
Sent by the server when a participant has been muted in a room.
C -> S
request_number: 2039
field_name: participant_muted_request
In response to:
Field |
Type |
Description |
---|---|---|
room_id |
||
muted |
ParticipantUnmutedRequest¶
Sent by the server when a participant has been unmuted in a room.
C -> S
request_number: 2041
field_name: participant_unmuted_request
In response to:
Field |
Type |
Description |
---|---|---|
room_id |
||
unmuted |
RegisterPresenceRequest¶
Sent by the client to monitor the presence of a set of participants. Once sent and when subscribed to the presence system, the client will receive presence changes for those participants.
More information can be found in Presence section.
C -> S
request_number: 527
field_name: register_presence_request
Field |
Type |
Description |
---|---|---|
participant_ids |
List of global participant ids to monitor presence of |
RoomChatRequest¶
Sends a chat to the server, the server will then multicast the text to the other participants in the given room.
The code parameter indicates a premade message id. When using codes, please also
provide a text value in default locale so that older clients can display something. Codes
between 1 and 255 are reserved, use a higher value. The code 0
means the message was not
a premade message.
More information can be found in Chat section.
C -> S
request_number: 524
field_name: multicast_chat_request
Possible Responses:
MetaErrorRequest: UNKNOWN_ROOM (3)
Field |
Type |
Description |
---|---|---|
room_id |
||
text |
Text chat |
|
recipient_ids |
List of local participant ids that will receive the data for non empty
game_id .List of global participant ids that will receive the data for empty
game_id (ie lobby)If empty, then the chat is broadcast to all the participants present
|
|
code |
Code for premade messages, please also provide the text in default locale.
Codes between 0 and 255 are reserved
|
RoomConfiguration¶
Initial configuration to provide CreateRoomRequest with when creating a new chat room.
The following fields can be changed after creation via UpdateRoomConfigurationRequest:
name
topic
Field |
Type |
Description |
---|---|---|
name |
Displayed title for the room |
|
topic |
Optional description of the room intent |
RoomConfigurationUpdatedRequest¶
Sent by the server when the room admin has updated the configuration. Returns the final current configuration.
S -> C
request_number: 2031
field_name: room_configuration_updated_request
In response to:
Field |
Type |
Description |
---|---|---|
room_id |
||
configuration |
Configuration after update has been applied |
RoomCreatedRequest¶
Confirmation sent by the server when successfully created a chat room in response to CreateRoomRequest
S -> C
request_number: 2001
field_name: room_created_request
In response to:
Field |
Type |
Description |
---|---|---|
details |
Details of the created chat room (identifier, name, participants…) |
RoomDetails¶
Representation of a given chat room.
Field |
Type |
Description |
---|---|---|
room_id |
Unique room identifier provided by the server |
|
configuration |
Configuration of the chat room |
|
creator_id |
Global ID of the room creator |
|
participants |
Current participants of the discussion |
|
muted_participants |
Muted participants ids cannot send messages to the room |
RoomInvitationCancelledRequest¶
Sent by the server to inform the room creator when an invitation has expired.
S -> C
request_number: 2010
field_name: room_invitation_cancelled_request
Field |
Type |
Description |
---|---|---|
room_id |
Identifier of the room the invitation has expired |
|
unknown_participant |
If server could not retrieve full information, giving at least the identifier |
|
player_participant |
If found, the user information of the cancelled invitation |
RoomInvitationDeclinedRequest¶
Sent by the server to the room administrator when an invitee declines the invitation.
S -> C
request_number: room_invitation_declined_request
field_name: 2012
In response to:
Field |
Type |
Description |
---|---|---|
room_id |
Identifier of the room the invitee declined invitation for |
|
participant |
RoomJoinedRequest¶
Sent by the server to inform that a participant joined the given chat room. It is sent back to the invited user (as confirmation) and to participants already in the room
S -> C
request_number: 2011
field_name: room_joined_request
In response to:
Field |
Type |
Description |
---|---|---|
room_id |
Identifier of the room that has been joined |
|
participant |
Information of the user that joined the room |
RoomLeftRequest¶
Sent by the server to inform that a participant left the room.
S -> C
request_number: 2006
field_name: room_left_request
In response to:
Field |
Type |
Description |
---|---|---|
room_id |
Identifier of the room |
|
participant |
Information of the participant who left the room |
RoomListRequest¶
List of chat rooms information
S -> C
request_number: 2003
field_name: room_list_request
In response to:
Field |
Type |
Description |
---|---|---|
details |
List of chat room details (identifiers, names, participants…) |
RoomOverRequest¶
Field |
Type |
Description |
---|---|---|
room_id |
Session¶
Field |
Type |
Description |
---|---|---|
id |
Server-assigned ID of a client session |
SubscribePresenceServiceRequest¶
Sent by the client to start monitoring the presence of participants given by RegisterPresenceRequest. Once sent, the client will receive AsyncBuddyPresencePartialUpdateRequest whenever the presence of one or more participant changes.
More information can be found in Presence section.
C -> S
request_number: 532
field_name: subscribe_presence_service_request
SwitchedToRoomRequest¶
Sent by the client to inform the server presence system that the connected player just entered a specific room interface. Note: the server makes sure that the player can be only in one room at a time.
C -> S
request_number: 534
field_name: switched_to_room_request
Field |
Type |
Description |
---|---|---|
room_id |
The room id the player is switching to.
|
UnmuteParticipantRequest¶
Sent by the room admin to allow a user back to chat in a room, after begin muted.
C -> S
request_number: 2040
field_name: unmute_participant_request
Possible responses:
Field |
Type |
Description |
---|---|---|
room_id |
||
unmute |
UnregisterPresenceRequest¶
Sent by the client to stop monitoring the presence of a participant.
More information can be found in Presence section.
C -> S
request_number: 528
field_name: unregister_presence_request
Field |
Type |
Description |
---|---|---|
participant_ids |
List of global participant ids to stop monitoring presence |
UnsubscribePresenceServiceRequest¶
Sent by the client to stop monitoring the presence of participants given by RegisterPresenceRequest.
More information can be found in Presence section.
C -> S
request_number: 533
field_name: unsubscribe_presence_service_request
UpdateRoomConfigurationRequest¶
Sent by the room administrator to change something on the configuration. Note that all fields of configuration might not be allowed to be modified after room creation.
C -> S
request_number: 2030
field_name: update_room_configuration_request
Possible responses:
Field |
Type |
Description |
---|---|---|
room_id |
||
configuration |
New configuration fields (some fields might be ignored, check the request documentation) |
WhatsNewRoomcatRequest¶
Sent by a client who wants to get latest information about a particular chat room.
If no room_id
is provided, will fetch information for all rooms the sender
participates in.
C -> S
request_number: 2002
field_name: whats_new_room_cat_request
Possible Responses:
Field |
Type |
Description |
---|---|---|
room_id |
The room identifier to get information from.
If
0 or empty, will get information for all rooms of the user |
Enums¶
AsyncConnectionErrorRequest.ConnectionError¶
List of possible errors during connection/authentication
Name |
Number |
Description |
---|---|---|
RESERVED |
0 |
Do not use |
ACCESS_DENIED |
1 |
Wrong password or login |
SERVERFULL_ERROR |
2 |
Service is over-capacity, not accepting new connections |
MAINTENANCE_MODE |
3 |
Maintenance mode, not accepting new connections |
NEED_AUTHENTICATION |
4 |
No credentials provided |
UNKNOWN_GAME_TYPE |
5 |
This service doesn’t run this game |
SERVER_ERROR |
6 |
Unknown error from the server |
BANNED |
7 |
This participant has been either temporarily or definitely banned |
ErrorCode¶
List of possible errors.
Name |
Number |
Description |
---|---|---|
NO_ERROR |
0 |
No error was encountered, but the error field was mandatory |
UNKNOWN_PLAYER |
2 |
An invalid participant local ID has been provided in a field |
UNKNOWN_ROOM |
3 |
The provided room ID does not exist, or the participant is not part of this game |
MAINTENANCE_MODE |
4 |
The server cannot respond due to temporary maintenance operation |
TOO_MANY_OFFERS |
5 |
The current participant reached the maximum number of games concurrently running |
UNKNOWN_DEVICE_TOKEN |
6 |
Tried to perform an action on an unknown Token (or the Token is not bound to the current participant) |
BAD_REQUEST |
14 |
The request had invalid parameters |
WRONG_STATE |
15 |
The request was sent while the room is in a different state that doesn’t know how to process it |
DUPLICATE_SESSION |
16 |
We’re aborting this connection because another session from a different device has opened for the same user |
SERVER_ERROR |
20 |
Unknown error from the server |
NOT_ALLOWED |
21 |
Operation not allowed |
TOO_MANY_PARTICIPANTS |
22 |
Invitation/Creation requests only accept a limited number of participants |
common.proto¶
Messages¶
PartnerToken¶
Session token authentication.
More information can be found in Authentication with an OAuth2 access token section.
Field |
Type |
Description |
---|---|---|
sessionToken |
Use to authenticate with an |
|
partner_user |
User information relative to partner account |
game.proto¶
Messages¶
AccessRights¶
Field |
Type |
Description |
---|---|---|
rights |
Specific rights relative to a player |
AccessRights.Right¶
Field |
Type |
Description |
---|---|---|
name |
Name of the right |
|
feature |
Content of the right for the player |
Achievement¶
Field |
Type |
Description |
---|---|---|
id |
Unique ID of the achievement |
|
name |
Title of the achievement |
|
description |
Description of the achievement |
|
type |
Kind of achievement |
|
status |
Current usage of the achievement |
|
secret |
If the description should be hidden |
|
tag |
Alphanumerical unique identifier |
AchievementUpdate¶
Field |
Type |
Description |
---|---|---|
achievement_updates |
List of awarded achievements |
Activity¶
Represents a type of activity.
Avatar¶
A player avatar description. In the order:
if an
image
is provided, the avatar url is https://uploads.asmodee.net/builtin/<image>else, if a
location
is provided, then it is the avatar urlelse, if an
id
(strictly positive) is provided, the avatar url is https://uploads.asmodee.net/avatars/<id>else (nothing is provided), then a default avatar is used: https://uploads.asmodee.net/builtin/avatar-neutral.jpg
Field |
Type |
Description |
---|---|---|
id |
Identifier for uploaded avatar (if no |
|
location |
Avatar full url (if no |
|
image |
Built-in avatar image name (with extension) |
FinalScore¶
Player position as indicated by the client at the end of a game. The rank computation uses this to order players.
Field |
Type |
Description |
---|---|---|
player_id |
Local player id |
|
game_rank |
The game rank is used to compute global rankings. The lowest rank is the winner. More than one player can have the same game_rank |
|
game_score |
The game score is used to keep track of the user score in their game history. |
PartnerUser¶
Contains the information of a Player for a specific partner.
Field |
Type |
Description |
---|---|---|
partner_id |
ID of the partner |
|
partner_display_name |
User name in the partner’s system |
|
partner_user_id |
Unique ID of the user, in the partner’s system |
Player¶
Player record. More information can be found in Player section.
Field |
Type |
Description |
---|---|---|
name |
Player name |
|
id |
Local player id |
|
karma |
Player karma (0-100) |
|
rank_score |
Player ELO rank score |
|
w_w_w_id |
Player unique global id |
|
rank |
Player main rank |
|
nb_games |
Player number of ranked games played |
|
banned |
True if this player has been administratively banned for offense |
|
blocked |
True if this player has been administratively prevented to chat |
|
avatar |
Player avatar |
|
language |
Player language (0- English, 1- French, 2- German) |
|
tz |
Player time zone |
|
ranks |
Player list of game variants ranks/rankscore |
|
rights |
Player list of online features |
|
partner_user |
Player’s partner information given at auth |
PlayerAchievement¶
Player achievement.
Field |
Type |
Description |
---|---|---|
achievement |
Awarded achievement |
|
date |
Date at which the achievement was awarded |
|
game |
Game the achievement belongs to |
PlayerAchievementUpdate¶
Field |
Type |
Description |
---|---|---|
player_id |
The global id of the player whose achievements have been updated |
|
achievements |
List of awarded achievements |
PlayerActivity¶
This represents an activity for a given player.
Field |
Type |
Description |
---|---|---|
user_id |
Global id of the user performing the activity |
|
last_use |
Last time we detected this activity, timestamp in seconds since UNIX epoch |
|
activity |
Activity integer code |
|
client_id |
Client used when activity changed |
|
game_type |
Game type (‘TT’, ‘SW’) |
|
payload |
String providing more information |
PlayerRankingUpdate¶
Rank evolution for a given player global id, usually given at the end of a game.
Field |
Type |
Description |
---|---|---|
player_id |
Global ID of the player whose ranking has been updated |
|
delta |
Difference in rankscore |
|
old_rank_score |
Rankscore before this update |
|
new_rank_score |
Rankscore now, after this update (should be |
|
variant |
Game variant in which the ranking has been updated, if relevant |
|
old_nb_games |
Number of ranked games before this update |
|
new_nb_games |
Number of ranked games now, after this update |
Rank¶
A player game variant rank information.
Field |
Type |
Description |
---|---|---|
rank |
Player’s rank position (lower is better, #1 is the best) |
|
rank_score |
Player’s ELO rankscore (higher is better, default is 1500) |
|
name |
Game (or variant) this ranking is from |
|
nb_games |
Number of ranked games played |
RankingUpdate¶
List of ranking updates (one per player in a game usually).
Field |
Type |
Description |
---|---|---|
update |
Ranking changes for players, at the outcome game |
Enums¶
Achievement.Status¶
Name |
Number |
Description |
---|---|---|
NEW |
0 |
Achievement is in preparation and not visible/usable yet |
ACTIVE |
1 |
Achievement is valid and usable |
RETIRED |
2 |
Achievement is not awardable, but still visible in the profile |
Achievement.Type¶
Name |
Number |
Description |
---|---|---|
NORMAL |
0 |
Regular achievement, most of them belong to this type |
OFFICER |
1 |
Related to Memoir’44 |
EVENT |
3 |
Related to a special event (contest, tournament…) |
COMMUNITY |
4 |
Related to the Asmodee community, used by some websites |
Activity.Code¶
Name |
Number |
Description |
---|---|---|
UNKNOWN |
0 |
The server doesn’t know what the player is doing |
DISCONNECTED |
1 |
Player disconnected and did not update activity since then |
IDLE |
2 |
Player is connected to the server but not playing or in lobby or in any other state |
LOBBY |
3 |
Player is in the lobby |
PLAYING_OFFLINE |
4 |
Player is playing a game |
PLAYING_ONLINE |
5 |
Player is playing an online game |
WAITING |
6 |
Player is waiting for other players to start a game |
OTHER |
7 |
User is in an other app |
BROWSING |
8 |
User is browsing some page of forum, website… |
OBSERVING |
9 |
User is observing a game |
meta_lobby_request.proto¶
Messages¶
Message¶
Field |
Type |
Description |
---|---|---|
request_number |
id the underlying request |
|
ping_request |
777 |
|
async_auth_request |
400 |
|
async_disconnect_request |
401 |
|
async_connected_request |
406 |
|
async_connection_error_request |
407 |
|
async_unlink_device_request |
412 |
|
async_device_unlinked_request |
413 |
|
multicast_data_request |
502 |
|
client_data_request |
503 |
|
error_request |
505 |
|
room_chat_request |
524 |
|
client_chat_room_request |
525 |
|
client_chat_room_blocked_request |
526 |
|
meta_player_presence_update_request |
||
async_buddy_presence_partial_update_request |
517 |
|
register_presence_request |
527 |
|
unregister_presence_request |
528 |
|
subscribe_presence_service_request |
532 |
|
unsubscribe_presence_service_request |
533 |
|
switched_room_request |
||
get_chat_room_history_request |
535 |
|
client_chat_room_history_request |
536 |
|
create_room_request |
||
room_created_request |
2001 |
|
whats_new_room_cat_request |
2002 |
|
room_list_request |
2003 |
|
room_details |
||
leave_room_request |
||
room_left_request |
||
invite_friends_to_room_request |
||
invited_friends_to_room_request |
||
invited_room_request |
||
answer_invitation_room_request |
||
room_invitation_cancelled_request |
||
room_joined_request |
||
room_invitation_declined_request |
||
room_over_request |
||
update_room_configuration_request |
||
room_configuration_updated_request |
||
kick_participant_request |
||
participant_kicked_request |
||
mute_participant_request |
||
participant_muted_request |
||
unmute_participant_request |
||
participant_unmuted_request |
Packet¶
Field |
Type |
Description |
---|---|---|
id |
Unique client-filled identifier of the packet, returned by the server in the response if possible - it is recommended to used a monotonically incrementing integer |
|
payload |
Embedded message |
PingRequest¶
Heartbeat request. Send this request regularly to the server, which will echo it back (default max heartbeat timeout is 15 seconds on the server-side). This allows the server to notice when a client is disconnected (and the reverse). This also allows to measure the round-trip time between the client and the server, and possibly alert the player if it is too large.
More information can be found in Heartbeat section.
request_number: 777
field_name: ping_request
Field |
Type |
Description |
---|---|---|
timestamp |
Timestamp at which the request has been sent |
push.proto¶
Messages¶
Device¶
A device token as given by the platform
Field |
Type |
Description |
---|---|---|
token |
Device Token |
DeviceType¶
A device token and its platform identifier
Field |
Type |
Description |
---|---|---|
token |
Device Token |
|
type |
Platform unique identifier |
Devices¶
Enums¶
Devices.Type¶
Type of device token
Name |
Number |
Description |
---|---|---|
RESERVED |
0 |
Do not use |
IOS |
1 |
|
GCM |
2 |
|
IOS_SANDBOX |
4 |
Development mode for IOS |
STEAM |
5 |
|
OSX |
10 |
|
OSX_SANDBOX |
11 |
Development mode for OSX |
FCM |
12 |
Scalar Value Types¶
Standard protobuf types
.proto Type |
Notes |
C++ Type |
C# Type |
Java Type |
---|---|---|---|---|
double |
double |
double |
double |
|
float |
float |
float |
float |
|
int32 |
Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. |
int32 |
int |
int |
int64 |
Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. |
int64 |
long |
long |
uint32 |
Uses variable-length encoding. |
uint32 |
uint |
int |
uint64 |
Uses variable-length encoding. |
uint64 |
ulong |
long |
sint32 |
Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. |
int32 |
int |
int |
sint64 |
Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. |
int64 |
long |
long |
fixed32 |
Always four bytes. More efficient than uint32 if values are often greater than 2^28. |
uint32 |
uint |
int |
fixed64 |
Always eight bytes. More efficient than uint64 if values are often greater than 2^56. |
uint64 |
ulong |
long |
sfixed32 |
Always four bytes. |
int32 |
int |
int |
sfixed64 |
Always eight bytes. |
int64 |
long |
long |
bool |
bool |
bool |
boolean |
|
string |
A string must always contain UTF-8 encoded or 7-bit ASCII text. |
string |
string |
String |
bytes |
May contain any arbitrary sequence of bytes. |
string |
ByteString |
ByteString |