Many plugins don't work entirely on their own. Premium plugins check a license key on startup, connections to Discord, Telegram or VK need a token (a kind of password for a bot or an interface), voice chat plugins open their own network port, and some download libraries or databases from the internet. If one of these is missing or gets rejected, the plugin writes a message to the log. Usually only that plugin's feature fails; in one case the plugin stops the server on purpose.

Each section below covers one message. You can find the full message in the Console or under Files in logs/latest.log, and the plugin configuration under plugins/<Plugin>/. Create a backup under Backups before changing anything. Keys and tokens are secret: don't show them to anyone and crop them out of screenshots.

DonutShop Rejects the License Key

What the message looks like:

[DonutShop]             DONUTSHOP ERROR
[DonutShop] The licensing server rejected this key.

What's behind it: DonutShop is a shop plugin that checks its license key with the author's licensing server on startup. This check failed on the last start. Even a non-empty value that has been entered can be invalid, expired or issued for a different installation. The Minecraft server can keep running, but DonutShop is not reliably available: players can't count on the shop.

How to fix it:

  1. Get or check the free license key via the official DonutShop project page on Modrinth.
  2. Under Files, open the DonutShop configuration (plugins/DonutShop/config.yml) and enter the key at license-key. Put it in quotation marks, with no spaces before or after it.
  3. Save the file and restart the server.
  4. Check the Console: only when the "DONUTSHOP ERROR" banner no longer appears on the new start is the problem fixed.

Good to know: If you copied the key from another server, get your own for this server.

LibreLogin Stops the Server: Library Cannot Be Loaded

What the message looks like:

[LibreLogin] Failed to load libraries, stopping server to prevent damage
… Failed to download library <Library>

What's behind it: LibreLogin is a login plugin that players use to sign in with a password. On startup it downloads libraries, meaning program parts it doesn't bundle itself, including PacketEvents. If this download fails, LibreLogin deliberately stops the server instead of running half-functional. So the server won't start until the problem is solved.

How to fix it:

  1. Restart the server once. If the download source was only briefly unreachable, it often works on the next attempt.
  2. Update LibreLogin under Plugins to the latest version for your server software. If PacketEvents is installed as a separate plugin on your server, update it as well.
  3. Restart and check in the Console whether the libraries are loaded now.
  4. If the message appears on every start, the server can't reach the download address. This can be due to internet access, name resolution (DNS, which translates addresses into IP numbers) or the address itself. If you get stuck, open a ticket and include the time of the message.

Good to know: How to update and replace plugins is shown in Install and Manage Minecraft Plugins.

Simple Voice Chat Drops Voice Packets

What the message looks like:

[voicechat] Packet queue has <Count> packets
[voicechat] Dropping voice chat packets!

What's behind it: Simple Voice Chat transmits voice between players who are close to each other in the game. The message means: the voice chat can't keep up with processing, and voice packets pile up in a queue or are dropped. The cause is a server that is currently overloaded, with low TPS (ticks per second, the rhythm of Minecraft; 20 is normal) or high CPU load. Players then hear choppy or missing voice. The server itself keeps running.

How to fix it:

  1. Find out what is causing the load, for example with spark: spark: Finding and Understanding Lag on the Minecraft Server.
  2. Lower the view distance (view-distance) and the simulation distance (simulation-distance) in the Settings or in server.properties. This way the server loads fewer chunks, which are world sections of 16 × 16 blocks.
  3. Reduce the number of entities (creatures, animals, dropped items) in individual places and check plugins that cause a lot of load.
  4. If that's not enough, switch to more performance under Settings & Plan → Plan.

Good to know: Occasional messages shortly after startup or when exploring new areas are harmless as long as they stop again.

Simple Voice Chat Cannot Get Its UDP Port

What the message looks like:

[voicechat] Failed to run voice chat at UDP port <Port>
[voicechat] Disabling Simple Voice Chat

What's behind it: Simple Voice Chat transmits voice over its own UDP port. UDP is the network method for fast real-time data such as voice. The configured port doesn't belong to your server or is already in use, for example because the default value from the plugin's instructions is still entered. Without a port, the voice chat shuts itself off; the game itself keeps running normally.

How to fix it:

  1. Under Files, open the file plugins/voicechat/voicechat-server.properties. If you run Simple Voice Chat as a mod, it is located at config/voicechat/voicechat-server.properties.
  2. Set port to your server's port number. Your game port is open for both TCP and UDP.
  3. Save the file and restart the server.
  4. Check in the Console whether the message no longer appears, and test the voice chat in the game.

In detail: Set Up Simple Voice Chat on the Minecraft Server.

Good to know: Only one program can open a UDP port at a time. If another plugin already uses the same port, such as Geyser for Bedrock players, one of the two needs a different port that is assigned to your server.

Discord Plugin Has No Valid Bot Token

What the message looks like:

