Support field guide

Fix it.
Keep playing.

A practical guide for server owners and players. Find the symptom, check the likely cause and follow the fix before asking the community for help.

English

Open a topic to see the symptom, the most likely cause and a step-by-step fix. If the issue remains, use the support checklist at the bottom.

▣

Installation & startup

BasicStats does not appear in /plugins

Symptom: The console lists only the hoster's helper plugin or the server does not recognize the JAR.

Likely cause: The file is in the wrong folder, the server was not fully stopped before upload, the filename ends in .jar.jar, or another BasicStats JAR is still installed.

Fix: Stop the server completely. Upload exactly one BasicStats-*.jar directly into the server's plugins/ folder, not into a subfolder. Check the filename and remove older BasicStats copies. Start the server again and run /plugins. If it still does not load, send the first BasicStats error from the console to Discord.

The plugin is red in /plugins or fails during startup

Likely cause: An unsupported Java/server combination, a damaged download, or a dependency conflict.

Fix: Use Paper, Spigot or Purpur and Java 17 or newer. Download the current release from Modrinth ↗ rather than a partially downloaded file. Run /basicstats info and /basicstats debug. Do not install multiple copies of the plugin. Share the exact error and the versions, but remove tokens and private paths first.

The server starts, but the plugin says it needs setup

Why: BasicStats intentionally does not guess every server preference on first startup.

Fix: An operator should run /basicstats setup and complete the interactive wizard. It sets sensible defaults for language, displays, ranks and optional modules. You can reopen it later. If the reminder is shown to ordinary players, finish the setup with an operator account and restart or reload the plugin.

⚙

Messages, language & configuration

Missing message: ... appears in chat or a menu

Likely cause: A custom language file was copied from an older release and does not contain a newer key, or a key was moved manually.

Fix: Run /basicstats reload. BasicStats merges missing default keys without overwriting your existing values. If the error remains, stop the server and back up the plugins/basicstatsundso/ folder. Rename only the affected language file, start once to let BasicStats regenerate it, then copy your custom changes back carefully. Keep YAML indentation intact and never delete data.yml unless you intentionally want to remove saved statistics.

Some messages are in German and some are in English

Likely cause: The active language was changed, but an old customized message file still contains translated or hard-coded lines.

Fix: Check language: en or language: de in config.yml, then run /basicstats reload. Review the matching messages_*.yml file for custom lines. BasicStats can add missing defaults, but it cannot safely guess which custom wording you want to keep. Remove only obsolete custom keys, not the data file.

My configuration changes are not used

Fix: Confirm that you edited the live server's plugin folder, not a local project copy or an archive. Use valid YAML indentation and the correct key names from the generated config.yml. Run /basicstats reload; for values that affect the web server, port binding or startup services, perform a full restart. Check the console for an invalid-value warning. Keep a backup before editing.

▤

Dashboard & browser access

The browser shows Failed to fetch

What it means: The browser could not reach the dashboard URL. It is usually a network address, port, protocol or hoster restriction, not a statistics error.

Fix: Run /basicstats dashboard setup and choose local for the same PC or hosted [server-address] [port] when the hoster provides a web port. Enter the normal server address and the separate web port; do not type http:// into a Minecraft address field unless the command explicitly asks for a full URL. Make sure the hoster exposes the configured port and does not block outgoing browser access. Open the exact link printed by BasicStats. If the server is behind a hoster that does not expose an HTTP port, use the hosted dashboard or disable the dashboard and use the Explorer Push instead.

The dashboard says access setup is required

Fix: An operator with the dashboard permission must run /basicstats dashboard setup local on the server PC, or /basicstats dashboard setup hosted server.example 12345 with the hoster's web port. Then run /basicstats dashboard to receive a temporary link/token. Treat the token like a password: do not post it in screenshots, Discord or the browser URL history.

Settings save, but I am logged out or changes do not persist

Likely cause: The dashboard was opened with an expired or incomplete admin token, or the browser is using a stale page after a plugin update.

Fix: Close old dashboard tabs, run /basicstats dashboard again and open the new link. Use the dashboard's own save button and wait for its success state. Check that the hoster forwards the same configured address and port for every request. If the browser still loses access, verify the dashboard endpoint in /basicstats debug, clear only the BasicStats site data, and request help with the status code—not with the token itself.

I do not want a dashboard on my server

Fix: Set dashboard.enabled: false in config.yml and restart the server. The dashboard is optional and disabled by default on new installations. This does not disable normal in-game statistics, menus, ranks, backups or the optional Explorer Push unless you disable those separately.

✦

Ranks, displays & menus

My rank does not change or the rank seems too easy

