Events
75 archives dans cette catégorie
-
What the account is allowed to do: whether it may create a character, whether the tutorial is offered, and its staff role. Kind event Area Game.Account Named by beta, gamemapping Read-only session state describing what this account may do. Nothing is gated on having processed it - you record it and move on. can_create_new_character USED TO BE A BOOL AND IS NOW A THREE-STATE ENUM. Measured across the dumped builds: 3.5.3.1 bool, bool, Hierarchy 3.5.17.26 bool, bool, Hierarchy, int64 3.6
- summary: What the account is allowed to do: whether it may create a character, whether the tutorial is offered, and its staff role.
- area: Game.Account
- confidence: 0.97
- 0 commentaires
- 6 vues
-
An account information update, carrying the subscription end date. Kind event Area Game.Account Named by beta, gamemapping Carries the subscription end date, which the client copies straight into its player-state service. ZERO IS THE PROTOBUF DEFAULT HERE, so a zero does not distinguish "no subscription" from "the field was not sent". If your logic depends on subscription state, treat zero as unknown rather than as expired. The message carries further members that no dumped build reads; they
- summary: An account information update, carrying the subscription end date.
- area: Game.Account
- confidence: 0.98
- 0 commentaires
- 2 vues
-
The account's permission flags for this session, as an opaque block of five booleans. Kind event Area Game.Account Named by stringtable Pushed during account setup. You receive it, record it, and never reply - nothing in the protocol is gated on having processed it. THE FIVE FLAGS ARE NOT INDIVIDUALLY RECOVERED and are deliberately left unnamed. Every line of evidence that names things elsewhere in this catalogue fails here: the unobfuscated reference build has no account-rights type in the g
- summary: The account's permission flags for this session, as an opaque block of five booleans.
- area: Game.Account
- confidence: 0.87
- 0 commentaires
- 3 vues
-
An anomaly has just opened in a subarea. Kind event Area Game.Anomaly Named by beta, gamemapping, stringtable An anomaly opened. The client turns it into a chat announcement carrying a clickable travel link to the place. IT ONLY REPORTS OPENINGS. There is no matching "closed" event on this message - closures come through AnomalyStateEvent with its open flag false. A script that tracks anomalies from this message alone accumulates anomalies that ended hours ago. It carries the subarea and not
- summary: An anomaly has just opened in a subarea.
- area: Game.Anomaly
- confidence: 0.93
- 0 commentaires
- 4 vues
-
One subarea's anomaly is now open or closed, with the time it closes. Kind event Area Game.Anomaly Named by beta, gamemapping The delta for one subarea, and THE ONLY MESSAGE THAT REPORTS A CLOSURE - AnomalyOpenedEvent only ever announces openings. open false is how an anomaly ends. Apply it to the board you got from AnomalySubareaInformationRequest, keyed by subarea_id. closing_time tells you when the anomaly ends, so you can decide whether it is worth travelling to before it does. The mess
- summary: One subarea's anomaly is now open or closed, with the time it closes.
- area: Game.Anomaly
- confidence: 0.89
- 0 commentaires
- 4 vues
-
The whole anomaly board: one row per subarea with its anomaly state, reward bonus and closing time. Kind event Area Game.Anomaly Named by beta, gamemapping, stringtable The answer to AnomalySubareaInformationRequest. ROWS ARE SENT FOR SUBAREAS WITH NO ANOMALY TOO. The row's PRESENCE means nothing; AnomalySubareaInformation.has_anomaly is what says whether one is there. Filtering by presence gives you every subarea in the game. Each row is an AnomalySubareaInformation. Replace your board whol
- summary: The whole anomaly board: one row per subarea with its anomaly state, reward bonus and closing time.
- area: Game.Anomaly
- confidence: 0.88
- 0 commentaires
- 5 vues
-
The submitted ticket was accepted; the game session is open. Kind event Area Game.Connection Named by beta, gamemapping Answers IdentificationRequest on success. Carries no payload - arrival is the whole message. In a capture it opens a burst delivered in the same millisecond: TimeEvent, ServerSettingsEvent, OptionalFeaturesEvent, AccountCapabilitiesEvent, AccountRightsEvent, TrustStatusEvent and ServerSessionReadyEvent. Do not treat any of those as separately requested; they are pushed. Wh
- summary: The submitted ticket was accepted; the game session is open.
- area: Game.Connection
- confidence: 0.95
- 0 commentaires
- 11 vues
-
The submitted ticket was rejected; the game session does not open. Kind event Area Game.Connection Named by beta, gamemapping Answers IdentificationRequest on failure. Carries no reason - refusal is the whole message, so there is nothing to branch on beyond the fact of it. The usual causes are a ticket that was already consumed, has expired, or was issued for a different server than the one you connected to. Recovering means going back to the login-server exchange for a fresh ticket, not retr
- summary: The submitted ticket was rejected; the game session does not open.
- area: Game.Connection
- confidence: 0.99
- 0 commentaires
- 3 vues
-
A fresh API key for the in-client shop back end, answering the token request. Kind event Area Game.Bak Named by stringtable The reply to BakApiTokenRequest. NEVER PUSHED UNSOLICITED: no request, no key. Its arrival drives the client's whole key lifecycle. On receiving it the service stores the key, CLEARS the in-flight latch that the send routine set - releasing the next request - and arms a one-hour timer for the next refresh. If you reproduce the request's timer, reproduce this side too: w
- summary: A fresh API key for the in-client shop back end, answering the token request.
- area: Game.Bak
- confidence: 0.90
- 0 commentaires
- 3 vues
-
A shop token for the in-client shop back end. In practice it never arrives. Kind event Area Game.Bak Named by stringtable IN PRACTICE THIS NEVER ARRIVES, AND THAT IS THE MOST USEFUL THING TO KNOW ABOUT IT. The shop-token request that would provoke it has NO CLIENT WRITER in any dumped build: the message type exists, but nothing in the client ever constructs or sends it. Since this event is a reply and the client never asks, the server has no occasion to send it. A live capture bears that out
- summary: A shop token for the in-client shop back end. In practice it never arrives.
- area: Game.Bak
- confidence: 0.90
- 0 commentaires
- 3 vues
-
Empty server poll asking the client to report its measured latency. Kind event Area Game.Basic Named by beta, gamemapping Carries no payload - the message IS the question. Answer it with BasicLatencyStatsRequest carrying a latency in milliseconds. ANSWER IT. A capture shows the real client replying within milliseconds. A client that receives these polls and never answers is trivially distinguishable from a real one. It arrives in the same frame as SequenceNumberEvent, and the two are answere
- summary: Empty server poll asking the client to report its measured latency.
- area: Game.Basic
- confidence: 0.84
- 0 commentaires
- 6 vues
-
Every bonus currently in force, as a full replacement list. Kind event Area Game.Bonus Named by invented This name is not Ankama's. It was chosen for this documentation from proven client behaviour, and is a label rather than protocol documentation. THE COMPLETE SET, EVERY TIME. Overwrite your bonus state with this list rather than merging into it - the client throws its cache away and rebuilds it from scratch on every arrival. WHAT A BONUS IS Each entry is an amount plus the kind of bonus
- summary: Every bonus currently in force, as a full replacement list.
- area: Game.Bonus
- confidence: 0.89
- 0 commentaires
- 3 vues
-
One chat channel was enabled or disabled for the player. Kind event Area Game.Chat Named by beta The single-channel delta: set that channel's bit when enable is true, clear it when false. Nothing else in the payload is used by the client. It arrives both on its own and as part of the volley that follows a community change - see SetCommunityChannelRequest. Keep one channel mask and apply this to it. The bulk counterpart is ChatChannelsEnabledEvent, and the two can disagree if you apply them o
- summary: One chat channel was enabled or disabled for the player.
- area: Game.Chat
- confidence: 0.93
- 0 commentaires
- 5 vues
-
The colour palettes your character owns, and how many palette slots exist. Kind event Area Game.Cosmetic Named by gamemapping YOUR COLLECTION OF COLOUR PALETTES. Each palette is a set of six colours you can apply to your character; this message lists the ones you own and states how many palette slots your account has. WHEN IT ARRIVES Unprompted, once the game context is up, and again whenever the collection changes. Treat it as a REPLACEMENT: the client discards its previous list and rebuild
- summary: The colour palettes your character owns, and how many palette slots exist.
- area: Game.Cosmetic
- confidence: 0.88
- 0 commentaires
- 3 vues
-
The played character's full characteristic sheet, sent as a complete replacement. Kind event Area Game.Character Named by beta, gamemapping The character sheet: level progression, kamas, alignment, every characteristic and the current spell modifiers. IT REPLACES, IT DOES NOT PATCH. The client throws away its cached characteristic state and rebuilds it from this message. Do the same - a merge leaves you holding modifiers that have expired. IT ALSO CARRIES KAMAS, AND SO DOES InventoryContentE
- summary: The played character's full characteristic sheet, sent as a complete replacement.
- area: Game.Character
- confidence: 0.94
- 0 commentaires
- 4 vues
-
Says whether the character was created, and when the name was the problem, exactly what was wrong with it. Kind event Area Game.Character.Management Named by beta, gamemapping Answers CharacterCreationRequest - success and every kind of refusal arrive through this one message. READ THE RESULT FIRST, THE REASON SECOND TWO MEMBERS, AND ONLY ONE OF THEM ALWAYS MEANS SOMETHING. The result says what happened. The reason describes the NAME, and it is meaningful only when the result says the name w
- summary: Says whether the character was created, and when the name was the problem, exactly what was wrong with it.
- area: Game.Character.Management
- confidence: 0.89
- 0 commentaires
- 5 vues
-
The server naming the character about to be destroyed and stating whether a secret answer is required. Kind event Area Game.Character Named by beta, gamemapping STEP 2 OF 3. Read need_secret_answer before doing anything else: it decides whether CharacterDeletionRequest must carry a hash, and it is per character. character_id IS GONE FROM THIS MESSAGE. The reference build declared one and NO dumped build carries it - the client already knows which character it asked about. Do not expect it and
- summary: The server naming the character about to be destroyed and stating whether a secret answer is required.
- area: Game.Character
- confidence: 0.85
- 0 commentaires
- 4 vues
-
Experience the played character just earned, on a kill, quest turn-in, harvest or craft. Kind event Area Game.Character Named by beta, gamemapping A gain notification, so the client can animate the experience bar. It is a DELTA, not a total - the totals live in CharacterCharacteristics. THE CURRENT MESSAGE CARRIES ONLY THE CHARACTER'S OWN EXPERIENCE. The reference build declared mount and guild experience alongside it and the current build does not: that is a real schema reduction, confirmed
- summary: Experience the played character just earned, on a kill, quest turn-in, harvest or craft.
- area: Game.Character
- confidence: 0.91
- 0 commentaires
- 3 vues
-
Your character reached a new level; this is that level. Kind event Area Game.Character Named by beta, gamemapping Your character just levelled up. The value is the NEW level, not an increment. WHAT THE CLIENT DOES WITH IT. It stores the new level on the played character, works out the rewards unlocked for your class at that level, and opens the level-up window. IF YOU TRACK LEVEL YOURSELF, overwrite it with this value. Experience figures arrive separately in CharacterCharacteristicsEvent and
- summary: Your character reached a new level; this is that level.
- area: Game.Character
- confidence: 0.90
- 0 commentaires
- 4 vues
-
Whether the played character is alive, dead or a phantom, and where its phoenix statue stands. Kind event Area Game.Character Named by beta, gamemapping, stringtable THE MESSAGE THAT TELLS YOU YOU ARE DEAD. Any script that fights needs to handle it: after a death the character is still connected, still receives events, and can still be told to walk - it just cannot do anything useful. It arrives once during the connection state burst, so the first one you see is not a death; it is the current
- summary: Whether the played character is alive, dead or a phantom, and where its phoenix statue stands.
- area: Game.Character
- confidence: 0.92
- 0 commentaires
- 3 vues
-
The account's characters on this server, with everything needed to select one. Kind event Area Game.Character.Management Named by beta, gamemapping Answers CharacterListRequest. THIS IS THE ONLY SOURCE OF A CHARACTER ID. The id you put in CharacterSelectionRequest must come from here - an id from another account, another server, or an earlier session is rejected. Each entry carries the character's look and level as well as its id, so the list is enough to choose without any further request.
- summary: The account's characters on this server, with everything needed to select one.
- area: Game.Character.Management
- confidence: 0.98
- 0 commentaires
- 5 vues
-
The selected character has finished loading; the world-entry burst starts here. Kind event Area Game.Context Named by beta, gamemapping Carries no payload. Arrival is the server's "you are in" signal, closing the long inbound burst that follows CharacterSelectionRequest. IT DOES NOT CREATE THE GAME CONTEXT. That is ContextCreationRequest, which the real client sends about 1.4 seconds later as step 5 of a seven-step burst: sequence number, the contact and warning settings, the guild requests,
- summary: The selected character has finished loading; the world-entry burst starts here.
- area: Game.Context
- confidence: 0.88
- 0 commentaires
- 4 vues
-
A server-generated character name proposal. Kind event Area Game.Character Named by beta, gamemapping The answer to CharacterNameSuggestionRequest: one proposed name, which the client offers as the player's next candidate. IT IS A PROPOSAL, NOT A RESERVATION. Nothing is held for you - the name can be taken between the suggestion and your creation request. When you may send it Requires authenticated observed Related messages Arrives after CharacterNameSuggestionRequest Fields #Field
- summary: A server-generated character name proposal.
- area: Game.Character
- confidence: 0.86
- 0 commentaires
- 3 vues
-
Whether the selection was accepted, and which character was entered. Kind event Area Game.Character.Management Named by beta, gamemapping Answers CharacterSelectionRequest with one of two outcomes, carried in a oneof: success with the selected character, or an error with no payload. CHECK WHICH BRANCH IS SET BEFORE READING EITHER. The failure branch is empty, so a client that reads the success branch unconditionally sees a zeroed character rather than an error. When you may send it Requir
- summary: Whether the selection was accepted, and which character was entered.
- area: Game.Character.Management
- confidence: 0.96
- 0 commentaires
- 5 vues
-
Somebody said something on a chat channel, including your own lines echoed back. Kind event Area Game.Chat Named by beta, gamemapping Everything said on every channel you are subscribed to, including your own lines coming back after ChatChannelMessageRequest. TWO SENDER IDS, TWO DIFFERENT PURPOSES. sender_character_id is the CHARACTER speaking - use it to address them or open a menu on them. sender_account_id is the ACCOUNT behind that character - use it to ignore a PERSON, who can otherwise
- summary: Somebody said something on a chat channel, including your own lines echoed back.
- area: Game.Chat
- confidence: 0.89
- 0 commentaires
- 5 vues