[DiscordSRV] No bot token has been set in the config; a bot token is required to connect to Discord.
[DiscordSRV] The bot token is invalid
[EssentialsDiscord] An error occurred while logging into Discord

What's behind it: Discord plugins such as DiscordSRV or EssentialsX Discord log in to Discord with their own bot. For this they need the bot's token, a long string of characters that works like a password. There is none in the configuration, or Discord rejects the one entered, for example because it has since been reset. The Discord connection then stays off, while the Minecraft server keeps running normally.

How to fix it:

  1. In the Discord Developer Portal, create an application with a bot or choose your existing bot. In the "Bot" section, copy the token or generate a new one.
  2. Under Files, open the plugin's config.yml, for example plugins/DiscordSRV/config.yml, and enter the token (for DiscordSRV in the BotToken field).
  3. Invite the bot to your Discord server if you haven't already.
  4. Save the file and restart the server.

Good to know: If "could not connect to Discord because:" is followed by a hint about intents, enable the required "Privileged Gateway Intents" for the bot in the Developer Portal. If a token has become public, reset it there and enter the new one.

Plugin Cannot Download the Country Database

What the message looks like:

[AuthMe] Could not download GeoLiteAPI database [FileNotFoundException]: plugins/AuthMe/GeoLite2-Country.mmdb (No such file or directory)

What's behind it: Some plugins, such as AuthMe, assign IP addresses to a country. To do this, they download a country database, usually GeoLite2 from the provider MaxMind. This download failed. The plugin keeps running; only country-dependent features such as country blocks stay inactive while the database is missing.

How to fix it:

  1. This is usually a temporary problem on the other end. The next restart tries the download again; you don't have to do anything right away.
  2. If the message persists over several starts, look at the plugin's configuration under plugins/<Plugin>/. The plugin often needs its own license key for the download, and the configuration names the field for it.
  3. Enter the key, save and restart the server.

Good to know: If you don't use any country-dependent features, you can ignore the message. Login and all other features of the plugin work regardless.

DonutShop Is Locked Without a License Key

What the message looks like:

[DonutShop]             DONUTSHOP LOCKED
[DonutShop] No license key is set in config.yml.
[DonutShop] Then run: /link <your-key>

What's behind it: DonutShop only starts with a license key. None is entered in its config.yml, so the shop stays locked. The key is free, but you have to get it from the author once. The Minecraft server itself is not affected.

How to fix it:

  1. Get the free key from the plugin author. The way to do so, a Discord link, is given in the message in the lines around the banner.
  2. Run /link <your-key> as the message instructs, or enter the key in plugins/DonutShop/config.yml.
  3. Restart the server.
  4. Check in the Console whether the "DONUTSHOP LOCKED" banner has disappeared.

Good to know: If "DONUTSHOP ERROR" appears afterwards, the key was rejected. In that case, the section on the rejected DonutShop license will help.

Plugin's VK Token Is Rejected

What the message looks like:

com.vk.api.sdk.exceptions.ApiAuthException: User authorization failed (5): User authorization failed: invalid access_token (4).

What's behind it: Some plugins connect to VK, the social network VKontakte. For this they need an access token, a kind of password for the interface. VK rejected the token that was entered ("invalid access_token"), so it is invalid, expired or revoked. The plugin's VK features are disabled, while the rest of the server runs normally.

How to fix it:

  1. Generate a new access token on VK with the permissions the plugin requires. Which ones those are is stated in the plugin's instructions.
  2. Under Files, open the plugin's configuration under plugins/<Plugin>/ and replace the old token with the new one.
  3. Save the file and restart the server.
  4. Check in the Console whether the message no longer appears.

Good to know: Which plugin is affected is shown by the stack trace below, meaning the indented lines with at …. Next to com.vk.api, the plugin's package name appears there.

Plugin Cannot Provide Its Resourcepack

What the message looks like:

java.io.IOException: HTTP 403 dla http://<Address>/<Pack>.zip
Failed to start resourcepack server: Server is not publicly reachable on <Address>:<Port>

What's behind it: Some plugins deliver their own resourcepack to players. To do this, they download it from an address, build it themselves or start a small built-in web server from which players fetch it. One of these steps failed. Players then don't get the pack, and textures or features that depend on it are missing. The server keeps running.

How to fix it:

  1. Read the HTTP status in the message: 403 means access denied, 404 means file not found.
  2. Open the pack address from the plugin configuration in a browser. It must download the ZIP file directly and must not show a preview or login page.
  3. Correct the address or upload the pack to a place that serves it publicly.
  4. If the plugin uses a built-in web server, only enter a port there that is assigned to your server in the panel and publicly reachable.
  5. Restart the server.

Plugin Needs an API Key for a Third-Party Service

What the message looks like:

Please set your <Service> API key
Get your API key from: https://<Provider>/…
accessToken=MISSING

