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:

AnswerInvitationRoomRequest

Field

Type

Description

room_id

int64

Identifier of the room the invitation came from

invitation_answer

bool

If true, the invitation is accepted and the participant can join the room. If false, the invitation is declined.

block_invitation

bool

If declined the invitation, can also set to true to turn off invitations from this room

Top

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:

AsyncAuthRequest

Field

Type

Description

name

string

Player login name

partner_token

com.daysofwonder.async.PartnerToken

Set this to authenticate with an access_token coming from the API

user_agent

AsyncAuthRequest.UserAgent

Client user agent

session

Session

If sent, then that means we want to resume a given session

game_type

string

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

com.daysofwonder.game.push.DeviceType

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)

Top

AsyncAuthRequest.UserAgent

AsyncAuthRequest.UserAgent

Field

Type

Description

user_agent

string

This contains the codified User Agent
(Downloadable, Steam, iPad, MacOSX, Pocket…)

full_user_agent

string

This would contain the full string
obeying the following format: *platform*/*ua*/*version*

Top

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

AsyncBuddyPresencePartialUpdateRequest

Field

Type

Description

present

int32[]

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

int32[]

List of absent players global id

Top

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:

AsyncConnectedRequest

Field

Type

Description

session

Session

The current participant session

participant

com.daysofwonder.Player

The current participant information

Top

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:

AsyncConnectionErrorRequest

Field

Type

Description

code

AsyncConnectionErrorRequest.ConnectionError

Connection error code

Top

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:

AsyncDeviceUnlinkedRequest

Field

Type

Description

device

com.daysofwonder.game.push.DeviceType

Device to unlink

Top

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:

AsyncUnlinkDeviceRequest

Field

Type

Description

device

com.daysofwonder.game.push.DeviceType

The device to unlink from the participant session

Top

ChatRoomHistoryEntry

An entry of a chat history.

More information about the chat can be found in Chat section.

ChatRoomHistoryEntry

Field

Type

Description

from

string

Sender name

text

string

Chat message

player_id

int32

For in room chat history it’s the local id, if from the lobby it’s the global id

timestamp

int64

Unix epoch in millis when the server received the message. 0 means the timestamp was not provided by the client.

code

int32

Message code when using premade messages. 0 means the message was not premade

Top

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:

ClientChatRoomBlockedRequest

Field

Type

Description

room_id

int64

text

string

Text chat

sender

com.daysofwonder.Player

The sender player

muted

bool

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

bool

This sender can be administratively blocked (prevented to chat) (community management), in this case
blocked will be true. Normally client software shouldn’t send to the server RoomChatRequest
if she’s blocked (check the blocked and banned field in the PBGame.Player message after authentication)

code

int32

Code of the premade message sent (if multicast a code)

recipient_ids

int32[]

Recipient of the message (if specified by the original multicast chat)

Top

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:

ClientChatRoomHistoryRequest

Field

Type

Description

room_id

int64

System assigned room id

entry

ChatRoomHistoryEntry[]

Chat entries in chronological order

last_seen_message_timestamp

int64

Timestamp of the last time a participant has seen a message

Top

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:

ClientChatRoomRequest

Field

Type

Description

room_id

int64

text

string

Text chat

sender

com.daysofwonder.Player

The sender player

profanity

bool

true if the text has been altered to remove profanities

code

int32

Code of the premade message sent (if multicast a code)

recipient_ids

int32[]

Recipient of the message (if specified by the original multicast chat)

Top

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

ClientDataRequest

Field

Type

Description

room_id

int64

System assigned room id

data

bytes

Any data that was sent by the sender

sender

com.daysofwonder.Player

Sender participant

Top

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:

CreateRoomRequest

Field

Type

Description

configuration

RoomConfiguration

Initial configuration of the chat room.

participants

int32[]

Initial participants of the chat room (creator + invitees).

Top

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:

GetChatRoomHistoryRequest

Field

Type

Description

room_id

int64

Top

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:

InviteFriendsToRoomRequest

Field

Type

Description

room_id

int64

Identifier of the room to invite participants in

friends

int32[]

Identifiers of the participants to invite in the room

Top

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:

InvitedFriendsToRoomRequest

Field

Type

Description

room_id

int64

Identifier of the room the invitation has been made

friends

int32[]

Identifiers of the participants that has been invited

Top

InvitedRoomRequest

Sent by the server to invited friends.

