# Configuration
Name Tag stores its configuration in `plugins/NameTag/config.yml`. The config is automatically migrated when updating from older versions.
---
## config.yml
```yaml
version: 6
can_use_existing_players: true
should_spoof_uuid: false
allow_cloud_nicking: true
storage:
type: "LOCAL"
mongodb:
uri: "mongodb://localhost:27017"
database: "nametag"
collection: "players"
pool-size: 10
mysql:
host: "localhost"
port: 3306
database: "nametag"
table: "nametag_players"
username: "root"
password: ""
pool-size: 10
use-ssl: false
mariadb:
host: "localhost"
port: 3306
database: "nametag"
table: "nametag_players"
username: "root"
password: ""
pool-size: 10
use-ssl: false
```
| Key | Type | Default | Description |
|---|---|---|---|
| `version` | Integer | `6` | Internal config version. Do not modify. |
| `can_use_existing_players` | Boolean | `true` | Whether players can nick as real Minecraft usernames. When `false`, nicking as a name that exists in Mojang's database is blocked. |
| `should_spoof_uuid` | Boolean | `false` | **Experimental.** Spoofs the player's UUID to match the nicked identity. May cause issues with plugins that track players by UUID. |
| `allow_cloud_nicking` | Boolean | `true` | Enables the cloud nicking service for `/randomnick`. When enabled, player UUIDs and usernames are sent to `lode.gg` to build a realistic username pool. When disabled, falls back to the legacy offline generator. |
---
## Storage
Name Tag supports four storage backends. Use `MONGODB`, `MYSQL`, or `MARIADB` on proxy networks so every backend server shares the same nick data — see [[Name Tag/Server Owners/Proxy Setup]] for details.
### Local (default)
Stores player data in `plugins/NameTag/data.yml`. No additional setup required. Not shared across a proxy network.
```yaml
storage:
type: "LOCAL"
```
### MongoDB
For multi-server, proxy, or high-volume setups. Requires a running MongoDB instance.
```yaml
storage:
type: "MONGODB"
mongodb:
uri: "mongodb://localhost:27017"
database: "nametag"
collection: "players"
pool-size: 10
```
| Key | Type | Default | Description |
|---|---|---|---|
| `storage.mongodb.uri` | String | `"mongodb://localhost:27017"` | MongoDB connection URI. |
| `storage.mongodb.database` | String | `"nametag"` | Database name. |
| `storage.mongodb.collection` | String | `"players"` | Collection name. |
| `storage.mongodb.pool-size` | Integer | `10` | Connection pool size. |
### MySQL
For multi-server, proxy, or high-volume setups. Requires a running MySQL instance. The `nametag_players` table is created automatically on first start.
```yaml
storage:
type: "MYSQL"
mysql:
host: "localhost"
port: 3306
database: "nametag"
table: "nametag_players"
username: "root"
password: ""
pool-size: 10
use-ssl: false
```
| Key | Type | Default | Description |
|---|---|---|---|
| `storage.type` | String | `"LOCAL"` | `LOCAL`, `MONGODB`, `MYSQL`, or `MARIADB`. |
| `storage.mysql.host` | String | `"localhost"` | MySQL host. |
| `storage.mysql.port` | Integer | `3306` | MySQL port. |
| `storage.mysql.database` | String | `"nametag"` | Database name. |
| `storage.mysql.table` | String | `"nametag_players"` | Table name. Created automatically on first start. |
| `storage.mysql.username` | String | `"root"` | MySQL username. |
| `storage.mysql.password` | String | `""` | MySQL password. |
| `storage.mysql.pool-size` | Integer | `10` | Connection pool size. |
| `storage.mysql.use-ssl` | Boolean | `false` | Enable TLS on the JDBC connection. |
### MariaDB
For multi-server, proxy, or high-volume setups using MariaDB. Ships with the native MariaDB JDBC driver. The `nametag_players` table is created automatically on first start.
```yaml
storage:
type: "MARIADB"
mariadb:
host: "localhost"
port: 3306
database: "nametag"
table: "nametag_players"
username: "root"
password: ""
pool-size: 10
use-ssl: false
```
| Key | Type | Default | Description |
|---|---|---|---|
| `storage.mariadb.host` | String | `"localhost"` | MariaDB host. |
| `storage.mariadb.port` | Integer | `3306` | MariaDB port. |
| `storage.mariadb.database` | String | `"nametag"` | Database name. |
| `storage.mariadb.table` | String | `"nametag_players"` | Table name. Created automatically on first start. |
| `storage.mariadb.username` | String | `"root"` | MariaDB username. |
| `storage.mariadb.password` | String | `""` | MariaDB password. |
| `storage.mariadb.pool-size` | Integer | `10` | Connection pool size. |
| `storage.mariadb.use-ssl` | Boolean | `false` | Enable TLS on the JDBC connection. |
---
## Cloud Nicking
When `allow_cloud_nicking` is enabled, Name Tag sends each joining player's UUID and username to Lodestone's cloud API. This data is used to build a pool of realistic usernames that `/randomnick` draws from — producing nicks like vowel-swapped variations of real names instead of generic generated ones.
**What is sent:**
- Player UUID and username (on join)
- Server IP and port (for audit tracking)
**What is not sent:**
- No gameplay data, chat messages, or plugin configuration
If the cloud service is unavailable or rate-limited, `/randomnick` automatically falls back to the legacy offline username generator.
---
## Reloading
Use `/nametag reload` to reload the configuration from disk without restarting. See [[Name Tag/Server Owners/Commands]] for details.
---
## Related Pages
- [[Name Tag/Server Owners/Overview]] — Plugin overview and installation
- [[Name Tag/Server Owners/Commands]] — Full command and permission listing
- [[Name Tag/Server Owners/Proxy Setup]] — Share nick data across a proxy network