-
Notifications
You must be signed in to change notification settings - Fork 59
Troubleshooting
This is a comprehensive troubleshooting guide designed specifically for this plugin, although most of it involves basics of troubleshooting for any software.
You don't need to do all the steps below, but reading it definitely adds to your "general knowledge" as a server owner and can be extremely useful.
You can report bugs in the Spigot's Discussions, joining the Discord server, or open and issue on GitHub.
Before reporting bugs, let's make sure about a few things.
- You're using Java 8 or 11 (16 for 1.17+). Any Java version above Java 8 should work, but not necessarily.
- Make sure you're not in Admin Mode or have permissions (or op) that can bypass specific limits.
- You're using the latest server version of that minor update. For example, the plugin doesn't support
1.14
,1.14.1
,1.14.2
and1.14.3
It only supports1.14.4
which is the latest (patch) version of 1.14 minor version. - Make sure you're using the latest dev-build Dev-builds are accessible in the discord server. The version on the Spigot is the latest dev-build most of the times.
- You're using Spigot or Paper. Other forks might cause issues.
- Check if other plugins are causing this issue (plugin conflicts). Read compatibility section for info on what's supported and what isn't. Specially if you're using server mods, which are not supported.
- Check if your issue is related to a broken/outdated config file.
- Some corrupted data errors automatically fix themselves after occurring once. They usually come with a message before the error. These issues can only be caused by manually modifying data files, force stopping the server or server crashes.
- Due to the nature of compilers design system, some plugin errors are actually made for server owners to understand them. Make sure to actually read the error message first. The useful messages are typically the first 2 messages in the whole error.
- Explain your issue, don't just leave the error unless you're sure that it's self-explanatory.
- Make sure to include the whole error, DO NOT cut the error. Some errors also have a message before them, make sure to include those as well when reporting. If you're not 100% sure, just paste the whole log file.
- When sending errors use Pastebin (or any other pasting service). Don't send screenshots or files (unless the file is too huge or a video) or other pasting websites.
- Specify your server version and build. In most cases this is already in the error. It's not really necessary. (You can get that in /ver command)
- If something is not working without a console error, the reproduction steps from scratch are needed, not when it happens all of the sudden. I cannot help you if you don't provide reproduction steps.
If you're experiencing lag in your server, you need to get a timings report. I do not accept Spigot timings as it's not really helpful. Using Paper timings is a better way.
Now, to start timings, you have to turn it on by using /timings on
command, then you'll have to wait at least 10 minutes for it to gather accurate information. Once the 10 minutes is done, get a report using /timings paste
command. Now you'll get a link. Report that link to the developer.
During the time you wait for timings to gather information, the best thing you can do and you should do is to continue doing what you might suspect to be the source of the lag. For example, if you're experiencing server lag when someone breaks a structure block, then keep placing and breaking structure blocks during that time.
Note that the only part of the plugin that is known to be laggy is turrets. The rest of the plugin is completely optimized using the latest techniques (unless it's a bug) If you increased your turret limit per land or changed their settings in Turrets folder unreasonably, I cannot help.
Also, FPS drops or high pings are not related to most plugins (at least not this one.)
Most errors are straight-forward for many developers, but sometimes you might be asked to provide reproduction steps in order for a developer to help you. What this term means is that the developer of the plugin cannot make the error happen (reproduce) on their machine (usually a clean paper server install with the latest version of the plugin and server software with no other plugin installed unless specifically related to the error), so you have to give them reproduction steps which is short way of saying, "What do I (the developer) need to do to make this error happen?". Without this it's almost impossible for me to fix certain errors, because it can depend on various things such as your server software, version, conflicting plugins, configs, data and even OS.
You need to explain reproduction steps in detail. Specially when it involves other plugins. I as Minecraft plugin dev, have a basic general knowledge about most other popular plugins, but I can't remember all the details and I need to be sure.
For example if you tell me:
This happens when I right-clicked the item and my Nexus GUI opened.
Ignoring what "this" refers to, the first issue here is that the context is missing a lot. What item did you right click exactly? How did this item have the ability to open the nexus GUI?
After rewording it a little, the reporter now says:
I'm using ChestCommands to open the nexus GUI.
But the question still remains. How can the item actually open the nexus GUI? Well, in this case, it's very obvious from the plugin's name. Any moron can guess that it opens "chests" (GUIs) with "commands" and the command that can open Nexus GUI remotely is /k nexus open, but developers don't like this kind of guessing game or start reading the entire plugin's description/wiki just to find this little piece of information. So, a complete useful sentence will be:
I use ChestCommands plugin which allows me to bind /k nexus open command to a certain item and it executes that command when I right-click that item. When I right-click that item and it opens my Nexus GUI, this happens.
Not all reproduction steps are useful. I need steps that actually contribute to the issue. For example if you tell me:
/k nexus command doesn't open any GUI after dying, re-spawning and going to the server's spawn
and the actual issue is:
/k nexus command doesn't open any GUI after dying and re-spawning
the fact that "you went to the server's spawn" doesn't change anything. The issue still occurs if you don't go there, thus that doesn't contribute to the reproduction steps and is a waste of time for both people who reported it and people testing it.
This also includes situations when the developer asks you about a specific thing and only want an answer related to that specific thing. Having additional information isn't necessarily going to annoy the developer, it's just that it might be a waste of time, specially for you. This mostly happens with yes-no questions.
Terminology - Spigot - Discord