# Configuration
Amplifier uses a single `config.yml` file located in the plugin's data folder. This page documents every configuration key, its purpose, and its default value.
---
## Voice Chat Settings
The `voice-chat` section controls core voice chat behavior.
| Key | Type | Default | Description |
|---|---|---|---|
| `voice-chat.max-distance` | Integer | `48` | Maximum distance in blocks for voice chat audibility. |
| `voice-chat.enabled` | Boolean | `true` | Whether voice chat is globally enabled. When disabled, only players with the `lodestone.amplifier.bypass` permission can speak. |
| `voice-chat.debug` | Boolean | `false` | Enables debug logging for troubleshooting voice chat issues. |
| `voice-chat.cross-dimension` | Boolean | `true` | Whether players in groups can hear each other across different dimensions. |
```yaml
voice-chat:
max-distance: 48
enabled: true
debug: false
cross-dimension: true
```
---
## Persistence Settings
The `persistence` section controls whether Amplifier persists voice player data across server restarts.
| Key | Type | Default | Description |
|---|---|---|---|
| `persistence.enabled` | Boolean | `true` | Whether voice player data is saved and restored across server restarts. |
```yaml
persistence:
enabled: true
```
---
## Storage Settings
The `storage` section determines how Amplifier persists voice player data. Set `storage.type` to one of `LOCAL`, `MYSQL`, or `MONGODB`.
### LOCAL
The default storage type. Data is stored in local files on the server. No additional configuration is needed.
```yaml
storage:
type: "LOCAL"
```
### MySQL
Stores voice player data in a MySQL database. Configure the connection details under `storage.mysql`.
| Key | Type | Default | Description |
|---|---|---|---|
| `storage.mysql.url` | String | `jdbc:mysql://localhost:3306/amplifier` | JDBC connection URL for the MySQL database. |
| `storage.mysql.username` | String | `root` | Database username. |
| `storage.mysql.password` | String | `password` | Database password. |
| `storage.mysql.pool-size` | Integer | `10` | Maximum number of connections in the HikariCP connection pool. |
```yaml
storage:
type: "MYSQL"
mysql:
url: "jdbc:mysql://localhost:3306/amplifier"
username: "root"
password: "password"
pool-size: 10
```
### MongoDB
Stores voice player data in a MongoDB collection. Configure the connection details under `storage.mongodb`.
| Key | Type | Default | Description |
|---|---|---|---|
| `storage.mongodb.uri` | String | `mongodb://localhost:27017` | MongoDB connection URI. |
| `storage.mongodb.database` | String | `amplifier` | Name of the database to use. |
| `storage.mongodb.collection` | String | `voice_players` | Name of the collection for voice player documents. |
| `storage.mongodb.pool-size` | Integer | `10` | Maximum number of connections in the pool. |
```yaml
storage:
type: "MONGODB"
mongodb:
uri: "mongodb://localhost:27017"
database: "amplifier"
collection: "voice_players"
pool-size: 10
```
---
## Redis Configuration
The `redis` section enables cross-server voice state broadcasting. When enabled, Amplifier publishes voice events to a Redis channel so that multiple servers can stay synchronized.
| Key | Type | Default | Description |
|---|---|---|---|
| `redis.enabled` | Boolean | `false` | Whether Redis cross-server broadcasting is active. |
| `redis.uri` | String | `redis://localhost:6379` | Redis connection URI. |
| `redis.password` | String | (empty) | Redis password. Leave empty if no password is set. |
| `redis.channel` | String | `amplifier:voice` | The Redis pub/sub channel name for voice broadcasting. |
| `redis.server-id` | String | `null` | A unique identifier for this server instance. Auto-generated by the plugin if left as `null`. |
```yaml
redis:
enabled: false
uri: "redis://localhost:6379"
password: ""
channel: "amplifier:voice"
server-id: null
```
---
## Translations
The `translations` section defines messages sent to players during voice chat events. Messages support MiniMessage formatting.
| Key | Default | Description |
|---|---|---|
| `translations.voicechat_disabled` | `<red>Voice chat is globally muted!</red>` | Shown when a player tries to speak while global voice chat is disabled. |
| `translations.broadcasting_voice` | `<green>Your voice is currently being broadcasted!</green>` | Shown to a player who is actively broadcasting. |
| `translations.voicechat_suppressed` | `<red>Your voice is currently being suppressed!</red>` | Shown when a player's voice is being suppressed. |
```yaml
translations:
voicechat_disabled: "<red>Voice chat is globally muted!</red>"
broadcasting_voice: "<green>Your voice is currently being broadcasted!</green>"
voicechat_suppressed: "<red>Your voice is currently being suppressed!</red>"
```
---
## Full Default Configuration
```yaml
# Amplifier Plugin Configuration
version: 3
voice-chat:
max-distance: 48
enabled: true
debug: false
cross-dimension: true
persistence:
enabled: true
storage:
type: "LOCAL"
mysql:
url: "jdbc:mysql://localhost:3306/amplifier"
username: "root"
password: "password"
pool-size: 10
mongodb:
uri: "mongodb://localhost:27017"
database: "amplifier"
collection: "voice_players"
pool-size: 10
redis:
enabled: false
uri: "redis://localhost:6379"
password: ""
channel: "amplifier:voice"
server-id: null
translations:
voicechat_disabled: "<red>Voice chat is globally muted!</red>"
broadcasting_voice: "<green>Your voice is currently being broadcasted!</green>"
voicechat_suppressed: "<red>Your voice is currently being suppressed!</red>"
```
To reload configuration changes at runtime, use the `/amplifier reload` command. See [[Amplifier/Server Owners/Commands]] for details.