S -> C

  • request_number: 2008

  • field_name: invited_room_request

In response to:

InvitedRoomRequest

Field

Type

Description

room_id

int64

Identifier of the room

invitation_by

int32

Identifier of the user that invited the recipient of this message

details

RoomDetails

Details of the room the invitation comes from (name, other participants…)

Top

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:

KickParticipantRequest

Field

Type

Description

room_id

int64

kick

int32

Top

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:

LeaveRoomRequest

Field

Type

Description

room_id

int64

Identifier of the room to leave

Top

MetaErrorRequest

Sent in response to a client request that generated an error.

S -> C

  • request_number: 505

  • field_name: error_request

MetaErrorRequest

Field

Type

Description

room_id

int64

System assigned room id.
Might be 0 for errors not pertaining to a room

code

ErrorCode

Error code. If 0, there was not an error but the error field was mandatory

msg

string

Error message if any

participant_id

int32

The participant who sent the original request when in a room

Top

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

MetaPlayerPresenceUpdateRequest

Field

Type

Description

room_id

int64

System assigned room id

present

int32[]

Those participants local-game-id are now present

absent

int32[]

Those participants local-game-id are now absent

in_room

int32[]

Valid when room_id is set, contains the set of participants that declared being inside this room_id

Top

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:

MulticastDataRequest

Field

Type

Description

room_id

int64

System assigned room id

data

bytes

Any data that will be sent verbatim to the recipient_ids

recipient_ids

int32[]

List of local participant ids that will receive the data

present_participants_only

bool

Filter out people that are not ‘present’ at the moment.
If false, then absent users will be notified by a push notification

Top

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:

MuteParticipantRequest

Field

Type

Description

room_id

int64

mute

int32

Top

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:

ParticipantKickedRequest

Field

Type

Description

room_id

int64

kicked

int32

Top

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:

ParticipantMutedRequest

Field

Type

Description

room_id

int64

muted

int32

Top

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:

ParticipantUnmutedRequest

Field

Type

Description

room_id

int64

unmuted

int32

Top

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

RegisterPresenceRequest

Field

Type

Description

participant_ids

int32[]

List of global participant ids to monitor presence of

Top

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:

RoomChatRequest

Field

Type

Description

room_id

int64

text

string

Text chat

recipient_ids

int32[]

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

int32

Code for premade messages, please also provide the text in default locale.
Codes between 0 and 255 are reserved

Top

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

RoomConfiguration

Field

Type

Description

name

string

Displayed title for the room

topic

string

Optional description of the room intent

Top

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:

RoomConfigurationUpdatedRequest

Field

Type

Description

room_id

int64

configuration

RoomConfiguration

Configuration after update has been applied

Top

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:

RoomCreatedRequest

Field

Type

Description

details

RoomDetails

Details of the created chat room (identifier, name, participants…)

Top

RoomDetails

Representation of a given chat room.

RoomDetails

Field

Type

Description

room_id

int64

Unique room identifier provided by the server

configuration

RoomConfiguration

Configuration of the chat room

creator_id

int32

Global ID of the room creator

participants

com.daysofwonder.Player[]

Current participants of the discussion

muted_participants

int32[]

Muted participants ids cannot send messages to the room

Top

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

RoomInvitationCancelledRequest

Field

Type

Description

room_id

int64

Identifier of the room the invitation has expired

unknown_participant

int32

If server could not retrieve full information, giving at least the identifier

player_participant

com.daysofwonder.Player

If found, the user information of the cancelled invitation

Top

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:

RoomInvitationDeclinedRequest

Field

Type

Description

room_id

int64

Identifier of the room the invitee declined invitation for

participant

com.daysofwonder.Player

Top

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:

RoomJoinedRequest

Field

Type

Description

room_id

int64

Identifier of the room that has been joined

participant

com.daysofwonder.Player

Information of the user that joined the room

Top

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:

RoomLeftRequest

Field

Type

Description

room_id

int64

Identifier of the room

participant

com.daysofwonder.Player

Information of the participant who left the room

Top

RoomListRequest

List of chat rooms information

S -> C

  • request_number: 2003

  • field_name: room_list_request

In response to:

RoomListRequest

Field

Type

Description

details

RoomDetails[]

List of chat room details (identifiers, names, participants…)

Top

RoomOverRequest

RoomOverRequest

Field

Type

Description

room_id

int64

Top

Session

Session

Field

Type

Description

id

int64

Server-assigned ID of a client session

