Inactive [TP/HOME/WARP] Waypoint v1.6.4(beta)- Teleportation points, home, spawn, and warp management. [1609]

Discussion in 'Inactive/Unsupported Plugins' started by miyoko, Jul 12, 2011.

     
  1. Offline

    miyoko

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Notice!

    THIS PLUGIN IS OLD AND VERY VERY OUTDATED. DOWNLOADS ARE NO LONGER AVAILABLE, AND SUPPORT FOR THIS PLUGIN HAS BEEN DROPPED. IF YOU NEED A SIMILAR PLUGIN, PLEASE USE ZPort


    Waypoint - simple teleportation point and home/spawn/warp management plugin:
    Version: v1.6.4 beta

    NOT YET UPDATED FOR 1.2

    *New in 1.6: modular command hookins, reworked command system, SuperPerms, ????*

    Waypoint is an easy teleportation point management and home location
    management plugin. You can create teleportation points to go back to later
    as well as share privately with other users. You can also create public warps that only certain groups of users can access.

    Waypoint's Features:
    • Add/delete waypoints for later access
    • List all of your waypoints simply
    • Share your points privately with other users
    • Points are private, and only accessable by you, unless shared
    • Multiworld support
    • Permissions/SuperPerms/OP support with strict nodes.
    • Home location management
    • Home location is automatically set to the bed you last exited (only if enabled in config.)
    • Create and manage public warps
    • Control which groups of users can access these warps
    • Save/Load the spawn points for all of your worlds
    • Selective showing of warps (you only see what you can access.)
    • Teleport easily between worlds
    • Create and import other worlds
    • Create and teleportation signs to travel to warps or world spawnpoints
    Download: JAR | SRC
    Development build (bleeding edge): JAR
    Integrity (CI): Waypoint project

    If you like my work, please consider sending a dollar or two my way so my little development company can pay for a server to do work and testing on :)
    [IMG]

    For those of you that want to contribute, or even just watch progress get made on this, check this out: http://phabricator.maio.me/project/view/1/

    Phabricator: Source Code/Collaboration

    Commands:
    • /wp add <name> -- add a waypoint to your list
    • /wp del <name> -- remove a waypoint form your list
    • /wp tp <point> -- teleport to your point
    • /wp invite <player> <point> -- send an online player an invite to your point
    • /wp accept <point> -- accept an invite to a point
    • /wp decline <point> -- decline an invite to a point
    • /wp list -- list of all of your points
    • /home -- teleport to your home
    • /home set -- set your current location to your home
    • /spawn [world] -- teleport to the world's spawn point
    • /spawnadmin <save|load> [world] -- save or load the spawn point of the specified world
    • /spawnadmin set -- set the spawn point of your current world
    • /warp [warpname] -- teleport to the specified warp, if you have access
    • /warp add <warpname> -- create a public warp with the default permissions
    • /warp del <warpname> -- delete a warp you own
    • /warp set <warpname> <owner|permission|or a custom value> <newvalue> -- set property values in the warp's metadata
    • /warp list -- list all warps that *YOU* have access to
    • /warpadmin <set|del> <warp> [key] [value]
    • /tp <player> [target] -- teleport to another player, or teleport one player to another.
    • /tphere <player> -- ejects the target from a vehicle (if applicable) and teleports that player to you.
    • /tploc <x,y,z> -- teleport to a set of coordinates.
    • /world [worldname|create|import|list] -- displays what world you are in and your current position, or if given a worldname, teleports you to that worlds spawn.
    Installation and Configuration:
    Download the jar file and drop it into your minecraft server's plugins/
    folder and reload/restart the server. The configuration will be
    automatically created for you.

    Teleportation Signs:
    To create a teleportation sign, you must format it like this:
    Code:
    Line 1: [WP:WARP] or [WP:WORLD]
    Line 2: world name or warp name
    Line 3: (optional) description # maybe economy cost at some point soon
    Line 4: (optional) description
    
    It is case insensitive btw.

    Configuration options:
    'set_home_at_bed': set this to true if you want your home to be reset
    whatever bed you get out of.
    'autoupdate': check for updates and download upgraded jars automatically
    'warp.groups': permission groups for warps
    'warp.string': message sent to user after teleporting to a warp, %w is warpname, %p is playername
    'limits': self-explanatory.

    Permissions Nodes: (should each be self-explanatory)
    • waypoint.basic.add
    • waypoint.basic.delete
    • waypoint.basic.teleport
    • waypoint.basic.invite
    • waypoint.basic.invite.accept
    • waypoint.basic.invite.decline
    • waypoint.basic.list
    • waypoint.debug.config_node_test << debugging *ONLY*
    • waypoint.home -- you *must* add this if you want to be able to use home commands
    • waypoint.home.set
    • waypoint.home.set_on_bed_leave
    • waypoint.admin.spawn
    • waypoint.admin.spawn.set
    • waypoint.admin.spawn.save
    • waypoint.admin.spawn.load
    • waypoint.admin.warp
    • waypoint.admin.world.create
    • waypoint.admin.world.import
    • waypoint.teleport.teleport -- for general teleportation actions
    • waypoint.teleport.location -- for coordinate-based teleportation
    • waypoint.teleport.here -- for teleporting players to you
    • waypoint.spawn -- you *must* add this if you want to be able to use spawn commands
    • waypoint.warp -- you *must* add this if you want to be able to use warps
    • waypoint.world -- you *must* add this if you want to be able to use /world
    • waypoint.world.teleport
    • waypoint.world.list
    • waypoint.world.access.<worldname> -- more info on this below
    • waypoint.warp.access.<permission category>
    • waypoint.warp.create
    • waypoint.warp.delete
    • waypoint.warp.list
    • waypoint.sign.link.create
    • waypoint.sign.link.use
    • waypoint.sign.link.delete
    • waypoint.sign.warp
    • waypoint.sign.world
    • waypoint.cost_exempt.teleport -- teleports do not cost a single dime.
    Known Bugs:
    • Set home at bed is not disabling, ever. Currently looking into it. T3
    If you find a problem, report it at Github.

    Permissions Setup:
    Here is a sample Permissions 2.7.4 configfile with Waypoint's nodes already set up, and a user set up to give an example. Change it to your liking.

    << Thanks Pr0Failure :D

    World Access
    As of about 1.6.1, I added a few new things that implement a whole "world access" type schema of features. Players will NEVER be able to access a world unless they have the "waypoint.world.access.<worldname>" or "waypoint.world.access.*" permissions. I will add a configuration option to disable this, but for now, it's always on. If you want to effectively disable it without a config option and your permissions system supports inheritance, simply place the "waypoint.world.access.*" node at the lowest level and it should filter up through everything that inherits that or its children. I only added this because I felt it would be handy in the case of servers wanting to prevent griefing in creative worlds, but leaving whitelisting off, and just spawning all new users in the spawn world, but not letting them traverse your minecraft universe of worlds. There will be a config option to turn this off soon. By the way, if you didn't catch the gist of what I was really saying, this prevents ALL teleporting between worlds (only if you don't have the permissions for that world) no matter what you use to teleport. This catches events at a low level and checks each user's permissions as they change worlds. But enough about this.

    Bugs and Errors
    If you get a "An internal error has occurred" message when you use a command, * PROVIDE A TRACEBACK PLEASE. * (hint: a traceback is the error code in the server console that shows the error and its callers)
    And for those of you that didn't read this text, maybe this image will catch your attention:

    [IMG]

    TODO:
    • Fix PermissionsEx not being detected correctly.
    • Rewrite command structure again with sk89q's command framework.
    • Add configuration options to disable various things.
    • Clean up core support code (me.pirogoeth.Waypoint.Core.*)
    • OpenAuth integration in the future?
    Changelog:
    Version 1.6:
    • Completely rewrote the command parser from the ground up.
    • Added SuperPerms support
    • Split commands apart into categories (much cleaner for anyone who works through the code)
    • (Supposedly) Fixed NPE from LoadWorlds during plugin load.
    Version 1.5:
    • Rewrote the configuration loader and put it in its own class
    • Restructured config storage
    • Added new warp limitations
    • Added an autoupdater
    Version 1.4.5
    • Fixed warp permission loading and detection
    Version 1.4.4
    • Fixed the internal errors spewed on /warp set
    Version 1.4.1
    • Removed some unneeded imports
    • Removed some unused variables
    • Now using String.format in checkperms
    Version 1.4
    • Added warp management
    • Restructured most of the config file formatting.
    • Homes-per-world (you can have one home per world now.)
    • Added spawn management
    • Added backup/restore of world spawn points
    Version 1.3
    • Added home support
    • Fixed configuration node bugs
    Version 1.1
    • Added invite support
    Version 1.0
    • Wrote all base code
    And some thanks.
    Definitely got some big thanks here, especially to Pr0Failure, who been testing the crap out of this, even during its magical beta stages. And some more thanks to all of you that put up with me not being around for weeks on end due to school. And thanks to others who at one point sent in a pull request to fix something I had missed. I love you all, you're a very supportive community :) Also, some big thanks to Ctark who's been following this like crazy and even digging through my messy code to find nodes to help others while I'm not around :) Again, THANK YOU ALL <3

    This post has been edited 52 times. It was last edited by miyoko Dec 21, 2012.
  2.  
  3. Offline

    Pr0Failure

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Stop doing that.
  4. Offline

    miyoko

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Stop fixing things? :p
  5. Offline

    Sparkkey123

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    I can switch over to bpermissions as a last resort, but I would really like to make it work with permissionsbukkit, as that is supposed to be the "defacto standard" if I understand correctly. I removed all groups in the waypoint config and just left default and admin. Didn't make a difference. Am I using the command correctly to make a "public" warp by typing "/warp add overhere2" or do I need to add something to allow other people to use it?


    If I am correct, the snippet of code that seems to be halting me is:

    ( lines 101 through 109 in src/me/pirogoeth/Waypoint/Core/Warps )
    Code:
    String permission = (String)config.getProperty(WarpNode(warpname, "permission"));
            if (!checkperms(p, permission)) {
                p.sendMessage(ChatColor.RED + "[Waypoint] You do not have permissions to access this warp.");
                return true;
            }
            String worldname = (String)config.getProperty(WarpNode(warpname, "world"));
            if ((!p.getWorld().toString().equals(worldname)) && (((String)Config.getMain().getProperty("warp.traverse_world_only")).equals("true"))) {
                p.sendMessage(ChatColor.RED + "[Waypoint] You are not allowed to warp between worlds.");
                return true;
    Apparently the checkperms(p,permission) is coming up false as OP, but True as default.
    If I am chasing the impossible, I will switch over to bpermissions but it would be nice to get it going with permissionsbukkit.


    -JP
  6. Offline

    miyoko

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Just saying, but, the "defacto standard" may not be the best way. PEX is a far better permissions handling system from what I've seen using it during testing and on my production server. But that's just my two cents. I don't know the first thing about permissionbukkit or bpermissions. @Pr0Failure knows more about all the permissions systems than I do. I only know stuff about PEX and Permission 2.7.4.
  7. Offline

    Sparkkey123

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    I am just starting to get a handle on the whole permissions concept, and am just going along as I figure things out.
    I did some testing on other commands like list and add and I can turn those on and off no problem.
    There is something about signs that permissionsbukkit doesn't want to pass along to default. I am going to try making a different group (and include myself in that group) with appropriate permissions and see if it is just "default" that has a problem.

    I watched a video on bpermissions and it's not too bad. I will look at PEX as an alternative as well.
  8. Offline

    Sparkkey123

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    same result. Noticed something else kinda odd.
    If I added waypoint.*: true
    ...which should give all waypoint permissions (if I am not mistaken) I got a different message
    saying I could not use this sign. But I then added each individual permission and then got the message "you cannot use this WARP... as if it is ignoring the "*"...

    I'm going to go download bpermissions now...
  9. Offline

    Pr0Failure

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Get PEX, it's a lot better.
    It supports BukkitPerms
    It's it's own permissions plugin (PEX)
    And it has a Yeti's permissions layer for older plugins to hook into.

    So really you're getting all the permissions in one. bPerms is like... White paint.
    miyoko likes this.
  10. Offline

    Sparkkey123

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    I'll take a look at PEX
  11. Offline

    Sparkkey123

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Groovalicious. Installed the new Waypoint.Jar and now there is no more blog in the server log every time I use a teleport sign. I also loaded the latest PEX from Jenkins and the first permission test worked. The light at the end of the tunnel is not a train. I will now dig a little deeper into the setup of the config. suuuweeet.

    This post has been edited 1 time. It was last edited by Sparkkey123 Jan 19, 2012.
    miyoko likes this.
  12. Offline

    Jek29

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Without it it is impossible?
  13. Offline

    Sparkkey123

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    PEX is the winner. I concur with not bothering with another plugin unless you have good reason to. It has in-game commands to add groups, members, permissions, promoting, etc etc. You can also edit the config file manually if you so desire, but it's not needed. It also includes a chat plugin and a couple other goodies... and the permissions work perfectly with waypoint (so far), so I am sold. I had it set up and running in 10-15 minutes.
  14. Offline

    codemonkey

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    What is the fate of this plugin? Are you going to push it to dev.bukkit.org/server-mods/ or is the plugin dead?
  15. Offline

    Pr0Failure

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    We gave up on Bukkit Dev, the plugin isn't dead. It's just being updated slowly. He has a life outside of programming you know, now that finals are over he might be more active on Waypoint.
  16. Offline

    Pr0Failure

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Yes you do need a permissions plugin, otherwise everything requires op.

    This post has been edited 1 time. It was last edited by Pr0Failure Jan 19, 2012.
  17. Offline

    maartenxxx

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    works PERFECTLY [sheep] nice work!!
  18. Offline

    miyoko

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Aren't you glad we convinced you to try it? :p

    It is definitely not dead. I'm not planning to move it to BukkitDev unless I'm forced to (I like this method better, it kinda keeps communication going), but even then, I'm still going to raise hell. I've been busy with finals, homework, and stuff between switch from first to second semester. I need to figure out what *exactly* I need to do for when I push a new update. I've got a few things queued up in Phabricator, but my life has been extremely busy since the end of Christmas break and I've had to take care of other projects, such as my old IRC bot and my developer profile. Once all this second semester crap dies down, I can get back to some serious plugin work.

    Yeah, you kinda need a permissions plugin (preferably PEX), otherwise the plugin will just check if the user has OP and that's the end of it, no groups or anything special.
  19. Offline

    Sparkkey123

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Yes! Always keep an open mind, but not so open that your brains fall out.

    This post has been edited 1 time. It was last edited by Sparkkey123 Jan 22, 2012.
  20. Offline

    kalle1227

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    fix so all can warp or send my a fixed map folder so all can warp on my server
  21. Offline

    Newkeynes

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Problem with Waypoint-Teleportation:
    Users without op-rights can't use the command /tp <player>. This command is supported by two plugins - commandbook & waypoint. They got the message: "You don't have the permission to enter this world" - although both players are in the same world.
    This are the basic-permissions for my Users:
    - commandbook.teleport
    - waypoint.basic.*
    - waypoint.teleport.teleport
    - waypoint.warp
    - waypoint.warp.access.*
    - waypoint.world
    - waypoint.world.teleport
    So, where is the problem, pls?! Thx so much!
  22. Offline

    Pr0Failure

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    In the newer versions /tp commands need waypoint.world.access.<world> node.
  23. Offline

    codemonkey

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    While I like this plugin more than multiverse. I have switched to multiverse because this plugin doesn't intent on converting to the dev.bukkit.org/server-mods. If I see waypoint 1.6 listed in server-mods then I will highly consider moving back.

    One thing I would like to add is that feature wise the main issue I did have was that it wasn't modular. please make the different pieces enabled or disable in the config.

    Good luck in your studies and development.
  24. Offline

    Pr0Failure

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    It has a bukkitdev page. Him/we just don't use it because using the forums is more community based to solve problems faster. And there are several functions that you can enable/disable, try updating for once.
  25. Offline

    miyoko

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    This, and the fact that I don't really want to have to reformat my entire post.
  26. Offline

    miyoko

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Finally getting back to work. Implementing economy support.
    Pr0Failure likes this.
  27. Offline

    miyoko

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    I have completed economy support inside of Waypoint, and a jar with costs implemented for TELEPORTS ONLY exists here. If you decide to use this alpha build, please note that I am not responsible for any weirdness (this is an alpha :p) and you must have the Vault plugin (obviously as well as an Economy plugin) to enable Economy functions.
  28. Offline

    Ctark

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Cool people use register.... :D

    Very tempting to test that alpha though I have to make sure all my other plugins support vault aswell.
    Goodjob!
  29. Offline

    danidcdcdc

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Please, tell me how i can let the other people to use /home , /spawn and other cmds, not only admins ?
  30. Offline

    miyoko

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    You have to set up permissions to your liking in your permissions plugin. All of the available permissions are in the original post.
  31. Offline

    Zoon

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    I can't for the life of me figure out how to set 1 single /spawn.
    I want users to be able to use /spawn from the Nether, End, or where ever and always go back to the same starting point (In the default world).
    Also, /home to work the same... they always go to their /Home set in the default World..

    help please!
  32. Offline

    Pr0Failure

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Every world has their own spawn. So you won't be able to do that with /spawn. They'll have to use /world <default world>, /home should always work (I think).

Share This Page