# A plugin needs a setting before it can work

A plugin is installed but missing a setting of its own, such as a license key or an account, so it does nothing until it is configured.

- Code: `plugin_not_configured`
- Severity: error
- Category: Plugins
- Server types: Paper, Spigot
- Page: https://failures.perland.online/failures/plugin_not_configured/

## Example log

```text
[07:55:31 INFO]: [EssentialsGeoIP] Enabling EssentialsGeoIP v2.21.0
[07:55:31 ERROR]: [EssentialsGeoIP] No license key found! Please visit https://essentialsx.net/geoip for first time setup instructions.
[07:55:32 ERROR]: [EssentialsGeoIP] Failed to read GeoIP database!
java.io.FileNotFoundException: plugins/EssentialsGeoIP/GeoLite2-Country.mmdb (No such file or directory)
    at EssentialsXGeoIP-2.21.0.jar//com.earth2me.essentials.geoip.EssentialsGeoIP.onEnable(EssentialsGeoIP.java:33) ~[?:?]
```

## Log lines this page covers

- `No license key found! Please visit https://essentialsx.net/geoip for first time setup instructions.`
- `Failed to read GeoIP database! java.io.FileNotFoundException: ...`
- `XMPP is not configured properly.`

## What it means

Some plugins cannot do anything until you give them a setting only you can provide: a license key for a service, or the account they should log in with. The diagnosis reads two EssentialsX add-ons that say so at start:

- **EssentialsX GeoIP** shows the country of joining players. It downloads its location database from MaxMind, which needs a free MaxMind license key. Without one it downloads nothing, and then fails to open the database file that should be in its folder. Both lines describe the same missing setting.
- **EssentialsX XMPP** relays messages to a chat account over XMPP. Without the account details it does nothing.

The rest of the server runs normally; only that add-on's feature is off.

## Why it happens

- **The add-on was installed with the rest of EssentialsX.** The EssentialsX download offers several add-ons, and it is easy to install all of them, including ones that need setup.
- **The setting was never filled in.** A new install creates the add-on's `config.yml` with empty values.
- **The license key is no longer valid.** A key that was removed from the MaxMind account stops the download.

## How to fix

1. Decide whether you need the feature. If you do not, the simplest fix is to remove the add-on's jar from the `plugins` folder and restart the server. Your other EssentialsX plugins keep working.
2. **EssentialsX GeoIP:** create a free MaxMind account, generate a license key, and put it in the add-on's configuration in `plugins/EssentialsGeoIP/config.yml` (the license key setting). Restart the server so it downloads the database.
3. **EssentialsX XMPP:** fill in the server, user and password of the chat account in `plugins/EssentialsXMPP/config.yml`, then restart the server.
4. Keep a copy of a configuration file before you edit it, and keep the key out of anything you share publicly.

## In Perland

The issue appears in the server's Diagnosis tab with the add-on that is not configured. You can edit its `config.yml` in the Files tab, or remove the add-on with Plugin Studio if you do not need it, then restart the server.

## References

- [EssentialsX GeoIP setup](https://essentialsx.net/geoip)
- [EssentialsX](https://essentialsx.net/)
