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.
Still in the snow, but I have a bug to fix here, so when I get internet back at home, it's a good time to make some of the adjustments you're both asking for.
I'll add a config variable to spread players farther apart, or compact them closer together. It will be a floating point value, where 1.0 is the current setting. Higher means compact closer, lower means spread more apart. Will this serve your purpose for the PvP server scenario?
Moving the spiral itself won't actually solve your "it puts people in non-wilderness areas" problem, because the current version of the plugin will allow even an initially wilderness region to become more crowded than you like (i guess, based on your commentary thus far). However the option to increase or reduce population density ratio on your server will solve your problem, because the spiral will close regions more quickly, allowing for less crowding and skipping those already-built regions you have from pre-population-density building.
It's only spam if it's redundant. The login message tells you a plyaer logged in. The "arrived" message tells you that the new player is actually close to you. Similarly for leaving. Since you're clearly passionate about this, I'll add a config option to disable those messages as well.
@po5
I used this on a server that was a few months old, with a ridiculous amount of players building on it, where the spiral starts really doesnt matter. Check http://muttsworldmine.com/map/final
Hi all, sorry for the delay in releases and responses. I've been buried in the snow with intermittent power and internet. I can't do dev work until I get both services back at 100%.
@XMdead
As for hermits, PopDensity already does them a favor by starting them at the edge of the civilized world. So instead of running 20k blocks, you only have to run 7k (more or less, depending on your level of hermit-dom). Further, players living in wilderness regions are less likely to be bothered by other players because /visitregion can't be used to teleport to a wilderness region.
As for teleports to friends, that's already available. At any time, any player can teleport from his home region post to his friend's region with /visitregion, provided that player isn't a hermit, like you've described, living in a wilderness region. Even when teleportation is disabled or the player is living in a wilderness region, the "invitation" commands still allow friends to move into the same region without hoofing it. Also note that there's always a region post within 200 blocks of you. Wilderness regions don't have a region post until a player moves in with /movein.
Regarding GriefPrevention, adding access to your claims for friends has been implemented for many builds now. Go check it out. :)
@po5
It already works for only new players. No, you can't disable the welcome message. I'll add it eventually.
@B3NW
The portal thing has been suggested previously, and while I agree that's a better experience for users than typing a slash command they read on a sign, I decided not to do it because I don't see an easy way to make it configurable without being overly complicated. If you want your players to walk through a portal, you'll have to code that bridge yourself (when they walk into the portal, execute /homeregion on their behalf).
One benefit to explaining /homeregion on a sign is that you guarantee players can't start playing until they've read the signs.
Also consider that in general, reading a whole lot of signs is not a good first time experience on a server. If you're running plugins which require explanation, then there's no way around it - but if you can avoid signs entirely and just spawn players directly in their home region, that is ideal.
I won't randomly select from several regions to place players, because that will undermine the optimal population density. This plugin isn't about JUST providing resources and space for players, but also placing new players close togehter so that everyone gets to interact with other active players when they're getting started. Maybe a config option to adjust the population density so you can tweak it is in order. There would still be only one open region at a time, but it would close earlier or stay open longer depending on your config setting.
Regarding respawns, there's a config option to disable respawn in home region which does exactly what you're asking for.
@po5
You can't change where the new region starts, besides, it's a moot point. The plugin is designed to work with existing maps. If it starts assigning players to a region which already has some buildings, that's becaues the region still has plenty of space and other resources. PopDensity will move on once that space is better filled. Remember that some players will always choose to run off into the wilderness, so seeing some do that doesn't mean there's an issue. If, however, you still believe a region should be closed, just use /addregion to force PopDensity to move along. See above comment about a config option to adjust the population density. That's a better solution to your problem, I think, than re-homing the spiral.
Note also that the current method of spiraling away from the spawn is designed to attend to the preferences of all player types - for hermits, there will always be wilderness on at least three sides, for social players, they have active players building on 1-2 sides, and for sightsee-ers, there's completed builds on three sides. Keep in mind that many players actually don't want to be dropped in the deep wilderness, because they get that in single player anyway. As evidence, consider how many "city" servers there are, and the popularity of plugins like Towny and Residence.
@po5
Actually i want the starting regioniong a completely other place. I would like to request a command that will set a point where new regions will begin to grow from. I need them to be much further away than where they are now
How can i change where the default region starts? I added this to my production map which is a few weeks old. The current region already has buildings, and people just walk away from it. So the plugin just keeps on thinking its fresh
@mumblerit
It wouldn't be a series of portals though, it would be a single portal which can be used instead of using commands or an automatic system.
The whole point point of this Plugin is so that a series of portals don't have to be constructed.
Hey, I've had a quick look through all the information on here but the following isn't clear to me and if you have time to explain I would appreciate it :)
The ideal setup for this would be the following -
In short, is it possible for you to add Multiverse portal support where if a home region is not already set it will assign you one, if it is, it will take you there.
Thanks :)
Hello. I just want to use this for the new players, so they spawn in fresh areas. Can u make it so we can disable the Welcome to X region.
This plugin is a great idea. I have a couple feature suggestions that might make it even better (assuming the plugin doesn't already have this):
- An option for hermits... those who would prefer to be 500-1000 blocks away from anyone else, at least for a while until they establish their city. This represents me. I play on a server with your plugin (Muttsworld, love it!), yet I still went on a 7000 block hike to find a suitable place to start.
- An option for a 1-time TP to join a friend. Again, something I personally experienced. A few days after I started on the server I had a friend join me, and although I found the nearest warp in the server's map he still had to hoof it for a couple thousand blocks.
BTW, best of luck on GrieftPrevention your next plugin. It is very much needed, both for its pre-emptive protection as well as its philosophy of doing it without manual admin/mod intervention. Don't forget to include the ability to share access with friends - often more than one person builds an area.
It is interesting going into recently closed regions. Players spread haphazardly around the region and over time the region either becomes more developed or a giant cluster Either way its extremely low maintenance and helps get people out of /spawn. This is THE plugin for larger servers.
Yeah, I'll have to test it a bit more with the region notification.. Anyways, I use Spoutcraft which disables coords in the F3 window (and anything else that could be used to someone's advantage)
@Vermino2004
Glad to hear you got the city region working. I got nervous, thinking I'd missed a bug somewhere. O.o About your region naming errors comment, that's exactly what I was thinking - not a fun experience, and lots of code to build it. The term "Fjord" may sound silly, but really it's a natural formation (granted, it doesn't occur in Minecraft yet). That's why I included it.
The only way I could tell a player where the region post is would be to send them the coordinates in a message. That's messy and hacky. Besides that, I wouldn't be surprised if the debug menu (F3 for coords) disappeared from the client very soon - it's counter to the Minecraft design. We're supposed to use compasses, make our own maps, and sometimes get lost, but having access to the debug screen is like having a GPS in your inventory. When a player enters a new region, he already gets a notification - are you not seeing that on your server? I can come look.
All players can /cityregion from their home region posts or from outside of their home regions, including any wilderness areas. If you disable teleportation via the config file, then players can't /cityregion from the wilderness UNLESS they first use /movein to make that wilderness region their home.
@mumblerit
Glad you like it, Mumblerit. :) About that - how are those most recent closed regions looking? Is the level of crowding there about optimal?
@Dudescast
Yep, you need a permissions plugin to grant permissions for players or groups of players. I know there are at least a few popular options, but I don't know their names. I'm sure you can find them here on Bukkit Dev, or by reading the Bukkit wiki. Just a warning - since all the machines use the same player name, it might be possible for some creative players to use machines in a way that allows them to build and break where they shouldn't be able to (like outside their home regions).
@bigscary
Okay so I found out that the "player" the machines use to break blocks is called "fakeplayer". Now what exactly should I do now? :S
I tried to add "populationdensity.buildbreakanywhere fakeplayer" into the permissions file in the bukkit. But it didn't seem to work :S
I am quite new to how permissions work. Do I need a plugin for that?
This plugin is amazing. 150 regions and counting (a lot were pre settled)
At least we are in the same boat there bigscary.. I despises people able to teleport to somewhere in the blink of an idea without proper permissions (ie: a boat ticket).
I did finally figure out how to get my City connected (sorry, i was seriously have a blonde moment).
For the region naming, that's cool - I mean I had trouble linking my city to region, i would probably /wrists on region naming errors. It's just a future suggestion for more of a "roleplaying" aspect. dont know if i want "fjord" as a region lol.
Another suggestion is when a player enters a new region, can it announce to that user what region he is in and location of the region post?
(i think this might have been already answered) if a player goes out of his region into the wild and starts creating around there - does this mean he forfeits his /cityregion or does a new region create before he can start digging in that wilderness part?
@Dudescast
Mining machines? What are those? Are they like... player characters driven by code? If yes, then give those player accounts the permission to build/break anywhere. If that's not an option, you can set the config variable for "build break anywhere" to true. That lets EVERYONE build and break wherever they want, so it might not be a great solution for you. I'll go see if I can find any info on "buildcraft" or "tekkit"...
EDIT: I looked briefly into BuildCraft, and I see that "machines" are built by players, then automate tasks like mining, moving blocks, etc. Without looking into all the details, my guess is that all the machines use some special account to make changes to the world, rather than the account of the player who created the machine. So it's natural that they find they don't have permission. Find out what account the machines are using, and grant that account the privilege to build and break anywhere. But keep in mind that may mean a player could use a machine to collect resources outside his home region. The best fix would be for BuildCraft to update machines so that they use their creator's account when attempting to make changes to the world. Again, I'm just guessing. I don't know the details of exactly how BuildCraft works. Try posting commentary on their forums to ask if there's anything they can do to work with PopulationDensity.
Also, if you find that some machines (like a tunneling drill) work a little while then stop when they hit a region boundary, that is to be expected. Just like players have boundaries, the machines they make should have to respect those boundaries. Otherwise we may have a serious resource problem.
On that note, probably machines that enhance mining and/or allow a player to mine while offline have a design conflict with PopulationDensity. Such features would undermine the resource management system by allowing players to quickly and unfairly snatch up all the valuable stuff and leave others without resources. PopulationDensity is calibrated to check every six hours for resources, and assumes surface resources indicate the availability of deeper resources. If you add machines, you may be back in the resource starvation mode even with PopulationDensity running.
I haven't done anything to change what's in the regions. Presumably, all regions have diamonds somewhere deep underground, just like they do without the plugin installed. There is no difference between the "open" region and the rest of the regions, except that the "open" region is that one where brand new players will be assigned to live, and where existing players may move in without an invitation.
There are only two types of regions - those with names and those without. Those that don't have names I call "wilderness" regions because they're almost entirely unsettled by players. Eventually, wilderness regions get names as PopulationDensity looks for new areas to spawn new players, so they become non-wilderness. Those regions farthest away from the spawn remain wilderness the longest.
@deleted_7036002
It means they'll start there initially, and can use /homeregion to teleport to their designated home regions. Respawning is controlled by a separate config variable "respawnInHomeRegion". See the administrative link in the description above.
@Vermino2004
You set your city world name the same as your managed world name and got an error message? Will you please post your config file content here or send it to me in a private message so that I can reproduce the problem?
I'm hesitant to make the region list name customizable because there are many restrictions - no spaces, no repetition, no non-filename characters... so for now I'm just taking suggestions and validating them myself before adding them. I'll get yours into the next version.
Regarding spout.. I view this plugin as a "fix" for the overcrowding problem that happens on successful servers. So I'm trying to avoid changing the Minecraft experience as much as possible (I think of the region posts and teleportation commands as necessary evils). I'm steering clear of spout for now.
couple of things - I'm trying to hook up the "cityworld" with the population density world and it says "city not found". Also have you ever thought about hooking into Spout? Would be nice to have a GUI enable to this plugin giving a short tutorial and buttons to your region and where the teleportation stone is at.
Maybe one day you can give the server the ability to name his regions
anyways, here some region names: Morningthaw Wintersebb Darktide Glenwood Arwic Eastham Cragstone Holtburg Nexus
(that's right, old Asheron's call player haha)
Looks great :D With "new players spawn in home region" to false will they continue to spawn at spawn until they do /homeregion? Or if they die do they go there?
Okay I am having a bigger issue now, since we are running with buildcraft or Tekkit to be more exact. And there are some mining machines that mine. But they don't have the premission to break blocks neither. Any chance this can be fixed somehow?