> For the complete documentation index, see [llms.txt](https://docs.spoof.dev/asteroid/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.spoof.dev/asteroid/configuration.md).

# Configuration

All of Asteroid's settings live in `plugins/Asteroid/config.yml`. This page covers the general settings and points you to the detailed pages for each system.

After editing the config, run `/asteroid reload`. A few settings need a full restart instead, and those are noted where they appear.

## Built-in placeholders

Two placeholders work almost everywhere in the config:

| Placeholder       | Meaning                                        | Example                 |
| ----------------- | ---------------------------------------------- | ----------------------- |
| `{random[x,y]}`   | Random whole number from x to y                | `{random[30,90]}`       |
| `{random[x,y,z]}` | Random number from x to y, multiples of z only | `{random[100,1000,50]}` |

These are separate from PlaceholderAPI. For PlaceholderAPI support, see the Placeholders page.

## Access settings

Controls the command and who may use it.

```yaml
access:
  main_command: 'asteroid'
  allowed_uuids:
    - '3fd954a8-c1b2-4b80-b163-96f3aa666a44'
```

| Setting         | What it does                                                                                                |
| --------------- | ----------------------------------------------------------------------------------------------------------- |
| `main_command`  | The base command. Setting it to `spoofctl` means you use `/spoofctl toggle`, `/spoofctl reload`, and so on. |
| `allowed_uuids` | Only these UUIDs can use Asteroid commands. Others do not even see the commands exist.                      |

## Plugin settings and disguise

```yaml
spoof:
  enabled: true
  plugin:
    main:
      name: "AFKRewards"
    libs:
      name: "AuthenticationLibs"
  performanceMode: false
  paper1206PlusFix: false
  showFakePlayerOnJoin: true
  asteroidPlaceholders: false
```

| Setting                          | What it does                                                                                                |
| -------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| `spoof.enabled`                  | Master switch for the plugin.                                                                               |
| `plugin.main.name` and `authors` | Disguises how Asteroid appears in `/plugins`. Set the name to `None` to disable disguising.                 |
| `plugin.libs.name` and `authors` | Same disguise, for AsteroidLibs.                                                                            |
| `performanceMode`                | Strips fake players down to the bare minimum. See the Performance page.                                     |
| `paper1206PlusFix`               | Enable only on 1.20.6 or newer if you get errors about CraftPlayer on a fork that does not fully remap NMS. |
| `showFakePlayerOnJoin`           | Prints a console line when a fake player joins. Turn off if your console gets noisy.                        |
| `asteroidPlaceholders`           | Registers the deprecated `%asteroid_...%` placeholders. Left off by default.                                |

## Profile settings

Controls the fake identities Asteroid uses. Profiles are covered in detail on the Profiles page.

```yaml
profiles:
  profile_links: []
  remove_fake_on_real_join: true
  bedrock:
    prefix: '*'
```

| Setting                    | What it does                                                                                                                                          |
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| `profile_links`            | Optional custom sources for usernames. Each link must point directly to a JSON array of Minecraft usernames. Leave empty to use the built-in sources. |
| `remove_fake_on_real_join` | If a real player joins with the same name as an existing fake player, the fake is permanently deleted.                                                |
| `bedrock.prefix`           | Prefix added to fake Bedrock names when your server supports Bedrock through Geyser or Floodgate. Requires a restart.                                 |

## Experimental and debug

```yaml
experimental:
  enabled: false

debug: false
```

* `experimental.enabled` turns on beta features. Changing it needs a full restart, not a reload. Tested on 1.20.1, 1.20.4, and 1.21.x.
* `debug` prints extra logging. Leave it off unless support asks for it.