What's behind it: The plugin works together with a third-party service, for example for statistics or a connection to a website. For this it needs an API key or credentials. An API key is an identifier the plugin uses to identify itself to the service. It is missing from the configuration. Until it is entered, the plugin doesn't work; the rest of the server keeps running.

How to fix it:

  1. Read the message: it usually names the service, file and field, often also the address where you get the key ("Get your API key from:").
  2. Create an account with the service and generate the key there.
  3. Under Files, open the named file under plugins/<Plugin>/ and enter the key. The file is usually in YAML format, where the indentation with spaces determines the structure; don't change it, and put the value in quotation marks.
  4. Save the file and restart the server.

Good to know: If the plugin then reports that it cannot read the file, A Plugin's Configuration File Is Faulty will help.

Premium Plugin Finds No Valid License Key

What the message looks like:

No License Key Found!
Please enter a valid key in license.yml
Authentication failed! API key is invalid

What's behind it: The plugin is a premium plugin or needs a key from the provider, and finds no valid one in its configuration. It then disables itself completely or switches off individual features. The server keeps running, just without this plugin's features.

How to fix it:

  1. Find the key from your purchase, for example in your account on the site where you bought the plugin, or ask the provider.
  2. Under Files, open the file named in the message, usually plugins/<Plugin>/license.yml or plugins/<Plugin>/config.yml, and enter the key.
  3. Save the file and restart the server.
  4. If you don't have a key, remove the plugin under Plugins instead of letting it run permanently with errors.

Good to know: Only download premium plugins from the official sales page. Versions from unofficial sources with the license check removed often contain malware.

Plugin's Telegram Bot Doesn't Start

What the message looks like:

Error removing old webhook

What's behind it: A plugin with a Telegram connection logs in to Telegram with a bot on startup. In doing so, it first removes an old webhook, meaning a stored address to which Telegram would send new messages. This failed, usually because the bot token is invalid or Telegram was temporarily unreachable. The Telegram feature stays off, while the Minecraft server keeps running normally.

How to fix it:

  1. In Telegram, open the chat with @BotFather and have it show you your bot's token or generate a new one.
  2. Under Files, open the plugin's configuration under plugins/<Plugin>/ and replace the token. Copy it completely; a bot token begins with a number and a colon.
  3. Save the file and restart the server.
  4. Check in the Console whether the message no longer appears.

Good to know: If the message appears only once and not again on the next start, Telegram was briefly unreachable. In that case you don't need to change anything.

Plugin Cannot Get Its Own Network Port

What the message looks like:

Failed to bind to /<Address>:<Port>
[PlasmoVoice] Failed to start the udp server

What's behind it: Some plugins open their own network port, for example for a voice chat like Plasmo Voice or for a website with a map or statistics. The configured address or port is not available on your server: the port isn't assigned to it, is already in use, or the configuration contains a fixed IP address that the server can't use that way. The plugin's feature stays off, while the rest of the server keeps running.

How to fix it:

  1. Under Files, open the plugin's configuration under plugins/<Plugin>/ and look for the port and address entries.
  2. Enter a port that is assigned to your server in the panel and still free.
  3. Leave the address empty or set 0.0.0.0. This means: reachable on all of the server's network interfaces.
  4. Save the file, restart the server and check in the Console whether the message no longer appears.

Good to know: Only one program can open a port at a time. If two plugins use the same one, each needs its own. More about ports: Checking Minecraft Ports and Connection Errors.

Plugin or Extra Service Cannot Open Its Port

What the message looks like:

[<Plugin>] Failed to start HTTP server: Address already in use
java.net.BindException: Address already in use

What's behind it: A plugin or an extra service such as voice chat, a web page, query or RCON tries to open a port that is already in use. Often its configuration contains the game port, which the server already opened itself at startup. The server keeps running and players can join; only this one feature stays off.

How to fix it:

  1. In the Console, read the name in square brackets before the message, for example [<Plugin>]. Server health also shows it under "Affected plugin or service".
  2. Under Files, open the configuration under plugins/<Plugin>/ and look for the port entry. For query and RCON, these are query.port and rcon.port in server.properties.
  3. Enter a port that is not the game port and that no other plugin uses. The Ports tab lists all ports of your server.
  4. For Simple Voice Chat and other known plugins, the assistants under Plugins set up a free port automatically.
  5. Save, restart the server and check the Console to see whether the message is gone.

Good to know: A restart alone doesn't help while the configuration keeps the same port. More about ports: Checking Minecraft Ports and Connection Errors.

Your message isn't listed?

Read the whole message in the Console or in logs/latest.log, including the lines before it. The name in square brackets at the start of the line, such as [DiscordSRV], usually names the plugin. If it's missing, the stack trace helps: the indented lines with at … contain package and folder names that point to the plugin or mod. The plugin's project page explains which keys, tokens or ports it needs. Create a backup before changing the configuration. If you get stuck, open a ticket and include the time of the message.