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.

  1. 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
  2. Wait. To generate an accurate report, you need to wait at least 5 minutes for data to be collected. The longer, the better.
  3. 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.
  4. 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

Related Pages