Top

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

SwitchedToRoomRequest

Field

Type

Description

room_id

int64

The room id the player is switching to.

Top

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:

UnmuteParticipantRequest

Field

Type

Description

room_id

int64

unmute

int32

Top

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

UnregisterPresenceRequest

Field

Type

Description

participant_ids

int32[]

List of global participant ids to stop monitoring presence

Top

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:

UpdateRoomConfigurationRequest

Field

Type

Description

room_id

int64

configuration

RoomConfiguration

New configuration fields (some fields might be ignored, check the request documentation)

Top

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:

WhatsNewRoomcatRequest

Field

Type

Description

room_id

int64

The room identifier to get information from.
If 0 or empty, will get information for all rooms of the user

Top

Enums

AsyncConnectionErrorRequest.ConnectionError

List of possible errors during connection/authentication

AsyncConnectionErrorRequest.ConnectionError

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

Top

ErrorCode

List of possible errors.

ErrorCode

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

Top

common.proto

Messages

PartnerToken

Session token authentication.

More information can be found in Authentication with an OAuth2 access token section.

PartnerToken

Field

Type

Description

sessionToken

string

Use to authenticate with an access_token retrieved from the API

partner_user

com.daysofwonder.PartnerUser

User information relative to partner account

Top

game.proto

Messages

AccessRights

AccessRights

Field

Type

Description

rights

AccessRights.Right[]

Specific rights relative to a player

Top

AccessRights.Right

AccessRights.Right

Field

Type

Description

name

string

Name of the right

feature

string

Content of the right for the player

Top

Achievement

Achievement

Field

Type

Description

id

int32

Unique ID of the achievement

name

string

Title of the achievement

description

string

Description of the achievement

type

Achievement.Type

Kind of achievement

status

Achievement.Status

Current usage of the achievement

secret

bool

If the description should be hidden

tag

string

Alphanumerical unique identifier

Top

AchievementUpdate

AchievementUpdate

Field

Type

Description

achievement_updates

PlayerAchievementUpdate[]

List of awarded achievements

Top

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 url

  • else, 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

Avatar

Field

Type

Description

id

int32

Identifier for uploaded avatar (if no image or location is provided)

location

string

Avatar full url (if no image is provided)

image

string

Built-in avatar image name (with extension)

Top

FinalScore

Player position as indicated by the client at the end of a game. The rank computation uses this to order players.

FinalScore

Field

Type

Description

player_id

int32

Local player id

game_rank

int32

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

float

The game score is used to keep track of the user score in their game history.

Top

PartnerUser

Contains the information of a Player for a specific partner.

PartnerUser

Field

Type

Description

partner_id

string

ID of the partner

partner_display_name

string

User name in the partner’s system

partner_user_id

string

Unique ID of the user, in the partner’s system

Top

Player

Player record. More information can be found in Player section.

Player

Field

Type

Description

name

string

Player name

id

int32

Local player id

karma

int32

Player karma (0-100)

rank_score

double

Player ELO rank score

w_w_w_id

int32

Player unique global id

rank

int32

Player main rank

nb_games

int32

Player number of ranked games played

banned

bool

True if this player has been administratively banned for offense

blocked

bool

True if this player has been administratively prevented to chat

avatar

Avatar

Player avatar

language

int32

Player language (0- English, 1- French, 2- German)

tz

string

Player time zone

ranks

Rank[]

Player list of game variants ranks/rankscore

rights

AccessRights

Player list of online features

partner_user

PartnerUser

Player’s partner information given at auth

Top

PlayerAchievement

Player achievement.

PlayerAchievement

Field

Type

Description

achievement

Achievement

Awarded achievement

date

string

Date at which the achievement was awarded

game

string

Game the achievement belongs to

Top

PlayerAchievementUpdate

PlayerAchievementUpdate

Field

Type

Description

player_id

int32

The global id of the player whose achievements have been updated

achievements

PlayerAchievement[]

List of awarded achievements

Top

PlayerActivity

This represents an activity for a given player.

PlayerActivity

Field

Type

Description

user_id

int32

Global id of the user performing the activity

last_use

int64

Last time we detected this activity, timestamp in seconds since UNIX epoch

activity

Activity.Code

Activity integer code

client_id

string

Client used when activity changed

game_type

string

Game type (‘TT’, ‘SW’)

payload

string

String providing more information

Top

PlayerRankingUpdate

