Server Optimization - No-Not-Jaden/NotBounties GitHub Wiki
NotBounties has many features which could affect your server performance. This guide will show you which features will give you the best performance boost if they are disabled.
Finding The Source of The Lag
It's important to find out what is causing lag in order to fix it. Most server platforms (Spigot, Paper, Purpur, etc...) have a timings feature. This feature allows you to track the individual CPU usage for each plugin. If your server platform doesn't have a timings feature, you can use Spark
Getting a timings report
The commands may vary per server platform.
- Enable timings. Timings may be enabled by default, but sometimes they aren't. The common command is
/timings on
. If you are using spark, you can use/spark profiler start
- Wait. To generate an accurate report, you need to wait at least 5 minutes for data to be collected. The longer, the better.
- Generate a report. Once you experience lag, or have received a decent amount of traffic on your server, you can generate a report with
/timings report
or/spark profiler stop
. Some platforms may use the/timings paste
command. - View results. You'll see a link pop up in chat where you'll be able to view the results of the timings.
Reading the report
The first thing you'll see when you open the timings report is a graph with information like player count, tps, entities, chunks, etc. This can be used for finding the general problem, but if you really want to pinpoint the issue, you need to scroll down to the tick usage. Tab over to the plugins section. This will sort the tick usage per plugin. The plugins at the top will be using the most resources. If you are having trouble reading the report, you can ask for assistance in the Support Discord.
Reducing NotBounties' Lag
If you are having lag with NotBounties and none of these options are fixing it, send a message in the discord because it probably is a bug.
All of the mentioned configuration options can be found in the config.yml file.
Wanted Tags
Wanted tags show a tag above players with bounties above a certain threshold. This is one of the most lag-inducing features. Because of this, there is a "smart" feature that pauses the the updates of the wanted tags when the server is lagging, but that only works to prevent more lag. The easiest solution is to raise the minimum threshold (min-bounty
under wanted-tags
configuration). Less people will have the tags and you don't have to sacrifice their response times. Your other options are raising the text-update-interval
which controls how long before the plugin parses the text and checks for differences. The other option is raising the visibility-update-interval
which controls how long before the plugin checks if the player is sneaking, invisible, or vanished.
Increase min-bounty
, text-update-interval
, and visibility-update-interval
Bounty Posters
Bounty posters are custom maps of players with their bounties. Most of the performance comes from rendering the poster for the first time, but there is some optimization that can be done in the bounty-posters
configuration section that will increase performance after the posters were made. The first is increasing the update-interval
option which controls the time between when the posters are updated. If you have a lot of bounty posters around in item frames, this could help. The next options you could change are set to their best states by default. The always-update
option will update bounty posters every time they update instead of only when the bounty changes. The save-templates
option saves poster templates for each player to avoid re-rendering them every time a poster is created. This has the downside of not updating when a player's skin changes.
Increase update-interval
, set always-update
to false, and set save-templates
to true
Bounty Board
The bounty board is an admin feature which allows you to place a static board that shows the top bounties as bounty posters. This feature is also one of the most lag-inducing. Settings for bounty boards can be found in the bounty-board
configuration section. The first option you can change is the update-interval
which is how often the board is updated. This is measured in seconds. The next option you can change is the staggered-update
option which controls how many posters are updated every update interval. Decrease this to 1 or 2 to increase performance.
Increase update-interval
, decrease staggered-update
to 1 or 2
Other Lag Causes
Here are some other features that may produce lag, but aren't as intensive as the previous options:
- Time Immunity
- Auto Bounty Random Bounties & Timed Bounties
- Bounty Tracker