Many plugins store data permanently: permissions, account balances, logs, or the history of building actions. To do this, they use either a MySQL or MariaDB database that they reach over the network, or files in their own folder under plugins/, such as a SQLite or H2 database, which is a complete database in a single file. If opening or saving fails, the plugin is missing its data, or new changes are lost.
Each section below covers one message. You can find the full message in the Console or under Files in logs/latest.log. The lines right after it often name the exact cause. Before you touch plugin folders, database files, or configurations, create a backup under Backups, and only delete or move database files while the server is stopped.
The database denies access: wrong user or password
What the message looks like:
java.sql.SQLException: Access denied for user '<User>'@'<Address>' (using password: YES)
What's behind it: A plugin such as LuckPerms or CoreProtect wants to connect to its MySQL or MariaDB database, but the username or password is wrong. The database rejects the login. As a result, the plugin can neither load nor save data: depending on the plugin, it either doesn't start at all or runs without its permissions, account balances, or logs, and new changes don't reach the database. If the message ends with using password: NO, no password is entered in the configuration at all.
How to fix it:
- Check under Databases or in your database add-on to see which credentials apply: host, port, database name, user, and password.
- Under Files, open the plugin's configuration, for LuckPerms for example
plugins/LuckPerms/config.yml, sectiondata. - Enter all values exactly as they appear in the panel. Pay attention to upper and lower case and to trailing spaces.
- If the password contains special characters such as
#or:, put it in single quotes. YAML, the text format of these files, would otherwise read the value incorrectly. - Save the file and restart the server.
Good to know: If the database password was reset, the old one is no longer valid in any plugin configuration. Enter the new one everywhere the database is used.
spark can't create its temporary files
What the message looks like:
[spark] Exception occurred while rotating profiler job
java.lang.RuntimeException: Unable to create temporary output file
[spark] Failed to stop previous profiler job
What's behind it: spark is a profiler, a measuring tool that records what the server spends its processing time on. spark stores its temporary files in the folder plugins/spark/tmp-client. If this folder is missing, every profiling run fails, and spark retries every minute. That's why you see so many identical messages. Your server keeps running unaffected, and it's neither a storage space nor a permissions problem.
How to fix it:
- The fastest way is the "Fix automatically" button next to the message in Server health.
- Manually: Open Files, go to the folder
plugins/spark, and create the foldertmp-clientinside it. Make sure the spelling is exact. - Watch the Console for a few minutes. The messages should stop.
Good to know: A restart alone doesn't help, because spark doesn't recreate the folder by itself. For how to use spark to hunt down lag, see spark: Finding and Understanding Lag.
A plugin can't reach its database
What the message looks like:
<Plugin>-hikari - Connection is not available, request timed out after <Time>ms.
com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
[LuckPerms] Failed to init storage
What's behind it: The plugin can't get a connection to its MySQL or MariaDB database. Typical reasons: the host in the configuration is wrong, the database is stopped, or an existing connection was dropped. "Hikari" is the connection pool that keeps database connections ready for the plugin. As long as this continues, the plugin is missing its data.
How to fix it:
- Check whether your database add-on is running.
- Compare the host and port in the plugin configuration with the details under Databases or in the add-on. Don't simply enter
localhost, but exactly the host from the panel. - Restart the server and watch the plugin's startup messages in the Console.
- If you don't need your own database, switch the plugin to local storage, for LuckPerms with
storage-method: h2inplugins/LuckPerms/config.yml. Data from the database isn't carried over automatically.
Good to know: If "Error whilst saving group" is followed by the note "Value too long", the connection isn't to blame. In that case an entry is longer than the 200 characters LuckPerms allows for it, for example a prefix with many color codes. Shorten it.
Grim can't open its history database
What the message looks like:
IMPORTANT: Could not load SQLite driver for /grim history database.
Download the minecraft-sqlite-jdbc mod/plugin …, or change history.database.type
Alternatively set history.enabled=false to remove this message …
What's behind it: Grim is an anti-cheat plugin. With /grim history it shows earlier evaluations of a player and stores them in a SQLite database, a database in a single file. To open it, Grim needs a SQLite driver, a small add-on package for database access. This driver is missing, so the history database isn't available.
How to fix it:
- Under Plugins or Mods, install the dependency minecraft-sqlite-jdbc in the version that matches your Grim version.
- Alternatively, choose a different history database in the Grim configuration under
history.database.type. - If you don't need the history, turn it off: in the configuration this is the value
enabledin the sectionhistory; the message writes it ashistory.enabled=false. - Stop the server completely and start it again.
Good to know: The message appears at every start until you apply one of the three options.
LuckPerms can't update its database
What the message looks like:
[LuckPerms] Something went wrong whilst upgrading the LuckPerms database. Please report this on GitHub.
org.h2.jdbc.JdbcSQLSyntaxErrorException: Sequence "<Name>" already exists; SQL statement:
What's behind it: When the version changes, LuckPerms adapts the structure of its database to the new version. This step didn't complete successfully. The line right after it, usually an H2 or SQL message, names the step that failed. H2 is the database file that LuckPerms creates in the plugins/LuckPerms folder when you don't use your own MySQL database.
How to fix it:
- Stop the server and create a backup under Backups before you try again.
- Update LuckPerms to a current build that matches your server software and version.
- Don't delete or edit the database files by hand.
- If the error occurs again, restore the backup. After that, the official LuckPerms migration or LuckPerms support can help.
Good to know: While LuckPerms is still running, use lp export <File> to additionally save all permissions and groups to a file. lp import <File> reads them back in later.
In detail: Updating LuckPerms Safely: Platform, Backup and Permissions
A plugin's database folder is missing
What the message looks like:
java.sql.SQLException: path to 'plugins/<Plugin>/databases/<File>.db': '/home/container/plugins/<Plugin>/databases' does not exist
What's behind it: The plugin stores its data in a SQLite database, meaning a single file in the plugin folder. It can create the file itself, but not the folder for it. As long as this folder is missing, the plugin can't load or save anything, for example account balances, kits, or warps. This can happen, for instance, if a plugin folder was deleted or only partially uploaded.
How to fix it:
- In the message, read the folder after the colon, in the example
plugins/<Plugin>/databases. - Open Files and create exactly this folder. Pay attention to upper and lower case, as
Databasesanddatabasesare different folders. - Restart the server and check whether the message stops.
Good to know: /home/container is the top-level directory you see under Files. Leave this part of the path out when creating the folder.
A plugin sends SQLite commands that only MySQL understands
What the message looks like:
[SQLITE_ERROR] SQL error or missing database (near "<Word>": syntax error)
What's behind it: SQLite and MySQL speak almost, but not quite, the same database language. The plugin stores its data in SQLite but sends commands that only MySQL understands. This is a bug in the plugin, not in your files or settings. The affected features don't save anything. The word after near shows where SQLite failed to understand the command.
How to fix it:
- Update the plugin under Plugins to the latest version for your server version. The bug may already be fixed there.
- If the plugin offers MySQL as storage, create a database under Databases, provided your plan includes databases.
- In the plugin's configuration, switch the storage to MySQL, enter the credentials, and restart the server.
- If neither helps, report the bug to the plugin author and include the line from the log.
Good to know: When switching to MySQL, a plugin usually doesn't carry over existing SQLite data by itself, unless it offers its own function for that.
EzShops or Jaloquent can't reach their storage
What the message looks like:
[EzShops] Failed to initialise Jaloquent for player shops; falling back to YAML
com.github.ezframework.jaloquent.exception.StorageException: Failed to begin transaction
What's behind it: Jaloquent is the storage library through which EzShops keeps its player shops in a database. Here Jaloquent couldn't start a transaction, meaning a group of related write operations, or EzShops couldn't set up its Jaloquent storage in the first place. The actual cause is named by the error message directly after it. EzShops can partly fall back to YAML files, in which case the data ends up in files instead of the database.
How to fix it:
- In
logs/latest.log, read the error message directly below this line. It names the database or storage cause, such as "Access denied" or "Communications link failure". - Check whether your database add-on is running.
- Check the host, port, and credentials in the configuration of the affected plugin.
- If EzShops has fallen back to YAML, create a backup under Backups before you change anything. This preserves shops that were saved in YAML in the meantime.
- Restart the server.
PvPManager can't find its database folder
What the message looks like:
[PvPManager] Failed to batch update database
java.sql.SQLException: path to 'plugins/PvPManager/database.db': '<Path>' does not exist
What's behind it: PvPManager manages combat between players and stores its player data in the SQLite database plugins/PvPManager/database.db. However, the folder plugins/PvPManager is missing from the server's file system. As a result, PvPManager can neither open nor write to its database, and new data isn't saved.
How to fix it:
- Stop the server.
- Under Files, create the folder
plugins/PvPManagerand make sure the spelling is exact. Alternatively, cleanly reinstall PvPManager under Plugins. - Check the file permissions: create a test file in the new folder and delete it again.
- Check whether there is still enough free storage.
- Start the server and check whether the message stops.
Good to know: If the storage is full, Disk Full: Fixing "No space left on device" will help.
EssentialsX can't save its UUID cache
What the message looks like:
[Essentials] Error while saving Name->UUID cache
java.io.IOException: No such file or directory
What's behind it: EssentialsX remembers which player name belongs to which UUID, the permanent identifier of a Minecraft account. It writes this list as a cache, meaning a temporary store, into its data folder and first creates a temporary file for it. This fails because the folder plugins/Essentials is missing or not writable. If the folder is really missing, EssentialsX can't store its other data there either.
How to fix it:
- Open Files and check whether the folder
plugins/Essentialsexists. If not, create it. - Check whether it's writable: create a test file in it and delete it again.
- Update EssentialsX under Plugins to a version for your server version.
- Restart the server.
Good to know: If no file can be created in the folder, it probably doesn't belong to the user your server runs under. If you get stuck, open a ticket and include the time of the message.
FastAsyncWorldEdit: A history file is corrupted
What the message looks like:
Could not load block history file plugins/FastAsyncWorldEdit/history/<Folder>/<File>
An unexpected error while handling a FastAsyncWorldEdit command
java.io.EOFException: Stream ended prematurely
What's behind it: FastAsyncWorldEdit, or FAWE for short, saves a history file for building actions so you can undo them with //undo. One of these files is incomplete, usually because the server was stopped while FAWE was still writing. Exactly this //undo is then not possible. Your world itself is not affected, and the server keeps running normally.
How to fix it:
- Usually nothing is needed. The message only affects this one history step.
- If it keeps recurring, stop the server.
- Under Files, delete the folder named in the message under
plugins/FastAsyncWorldEdit/history. - Start the server again.
Good to know: After deleting, the actions from this folder can no longer be undone. More on //undo: WorldEdit: Building and Undoing.
WorldEdit: The saved clipboard can't be loaded
What the message looks like:
Error loading clipboard from disk
… Size exceeds Integer.MAX_VALUE
What's behind it: FAWE can store a player's clipboard on the disk. The saved clipboard couldn't be loaded: either it's too large, in which case "Size exceeds Integer.MAX_VALUE" appears in the message, or it's corrupted. The player has to copy their selection again. The world and server are not affected.
How to fix it:
- Stop the server.
- Under Files, open the folder
plugins/FastAsyncWorldEdit/clipboard. - Delete the affected player's file. Its name usually contains their UUID, the permanent identifier of their Minecraft account.
- Start the server again and have the player copy the selection again.
Good to know: You're better off saving very large copies as a schematic, meaning a dedicated blueprint file, for example with //schem save <Name>. You can load it back into the clipboard when needed with //schem load <Name>.
WorldEdit: A schematic contains an entity without a position
What the message looks like:
Failed to load a saved clipboard
java.io.IOException: Missing position for entity <Entity>
What's behind it: Entities are everything in the world that isn't a block, such as animals, armor stands, or item frames. The saved schematic, meaning the blueprint file, contains an entity that is missing its position data. As a result, WorldEdit can't load the schematic completely. Your world is not affected; only this one schematic can't be pasted cleanly.
How to fix it:
- If the structure still stands in a world, select it again with WorldEdit and copy it with
//copywithout the-eoption. This leaves entities out. - Save the new copy with
//schem save <Name>under a new name and use this file from now on. - If you only have the file left, open it in a schematic editor and remove the corrupted entity.
- Then load the schematic with
//schem load <Name>and check whether the message stops.
Good to know: If you don't need animals or item frames in the structure, saving without entities is the fastest way.
A cache folder is missing
What the message looks like:
java.nio.file.NoSuchFileException: /home/container/.cache/<File>
What's behind it: A mod or a launcher, meaning a startup program, wanted to store files in the .cache folder in your server's top-level directory. However, this folder doesn't exist. This typically happens after a reinstall or when the folder was deleted during cleanup. Usually it resolves itself, because the next start recreates the folder.
How to fix it:
- Restart the server once. In most cases the message is gone afterwards.
- If it persists, open Files and create a test folder in the top-level directory. If that doesn't work, the directory isn't writable.
- Check whether there is still enough storage space free. Full storage also prevents folders from being created.
- If you get stuck, open a ticket and include the time of the message.
Good to know: If the storage is full, Disk Full: Fixing "No space left on device" will help.
Home plugin cannot save a teleport location
What the message looks like:
Failed to create home for player <Player-ID> in the database.
What's behind it: A home is a saved teleport location. The responsible plugin tries to create a new record in its database and fails. The new home entry is not saved; the server keeps running. Nearby error messages usually provide the specific database cause.
How to fix it:
- Open the lines immediately before and after the message in the Console or read
logs/latest.logunder Files. Look for the plugin name and the associated database error. - Check that plugin's storage configuration. If it uses an external database, compare the address, database name, and credentials with Databases.
- Back up the existing database before changing its settings or tables. Then fix the specific error using the plugin documentation.
- Try creating the home again. If the error persists, report it to the author with the complete trace and the time it occurred.
Good to know: Deleting the database also removes homes that were saved successfully.
Your message isn't listed?
Read the entire message in logs/latest.log, including the lines before and after it. For database errors, the actual cause is often in a line containing "Caused by". The name in square brackets and the folder names in the stack trace, meaning the at … lines below the message, reveal which plugin is affected, for example me/lucko/luckperms for LuckPerms. Then check your credentials, folders, and free storage. Create a backup before making any changes. If you get stuck, open a ticket and include the time of the message.