Rank evolution for a given player global id, usually given at the end of a game.

PlayerRankingUpdate

Field

Type

Description

player_id

int32

Global ID of the player whose ranking has been updated

delta

float

Difference in rankscore

old_rank_score

double

Rankscore before this update

new_rank_score

double

Rankscore now, after this update (should be old_rank_score + delta)

variant

string

Game variant in which the ranking has been updated, if relevant

old_nb_games

int32

Number of ranked games before this update

new_nb_games

int32

Number of ranked games now, after this update

Top

Rank

A player game variant rank information.

Rank

Field

Type

Description

rank

int32

Player’s rank position (lower is better, #1 is the best)

rank_score

float

Player’s ELO rankscore (higher is better, default is 1500)

name

string

Game (or variant) this ranking is from

nb_games

int32

Number of ranked games played

Top

RankingUpdate

List of ranking updates (one per player in a game usually).

RankingUpdate

Field

Type

Description

update

PlayerRankingUpdate[]

Ranking changes for players, at the outcome game

Top

Enums

Achievement.Status

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

Top

Achievement.Type

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

Top

Activity.Code

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

Top

meta_lobby_request.proto

Messages

Message

Message

Field

Type

Description

request_number

int32

id the underlying request

ping_request

PingRequest

777

async_auth_request

AsyncAuthRequest

400

async_disconnect_request

AsyncDisconnectRequest

401

async_connected_request

AsyncConnectedRequest

406

async_connection_error_request

AsyncConnectionErrorRequest

407

async_unlink_device_request

AsyncUnlinkDeviceRequest

412

async_device_unlinked_request

AsyncDeviceUnlinkedRequest

413

multicast_data_request

MulticastDataRequest

502

client_data_request

ClientDataRequest

503

error_request

MetaErrorRequest

505

room_chat_request

RoomChatRequest

524

client_chat_room_request

ClientChatRoomRequest

525

client_chat_room_blocked_request

ClientChatRoomBlockedRequest

526

meta_player_presence_update_request

MetaPlayerPresenceUpdateRequest

async_buddy_presence_partial_update_request

AsyncBuddyPresencePartialUpdateRequest

517

register_presence_request

RegisterPresenceRequest

527

unregister_presence_request

UnregisterPresenceRequest

528

subscribe_presence_service_request

SubscribePresenceServiceRequest

532

unsubscribe_presence_service_request

UnsubscribePresenceServiceRequest

533

switched_room_request

SwitchedToRoomRequest

get_chat_room_history_request

GetChatRoomHistoryRequest

535

client_chat_room_history_request

ClientChatRoomHistoryRequest

536

create_room_request

CreateRoomRequest

room_created_request

RoomCreatedRequest

2001

whats_new_room_cat_request

WhatsNewRoomcatRequest

2002

room_list_request

RoomListRequest

2003

room_details

RoomDetails

leave_room_request

LeaveRoomRequest

room_left_request

RoomLeftRequest

invite_friends_to_room_request

InviteFriendsToRoomRequest

invited_friends_to_room_request

InvitedFriendsToRoomRequest

invited_room_request

InvitedRoomRequest

answer_invitation_room_request

AnswerInvitationRoomRequest

room_invitation_cancelled_request

RoomInvitationCancelledRequest

room_joined_request

RoomJoinedRequest

room_invitation_declined_request

RoomInvitationDeclinedRequest

room_over_request

RoomOverRequest

update_room_configuration_request

UpdateRoomConfigurationRequest

room_configuration_updated_request

RoomConfigurationUpdatedRequest

kick_participant_request

KickParticipantRequest

participant_kicked_request

ParticipantKickedRequest

mute_participant_request

MuteParticipantRequest

participant_muted_request

ParticipantMutedRequest

unmute_participant_request

UnmuteParticipantRequest

participant_unmuted_request

ParticipantUnmutedRequest

Top

Packet

Packet

Field

Type

Description

id

int64

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

Message

Embedded message

Top

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

PingRequest

Field

Type

Description

timestamp

int64

Timestamp at which the request has been sent

Top

push.proto

Messages

Device

A device token as given by the platform

Device

Field

Type

Description

token

bytes

Device Token

Top

DeviceType

A device token and its platform identifier

DeviceType

Field

Type

Description

token

bytes

Device Token

type

Devices.Type

Platform unique identifier

Top

Devices

Enums

Devices.Type

Type of device token

Devices.Type

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

Top

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

Top