Project Worlds - World Manager

What do you expect the command block to do?
Do you expect it to teleport itself to another world?

I want to make it teleport all players

/world tpp <player> <world>

Teleporting all players at once is not supported. You might want to look into one of the essentials plugins for that.

Did some extended testing on this pregeneration stuff.
Using a version of spongeforge from latemid last week is what gave the mappregenerating issues noted above.
I cleared the map entirely, and made a quick+dirty plugin that output the world entitycount every 20 seconds, then ran the server with 6gb assigned to it, and closed out everything on the go on the computer that might distort cpu hunger levels in order to pregenerate a 12k diameter.

Fired up server, let it do the initial map generation, did not log in, again just spongemod, your plugin, and my few-line scheduled logging plugin only. It started off with the normal flash, pumping out 4-6 chunks per ~40-60ms steadily, but it didn’t take more than about 5 minutes before it was spewing the 'cant keep up … 7000ms… skipping 230 ticks " etc messages about every 15-25 seconds, and after 20 mins, had noticably slowed down its speed… I ended up stopping it after about 2h, where it was some pathetic small fraction of completed, and the cant keep up messages were on average missing 13000ms etc…

That was consistant with the earlier attempts, and already the memory on the server task was well over 4gigs and climbing at that point. About 30000 chunks in total were generated, and the server reported about 10000 entities in the world. Had it resumed another hour it would have hit the same crash point previous attempts had.

I noticed then that a couple days ago, some pushes to sponge on the chunk-gc features were made, that were after the version I used, so last night I replaced the spongemod with version 2026 (and forge, as a newer version was required), wiped the map, but kept the seed the same to generate the same world, and setup the computer and server in the same conditions.

Again, it was sprinting right out of the gate, flying through 20 or so pregenerated statements making 4-6 chunks per 40-60ms before logging the entity counts. This time though, after 10 mins, there was no lagging behind by the server, and it was still blazing at the same speed. After an hour, no difference… around the 2h mark, i checked back again, and it was still blazing through at the same rate, blasting the log with about 20-25 lines between entity-count logs, but every now and then did pop a cant-keep-up loss of about 1500ms. Memory usage on taskmanger showed it around 2-2.5 gigs, well better than half of previous.
I let it continue, and in the morning, it was still churning away, the chunk count in high hundreds of thousands, entity count over 100k, and not-keep-up a couple times every 5 minutes still for typically under 2000ms or so.

I let it run to completion, ended after about 9.5h, 100% finished, no crash, in the end the not-keep-ups were creeping to about 4000ms but still spaced out in time unlike before. The total chunk count was 565k, and the total entity count was about 140k. The server was using about 4.8gigs, holding steady. I let it keep running for 30 mins longer, doing nothign to it, other than letting it log the entity count, which did not change at all. The memory usage remained constant over the next 30 mins as well, it did not bleed away to free up as I suspected it might…

Clearly the newer versions with the chunk-gc changes have done something spectacular, but, the constant, undipping entity count would suggest chunks still loaded? After rebooting the server, a mere 240 entities were reported for the world, as expected.

I saw no way to get a count of chunks-loaded otherwise, a confirmation if they were loaded still would explain and be a targetable fix, but if they were being unloaded, how are the entitie counts still there?

2 Likes

It Didn’t Work It Says tpp was not a valid subcommand

/world list shows number of loaded chunks in each world

Sorry if this is an obvious question, but will the /world fill regenerate existing chunks? Will it delete existing buildings? Also if I fill 10000 diameter, but stop halfway and do the same command later, will it start at where it left off? (So I can start generating while less players are on and stop when it lags)

fill does not change any already existing chunks. As far as I can tell, it still scans the chunks already generated.

Aw, is it possible for a pause feature so I can resume the fill later?

You are disappointed in not wiping the chunk back to clean-slate? Are you looking for some kind of temporal-catasrophe plugin that will radiate a destructive force outward restoring the world to its pre-mankind state, without deleting the map all at once?

Oh no, I was disappointed that it still scans the chunks already generated. I just hope it doesn’t take as long as generating one

checking the adjacent chunks and seeing the mark that says 'all of this data was generated, no need to exercise an intense cpu set of operations on it and carry out thousands upon thousands of steps to generate tonnes of data to write out to a file " and then going ‘okay, good, no need’ and skipping all that generting code is indeed much less intense than generating a chunk that doesn’t exist
The problem is that the mechanism that checks the chunk appears to still mishandle entity information for those chunks, and does not clear them from memory as it sweeps over the chunk - its less intense than generting the chunkand creating entities, but it still is touching the chunk and not destroying the entities that pop out when peeking at the chunkspace to see if anything is there.

When the pregenerating API implimentation gets repaired, then the process will speed through already-done stuff with 0 lasting impact, racing through the map quickly to ignore done stuff, and not choke down with the entitys still, racing onwards to find the chunks to actually spend labor grinding away generating, and freeing resources quickly correctly.

I don’t believe there is any way to pause the pre generator, it can only be cancelled. I doubt this will ever be possible in the future, but hey, these guys are mad scientist’s.

I only have one use for this and I didn’t see it listed, so figured I’d ask if its possible (or can be possible) before installing

I am starting a Pixelmon server but wanted to add a non pixelmon world option for those who join to play but want to opt out of all the pokemon themed stuff. Is it possible to create a world that doesn’t have pixelmon enabled on it side by side with a world that does, and then have a project portal to transfer at will between the two

1 Like

Haha I was going to ask a super related question

I’m trying to create a new world with the current seed (/world create worldcopy d:OVERWORLD s:477419357736723337) and it’s telling me Not enough arguments. Also I can’t do /world command (I’m on 1.8.9 v0.9.3)

You are using the old flag system. type /world, click the create command, it’ll show you the new flag syntax.

/world create worldcopy -d OVERWORLD -s 477419357736723337

Thanks. Nothing worked for some reason, but it was all fixed after a server restart… weird

Thank you for your work on this plugin. I was able to import Bukkit worlds, but when I try to load them it crashes, or says “world not found” even if it’s shown on the list. I’ve also tried the EssentialsCmd world loading (I tested them separately, so they weren’t running simultaneously, which does work. However, when I close down the server and reopen, those world are all called “World”, which makes teleporting impossible!

Any ideas how to fix the world data so I can use my existing bukkit server worlds? Thanks!!!

I need more information. A crash report perhaps, and the steps taken that produced your issue.