Population Density
Automatically places new players where they can find wood, animals, ore, and space to build. Also priority-based login queue, reserved slots for admins, idle boot ONLY when nearly full, entity thinning for lag reduction, and optional limited teleportation. Never again will your players experience a marathon run, spawn room full of portals, or maze of abandoned builds. This is a zero maintenance solution for administrators, and players don't need to learn any commands!
"This is THE plugin for large servers." – Mumblerit of muttsworldmine.com
Looking for a 1.12.2 or earlier-compatible version? Check here.
Got a question, suggestion, or problem? Post it on the issue tracker.
This video explains the region post system to new players.
See below for information on administrative features.
Feature Summary
- Assigns starting points for new players so that they can ALWAYS find space to build and beginner resources nearby. Players may be spawned directly there, or you can tell them about a slash command which will take them there.
- Respawns animals, regrows grass, and replants trees in the new player area to guarantee important new player resources.
- Removes idle players ONLY when the server is nearly full.
- Login queue to ensure fairness when your server is full, can prioritize some players over others if you like.
- Reserved slots for administrators.
- Optional teleportation posts which help players socialize and trade, but aren't abuse-able to escape combat or save a lost or hungry player.
- "Thins" extremely-dense crowds of monsters and animals, preventing ridiculous levels of farming or monster grinding from lagging your server.
Overview
Server owners often underestimate the badness in starting a player in a crowded area. Sure seeing builds makes your server look legitimate, but having to explore a long time just to find space to build and beginner resources is a major turn off for players who want to start playing right away. Even when players do find a place to start playing, they're often alone because other new players wandered into different areas.
PopulationDensity is the low-maintenance, easy-for-players answer to all these problems.
It works by automatically locating a region with lots of wood and ore, and then dropping new players in that region until they collect most of the easily accessible ore, cut down most of the trees, or crowd it with builds. Then PopulationDensity finds a new resource-wealthy region for future newbies and starts dropping new players there. If you have a great spawn area built up, you can instead spawn players there, and later tell them to use /HomeRegion when they're ready to start adventuring (or another command you define in commands.yml).
Additionally, optional teleportation commands help players move around quickly to admire builds and socialize while not compromising the game's integrity - players can only teleport from automatically-placed teleportation posts, so teleportation can't be used as an "easy-out" for players who mine or adventure themselves into trouble. That way, players keep the challenge of single player without the "players are too far apart" multiplayer issue.
Finally, if you have a "my server is always full" problem, then congratulations on your successful server! :) With PopulationDensity, you may optionally boot players who are idling so more players can log in and have fun, increasing your feel-good factor (or fattening your wallet, for some). when the server IS full, a login queue guarantees fairness, and administrative slots are set aside to guarantee administrators can always get in.
You can also assign players a queue priority to help them get on the server faster during peak times, to reward them for contributing to the server monetarily or through your community.
Setup, Configuration, and Commands documentation
Metrics: Like most other plugins this plugin collects anonymous metrics to see who's actually using this plugin, and this information is used to determine popularity as well as what features matter or not in the grand scheme of things.
Got a question, suggestion, or problem? Post it on the issue tracker.
@norsemines
Good to know. Maybe I'll try it again when I open a new map. Thanks.
@TheLecturer
Our server started up on 1.8 Bukkit in beginning of december 2014, and Population-Density was one of the first plugins (of the few we use) to get installed, and always without any problems. It seems weird to me it could even cause this kind of problem. At first our server was even on a puny MiniITX fanless computer with 4gb ram. Perhaps it could be worth a try to downgrade to a previous plugin version? (And perhaps check for dishonest admins with access to running simlag?)
I hope to see PopulationDensity revived one day. We really liked this plugin but unfortunately have had to remove it since upgrading to 1.8 as it turned out (after much trial and error) to be the cause in intense lag (TPS dropping to <10 for 3 to 4 hours duration). Since removing over a week ago we have not had TPS drop below 18 on a single occasion.
I'm not making this post to be snide or critical - I am very grateful for the 12-18 months where we've been using PD very succesfully. Just wanting to make you aware of the situation, in case you weren't already.
FYI, the map in question was generated with Minecraft 1.7. We switched from the WorldBorder plugin (round border) to the native border system (square) meaning we have had new chunks being generated in the new corners which will be 1.8 chunks, plus ocean temples starting to appear all over the map. Don't know if these factors could be throwing PD's chunk scanning system, just thought I'd mention it.
where do i turn this off - don/t want it to control my monster grinders or kick player.
[00:39:48] [Server thread/INFO]: PopDensity: TPS: 18.350588 of 20. Underperforming for 1 minutes. Now booting idle players. Temporarily disabled monster grinders. [00:41:52] [Server thread/INFO]: PopDensity: TPS: 19.994335 of 20. Underperforming for 0 minutes. Allowing players to idle while there are slots open. Re-enabled monster grinders. [00:59:07] [Server thread/INFO]: PopDensity: TPS: 18.863773 of 20. Underperforming for 1 minutes. Now booting idle players. Temporarily disabled monster grinders. [01:00:09] [Server thread/INFO]: PopDensity: TPS: 19.09642 of 20. Underperforming for 0 minutes. Allowing players to idle while there are slots open. Re-enabled monster grinders. [01:24:18] [Server thread/INFO]: PopDensity: TPS: 18.933716 of 20. Underperforming for 1 minutes. Now booting idle players. Temporarily disabled monster grinders. [01:26:22] [Server thread/INFO]: PopDensity: TPS: 19.992004 of 20. Underperforming for 0 minutes. Allowing players to idle while there are slots open. Re-enabled monster grinders. [01:28:26] [Server thread/INFO]: PopDensity: TPS: 18.870298 of 20. Underperforming for 1 minutes. Now booting idle players. Temporarily disabled monster grinders. [01:30:30] [Server thread/INFO]: PopDensity: TPS: 20.0 of 20. Underperforming for 0 minutes. Allowing players to idle while there are slots open. Re-enabled monster grinders. [01:37:33] [Server thread/INFO]: PopDensity: TPS: 18.990948 of 20. Underperforming for 1 minutes. Now booting idle players. Temporarily disabled monster grinders. [01:39:40] [Server thread/INFO]: PopDensity: TPS: 19.358274 of 20. Underperforming for 0 minutes. Allowing players to idle while there are slots open. Re-enabled monster grinders. [02:19:49] [Server thread/INFO]: PopDensity: TPS: 18.905378 of 20. Underperforming for 1 minutes. Now booting idle players. Temporarily disabled monster grinders. [02:20:49] [Server thread/INFO]: PopDensity: TPS: 19.999 of 20. Underperforming for 0 minutes. Allowing players to idle while there are slots open. Re-enabled monster grinders. [03:01:59] [Server thread/INFO]: PopDensity: TPS: 18.95076 of 20. Underperforming for 1 minutes. Now booting idle players. Temporarily disabled monster grinders. [03:02:59] [Server thread/INFO]: PopDensity: TPS: 19.992004 of 20. Underperforming for 0 minutes. Allowing players to idle while there are slots open. Re-enabled monster grinders. [03:20:09] [Server thread/INFO]: PopDensity: TPS: 18.15184 of 20. Underperforming for 1 minutes. Now booting idle players. Temporarily disabled monster grinders.
Ugh... Suddenly the TPS dropped to 6. I recorded some timings and populationdensity seems to be a huge one here: http://timings.aikar.co/?url=10846354
Can you do something about this? :/
Edit: Just disabled populationdensity with plugman. The TPS went to 19.81 instantly.
Just updated to latest build of Spigot 1.8.3 (as of April 15) and PopulationDensity 4.9.2 Getting huge amounts of errors in the server log
This then repeats over and over - the spigot log file is 28mb so far today (running about 11 hours). Thanks.
@bigscary
I have it enabled, but as you can see there are not many entities active at all, so I don't really know what's causing so much lagg.
4.9.2 Updates
@dutchrastacraft
I'm surprised the new entity thinning code in PD isn't solving it for you. Do you have it turned off in the config?
@bigscary
I've already done everything that's possible to tweak those entities but I still have the problem. I don't think I'll ever find my main problem :(
@dutchrastacraft
Yep I saw that - but in your case, even completely removing both plugins wouldn't solve your lag problem. What's this "drcyeuleu" thing that's wrecking your performance? Seems you have the classic "too many entities" problem. You might try adjusting your entity activation range settings in the spigot config file.
@beerbubble
No, there's only one managed world (with regions and posts and such). The other worlds would be untouched by this plugin.
@dawm
No, there's no code anywhere to specifically remove the posts. Your players will probably take them down as they find them to get the glowstone dust anyway. :)
Had to many issues with this plugin (not the plugins more so it conflicting with what my players are used to on our old server), but sadly we used it on the server for a week or so. Is there a companion plugin to remove all the region posts? Ive been attempting to go thru manually removing them but.. its a real pain in the butt.
Is this configurable for multiple worlds on the same server? If so, what would that look like in the config file?
@bigscary
Hahaha thanks :P I've had nothing to do until I noticed my server was starting to lagg :D
EDIT: Btw it seems like griefprevention is doing some stuff aswel :d
Thanks for the bug reports guys. :)
Also dutch, you're the man - I love me some performance metrics! I'll see what I can do.
Any performance fixes for me?
http://timings.aikar.co/?url=10654718
I was messing around a bit when I got Population Density to spit out this stack trace: http://pastebin.com/ZujcxCVm
Steps to reproduce:
• Op yourself.
• Go to an unmanaged world (for this example, world_nether.)
• Once there use /visit to teleport to a named region.
• You will be teleported, but you're also be sent a message that an internal error has occurred.
• Check console and your see the same stack trace I gave you.
Notes:
• Error does not occur when using /visit to a region that is at or near the world’s spawn point.
• Tested and confirmed that /homeregion does not produce any errors. Only /visit seems to have the problem.
• My city world is set the same as my managed world. (i.e. ‘world’) Don’t know if this could have a part in the error or not but thought I should include it.
• Using version 4.9.1.
Also.... a little problem :p http://pastebin.com/EGjBCj5E when a player die.
@bigscary
Now time to add region renaming èoé ! (jk, you don't have to, but that would be cool <3 !)
4.9.1 Updates
@dawm
Are you in creative mode? It works in survival mode.
@norsemines
Yes that's already on my todo list. :)
There's already a dynmap extension plugin for PopulationDensity.
@technowix
You're welcome!
@ursak
Yes, just set new players spawn in home region to false. Then they'll go the world spawn in your default world, same as Vanilla.
Is it possible to setup the config to somehow _not_ teleport players on start? Can't find how to do it in that case. I would like to only tp them by command so that everyone can start from the same place.