# 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.