[Request/Disscussion] - Instance Plugin: Multiplex your word or houses

Discussion in 'Archived: Plugin Requests' started by Chrisliebaer, Jul 11, 2012.

  1. Offline

    Chrisliebaer

    Suggested name: Instance (sorry for the lack of creativitiy)

    What I want: Inspired by the idea of hotels and a way to rank players possibility by played time I came to the following idea.

    Image you've build a nice hotel for new members. You want them to play i.e. 4 hours before they get one of your well designed placed to build their base. The problem is, that some people (including me) joints some random server and just play for a few minutes.

    So i would buy a hotel room and then never come back. Now the room is occupied and some automatic mechanism or admin have to reset it, so other players can use it. And thats where I Instance should take place.

    You should build a nice hotel. And then just have to mark the regions which should be instanceable. This plugin is only a framework which allows you to define instance regions and define which player is in which copy of a single region. What you do with this is up to other developers.

    For the example above this could look like this: A new player joins the server and can select one of ten rooms. If he claims one, it is not really claimed. The server will create a new instance file for the room instance and allows the player to build there. The room will still look like it is unclaimed or maybe will just send out to the client, like you decorated it. But every other player who is in another instance of this room will not see your room - he will see his own room. And if you enter the instanced region you will only be visiable to players which are in the same instance.

    That would allows a great variety of possibilities. You could greate bossfights for playergroups - just like a real MMO. Or you can instance your farmworld, so every player got his own fresh copy of a nice world where he can farm. And if he teams up with his friend thery could even farm together.

    Problems: Of course this is really complicated to implement. I've searched the web for already existing project, but it theems that not even someone has asked for it. The plugin must ensure, that fire, pistons, water, lave and other "moving" blocks not leave the instanced part. Maybe a whitelist of already "secured" blocks would help. It definitly is a complex plugin, but I'm sure it worth it.

    I've never programmed a plugin, but I've seen some API Functions and Plugins like Orefuscator, which acutally modify the world while it passes the server. I'm not sure if this is also possibly by client. But Vanish also works this way. I think this is possible.
    read this post.

    When I'd like it by: When it's done.


    What do you think?
     
  2. Offline

    Konkz

    You got my support,
    I won't use it but it seems like not done before.

    If my internet would speed up, I'd use my search bar :[
    It's dying out...
     
  3. Offline

    np98765

    Nope, this hasn't been done before. Or, maybe it has. I believe someone tried creating some sort of "alternate reality" type thing. It was a previous plugin request, in case you want to search for it.

    I'm not sure what ended up happening.

    EDIT: Found it. I remember someone mentioning something about "Doctor Who", so a quick search brought me to:

    http://forums.bukkit.org/threads/admn-reality-shield-formatted.79694
     
  4. Offline

    Chrisliebaer

    Well, thats not exactly what I mentioned. dibujaron asked for some kind of hidden area. Of course you could use my plugin idea to also realise his. But with a real instance system you could (refering to his example) create multiple hidden arease on the same island. But thanks for your researches.

    I would like to see this as some kind of framework like iConemy which simply provides an API. If someone would like to realize this just contact me. I could provide you with ideas of how to programm it. I'm just to lazy to actually code and support it.
     
  5. Offline

    PhoenixFlight

    It seems like the best way to implement something like this would be to actually have a separate world or something, and every time a new instance is created, actually spawn a copy of the selected area in that world. When the user tried to enter their room or whatever, it would just warp them there.
     
  6. Offline

    Chrisliebaer

    Thats my first idea, and it would also be very easy. But it has some disadvantages since many minimap and worldplugins would messes up with diffrent coordinates and worlds. Also you would still have to ensure that other block can't be pushed into ne neighbor instance. The next thing is, that it is very complicated to dele an instance because you would still have a cap between the neighbor instances.

    I was thinking of one map file per instance. But I'm not sure if bukkit can dynamicly load this without register them as a whole new world. Because this can get very CPU and memory intensive. But I like this the most, it would work fully transparent. The user wouln't notice the chance of the instance and could for example still see his instanced house on a hill while he is walking away. The hotel was just an example I though also of instanceing hunge open areas.
     
  7. Offline

    np98765

    Plugins like orebfuscator only change what the client sees. Your idea, with the farmworld, is impossible to my knowledge. You're asking for entirely new worlds for each person. So, the client might interpret that the tree in front of them still exists, but someone has already chopped it down, and they're not able to. In reality, the tree is gone, but the client would view it as still there.

    (Note: I'm sure there is some way around this, but I don't know how it would affect performance...)
     
  8. Offline

    Chrisliebaer

    No thats not like I would like to use it. The example with one extra world per player is not like you may understand it. I just wanted to say, that I'd like to instance EVERYTHING I want. Like a hotel room, an island, the farmworld, dungeons, or maybe just a little region with is intended to be used as a farming region.

    So the server admin can create a region and define it as he want. For example an empty hotel room with just a bed and a chest. Every instance that is created of this region should interhit from this predifined region but from that point should be completly independet from the original region.

    Should I make a graphik for visualisation?
     
  9. Offline

    np98765

    Ah, I see.
     
  10. Offline

    PhoenixFlight

    Making what looks like an instance of a room is easy. Doing that for whole worlds is not.
     

Share This Page