Skip to main content

Troubleshooting: Binary Search

A common problem that server owners encounter is that they have a bug on their server that is not caused by the server JAR or any of its configurations, server settings, and other external factors. When you are certain that it is a plugin causing the issue but not sure which among your plugins are causing the issue, one of the best things to do is conduct a binary search.


While it is technically possible to use plugins such as ServerUtils to unload and load the plugins, doing so is unreliable and is very likely to break something.

Step 0

First, you need to be 100% sure that this bug is not caused by the server JAR you are using. If you are using forks of Paper such as Purpur or Airplane, switch back to Paper first or check if you set something in the JAR configuration that you did not mean to. Also check if it is not an issue with your startup flags, database details, ports and proxies, etc.

Step 1

Remove half of your plugins. To do this, select the plugins and move them outside of the /plugins folder. After this, reboot your server.

Step 2

If the bug is not fixed after that, now you know that the bug is among the plugins that are left. If the bug was fixed, you know that the bug is among the plugins that you removed. If you still cannot determine which plugin is the culprit after narrowing it down, remove half of the group of plugins again.

Step 3

Rinse and repeat. After you have finally found the culprit, you can fix the bug and then bring back all the plugins to your server.