Fix: Run /basicstats rank details to see the current points, factors and next threshold. Run /basicstats rank list to inspect every material stage and /basicstats top rank for the leaderboard. Rank updates are based on configured activity factors and can be affected by caps, cooldowns and death penalties. Check the rank section of config.yml, then run /basicstats reload. A reset or imported statistic can also change the next calculation.

The GUI shows a missing title, icon or empty page

Fix: Run /basicstats reload and reopen /basicstats menu. If the title is missing, check the matching language file for the menu keys. If a page is empty, verify that the server has data for that category and that the configured page size is valid. Do not use material names from a newer Minecraft version in a server that is older than the plugin's supported API baseline.

Red numbers appear on the right side of the sidebar

Why: Those are Minecraft's built-in scoreboard line scores. They are technical entries used to order lines and are not generated statistic values.

Fix: BasicStats can keep them hidden where the server implementation allows it, but some clients and scoreboard renderers display them. Try the configured sidebar layout or another display mode. This does not affect saved statistics.

Sidebar, actionbar, bossbar or tablist is not what I want

Fix: Use /basicstats settings to view personal display options, then /basicstats settings display sidebar|actionbar|bossbar|none and /basicstats settings layout. Server defaults and personal choices are separate. If another plugin also controls the tablist or scoreboard, disable one of the competing displays or adjust its priority.

☁

Explorer Push, privacy & hosters

The Explorer says “not linked”, “no snapshot” or shows old data

Fix: Enable explorer-push.enabled: true, set a public server address and restart. Run /basicstats explorer claim as an operator and open the one-time claim link. The server must be able to make outbound HTTPS connections. The default upload interval is limited to protect free hosting; fresh data can take a little while to arrive. Use /basicstats explorer status to check the pairing state, last status and next upload.

Explorer Push cannot pair on my hoster

Likely cause: The hoster blocks outbound plugin HTTPS requests, the public address is not the address players use, or the claim code was already consumed.

Fix: Confirm the server can reach https://basicstats-explorer.pages.dev and that the configured address includes the correct Minecraft port. Run /basicstats explorer status. If pairing was completed once, do not reuse the old claim code; generate a new one through the documented pairing flow. The Push mode needs no additional inbound port, but the hoster must allow outbound HTTPS for plugins.

A player's name is anonymous in the Explorer

Why: Public identity is consent-first. A player name is not published until the player explicitly accepts it.

Fix: The player can choose /basicstats explorer privacy yes or no, or reset the decision with /basicstats explorer privacy reset. The server administrator can separately disable names, heads or profiles in the Explorer configuration. Never publish UUIDs, private tokens, coordinates or chat content.

⚡

Integrations, data & performance

PlaceholderAPI placeholders show literally or stay empty

Fix: Install PlaceholderAPI in the same server's plugins/ folder and restart. Check /basicstats info for the detected status. Use the exact placeholder names from the current documentation and reload the plugin after changing the layout. A placeholder for a player who has no saved data can legitimately be empty or zero.

Discord webhooks do not send messages

Fix: Check that the webhook category is enabled and its URL is valid. The server must be allowed to make outbound HTTPS requests. Use the in-game webhook settings or dashboard admin settings, then save and run /basicstats debug. Do not paste the webhook URL into support chat; regenerate it in Discord if it was exposed. Rate limits and retry backoff can delay a message, so test with a single event rather than repeatedly triggering it.

Statistics, deaths or crafting values look wrong

Fix: First check whether you are viewing lifetime, daily or weekly values. BasicStats stores these periods separately. Run /basicstats stats, /basicstats daily and /basicstats weekly and compare the labels. Do not edit data.yml by hand. If a statistic was imported, reset or changed by another plugin, include the exact event sequence in your report.

The server lags after enabling many displays or integrations

Fix: Keep Explorer Push, Discord notifications and the dashboard optional. BasicStats caches rank and display values, batches safe storage writes and performs network requests asynchronously. Avoid setting extremely short intervals. Check the server timings/spark report, run /basicstats debug and temporarily disable one integration at a time to identify the source. Never move Bukkit API calls to custom async code.

Data is missing after an update or a corrupted file warning appears

Fix: Stop the server and make a complete copy of plugins/basicstatsundso/. Check the automatic backup folder and restore the newest known-good data backup only while the server is stopped. Start again and run /basicstats debug. Do not delete or overwrite data.yml before making a backup. If the warning continues, send the safe diagnostic output and the relevant console lines to Discord.

?

Still need help?

Join the BasicStats Community Discord ↗ for bug reports, feature requests and setup help.

Include the BasicStats version, Minecraft/server version, Java version, hoster, the command that failed, the exact error text and the output of /basicstats debug. Remove tokens, webhook URLs, IP addresses, passwords and private player data before posting screenshots or logs.