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

    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
     
  2. Offline

    Timothy Graham

    Got a q, is there a way or will there ever be a way to have sign warps like xwarp. What we want to know is have one sign teleport different players to other places? So say we have a sign that says skyland we would create in the skylands 3 warps. each named skylandhome(something) and then set the owner for that skylandhome to each differentplayer so player1 would own skylandhome1 player2 would = skylandhome2 etc.

    I think xwarp used to make it so that we could pretty much set there home somewhere. They could not use the /home command to get to it but when we put on a sign home. A player could click it and be teleported to there home. So if I clicked the sign i would tp to skylandhome1 and if another player clicked it they would be tped to skylandhome2 And such I think you get the drift.

    So yeah that is basic of what we want. Know if that will happen? or a way for us to get to this. Thanks and awesome job so far on your plugin!
     
  3. Offline

    Pr0Failure

    Basically what you're saying is you want a sign to use a command. Because when you link a sign to waypoint/warp it can only be linked to one position at a time. But having a command set to a sign (/home) it will work for anyone that punches or right clicks the sign, that's why multiple people can use it.

    I'm not sure if Waypoint will get into sign commands, but it might happen.
    You could make that a suggestion in a cleaner more formatted response :p I'll make sure miyoko takes a look at it.
     
  4. Offline

    Timothy Graham

    yeah sorry was kinda saying it while my owner was tellin me lol.

    Idea's

    player 1 (p1) and player 2 (p2) Both have a place in the wild
    p1 sets his warp as p1house
    p2 sets his warp as p2house

    In a town there is a sign. This sign says

    [WP:WARP]
    House

    Or however you would edit the sign.

    When p1 clicks this sign he got teleported to his house
    When p2 clicks the sign he gets teleported to his house

    I know mywarp has that:
    '' PULLED from mywarp its no longer supported tho!
    ...is Intelligent
    Sometimes, warps can be long and hard to remember. This is where MyWarp's auto-complete abilities come into play. It tries to find the most applicable match, and sends you there. It only considers warps you have access to, and will not send you somewhere unless it knows it's correct.
    A few examples:
    There are warps: {"Mob Spawner", "Farm", "farm", "tkelly's house", "joe's house"}
    tkelly has access to: {"Mob Spawner", "Farm" "tkelly's house"}
    joe has access to: {"Mob Spawner", "Farm", "farm", "joe's house"}
    No matter who uses /warp spawn, they will be sent to "Mob Spawner"
    If tkelly uses /warp house, he'll be sent to "tkelly's house"
    If joe uses /warp house, he'll be sent to "joe's house"
    If tkelly uses /warp farm or /warp arm, he'll be sent to "Farm"
    If joe uses /warp farm, he'll be sent to "farm"
    But if joe uses /warp arm, it equally matches both "Farm" and "farm", so will send him to neither.

    http://dev.bukkit.org/server-mods/mywarp/
    "

    WE are tryin to get this and have it so that players can't just type /warp to go places they have to use a sign. But also want it so that we don't have 100 signs. Anyway that is the gist of it. Thanks for looking at this :D
    Respectfully,
    Irish
     
  5. Offline

    Pr0Failure

    There's an easy and simple way to do what you want.
    Only give them the nodes for /home and /home set so they actually have a home. Unfortunately those cannot be controlled with signs. Although, don't forget to give them the nodes to use signs. If I'm correct, they should have these nodes.
    waypoint.world.access.<worlds> (required to use signs/commands/teleporting)
    waypoint.warp.access.<group name> (set in the config file)
    waypoint.home
    waypoint.home.set
    waypoint.sign.link.use
    waypoint.sign.warp
    waypoint.sign.world (if you want world warping through signs)

    And the people who are creating the signs should have:
    waypoint.sign.create
    waypoint.sign.delete

    As for the Farm and MobSpawner warps, those will have to be public warps which would be:
    [WP:WARP]
    Farm/MobSpawner
    <description>
    <description>
     
  6. Offline

    arabswag6

    Ok so i am having a problem with this. In the config file under warp.permissions i added a group for every one i had in my actual permissions file. Was i supposed to do that? And then in my permissions file i only added the waypoint.warp.access.Member in my members group. But i didnt add that to each group. Should i and am i doing anything wrong?
     
  7. Offline

    Pr0Failure

    If "Member" is the lowest group in your Waypoint, everyone should have that node (if they all don't inherit it already) because if Member is your default group, everyone is going to need the node to use all default warps.
     
  8. Offline

    miyoko

    Fixed in the development build found here.
     
  9. Offline

    Pr0Failure

    Stop doing that.
     
  10. Offline

    miyoko

    Stop fixing things? :p
     
  11. Offline

    Sparkkey123

    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
     
  12. Offline

    miyoko

    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.
     
  13. Offline

    Sparkkey123

    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.

    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...

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

    Pr0Failure

    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.
  15. Offline

    Sparkkey123

    I'll take a look at PEX

    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.

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

    Jek29

    Without it it is impossible?
     
  17. Offline

    Sparkkey123

    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.
     
  18. Offline

    codemonkey

    What is the fate of this plugin? Are you going to push it to dev.bukkit.org/server-mods/ or is the plugin dead?
     
  19. Offline

    Pr0Failure

    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.

    Yes you do need a permissions plugin, otherwise everything requires op.

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

    maartenxxx

    works PERFECTLY [sheep] nice work!!
     
  21. Offline

    miyoko

    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.
     
  22. Offline

    Sparkkey123

    Yes! Always keep an open mind, but not so open that your brains fall out.
     
  23. Offline

    kalle1227

    fix so all can warp or send my a fixed map folder so all can warp on my server
     
  24. Offline

    Newkeynes

    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!
     
  25. Offline

    Pr0Failure

    In the newer versions /tp commands need waypoint.world.access.<world> node.
     
  26. Offline

    codemonkey

    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.
     
  27. Offline

    Pr0Failure

    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.
     
  28. Offline

    miyoko

    This, and the fact that I don't really want to have to reformat my entire post.
     
  29. Offline

    miyoko

    Finally getting back to work. Implementing economy support.

    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.

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

    Ctark

    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!
     
  31. Offline

    danidcdcdc

    Please, tell me how i can let the other people to use /home , /spawn and other cmds, not only admins ?
     
  32. Offline

    miyoko

    You have to set up permissions to your liking in your permissions plugin. All of the available permissions are in the original post.
     

Share This Page