Get desktop application:
View/edit binary Protocol Buffers messages
Create a new user account.
Create a new user.
New account owner, identifiers and authentication.
Optional preferences.
Permission bits for the new account. Can't be more permissive than the invoking account.
Login state of the account.
Get the history of handle changes for an account.
Look up a user account by primary key.
Admin user lookups.
Find user account ID.
Find user by e-mail address.
Find user by player handle.
Rename an offensive handle with an automatically generated one, and send a notification e-mail.
Account with the offensive handle.
New handle assigned to the account.
Reset the user's password to the one provided. Also resets any temporary abuse lock on the account.
Set the account password to the one given.
Find user accounts.
Admin user search requests.
Pagination.
Results do not include preferences or contact address.
Send a system-generated notification e-mail to the address on file. Account must have a validated e-mail address.
Target account. Must have a validated e-mail.
Modify a user's access permissions.
Change permission bits for a user account.
Roles to grant.
Roles to revoke.
Set or modify a user's contact address.
Update the user's contact address.
Assign the user an explicit login status.
Set the login state of an account.
Modify a user's primary fields and/or preferences.
Admin account changes.
Changes to account record.
Changes to preferences.
Display a portion of audit log history.
Allow frontend and other servers to read AppConfig.
AppConfig contains application reference data and behavioral settings. It is stored in the database and is applied universally by all servers. It should NOT contain highly sensitive information such as credentials or key material.
Limit results to those with the given player involved.
Also deletes any feature rules referencing the feature.
Create or update a feature definition.
Refund payment for a settled order.
Refund a completed purchase order with settled payment.
Search over all purchase orders. Admin only. Returns headers only, no line items.
Search for purchase orders.
Restrictions on the search.
Order sorting
Skip past this many records in the result.
Max number of results to return.
Orders that matched the criteria.
True when the included results reached the end of the query result.
Bring purchase order up to date with external transaction state. This operation causes goods to be delivered or revoked.
Reconcile a purchase order state with external payment processing transaction state.
Cancel payment for a purchase order still pending settlement.
Cancel a pending purchase order.
Total sessions active.
Rules for handling account RPCs.
Used in:
Minimum length when setting a password.
Minimum number of unique character classes for a password.
Access roles granted to publicly registered accounts.
How long before e-mail validation links expire.
Prepended to email validation links.
Number of bytes in the generated nonce hex string.
How long a password reset code is valid for in seconds.
Number of letters and numbers in the reset code.
Max number of users to return from SearchUsers.
Minutes to keep an account locked out after exceeding lockout_threshold attempts.
Number of failed login attempts before account is locked. Set to 0 to disable lockout.
Number of minutes after the last login failure after which the counter is reset to 0.
How long do session tickets last (SessionService.RequestSessionTicket)?
Require a registration key?
Deny any handle that full-matches one of these expressions.
Prefix to use when generating a handle to replace an offensive/disallowed one.
Pre-existing nuked handles to skip over before giving up.
Used in: ,
Used in: ,
Used in:
Periodically look for history records in BQ and remove them from PostGres. Behavior is configured through ExportTrimConfig within AppConfig.
Used in:
Account that was affected.
Used in:
Most number of results to return from an audit query.
Largest time range allowed for a search.
Used in:
User who initiated the operation.
When the operation occurred.
Category of the event.
IP address of the initiating session.
Hostname of the server that handled the request.
Name of the operation.
Parameters of the query, if one was invoked.
Account that was affected, if any.
Order that was affected, if any.
Criteria that can constrain a search for audit events.
Used in:
CIDR netmask
Options for sorting audit events returned by a query.
Used in:
Used in:
Used in: ,
Used in:
Order that was affected.
Order status as of the end of this event.
Used in: ,
Time of first match to include, 0 = all
Time of last match to include, 0 = now
Global filter options.
Limit results to a specific build.
Limit results to a specific match type.
Include disconnected matches.
Include foul-play matches.
Win ratio options.
Most allowed rating difference for a win ratio query.
Width of Glicko2 rating buckets.
Overall stats for an individual character.
Used in:
Number of match slots involved in.
Number of unique users who played the character.
Used in:
Used in:
Time this report was generated.
Query parameters that bounded the report scope.
Matches observed in this report.
Total unique users considered for the report.
Summary stats for each character.
Half-matrix of win/loss ratios for each character combo & rating band.
Used in:
Used in: ,
The top line of the stack trace, used as a unique identifier to group together the same types of crash.
The number of unique users affected by the crash. Less than num_occurrences if a crash happens to the same person more than once.
Used in:
the number of build versions for each client app to keep the crash redis records around for
the interval to check for new crash reports to symbolicate, in seconds
Used in:
The path on gcs
The crash number on a per-build version basis
What currencies are supported and their rules.
Used in:
Currency to use for new accounts when the country code is unknown.
Describes a supported currency and rules for working with it.
Used in:
3-letter capital code.
Digits of precision.
Character prepended to distinguish values.
List of 3-letter country codes that use this currency.
Allow balance loads with this currency.
Default values given for account balance purchases.
Range of allowed custom balance purchase amounts.
Maximum balance an account may hold in this currency. Orders that would exceed this amount are rejected.
How to connect to the database.
Used in:
How long to wait for a connection to establish in seconds. Zero means infinite.
Max number of idle connections.
Max open connections.
"disable", "require", or "verify-full"
Used in:
the interval to check for new desync reports to process, in seconds
Used in:
Define all ranking echelons in progression order (0=Carbon .. N-1=Legend)
Number of wins in a streak for bonus to apply.
Points to award for a win streak bonus.
Used in:
Points required to advance for each tier in this echelon.
If true, don't apply losses while in this echelon.
If true, echelon has no tiers or points.
Used in:
Milliseconds that RPCs waiting on changes are allowed to wait before giving up.
Default lifetime of time-limited events.
Default lifetime of user event queue keys themselves.
Configuration for trimming database history tables which are accumulated externally.
Used in:
Whether database table trimming is enabled.
Don't look for records younger than this age.
Process at most this many records at once.
How often to trim the database.
Used in: ,
Where to reach Match API servers.
Backend account to use for fetching application metadata.
How long to wait for readyness on startup.
Run-time file for the tbfe web application server.
Port to listen on for HTTP requests.
Session key(s) to use.
Number of seconds after which idle sessions will expire.
Number of cores Go runtime should use.
Where to write access records in JSON format.
Monitoring configuration.
How to talk to Redis for sessions.
Where to find and how to serve dynamic HTML content.
Where to reach backend API servers.
Used in:
Directory containing templates and data files.
Root for static web content (optional).
If enabled, reload templates on every request.
Directory where localization resources can be found. tb.properties must be present here.
Name of the application.
HTTP(s) proxy to use when querying the recaptcha URL.
After how many form submission failures should you have to solve another CAPTCHA?
If set, send 301 redirect requests NOT using this host name.
URL scheme to use when redirecting to canonical_hostname.
Template to use for content of a 503 Internal Server Error.
Template for 404 not found page content.
Path to redirect to when an authorized-only page is requested with no valid session.
Link to download the launcher for logged-in users.
Link to the forum.
If set, redirect requests to the landing page to here.
Defines a client feature flag.
Used in: ,
Unique tag identifying the feature. Cannot be empty or contain spaces.
Free-form description of the feature.
Describes when a set of feature flags are enabled.
Used in: , ,
Server-generated unique ID of the rule.
Feature tags and values enabled by the rule.
Rule is only effective when enabled.
Rules are evaluated in increasing priority order, with higher priority rules taking precedence in case of conflict on a feature tag.
Who owns this rule?
Free-form text about this rule.
If set, time after which the rule becomes active.
If set, time after which the rule becomes inactive.
Generic Google API access credentials
Used in:
Optional role account for auth == GCE
Optional account name for auth == SDK
Used in:
Where to store something on Google Cloud Storage.
Used in: ,
Used in:
How deterministic are matches in this game (0.2 .. 1.2)
How many minutes in each rating period?
How often should MatchMaker master check for new matches to rate?
Rating deviation (RD) for an unrated (or maximum lapsed) player.
Rating deviation (RD) never to drop below, to ensure some freedom of movement.
Number of rating periods must pass before an active player's deviation becomes as uncertain as that of an unrated player. Determines 'c' in Glicko paper. Default (for 30 minute period) is 3 weeks.
Rating deviation of a "typical" active player for computation of 'c'.
Used in: ,
Build version required by the server to login. If blank, any build will be allowed.
Used in:
Unix timestamp of the handle change time.
Old handle.
New handle.
How an experience counter maps to increasing "levels". Level 1 starts at 0 XP.
Used in:
How much XP is required to reach level 2 from level 1.
A level takes this much more XP to reach than the previous level.
XP awarded for playing a match.
XP awarded for winning a match.
Used in: ,
Max number of users to allow in a lobby.
Time-to-live for match keys generated by the lobby.
Time to live for lobby keys.
How long lobby matches remain in the active matches list if leaked.
Used in:
Number of characters in the join code.
Maximum number of members allowed in a single lobby.
Used in: ,
Time to live for log types in seconds.
Default time to live for unspecified log types
Used in:
Login credentials.
Location of mail fragments and templates.
Check for changes on disk when fetching a template.
SMTP hosts to connect to.
Used in:
Common mail template variables.
Used in:
Used in:
Participate in election and poll queues when master?
How often to try to become master when not.
Milliseconds after which the master lock should expire if not re-upped.
How often to run the polling script as master.
If the polling script fails, how long to back off.
Port to listen on for HTTP requests.
Directory containing templates and include files.
Directory containing static content.
Where to find GeoIP.dat
Where to load localization resources.
Where to persist sessions.
Where desyncs are stored.
Where crash information is stored.
Where to reach backend API servers.
How often to run statistical queries in seconds.
Time cut-off for considering a session active.
Max # of results to pull from the recent session table.
Max # of lobbies to pull from active lobbies.
Max # of active matches to retrieve.
Used in:
Used in:
Used in:
Used in: ,
Time to live for proposal keys in seconds.
Time to live for queue tickets.
How many users to consider at once from top and bottom of time queue.
Control how much echelon may differ to qualify.
Control how much total rank points may differ to qualify.
How long to prevent 2 players from repeating the same match-up.
How long to remember the last opponent.
How long to wait before matching to a player on another continent.
Ping score minimum and increase with wait time.
Geo distance minimum and increase with wait time.
25,000km should be further than any possible distance between two points on earth
200 km per second gets from LA to NY in 20 seconds, covers the world in 2 mins
Rating distance minimum and increase with wait time.
0==normal, 1==in maintenance mode: no one enters queue, message about server maintenance
Time after which old active matches are forcibly removed.
How long to wait in the queue before timing out.
Unused - rating dist keeps climbing forever
Behaviors of the Matching methods.
Used in:
How long to wait for an opponent to be ready to continue a match.
How to award players with the outcome of a match.
Max recent match results to return from GetRecentMatches.
If we lost more than this percentage of packets during ping test, advise the user of network issues and don't record the result for matchmaking.
Max number of seconds between each player's desync report to qualify.
How to perform perform Glicko2 rating system updates.
Glicko rating to assign to players with zero games played. Glicko ratings still assume 1500.
Glicko rating to assign to players with zero games played depending on their SkillEstimateType. SkillEstimateType acts as the index into the array.
Max portion of rating difference to adjust for win/loss, scaled by deviation.
How long, in seconds, to re-use the last read values from lua config objects.
Require that only one game may be played at once, only one random match queue can be pending at a time, and cannot enqueue while in a custom lobby.
deprecated
moved to lua config
moved to lua config
moved to lua config
Used in: ,
Time to live for the ping table if we fail to clean up session.
Time to live for the blacklist if we fail to clean up session.
Used in:
Char type vs. opponent type.
Used in: ,
URI to access export variables.
List of allowed subnets in CIDR notation for vars_uri, desyncz_uri, appconfz_uri No entries allows access from any host.
Separate allowed subnets for health_uri.
Where to serve the loaded appconfig. Empty means don't serve.
Optional restrictions for an order search.
Used in:
If set, restrict by owning account.
If set, restrict by specific order status.
Restrict time range for last modify time.
Total amount range.
If set, orders that use account balance (or not).
Match billing fields.
Limit to country.
How to interact with Authorize.Net API.
Used in:
Amount of time to wait for calls before giving up.
An Authorize.Net account works in a single currency type that is associated with the merchant account. Use this currency to format and verify input amounts. If none is given, uses the default system currency in AppConfig.
Whether to use transactionSettings/testRequest=TRUE. This is for phase 2 testing, connecting to the production API endpoint, but still submitting test requests.
Character delimiting fields in APIs that return a "direct response". Authorize.Net sets this to comma by default, but we choose pipe and disallow pipe in most fields.
How to perform validation of payment profiles on creation and update. Maps to validationMode parameter of the CIM API. TEST and LIVE will generate e-mails, but only LIVE will reach the payment processor.
Used in:
Configuration for talking to payment gateway (Authorize.Net).
Used in:
URL where the API can be reached.
API Login ID.
Transaction Key.
How to talk to the Portal service via Redis.
Used in:
List to enqueue (RPUSH) portal requests.
List to consume (BLPOP) portal closure reports.
Time to wait for response from a portal request.
Used in:
How to expose RPC methods.
Used in:
HTTP port to bind to.
URI prefix to expose the tbmatch API.
The 64-byte session key.
How long before an idle session is discarded with no activity at all.
Time window to consider "active" sessions, e.g. those invoking methods other than GetEvent.
Max content size of requests, to prevent denial of service
File to log JSON-format RPC records.
Used in:
Define the ranking echelons.
Used in:
Max Glicko2 rating for these matchups.
Used in: ,
Used in:
Used in:
Used in: ,
Switch to a non-default database index.
How long to wait for a new Redis connection in milliseconds.
Read timeout in milliseconds. 0 = infinite.
Path containing Lua script files to load in Redis.
Extra Lua include search paths.
Used in:
How many codes to generate and include in the mail.
Access flags the codes will bestow.
Used in:
"Welcome to the Rising Thunder alpha!"
Access codes to give out.
Server run-time config file. Tells this server how to launch and resolve service dependencies. May contain some credentials.
How to reach and authenticate to all Google APIs.
Number of cores Go runtime should use.
Enable admin RPC services.
Flags to provide (mainly) backwards compatibility during server rollouts.
Used in:
Provide hashing secret for clients, and check signatures of incoming UDP packets.
Search for a ticket to get back into queue at an old spot even when using the GetMatch rpc. Purpose: backwards compatibility while waiting for client build to use ResumeGetMatch for auto-requeueing
Used in:
Used in: ,
Base64 encoded session key for signing new cookies.
Base64 encoded alternate encoded key signature to accept.
Configuration for online store behaviors, limits, etc.
Used in:
Max number of orders to return from SearchPurchaseOrders.
Max number of results returned from GetAccountOrderHistory.
Max number of days you can view balance history over.
The path on gcs
The directory minidump_stackwalk will look for the symbol file in, retrieved from the first line of the sym file
Used in:
How to match a user search.
Used in:
How to order a user search.
Used in:
Used in:
Used in:
Role for users with 0 forum access otherwise.
Email suffix that enables the "blessed" role
Role that is bestowed