FERNODE

Fix the problems that actually happen.

Most plugin problems are version mismatches, duplicate JARs, a config typo or a server that was not restarted. Work from the log first, change one thing at a time, and keep the backup you made before the change.

Updated 5 November 2026 9 min read Support

Start with the log, not the plugin list

The server log tells you whether a plugin failed to load, which class was missing and which file caused the exception. Open logs/latest.log and search for the plugin name or for words such as Could not load, Unsupported, NoClassDefFoundError or Exception.

Read the first error, not the last one. Later lines are often consequences of the first failure. If the server will not start at all, the useful line is usually within the last screen of output before it exits.

Change one thing at a time. If you update Java, replace two plugins and edit a config in the same restart, you will not know which change fixed or caused the problem.

The plugin does not appear in /plugins

Check these in order:

  1. Wrong folder. The JAR must be directly inside the server's plugins/ folder, not in a subfolder and not in the server root.
  2. Nested archive. If you downloaded a ZIP, extract it. A ZIP placed in plugins/ is ignored.
  3. Duplicate versions. Two JARs of the same plugin can prevent one from enabling. Remove the older file.
  4. No restart. Plugins are loaded at startup. Copying a JAR into a running server does nothing until you restart.
  5. Java too old. These builds require Java 17 or newer. An older runtime can fail before the plugin registers.

Version and API errors

A plugin compiled for Minecraft 1.21.x will not run on a 1.20.x server. The console may report an unsupported API version, a missing class or a NoSuchMethodError. Check the compatibility table before changing configs:

PluginSupported Minecraft
UltraTreeFeller 1.1.01.21.x
AutoRefill 1.1.01.21.x
FerKunG Stacker 1.3.01.20.x – 1.21.x

If you run 1.20.x, use FerKunG Stacker and skip the other two until you upgrade the server. Do not edit api-version in plugin.yml to force a load; it may start but fail later with harder-to-diagnose errors.

The server crashes after installing a plugin

  1. Stop the server completely.
  2. Move the newest JAR out of plugins/.
  3. Start the server again.
  4. If it starts, the new plugin is the cause. Check its version and the log entry that names it.
  5. If it still fails, restore the plugins/ folder and world from your backup.

A crash on startup is usually easier to recover from than a corrupted world. That is why the install guide puts the backup before the file copy.

Advertisement Sponsored

Lag when someone fells a large tree

UltraTreeFeller removes logs in batches. A large tree, or several players felling at once, can briefly exceed what the server can process in a tick.

  • Lower blocks_per_tick from 20 to 10 or 5.
  • Lower max_logs_per_tree from 250 to 100.
  • Keep require_leaves: true so only natural trees are affected.
  • Disable particles or sound if the client effects are part of the stutter.

If the whole server freezes for several seconds, check whether the world is on a slow disk or whether another plugin is also reacting to block breaks. The log and a timing profiler will show more than guessing at config values.

Items are not stacking

FerKunG Stacker only merges items that are eligible under the current config:

  • stack-all: false means only items listed under items are stacked.
  • The item may be in blacklist.
  • preserve-custom-metadata: true keeps renamed, enchanted or lore-tagged items separate, even when the material matches.
  • The drops may be farther apart than stacking-radius.
  • Tools, armour and other unstackable items are never merged.

Test with plain, newly dropped items before changing the radius. Raising the radius to cover a large farm increases the scan area and can cost more than it saves.

AutoRefill does not refill the hand

  • Check enabled: true in plugins/AutoRefill/config.yml.
  • Check whether the item is listed under ignored-items.
  • Confirm the player has autorefill.use; it defaults to true, but a permissions plugin may override it.
  • Make sure there is another matching stack in the inventory. AutoRefill moves items; it does not create them.

After editing the config, run /autorefill reload or restart the server. If the command is not recognized, the plugin did not enable; go back to the log.

Players cannot connect

