---
type: how-to
title: Configure a game's gameplay
summary: Set the gameplay options a game exposes, such as difficulty, on the Configuration tab; available on every plan.
---

A game can expose gameplay options its author chose to make adjustable, such as difficulty, the number of rounds, or a time limit. These are the game's **configuration**. You set them on the **Configuration** tab of the game's editor, and the change applies to the rendered game.

Configuration is available on **every plan, including Solo**. It is the one customization axis with no paid gate.

## Set a configuration

Open the game on a site key's (or the troop's) **Games** page, then the **Configuration** tab. The tab shows the options the game's author declared, each with the right input for its type (a toggle for a yes/no option, a slider for a bounded number, a dropdown for a fixed set of choices, and so on). Set the values you want and save.

A game only offers the options it was built with. A game whose author exposed nothing simply runs on its built-in values, and the Configuration tab has nothing to set.

## How it resolves at runtime

Configuration is **server-authoritative**: there is no page attribute for it and the visitor cannot influence it, which is the point, otherwise a player could pick an easier game. When a visitor loads the game the server:

1. Merges your overrides into the game's presets, site key over troop over the game's bundled set.
2. Picks the preset you marked as the **default** (or the game's first preset when none is marked).
3. Applies that configuration to the game.

There is no "language" or "system" input here the way there is for locale and skin; the default preset is the whole story.

On a site key that [requires a game to verify](/docs/site-keys/games), the same resolved configuration is pinned into the verification, so the game the visitor plays and the server's replay check run on identical settings. A difficulty you set is therefore part of what the server verifies, not just a display choice.

## Presets and defaults

Configuration values are grouped into named **presets**. One preset is the **default** for the game; mark a different one as default in the editor to change which the server picks. You can extend the game's bundled preset and override only the values you care about, inheriting the rest. The full model (presets, defaults, extending) works the same across all three axes; see the [schema reference](/docs/references/customization-schema).

## What a configuration field can be

Configuration fields are typed. The author picks a type per option, and the dashboard renders the matching input and validates your value:

| Type | What it holds |
|---|---|
| Boolean | A yes/no toggle. |
| Number | Any number. |
| Range | A number within a minimum and maximum. |
| List | One choice from a fixed set. |
| String | Free text. |
| Link | An http or https URL. |

Colors and assets are not configuration; those live on the [skin](/docs/game-customization/skin). The exact rules per type are in the [schema reference](/docs/references/customization-schema).

## See also

- [Game customization overview](/docs/game-customization/overview): register a game and manage it.
- [Schema reference](/docs/references/customization-schema): every field type and its rules.
- [Customize the language](/docs/game-customization/locale) and [skin](/docs/game-customization/skin): the other two axes.
