7

My brother in law is running a small server for a few of us to play on. He recently installed Spigot so that we could have a Dynamic Map. However, after he did that, I noticed that spawning behavior (among other things) has changed. I have two questions:

  1. Why does Spigot default to changing spawning behavior? Why not leave it vanilla and have the option to change?

  2. What are the best settings in the bukkit.yml file that will most closely mimic vanilla spawning? He and I have worked on it, and we've gotten hostile spawns close to normal - they're still a bit high, but better than before when they were maxing out at about 30. Passive mobs, however, are spawning in huge numbers compared to normal - I feel like I'm playing Beta where you can spawn passives just by lighting up grass at night!

2 Answers 2

8

The first thing to remember is that Spigot's entire reason for existence is to increase the normal server performance. With this being the main intent server managers would have when installing Spigot the default settings are set to a base "improved" performance level.

To bring your server back to "vanilla like" mob spawning you need to adjust two files.

  1. In your spigot.yml file (in your server root directory) you should check to ensure that the mob-spawn-range is set to 4 (chunks).

    mob-spawn-range: 4

    You can disable experience orb and item grouping by setting the merge-radius to zero.

    merge-radius: exp: 0 item: 0

    At the bottom of this file you can adjust most of these settings on a per world basis. If you want all worlds to use the same setting you can just remove the entire separate world groupings and just leave the default grouping.

  2. In your bukkit.yml file (in your server root directory) you need to ensure that the spawn-limits for each type are set as follows:

    spawn-limits: monsters: 70 animals: 10 ambient: 15 water-animals: 5

    Also within this file you will want to check your ticks-per setting to make sure it is set to 1 for hostiles and 400 for animals (all others).

    ticks-per: animal-spawns: 400 monster-spawns: 1

4
  • Thanks for this answer, I haven't had a chance to try it but will check back when I do.
    – Johonn
    Commented Jul 14, 2014 at 3:43
  • 1
    Ok tried those settings, and as I suspected (and experienced before we started to tweak the settings), the mob cap seems to be limited to about 25-30, instead of 70-80. This is pretty much unacceptable as it makes mob farms much less efficient.
    – Johonn
    Commented Jul 15, 2014 at 16:07
  • You do not have other players spawning/breeding animals in the area? If you do then no matter how high you set the settings it will have a direct impact on the overall total mobs that spawn. Commented Jul 16, 2014 at 20:09
  • No other players are online. I'm checking the spawning at an Enderman farm 300 blocks from any land in the end, and the only spawning spots are in the farm itself, which goes from Y=0 to Y=128
    – Johonn
    Commented Jul 16, 2014 at 20:13
3

Johonn, that number is a variable used in the formula to decide how many mobs can spawn.

The formula is:

value * chunk_count / 256.

  • value is the spawn limit number from the bukkit.yml
  • chunk_count is the number of chunks currently loaded across all worlds

Another piece of information to know is that, by default on a SMP server, there is a 10 x 10 chunk square loaded around each player (you can modify this by changing the view distance in the spigot.yml or, if you're not running spigot, in the server.properties file).

So, with all of this in mind:
If you're alone on the server and in The End (If you're in the Overworld, spawn chunks would also be loaded but they're not since you're in The End.) that means there are 100 chunks loaded. So, plug that in to the formula along with the 70 from the bukkit.yml file and you get:

70 * 100 / 256

which equals, drum roll please....

27.34375

That number look familiar? Bump your spawn limit up to about 250 and you'll get ~70 mobs all by your lonesome. :)

Edit: One last edit, as I was playing around with this on my own Spigot server. Given the case of an Enderman farm in The End, you can also increase gains by increasing the view distance for the server. Instead of 10, you can make it 12, or even max it at 15. This has pretty significant gains on spawn count for minimal impact considering you're in The End where there's basically nothing to render. You will be able to see back to the main island, but only faintly and it's still too far away for mobs to spawn.

Considering a monster limit of 70 and a view distance of 10 will get you ~27 Endermen, changing the view distance to 12 will get you 70 * 144 / 256, or ~39 Endermen. Maxing the view distance at 15 will get you 70 * 225 / 256, or ~61 Endermen.

Of course, if you have a lot of people on your server, this can significantly drag down performance because of all the chunk loading it has to do (unless everyone is close together and it can load the same chunks for everyone).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.