[INACTIVE][ADMN/TP] XcraftGate v0.9.1 - Multiworldmanager/-teleporter [1060-1185]

Discussion in 'Inactive/Unsupported Plugins' started by Engelier, Jun 4, 2011.

  1. Offline


    XcraftGate - Version: v0.9.1

    XcraftGate started as a replacement for EpicGates and it's successor RealTeleporter. In the meantime it has grown to a complete worldmanagement solution.

    • Create/Delete new worlds (such as Nether, or a specific world for mining, or ...)
    • Set borders for your worlds, so nobody can explore beyond a specific point
    • Create Teleporters between your worlds or to/from your points of interest.
    • Limit the amount of creature spawns on your worlds
    • Completely deny monster or animal spawns on your worlds
    • Allow/Deny PvP on your worlds
    • Allow/Deny weather changes on your worlds

    • /gworld - World management tool
      /gworld list - lists your active worlds
      /gworld info <worldname> - displays some basic info about a world
      /gworld listplayers <worldname> - lists the players currently running around in that world
      /gworld create <worldname> [environment [seed]] - creates a new world on your server, <environment> may be "normal", "nether" or "skylands". defaults to "normal" if left blank
      /gworld listenv - lists all available environments/chunkgenerators usable with /gworld create
      /gworld delete <worldname> - unloads a world (and deletes it from the plugin's database)
      /gworld load <wprödname> - loads a given world
      /gworld unload <worldname> - unloads a given world
      /gworld setsticky <worldname> - controls if a world will be automatically loaded/unloaded with dynamic world loading enabled
      /gworld keepspawninmemory <worldname> - controls if a world's spawn is always kept in memory
      /gworld warpto <worldname> - teleports you to the world <name>
      /gworld setborder <worldname> <#> - sets the border for world <name> to <#> (denies exploration beyond x/z +/- <#>)
      /gworld setcreaturelimit <worldname> <#> - limits creature spawns to a maximum of <#> creatures for the world
      /gworld allowanimals <worldname> <true|false> - Allows or denys animal spawns on world <name>
      /gworld allowmonsters <worldname> <true|false> - Allows or denys monster spawns on world <name>
      /gworld suppresshealthregain <worldname> <true|false> - Suppresses automatic health regaining when allowmonsters is set to false
      /gworld allowpvp <worldname> <true|false> - Allows or denys PvP combat on world <name>
      /gworld allowweatherchange <worldname> <true|false> - Allows or denys weather to change on world <name>
      /gworld setweather <worldname> <sun|storm> - Sets the current weather for world <name> (ignores allowWeatherChange setting)
      /gworld timefrozen <worldname> <true|false> - (Un)freezes the current time on world <name>
      /gworld settime <worldname> <sunrise|noon|sunset|midnight> - Sets the current time for world <name> (also sets time for timefrozen)
    • /gate - Gate management tool
      /gate create <gatename> - creates a new teleportation point at your current position - make sure you look at the direction your users should look at, when they ARRIVE at this point
      /gate move <gatename> - moves a gates location to your current position
      /gate delete <gatename> - deletes a teleportation point
      /gate link <gatename1> <gatename2> - creates a link from <name1> to <name2>, so when you step on <name1> you will be teleported to <name2>
      /gate loop <gatename1> <gatename2> - same as /gate link, but for both ways
      /gate unlink <gatename> - deletes the destination for <name1>
      /gate unloop <gatename1> <gatename2> - deletes a loop between the two gates (if it exists)
      /gate info <gatename> - displays some basic info about a gate
      /gate list - lists all gates in all worlds in alphabetical order
      /gate listnear [radius] - lists all gates near you (radius defaults to 10, BE CAREFUL WITH BIG NUMBERS!)
      /gate listsolo - lists all gates without a source or destination
      /gate warp <gatename> - teleports you to the given teleportation point
      /gate reload - reloads all gates from gates.yml

    Video: HowTo create gates

    XcraftGate.* - permission to use everything this plugin provides

    XcraftGate.use.* - permission to use all gates
    XcraftGate.use.<gatename> - permission to use a gate

    XcraftGate.gate - access to /gate
    XcraftGate.gate.* - access to all /gate commands
    XcraftGate.gate.create - /gate create, /gate move
    XcraftGate.gate.link - /gate link, /gate loop
    XcraftGate.gate.unlink - /gate unlink, /gate unloop
    XcraftGate.gate.delete - /gate delete
    XcraftGate.gate.info - /gate listsolo, /gate list, /gate listnear, /gate info
    XcraftGate.gate.warp - /gate warp
    XcraftGate.gate.reload - /gate reload

    XcraftGate.world - access to /gworld
    XcraftGate.world.* - access to all /gworld commands
    XcraftGate.world.create - /gworld create
    XcraftGate.world.delete - /gworld delete
    XcraftGate.world.warp - /gworld warpto
    XcraftGate.world.setborder - /gworld setborder
    XcraftGate.world.setcreaturelimit - /gworld setcreaturelimit, /gworld allowanimals, /gworld allowmonsters, /gworld suppresshealthregain
    XcraftGate.world.pvp - /gworld allowpvp
    XcraftGate.world.weather - /gworld allowweatherchange, /gworld setweather
    XcraftGate.world.time - /gworld settime, /gworld timefrozen
    XcraftGate.world.info - /gworld info, /gworld list

    If you don't use a permissions plugin, only OPs are allowed to use those commands and all users are allowed to use all gates.

    Stable Version (use this if unsure): XcraftGate.jar (wget friendly)

    Some people are repeatedly asking for development versions, so here it is:
    Development Version: XcraftGate-Dev.jar (wget friendly)
    Development Changelog (open)

    • implemented chunk resending on teleport - should fix death/lag on arrival
    • rewrote plugin management
    • added Register support
    • added /gate rename <gate> <newname>
    • added /gate settoll <gate> <amount> - set amount of money to be taken from the users account when he uses the gate
    • added /gate setdenysilent <gate> <true|false> - don't print error messages when gate usage is denied by permission or not enough money
    • added /gworld suppresshunger - prevents foodbar depletion on the given world
    • added /gworld setspawn - sets the spawn to your current location
    • added /gworld setgamemode <world> <survival|creative> - sets gamemode for the world
    • added /gworld setdifficulty <world> <peaceful|easy|normal|hard> - sets difficulty for the world
    • added /gworld setannouncedeath <world> <true|false> - set if player deaths in the given world should be broadcasted
    • /gworld suppresshealthregain now also affects health regaining by saturation
    • new worlds now obey the spawn-monsters and spawn-animals settings in your server.properties
    • "fixed" bukkit leaking tears when not using SuperPerms

    Put the XcraftGate.jar into your plugins folder and reload/restart your server. All files will be created automatically.

    If you already have some extra worlds add them with /gworld create <name> <environment>. If there's already a world with the same name in your server's folder, it won't be freshly generated, but just get loaded.

    Do not edit the config files manually, as your changes will get overwritten on reload/restart. Use the ingame commands. Tell me when there's an option missing.

    Is there a way I can clear the inventory of anyone entering a specific world? (open)

    Use MultiInv.

    Can we have something like /gworld allowflying? (open)

    No. This is a global setting controlled by craftbukkit. Plugins are not able to change that.

    How do I allow my users to use all gates? (open)

    Add the following permission to your users: XcraftGate.use.*

    Source Code:
    github (Licence: GPLv3)


    I put a lot of work into XcraftGate and intend to do so in the future. If you're able to efford some EUR to motivate me further, I'd really appreciate it :)
    Note: For sure donating is purely optional! XcraftGate is released under the terms of GPLv3, so you have (and will always have) the freedom to use, study, share and improve it as you like!

    Version 0.9.1 (CB1060+)
    • fixed NPE in /gate listsolo
    • changed the way gates teleport players - should fix spawning to high
    Version 0.9 (CB1060)
    • enabled gworld-commands (except "warpto") to be used from the console
    • added support for SuperPerms
    • implemented dynamic world loading - on startup only your default
      world(s) will get loaded. Any other world will be loaded as soon as a
      player tries to access that world and will be unloaded when no player is
      active in that world for 5min. Disabled by default. This can be enabled/tweaked in the config.yml
      Please be aware of this bug when playing around with this feature.
    • added /gworld load
    • added /gworld unload
    • added /gworld setsticky (controls if a world will be automatically loaded/unloaded with dynamic world loading enabled)
    • added /gworld keepspawninmemory
    • implemented custom chunkgenerators (referred to as additional "environments") - currently available: flatlands, island, hillvalley
    • implemented getDefaultChunkGenerator(), enabling craftbukkit to use the custom ChunkGenerators for your default world(s)
      Example (open)

      in your bukkit.yml:
                 generator: XcraftGate:FLATLANDS
    • added /gworld listenv - shows available environments
    • new worlds now obey the pvp-setting in server.properties
    Version 0.8
    • added seed argument to /gworld create
    • added /gate reload
    • added /gate move
    • added /gate info
    • added /gate list
    • added /gate listnear
    • added /gworld listplayers
    • added permissions for gates (XcraftGate.use.<gateName>)
    • worlds with active players cannot be deleted anymore
    • /gworld info now shows the environment
    • improved world detection
    • probably fixed ConcurrentModificationExceptions
    • probably fixed off-gate spawning (corresponding gates have to be recreated)
    • fixed animals always despawning on server reload/restart
    • another workaround for the PLAYER_MOVE event location bug (fixes players getting stuck when reaching the border)
    • fixed /gate warp triggering the target gate
    Older Changes (open)

    Version 0.7.2 (minimum CB-Version: 949, recommended: 953)
    • Update for CB953/MC1.7
    • Food working again as expected
    • added workaround for move-event location bug introduced in CB949 (fixes endless loops, again)
    Version 0.7.1
    • Great, seems using food also triggers the regain-health-event, so supresshealthregain will suppress that, too. Mostly fixed. Cookies still won't work. I've no better solution at the moment. :/
    Version 0.7 (minimum CB-Version: 896, recommended: 935)
    • added /gworld settime
    • added /gworld timefrozen
    • added /gworld suppresshealthregain - craftbukkit automagically let users regain health when allowmonsters is set to false. So we have to control this ourselfs.
      NOTE: XcraftGate automatically sets allowmonsters to false, when the creaturelimit is reached
    • removed "moved too quickly"-workaround
    • removed bukkit-bypass for spawncontrol
    • /gworld info now displays the world's seed
    • /gworld warpto now teleports you to the spawn location of the given world (no more searching for a safe spot in sky worlds)
    Version 0.6.2
    • made teleport check more restrictive (fixed endless loops)
    Version 0.6.1
    • fixed allowAnimals/-Monsters flag handling
    • added workaround for commands not being registered correctly by craftbukkit when being enabled by another plugin
    Version 0.6 (minimum CB-Version: 860)
    • rewrote world management - should fix most problems/inconsistencys
    • added /gworld allowpvp
    • added /gworld allowweatherchange
    • added /gworld setweather (ignores allowWeatherChange setting)
    • /gworld warpto now trys to find a save spot in a 64 block radius around the destination and denys teleport when unable to find one
    Version 0.5 (minimum CB-Version: 834)
    • check for creaturelimit regulary, instead on ENTITY_DEATH. Fixes creature counts dropping very low on low population servers
    • changes are now saved immediately, instead only in onDisable() (reload/restart)
    • added option to completely deny animals or monster spawns on a world
    • removed workaround for crossworld teleportation bug in CB818
    • unload world on /gworld delete
    • added support for SKYLANDS environment
    • complete permission nodes overhaul (s. above for the new permission nodes)
    Version 0.4.1
    • tweaked creatureLimit so the server doesn't try to spawn new creatures when the limit is reached (fixes "Can't keep up"-Spam)
    • typofix
    Version 0.4
    • added /gworld setcreaturelimit -- limits creature spawns
    • added /gworld info -- displays some basic info
    • border now defaults to 0 (disabled) instead of Integer.MAX_VALUE
    Version 0.3
    • public release
    regzand, Masterflapdrol and Rwembee like this.
  2. Offline


  3. Offline


    I think it's more Mojang's task, then bukkit's. SKYLANDS isn't finished yet.

    XcraftGate doesn't influence your spawning in any way. Use Essentials or MySpawn or any similar plugin to control where your users are spawning after death.
  4. Offline


    your plugin should force a player to not leave the world they are in unless using the portal or command.
  5. Offline


    since I installed this plugin my PVP isn't working anymore. Could someone help me?
  6. Offline


    you have to config that in, read the commands.
  7. Offline


    Can someone give me an example of the setboarders part? I manually built boarders in one of my worlds cause I couldn't figure out the one in World Guard and I don't want to mess up with this one. Just like give an example of one that would be typed out? I'll practice a bit in a new world just to see if I do it right but I'd like to see a good example on here. Not the same example he used in his first post, I mean one with actual coordinates and stuff.
  8. Offline


    permissions is not working.
  9. Offline


    I try to interfere with the least amount of plugins possible. There are so many plugins out there, messing around with controlling (re)spawning in some way, I don't think it's useful adding another plugin to that list driving server admins crazy.

    /gworld allowpvp <world_name> true

    v0.9 will obey the settings in server.properties as default for new worlds

    To set a border is simple: /gworld setborder <world_name> <radius>
    The center of the border is always 0, 0. So if you set your border to 100 and try to go e.g. to 100, 0 you'll be teleported to 99, 0 and a warning message will popup.

    Saying "Its broke" doesnt help solve the issue.
  10. Offline


    I just now saw this post. My machine does not have the power to host a server at all, even localhost. Nor both together. I tried. 2GB of ram is not enough to run on. Minecraft client alone takes 1GB it seems. My entire system has 2GB. You can imagine how bad it would be trying to run a server.

    I don't get how this works though. I tried all sorts of things. Though dyslexia keeps making me type boarder for some damn reason. I tried /gworld setborder testworld +##/+## +###/+###. I'd like to manually specify a boarder if possible. So is it just this then? /gworld setborder testworld 500 (500 blocks away from each side of spawn?]
  11. Offline


    I didn't see an answer to the question asked on page 4.

    Is it possible to have world name with a space in it? For example "PVP World". Multiverse has this issue with spaces in world names?

    I don't think its a CraftBukkit issue because I have worlds with spaces in the names and it works fine.

    This would be the deciding factor for me to use your plugin. I have multiverse now, but it has some conflicting issues. Like similar commands with MultiHome and a few other things.
  12. Offline


    Correct. Besides the fact it's not "spawn", but the middle of the map (Coordinates 0, 0).

    Sorry, seems I overlooked that question.

    No, it's not possible. The reason is that spaces in commands are treated as parameter seperators, even if you encapsulate them in quotes. In your example when you'd try to load that world the name would be "PVP" and "World" would be the environment. When you try to use quotes (e.g.: /gworld create "PVP World") the world's name would be "PVP.

    So there's currently no way to implement spaces in world names without making things much too complicated.

    What about just using a _ instead of a space?

    That's right. CraftBukkit doesn't care about names. It's just a String stored somewhere. Just another parameter.
    The problem is just with the ingame commands.

    But we have to rely on those names to make things usable for admins. Otherwise you'd have to refer to your worlds with their UIDs ... do you know the UID of any of your worlds? And trust me: You don't want to type that in every time. :)

    You can however use spaces for world names by manually editing the config files. But you'd be unable to use any InGame-Commands regarding those worlds. I don't think that's what you want.
  13. Offline


    Ok thank you...That clears things up.

    The _ would be okay, but I was hoping for spaces. If it works better without spaces then thats fine.

    I had already created a world with spaces it...so I'll have to change the names.

    UIDs would be hard to use in commands. I see what you mean.

    Your plugin has a few cool things that MulitVerse misses so I may switch, but I'm still on the fence.
  14. Offline


    Let me try pulling you of the fence with a small outlook to v0.9:

    Two major upgrades are in the work.

    First is custom ChunkGenerators. Currently implemented are flatlands (just a flat gras world 9 block of dirt and stone below it) and moon (stolen from Dinnerbone's example). Suggestions for additional generators are welcome.

    The second one is dynamic world loading. To keep CPU usage on servers with multiple worlds as low as possible those extra worlds are only loaded when they're used, and unloaded when they're not used for a certain amount of time. Sadly I have to wait for bukkit to fix this bug before I'm able to release a development version for you to test.
  15. Offline


  16. Offline


    first, your plugin is perfect for what im looking for, something simple designed to do what i want it to and nothing more, however...

    im using PermissionsBukkit and SuperpermsBridge on my server, superperms is designed to fake Permissions 2.7.7, allowing for more compatability. unfortunately for me, your plugin is detecting superperms as Permissions 2.7.7 as designed, but it isnt reading permissions properly from it.

    any chance you could put in a fix of sorts (or let me know if there is a workaround)? even just some way of setting permissions to only OP's as if i didnt have any kind of permissions at all. it would be greatly appreciated!
    potentially always allowing OP's to have all commands could be a simple solution that hopefully wouldnt be too hard

    EDIT: also, forgive me if this is somewhere else, i did use the search, but after posting this and attempting to search this thread again for specifics, it appears the search isnt working properly and keeps coming up with no results
  17. Offline


    That setborder thing is very very bad at the moment. It immediately locks anyone who touches the border in place and spams the console with 1000's of messages saying you can't walk that far, which overloaded my connection and kicked me from minecraft so I was unable to remove the border till I shut down the server and edited the files manually to remove it. This is why I don't like World Guard's version either. It would let you continue walking as far as you want but only teleport you back one square. even if you re-entered the zone you left. So you could walk 3 blocks then move back 1. meaning if you really wanted out you could get out. Also if you were back in, it didn't matter you'd still be moved back. You'd even fall and teleport 1 up, safe from fall damage once you land. Yours is more rapid and persistent. I want a border that acts like a solid wall but isn't visible at all. Like glass that doesn't have any pixels on it at all and can't be broken.
    dennijr likes this.
  18. Offline


    Huh?! This works fine on our server. Which permissions plugin are you using?

    I'm not sure I understand your problem correctly.

    The way I use permissions is the simplest possible, hooking into the plugin an using permission.has(player, node). That works with permissions 2, 3 and the GM-Bridge from Essentials (these are the ones I tested - there are possibly more).

    Just ignoring your permissions plugin and giving all commands to the OPs would make a permission plugin mostly useless.

    That being said, which permissions aren't working for you? Are there any errors on the console?

    I didn't look into SuperPerms yet, because the internal permissions system is leaking some essential features, so it's useless for us. To maintain compability with CB953 XcraftGate isn't using the internal permissions, yet. Are you sure SuperPerms is working correctly, even with permissions not registered in bukkit?

    Please update to the latest XcraftGate version. This has been fixed in v0.8.
  19. Offline


    Ah alright. I'll do so when the server host logs in. Does it do what I suggested or just spam less and actually let you turn back?
  20. Offline


    permissions 3.1.6

    i have been on an non op account and made sure that person did not have the permission but he was still able to go through.

    let me see if something got corrupt, ill re-download.

    EDIT: ok after re-downloading it all works, thanks for the plugin :D

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: May 16, 2016
  21. Offline


    ok im a bit new here. i am able to set up gates within the main world, a loop to the nethers and back....but i set a loop to skylands i can port from the main world to skylands but not back. i redid it twice same thing then i made a gate link skylands>world nothing. any tips whats going wrong?

    i also used worldwarp 2.0 to make the skylands
  22. Offline


    Did you use "/gate loop skylands2world world2skylands" ?
  23. Offline


    hey there...
    i need to know what node is for my default people?

    i can use the teleporters but my friends don´t:'(

    would be nice to hear from you
  24. Offline


    The nodes are there :eek:
  25. Offline


    Any way to make it so that items don't transfer between worlds?
    For example, if one were to move from a 'BUILD' world to a 'PVP' world, the items from the build world wouldn't cross over to the PVP word?
  26. Offline


  27. Offline


    it is working now. i noticed in the world file it was not listing skylands as one of the worlds. so i copied the text of world(name of my main world) pasted it and replaced the name world to skylands and it works now
  28. Offline


    I can't get any of the XcraftGate.world.create, XcraftGate.world.warp, etc permissions to allow. They only work with XcraftGate.* .
  29. Offline


    basicly the problem im having is that XcraftGate appears to not read permissions properly from superperms... in the server, i get;
    01:03:50 [INFO] [XcraftGate v0.8] hooked into Permissions 2.7.7
    01:03:50 [INFO] [XcraftGate v0.8] by Engelier loaded.
    01:03:50 [INFO] [XcraftGate v0.8] loaded world world (Environment: NORMAL, Seed: 9110182478989857322)
    01:03:50 [INFO] [XcraftGate v0.8] loaded world world_nether (Environment: NETHER, Seed: -1733455940751860065)
    01:03:50 [INFO] [XcraftGate v0.8] loaded 0 gates?
    it appears to be connecting (*to superperms, NOT Permissions 2.7.7*) and gathering the worlds properly, no errors, which is all good. 0 gates is also correct, i have not made any yet due to not having the permissions. im not a plugin developer, but i am a programmer, so what you are saying makes sense and it would also make sense if with something seemingly so simple that it just worked :p
    one possible idea... SuperPerms uses "plugins/PermissionsBukkit/config.yml" as its permissions path (different than Permissions 2.7.7 path), is it possible that XcraftGate is looking in the wrong place for the permissions (as in "plugins/Permissions/blahblah" instead)? forgive me if this is a horrible idea, like i said, im not a plugin developer and i dont know how all the code is arranged, just going off other experiences.

    i was also just thinking temporary in terms of ignoring superperms. in the case of Permissions 2 and 3, XcraftGate would just connect with Permissions, but in the case of detecting superperms (if possible), pretend that permissions werent detected at all and set it up so it looks at OP's instead. that way atleast it would be possible to get your plugin working for someone using superperms, rather than not at all, am i right?.

    none of the permissions are working :(
    ive tried using the permissions "XcraftGate.world: true" and "XcraftGate.gate: true" and ive tried enabling individual commands aswell, but as soon as i log in and try to use a command, i get a message saying the command is not enabled for me.

    as far as i know, superperms is working correctly, im using plugins designed specifically for it, and some others which arent(ones designed for Permissions 2), and they are working fine.
    as for permissions not registered in bukkit... i honestly dont know how to get the information i need to answer that question, other than just saying the truth on the forum of course :p

    EDIT: didnt realize that you could use "XcraftGate.*: true", attempted to use it hoping that i had the same problem as the post before mine, unfortunately that didnt work either :(

    i decided to go on a wild journey and learn how to modify and build your plugin for my needs. i removed conditionals, leaving only "if OP", and got it all compiled and working... thanks again for this awesome plugin :)

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: May 16, 2016
  30. Offline


    Multiinv separates inventories by world.
  31. Offline


    this is a question anyone might have an answer to...

    when the server is stopped and restarted, any player not in the default worlds "world" or "world_nether" will spawn back in next time at the same coordinates but in "world", instead of whatever world they were actually in before. any ideas on how to fix this? it could really cause a problem for players without teleporting commands

Share This Page