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

    mangine

    sleeping / leaving bed don`t set home, am I the only one with this? (config set true for set_home_at_bed (don`t even know if that what this config makes))
     
  3. Offline

    Dethknaw

    I get this error when I first run my Bukkit sever. I'm new to hosting, so I was hoping you could explain this to me :]



    22:41:29 [SEVERE] Error occurred while enabling Waypoint v1.5.2 (Is it up to dat
    e?): null
    java.lang.NullPointerException
    at me.pirogoeth.Waypoint.Util.AutoUpdate.checkUpdate(AutoUpdate.java:52)

    at me.pirogoeth.Waypoint.Util.AutoUpdate.doUpdate(AutoUpdate.java:77)
    at me.pirogoeth.Waypoint.Waypoint.onEnable(Waypoint.java:61)
    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:126)
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader
    .java:878)
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManage
    r.java:272)
    at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:162)
    at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:146
    )
    at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:284)
    at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:271)
    at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:148)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:335)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
     
  4. Offline

    mangine

    hey, I really don`t know if there`s any mistake with your config files, but try first to use version 1.5.0 more stable, than non-released 1.5.2
     
  5. Offline

    Dethknaw

    Oh, okay. let me try that real quick and I'll get back to you
     
  6. Offline

    Yusuf Mihmat

    I didnt use that command. And im using permissions v3.1.6.
     
  7. Offline

    miyoko

    I actually just fixed the set home at bed stuff a while ago, I just need to build on Jenkins. And, the AutoUpdate stuff you see there should never happen. And if it does happen, it means your main config.yml is messed up. Can you post it?

    Try using /warpadmin. You have to be the owner of that warp to change its info using /warp set.

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

    Yusuf Mihmat

    Ok. I got it now. Sorry but i also have another question. Am I able to change what group someone is in while in the game? And does anyone that joins my server get added to the users list automatically?
     
  9. Offline

    Pr0Failure

    1. You'd have to know the permission commands.
    2. Whatever you have the following group set as "default: true" will be the default permissions for new users on your server. Example of what it would look like is below.

    Code:
    groups:
        Default:
            default: true
            info:
                prefix: ''
                suffix: ''
                build: true/false
            permissions:
     
  10. Offline

    mrgoo

    I can not get this to work on our server... Any thoughts??

    Code:
    18:15:15 [INFO] [Waypoint] Reading configurations.
    18:15:15 [INFO] [MobileAdmin] Server listening on *:5839
    18:15:15 [INFO] [Waypoint] Configuration succesfully loaded.
    18:15:15 [INFO] [Waypoint] No Permissions plugin detected. Using OP
    18:15:15 [INFO] [Waypoint] Enabled version 1.5.2
    18:15:15 [INFO] [Waypoint] Saved all configurations.
    18:15:15 [SEVERE] Error occurred while enabling Waypoint v1.5.2 (Is it up to date?): null
    java.lang.NullPointerException
            at me.pirogoeth.Waypoint.Util.AutoUpdate.checkUpdate(AutoUpdate.java:52)
            at me.pirogoeth.Waypoint.Util.AutoUpdate.doUpdate(AutoUpdate.java:77)
            at me.pirogoeth.Waypoint.Waypoint.onEnable(Waypoint.java:61)
            at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:126)
            at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:878)
            at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:272)
            at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:162)
            at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:146)
            at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:284)
            at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:271)
            at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:148)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:335)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    
     
  11. Offline

    miyoko

    Try this build. http://kyoto.maio.me/job/Waypoint/52/
     
  12. Offline

    mrgoo

    No go ...

    Code:
    23:48:56 [SEVERE] Error occurred while enabling Waypoint v1.5.2 (Is it up to date?): null
    java.lang.NullPointerException
            at me.pirogoeth.Waypoint.Util.AutoUpdate.checkUpdate(AutoUpdate.java:52)
            at me.pirogoeth.Waypoint.Util.AutoUpdate.doUpdate(AutoUpdate.java:77)
            at me.pirogoeth.Waypoint.Waypoint.onEnable(Waypoint.java:61)
            at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:126)
            at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:878)
            at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:272)
            at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:162)
            at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:146)
            at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:284)
            at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:271)
            at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:148)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:335)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    23:48:56 [INFO] CButD: CraftBukkit is up to Date
    23:48:57 [INFO] [dynmap] Loaded 12 shaders.
    23:48:57 [INFO] [dynmap] Loaded 56 perspectives.
    23:48:57 [INFO] [dynmap] Loaded 6 lightings.
    23:48:58 [INFO] [dynmap] Loaded 2 maps of world 'world'.
    23:48:58 [INFO] [dynmap] Loaded 2 maps of world 'world_nether'.
    23:48:58 [INFO] [dynmap] Dynmap WebServer started on null:8123
    23:48:58 [INFO] [dynmap] version 0.21 is enabled
    23:48:58 [INFO] Server permissions file permissions.yml is empty, ignoring it
    23:48:58 [INFO] Done (0.566s)! For help, type "help" or "?"
    23:49:06 [INFO] The automatic update-Check only work every 6 hours, the last check was 353 minutes ago.
    
     
  13. Offline

    miyoko

    Ok, let me get this world importing stuff finished up and I'll release a new build that should fix that.

    Pushed to Github and built on Jenkins. Will autoupdate if you have the config variable set to true.
     
  14. Offline

    miyoko

    Add the following line to your config file:
    Code:
    autoupdate: 'true'
    
    Thats the solution to that problem.
     
  15. Offline

    Spretzjnjikhow

    this is great! :D there is just one problem... i made the warps work, but they do only work for admins... i went to the permission-config file and i did put the commands on all classes, making them able to use (should make them able) and then, when they log on they get this message: [waypoint] you do not have access to this warp. then i tried to change the properties, but when i write: /warp set spawn permissions Default, i just get this mesage telling me there is an error.... can u help me?

    EDIT: the message is: an error occured while trying to set the properties of warp: spawn
     
  16. Offline

    miyoko

    Can you post the error that's showing up in the server console? That would help me alot :)
    Edit: Can you also pastie your permissions file?
     
  17. Offline

    Spretzjnjikhow

    if u ment the cmd, there is no error there, only in-game... (sorry for being such a noob x))

    Permissions:
    # System is no longer used, but may become used in the future
    # Copies is for multiple-world support
    # Put the name of the world you wish for it to be a clone of, otherwise leave it empty.
    # If this file is for your default world (the one in server.properties) then you must
    # leave copies blank.
    # Example: copies: Derp - This will clone the permissions of the world Derp
    #
    # Make sure to rename this file to the name of the world that is in sever.properties under
    # level-name. So if it is level-name: world then this should be world.yml and in the
    # plugins/Permissions directory (ie. plugins/Permissions/world.yml)
    #
    # NOTE: Do not use tabs while editing this document. Use only spaces. A good way to avoid
    # doing this is to use Notepad++ and replace the tab with 4 spaces.
    plugin:
    permissions:
    system: default
    copies:

    ##
    # AntiBuild is included with this. To disable a group from being able to build then
    # set the build: flag to false (build: false). If you want a group to be able to build
    # then set it to true.
    ##
    # Groups can contain inheritance.
    # To make a group inherit the permissions from another
    # group simply place the groups name in the "inheritance:" like so:
    #
    # Example:
    # inheritance:
    # - Default
    ##
    # All permissions including the asterisks must be placed in single quotes.
    # like so:
    #
    # - 'foo.bar'
    #
    # Otherwise errors will happen!
    ##
    # Globalized Permission settings:
    #
    # If a permission contains periods (.) you can denote a globalized parameter:
    #
    # - 'foo.*'
    #
    # This will allow you to use all general commands.
    #
    ##
    # Single Asterisk denotes all commands:
    #
    # - '*'
    # If you give a group this permissions, do not have the group inherit any permissions
    # from other groups. Any users assigned to this group should NOT be given any additional
    # permissions either.
    ##
    # To exempt a node use the - prefix like so:
    # - '-foo.bar'
    ##
    # prefix: and suffix: do not do anything on their own. You need another outside plugin
    # such as iChat or HeroChat in order for these to do anything.
    groups:
    Default:
    default: true
    info:
    prefix: '&2[&2Builder&2]&f'
    suffix: ''
    build: true
    inheritance:
    permissions:
    - 'waypoint.warp.access.Default'
    Moderator:
    default: false
    info:
    prefix: '&1[&1Mod.&1]&f'
    suffix: ''
    build: true
    inheritance:
    - Default
    permissions:
    - 'waypoint.warp.access.moderator'
    - '/tp'
    Admins:
    default: false
    info:
    prefix: '&4[&4Admin&4]&f'
    suffix: ''
    build: true
    inheritance:
    permissions:
    - '*'

    ##
    # Users denote which users are included in which group.
    # TheNo1Yeti is in the Admin group
    # Herpina is a member of the Moderator group but also has access
    # to the herp.derp permissions
    # Derpina is a member of the admin group but does not have access
    # to the derp.derp permission node
    # Users can also have a prefix and suffix as seen with Herpina
    ##
    users:
    Spretzjnjikhow:
    group: Admins
    permissions:
    - '*'
    Maendes:
    group: Moderator
    info:
    prefix: ''
    suffix: ''
    permissions:
    - 'herp.derp'
    henn97:
    group: Admins
    permissions:
    - ''
    Hilmar_Eggen:
    group: Admins
    permissions:
    - '*'

    EDIT: also other players joining my server at default can't place signs... :p
     
  18. Offline

    miyoko

    Add the 'waypoint.warp' node to your default group. In a few minutes I'm going to release an update to fix the "users can't build signs" problem.

    Edit: 1.5.7 Released. Waypoint will autoupdate if you have the option enabled.
     
  19. Offline

    Spretzjnjikhow

    thanks dude, gotta see if it works though :p
    EDIT: it worked!! :D didn't work, signs still pop off when finished writing...
     
  20. Offline

    miyoko

  21. Offline

    Spretzjnjikhow

  22. Offline

    Baller911

    ummmm... i cant get the permissions to work and it just says you do not have permission when i try to use any commands
    -please help
     
  23. Offline

    miyoko

    No problem :) Glad its working for you now~!

    What permissions system do you use?
     
  24. Offline

    Sp!Ke

    Hey,
    I've got a problem with just one command when I try to perform the command /warp it saysthat I dont have the permissions to do his but I am able to set a warp.
    Do you know if there is an specific command for permissions to perform the command /warp?
     
  25. Offline

    miyoko

    Try waypoint.warp
     
  26. Offline

    Sp!Ke

    hmm now the message: [Waypoint] You do not have permissions to access this warp

    I tryed waypoint.warp.<warpname> but then this messages appears: You do not have the permissions to use this command.
     
  27. Offline

    miyoko

    Can you please pastie your permissions config?
     
  28. Offline

    Pr0Failure

    Fool, hurry up and add permission nodes for the newer commands so I can update already. I'm still using base 1.5
     
  29. Offline

    miyoko

    Why base 1.5!!!! Asdfsdsdadwss!! There are *undocumented* permission nodes for a lot of the new stuff. School is busy busy.
     
  30. Offline

    Pr0Failure

    Because I don't know what the nodes are fool :O list them and I'll update!
     
  31. Offline

    Ctark

    Great plugin, I'll be adding this later today.
    Will replace a couple other plugins that are just bloating my server as I just use 1 or 2 things from each....
    Is there anyway you could add / think about adding a max number of warps per group?
    Since you already save what player created each warp, I wouldn't think it would be too hard to just count them up and compair to a permissions info: variable for each group....
    I think this would be a great feature for this plugin!
    Thanks alot,
    Ctark
     

Share This Page