Dungeon/Instance/Phasing?

I am looking for a plugin which will help me create instances of worlds (and possibly phasing). At the moment, I haven’t seen anything on Sponge which does this, and while I would like to port the DungeonsXL plugin, I think it’s beyond my time-constraints at this time. It doesn’t quite meet my desires, as it uses signs, and I prefer more immersive plugins, anyway.

Would anyone be able to begin this task? Starting with something simple would be an enormous step toward my goals for my server.

Thank you!

1 Like

Like this idea a lot, I need some thing like this too, I appreciate it a lot if someone would port this on sponge.

I’m still very interested in this. If I really can’t find it here, then I am stuck using Spigot, which really sucks. Sponge has some great utility, and my partner and I were excited to see some of the ease of programming other rpg-aspects for our server.

Is there anyone even interested in throwing out cost numbers? I like open source licensing, but I’m not beyond compensation, if I can manage it.

I mean, one thing you might want to look at including in your post is a prioritized list of what you would like. I can’t look at this and tell you how much time it would take or if I would be willing to work in it because I really have no idea what you want, aside from the basic idea.

I requested DungeonsXL to be ported, or something similar to be created, for Spongepowered. I asked for instancing of worlds, which would be the most simplistic version of DungeonsXL. Phasing would be a cherry-on-top of the DungeonsXL plugin. I am not sure how much clearer I can be, on what I desire.

Instances (Gaming)

In massively multiplayer online games, an instance is a special area, typically a dungeon, that generates a new copy of the location for each group, or for certain number of players, that enters the area.[1] Instancing, the general term for the use of this technique,[1] addresses several problems encountered by players in the shared spaces of virtual worlds. It is not widely known when instances were first used in this genre. However, The Realm Online (1996) is sometimes credited as introducing the concept. Instance dungeon - Wikipedia

Instance (Computer Science)

In object-oriented programming (OOP), an instance is a concrete occurrence of any object, existing usually during the runtime of a computer program. Instance (computer science) - Wikipedia

I believe the former, above, describes Instancing from a gaming stand-point, and the latter describes Instancing from a object-oriented programming stand-point. However, I honed in on the first sentence of the OOP, because it most closely resembles what I want; an instance of a particular type of world which ends at the end of the run-time of the program, instantiated by the player, and ending after a time, when they exit, or when a player chooses to reset their instance.

Instancing in the traditional sense implies the dynamic creation/destruction of servers to accomodate either some sort of functionality, or just more users on the same application. In games, we use it to describe dungeon instancing, as in, a situation where 2 groups of users want to run the same dungeon ( read: be in the same position in the world at the same time ), which is obviously not possible. So, instancing is used to solve this.

In minecraft, this is less than practical. The minecraft server gets very resource-intensive. So instancing becomes quite difficult to pull off. Not to mention the fact that dynamically creating or destroying minecraft servers would be a pain, since it takes some time for a server to start up. Add to that the cost increase caused by a modded environment and it really piles up.

For the server I’m currently working on, we have actually decided we need dynamic instances, where the maximum player count per server is ~5 ( talking dungeons after all, so groups of players are smaller ).

With this in mind, I’ve done some very basic calculations, and I’ve reached the conclusion a 5-player server would require a good 3 gigs of RAM each, along with it’s own core to work on, so as not to influence performance on the other instances.

This would require some pretty beefy hardware. A multi-core Xeon, with 32 gigs of RAM, on 2 boxes. Main server runs on one box, the dungeon instances run on the other. Even with all of this, I think our limit might be 8 dungeon instances total. That’s 8 minecraft servers total running on the same box. Not that amazing of a result, considering the hardware.

Alternatives include possibly faking instancing. Worlds are certainly worth looking into, I’ve considered that as well, though as of right now, the plugin isn’t even started yet.

TL;DR To conclude, while physically possible to create dungeon instances of minecraft servers, it’s far from practical. Other alternatives, like multiple worlds hosting the same dungeon, may be more appropriate. I believe the best answer may be a combination of the two, provided the server in question has the hardware to support it.

I don’t think you read my post, at all, just like I don’t think d4rkfly3r read my post. I asked SPECIFICALLY for DungeonsXL. You can go to their website, and look at it. I asked SPECIFICALLY to port that plugin! I also have been instancing for some months, now, and it’s just fine! Other servers do it, and they’re just fine! Arguing about hardware specifications is a moot point, since it’s unsolicited advice, and you are unaware of my budget for hardware; I have far beyond what you have suggested. I also never meant to imply I wouldn’t pay someone to do this for me. I would have entertained bids, because I know it takes time.

Please, read the post in its entirety before responding, in the future. I never asked for instances of servers. I asked for instances of dungeons. It even says DUNGEON in my title, and again, I even said DungeonsXL.

I swear, asking for help on Sponge is like pulling teeth, and nearly worse than asking for help in Denizens. Unfortunately, both of these are what I’m stuck with.

No one ever responded with interest, or suggestion, on making this happen. As a result, I stuck with Spigot. If anyone else is looking for something to do what I wanted, you could try Denizen2, or the plugin, “Instances,” on Spigot. Denizens has handled instancing in the past, with success, for me. It’s too bad it wasn’t suggested earlier or I would have given it a shot, with Sponge, despite these ridiculous responses.

What I asked for was a prioritized list… I don’t mind porting things over, however some instruction on what the important parts are would be nice. I looked up the plugin and understand what your asking, I simply didnt have the time to do it all in one go. If your still interested in it, poke me and I’ll see what I can do.

That was a very aggressive reply to what I thought might be an otherwise insightful post. I did, as a matter of fact, read the OP, along with the rest of the replies.

I was, for a moment, intending to respond to your criticisms, but it almost doesn’t seem worth it, since based on your rash response, I don’t believe you to be capable of taking this conversation any further in a rational manner.

So, I’m happy you’ve found your solution, and good luck for the future.

If you’re genuinely interested in making an instancing application, especially one that functions (whereas DungeonsXL is only barely functional, and they say as much on their website), then I implore you to ignore my irritation, and please pursue it. I am sure outside64 would appreciate it, as would many others. I also know that I desperately want Sponge to be viable for my survival/rpg server, and I would never want to discourage people from supporting it.

The way I have approached instancing is to create an empty world, and build the “thing” I want to instance. I then apply any mechanics, mobs, and functions, to execute based on WorldGuard regions, which are added to the world I want to instance. When a player performs a function, or enters a specified region, a copy of the world is created, and the regions are copied, and the player is teleported to the copied world. The mechanics then execute based on the regions. When the world is empty, it is deleted after a set amount of time. I can limit the number of instances created for a world, if I need to, but instanced worlds tend to be small, so it isn’t a real issue.

My staff, and I, use a conglomeration of java, javascript, and denizen, so you may have to add more functions such as region selection, a way to apply counts and timers to players for goals, a way to add check points, spawns, lobby-waiting-areas, etc. Or just expressly require other plugins, though I do not have intimate knowledge of whether Denizen2 is feature-rich, on sponge, and that would be more complex for users, than clicking a stick, or typing in a few commands.