SymptomCheck
Works on the same PC but not from another deviceWindows Firewall, the PC's LAN IP and whether the server is bound to the right interface.
Works on LAN but not from the internetRouter port forward for TCP 25565, public IP and carrier-grade NAT.
Connection times outPort forward, ISP blocking and whether the server is actually listening.
“Failed to verify username”online-mode and the player's Microsoft account session.
“You are not whitelisted”Add the exact player name and run whitelist on.

Test locally first, then LAN, then the internet. If the local connection fails, port forwarding is not the problem yet.

Restoring a world backup

  1. Stop the server and confirm it has exited.
  2. Rename the current world folders instead of deleting them, for example world_broken.
  3. Copy the backup world folders back into the server directory.
  4. Start the server and check the console for chunk or region errors.
  5. Join and verify the spawn, inventory and recent builds before deleting the renamed copy.

Restore the matching plugins/ folder too if the backup was taken before a plugin change. A world from a newer Minecraft version may not open on an older server.

Asking for help without wasting time

When you open an issue on the FerNode repository, include:

  • Server platform and exact version, for example Paper 1.21.4 build number.
  • Plugin name and version.
  • Java version from java -version.
  • The first error from logs/latest.log, with any IP addresses or tokens removed.
  • What you changed immediately before the problem appeared.

That is usually enough to identify the cause without a back-and-forth. Never post your hosting password, console access or private server address.

OutOfMemoryError and heap size

java.lang.OutOfMemoryError: Java heap space means the server ran out of the memory it was allowed to use. It is not a signal to add a huge number and move on; it is a signal to find what is consuming memory.

Common causes, roughly in order of frequency:

  • Too little heap for the player count. Each player loads chunks and entity data.
  • View and simulation distance too high. Chunks stay loaded longer and cost more memory.
  • Entity or item buildup. Large farms, dropped items and mob piles grow without a cleanup.
  • A plugin leak. A plugin keeps references to players or worlds that should be gone.
  • A very large world with many loaded chunks.

Raise -Xmx only after leaving room for the operating system. On an 8 GB machine, a 6 GB heap leaves little for Windows and can make things worse through swapping. Then reduce view distance and check for entity buildup before raising it again.

Restarting hides the symptom. If memory climbs until the server dies every few hours, a bigger heap only delays the crash. Take a heap dump or use a profiler and find the object that keeps growing.

Port already in use

java.net.BindException: Address already in use means another process is listening on the same port. Usually it is a second copy of the server that did not fully shut down, or two servers configured for 25565.

On Windows, find the process holding the port:

netstat -ano | findstr :25565

The last column is the process ID. Check it in Task Manager before ending it. If you intentionally run two servers, give the second one a different server-port and forward that port instead.

On a hosted server, a bind error can also mean the port is reserved by the panel. Use the port the host assigned rather than changing it yourself.

Corrupt chunks and region files

Signs of chunk corruption include players falling through the world, a region that will not load, or log lines such as Chunk file at ... is missing or Region file ... is truncated.

Common causes:

  • The server was killed or lost power while writing chunks.
  • The world was copied while the server was still running.
  • sync-chunk-writes was disabled to improve performance.
  • The disk is failing or full.

Restoring the affected world folder from a backup is the reliable fix. Deleting a region file makes the server regenerate that area, which removes both the corruption and every build inside it. Only do that if you accept the loss and have a backup of the rest.

Prevent the next one: stop the server cleanly, keep sync-chunk-writes on unless you understand the trade-off, and never copy a live world.

When two plugins disagree

Two plugins can listen to the same event: a block break, an inventory click or a player join. One may cancel the event or change the result, and the other may act on the result before or after it. The symptom is usually a feature that works alone but stops working when another plugin is installed.

Common examples:

  • A region-protection plugin cancels block breaks, so tree felling appears to do nothing in protected areas.
  • Two stacking plugins both try to merge drops, producing odd counts or duplicate items.
  • An anti-cheat plugin flags fast inventory moves from an automatic refill.
  • Two plugins register the same command name, so only one of them responds.

To confirm a conflict, stop the server, remove one of the two plugins and reproduce the behaviour. If the feature works, the problem is the interaction, not the config. Then read both plugins' documentation for a world or region exclusion, and configure one of them to stay out of the other's way rather than disabling a feature you need.