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

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.


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.

Official Servers

You can experience this plugin for yourself (as a player) by joining this public server. :) I maintain this server personally, which helps me catch bugs and spot opportunities for new features and improvements. Have fun!

Setup and Configuration

Command Reference

More Great Plugins!

My plugins solve Vanilla problems in ways which minimize impact on servers, administrators, and players, so everybody can enjoy Minecraft without having to learn to play the game in a new way or spend more time administrating than playing. My goals are effectiveness, simplicity, and efficiency. If you like this plugin, check out more of my work:

  • Grief Prevention
    • Prevents ALL types of grief, cheaply.
    • Easy for players and admins, mostly automatic.
    • Players claim land to prevent theft and house wrecking.
    • Automatically warn, mute, and kick or ban spammers.
    • Blocks dumping lava and setting fire on another player in non-PvP servers.
    • Disable fire damage, spread, or both.
    • Wipe away ugly builds with a right-click - no database required!
    • Automatically prevents spawn camping in PvP servers.
    • Prevent damage to the surface by limiting lava and water placement, and TnT damage.
    • Automatically clean up hanging tree tops.
    • Includes a creative mode for creative worlds.
    • Optional siege mode for build-based PvP.
  • Anti-XRay
    • Limits how quickly players can mine valuables, based on their play time / values mined ratio.
    • Keeps your valuables in the ground, so non-cheating players can find them (unlike ore loggers).
    • Practically free to run, unlike the tremendously expensive Orebfuscator.
    • Most legit players won't notice, but xrayers will ragequit and move on.


You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of AdvanceGamingNextLvl AdvanceGamingNextLvl Oct 31, 2014 at 11:45 UTC - 0 likes

    @bigscary: Go

    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?

    Last edited Oct 31, 2014 by AdvanceGamingNextLvl


  • Avatar of bigscary bigscary Oct 31, 2014 at 02:39 UTC - 0 likes

    @technowix: Go

    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.

  • Avatar of technowix technowix Oct 30, 2014 at 19:16 UTC - 0 likes

    @bigscary: Go

    Right !

  • Avatar of bigscary bigscary Oct 30, 2014 at 19:01 UTC - 0 likes

    @technowix: Go

    You're talking about falling out of the world, right?

  • Avatar of AdvanceGamingNextLvl AdvanceGamingNextLvl Oct 30, 2014 at 13:54 UTC - 0 likes

    @bigscary: Go

    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. :)

  • Avatar of technowix technowix Oct 30, 2014 at 12:11 UTC - 0 likes

    Yeah, sweet <3 ! thank bigscary ! EDIT : eheh, same problem, you spawn under the plot the first time ^^

    Last edited Oct 30, 2014 by technowix
  • Avatar of Ivanna79 Ivanna79 Oct 30, 2014 at 06:38 UTC - 0 likes

    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.

  • Avatar of bigscary bigscary Oct 29, 2014 at 21:36 UTC - 1 like

    4.0 Updates

    • Redesigned some commands, and added aliases to make them easier to remember.
    • /VisitRegion is shortened to /Visit, and can be used with an online player's name.
    • /InviteToRegion is now /Invite, and /AcceptRegionInvite has been replaced with /Visit <player>.
    • /RandomRegion removed. Nobody was ever very happy with it, and all the suggestions for making it better involved creating ongoing work for administrators (which is backward because this plugin is designed to be low-maintenance), like manually maintaining a list of "suitable" regions for /randomregion to take players to.
    • /NewestRegion isn't advertised to players anymore. Some admins didn't like established players "raiding" the new player area, and outside of that it's mostly used by admins anyway.
    • Added aliases for common commands which can be roughly mapped to PopulationDensity commands, like
    • /tpa (/visit)
    • /sethome and /home (/sethomeregion and /homeregion)
    • /spawn (/spawnregion).
    • If you have conflicts, you can resolve them using your commands.yml file (see Bukkit wiki). This change makes the transition to your server from another easier for new players.
    • Reworked the text on signs to give new players hints about how the system works. For example, "You are in Redstone" is now "Redstone Region".
    • Replaced the text-crowded command-teaching signs with punchable signs. These give the player a link to a video which does a MUCH better job of not only educating players about the commands, but also answering the most common new player questions (so admins and other players don't have to answer them over and over and over again).
  • Avatar of bigscary bigscary Oct 29, 2014 at 21:15 UTC - 0 likes

    @AdvanceGamingNextLvl: Go

    I'm afraid you are incorrect about GP not supporting color codes in messages.yml:

        Text: "\xa75Now ignoring claims."

    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.

  • Avatar of AdvanceGamingNextLvl AdvanceGamingNextLvl Oct 27, 2014 at 14:51 UTC - 0 likes

    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. :)

    Last edited Oct 27, 2014 by AdvanceGamingNextLvl


Date created
Nov 16, 2011
Last update
Oct 29, 2014
Development stage
  • enUS
GNU General Public License version 3 (GPLv3)
Curse link
Population Density
Recent files