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.
@kemmeo
Thanks for the tip, I left a comment over there. Hopefully he'll have an answer for this very frustrating problem.
@bigscary
Hey BigScary, just tested Build 4.1 on the latest patch of Spigot 1.7.10/1.8. Unfortunately I still fall through the world at first join, I spawn under bedrock level and just fall. I let the region be generated before testing of course, so it can't be that.
The RandomLocation plugin has the same concept (tho very simplified) and its first-join works perfectly, maybe take a look at them or ask them how they went about it? Anyways, can't wait till this bug is fixed so I can start using PopulationDensity on my server! :)
@technowix
Still on the todo list. You can't reasonably expect me to do everything in one update. :)
@bigscary
Huge :thumbs up: for looking into this problem!
Took another shot at fixing the "brand new players sometimes fall out of the world" problem.
My work-around this issue, was moving around the world spawn. Hopefully this is fixed now.
@bigscary
Looking good ! But (i can't try it now) can you change these error messages ? :'D That not i don't want to use your video, but all my server are french, eheh, and they don't speak any words of english :') what about localization so ? Thanks anyway for all your update ! :) and good life to your bearded-server :P
4.1 Updates
@SPellegrom
I think I fixed your problem in this latest build. Can't be certain, as I couldn't reproduce it - tell me if you still experience it. :)
@AdvanceGamingNextLvl
You're correct, I think the problem is due to the chunk not being loaded when the player logs in for the first time. I have a plan to fix the problem by force loading the chunk, then preventing it from being (automatically) unloaded.
Hi,
I'm getting the following error when one of my players is trying /newestregion. It's working fine for me and the other guys except him.
Logs: http://p.0xcafeba.be/qudukinala.profile
Thanks in advance :)
@bigscary
@AdvanceGamingNextLvl
I think the "spot" chunk can be preload, like a lot of TP plugin/etc, they load the position before tp the player just a idea !
@bigscary
I've seen this kind of bug happen in another plugin before. In the plugin 'NoSpawnChunks' when creating a new world and logging in for the first time you spawn at y0 and fall out of the world. I believe this happened because the plugin prevents the spawn chunks from being loaded, or generated on boot up. So when the player spawns in, the game checks for the highest block to spawn the player, but the terrain hasn't been generated yet so it puts them at y0.
Now how does this apply to your plugin? Well, a similar thing might be happening here. A player is place in a region that isn't generated (or at least at the post location isn't) so they are placed at y0. If this is whats happening then generating the chunk(s) the region post is located in before spawning the player might solve the issue. But at the same time I know the plugin checks regions for resources before spawning the player, which would require that part of the world to already be generated. So maybe this isn't the problem?
@technowix
I hate that bug so much. It's been around since the very first release, I've never been able to determine why that happens.
@bigscary
Right !
@technowix
You're talking about falling out of the world, right?
@bigscary
Ah, ok. When I was trying to use color codes in GP I was using '&' (aka something like '&6' for gold) as that is what most plugins that have configurable messages do. Thanks for clearing that up. :)
Yeah, sweet <3 ! thank bigscary ! EDIT : eheh, same problem, you spawn under the plot the first time ^^
Pretty awesome concept. I'd love to see faction support for this. (Doesn't make posts in bases), nor lets them claim near a post.
4.0 Updates
@AdvanceGamingNextLvl
I'm afraid you are incorrect about GP not supporting color codes in messages.yml:
It's just a matter of using the correct YAML syntax. Although I haven't tried it, probably a similar escape code would work for inserting new lines.
About region names, just procrastination on my part. I will add it to the todo list (I won't change existing region names, but I'll let you change the list used to name future regions).
About signs, yes, you'll get this via messages.yml for standard signs. The current config.yml covers the custom signs.
Customizable region post (materials) is doable.
Recently I started thinking about new features I'd like to see in this plugin. So I thought I'd make a post about it here. Though, A lot of the features I'm suggesting have sort of been confirmed. (your see what I mean) I've organized my list from the most important (top of the list), to the least important (bottom of the list).
messages.yml with Color Code Support:
I know you will be adding this in soon for the sake of localizability but I'm afraid your do what you did with GriefPrevention on this one. By that I mean add the ability to customize the messages but not allow us to use color codes. For me, this is a big one as I'd like to change the color of the messages (and sometime add prefixes) to fit in better with my servers chat. I also noticed that there are some multi-lined messages, in that case addition of \n (or is it /n?) for new line may be useful. So when you add this, please give us full customize ability! (also I'd much appreciate if GriefPrevention could get the same treatment sometime in the future)
Full Support for Custom Region Names:
It seems you kind of hinted that your be adding this for localizability but I'm not quite sure I'm correct on that. Anyways, it would be really nice if we were able to fully customize the region names. (such as add new ones, or remove old/default ones) Though, I know this has been suggested before and wasn't added. So maybe there's a reason for that?
Full sign customize ability with Color Code Support:
Yes, once again I know your be adding this for localizability. But please, go the extra mile for full customize ability. (every sign, and every line)
Customizable region post:
I know some people out there think the region post's looks ugly, and I can see where there coming from. So an option to choose which block you want the floor of the post to be and which block you want the post part of it to be can go a long way.
However, this got me thinking. Why not let servers owners create their own region post design and save it as a WorldEdit schematic. Though, when you think about it you have to deal with syncing up the signs, and have a configurable protection zone (in case the post design was higher or lager then the default post). Than I starting asking myself if this would be worth the time and trouble to code, and I would say no. I mean, I'd really love to have something like this, but I doubt you have the time to add something this complex.
Well that's it. Thanks for taking the time to read my long winded post, and thank you for creating and maintaining this plugin. :)
@cillic1052
As soon as I finish the player video to explain the plugin to new players. Probably this weekend or early next week. I've been working mostly on this, but GriefPrevention distracts me here and there and that has been slowing me down.
@technowix
Yes, also the text that appears on the signs will be localizable eventually. Next version won't have the localizability stuff. After I release the next version, I'll put up a todo list so you guys know what I'm working on and can give me feedback on features before they come out, and how they are prioritized.