[MECH] BorderGuard v4.40: #1, Most Efficient Map Limiter [1.7.8]

Discussion in 'Archived: Plugin Releases' started by Intelli, Jan 31, 2011.

  1. Offline

    Intelli

    BorderGuard 4.40

    BorderGuard is the MOST efficient Border plugin available!
    100,000+ downloads! Thank you for your support!

    This plugin prevents people from exploring beyond a defined border. This plugin checks for all movement, including vehicle movement, and will keep you within the border even if you remain within a vehicle.

    Downloads:
    http://minerealm.com/plugins/borderguard/BorderGuard.jar (v4.40)
    (If you appreciate this plugin, please feel free to leave a comment below. =])

    To set an invisible border:
    /setborder <distance> <square|round> - Set the border, and the distance of the border from your current point. Optionally, also specify if the border is to be square or round.

    To disable the border:
    /disableborder - Remove the border.

    ---

    Only the person who first uses the /setborder command can use it again, or remove the border.

    The plugin has multi-world support. When setting a border, you're only setting the border for the world you're presently situated in. You'll need to set a border for each separate world.

    [​IMG]

    Version History:
    V4.40 - Fixed vehicle teleportation & added Material data support.
    V4.31 - Added a quick fix so that it'll work with the CraftBukkit development build.
    V4.30 - Updated to work with the new Bukkit API (#1846) R5+
    Older Versions (open)

    V4.20 - Fixed it so the save-file no longer becomes corrupted with multiple worlds. Code cleanup.
    V4.11 - Changed getDisplayName() checks to getName().
    V4.10 - Major performance enhancements. Using version 4 is highly discouraged.
    V4.00 - Modified to work with the latest craftbukkit version (953). Older versions no longer work.
    V3.10 - Removed the multi-threading, was causing accuracy issues.
    V3.00 - BorderGuard Turbo! Now works with bukkit 670, and has completely overhauled the base BorderGuard "engine", resulting in a huge performance boost.
    V2.40 - Updated to work with the latest version of bukkit. (602)
    V2.30 - Resolved multi-world issues. Now properly handles multiple worlds.
    V2.20 - Updated to work with the latest version of bukkit. Existing configuration files will no longer work. (Borders must be re-defined).
    V2.10 - Updated to work with the latest version of bukkit. Fixed movement issues with the "round" version.
    V2.00 - Multi-world support, better teleporting, no duplicate warning messages, configuration file now within folder.
    V1.00 - Released plugin.

    Notes:
    1. Using, for example, "/setborder 5", will set the border 5 blocks away from the location you are standing. This would create a border that is 10x10 in size.
    2. For the full plugin, with physical borders and more, take a look here: http://forums.bukkit.org/threads/mech-borderguard-v2-00-limit-your-map.656/

    Let me know if you have any questions, or find any problems.
    Enjoy!
     
    AviciiPL, MrMag518, MiRROW and 23 others like this.
  2. Offline

    maxsteele

    Craftbukkit #450

    I created a border in my normal world. I hit the border. I made a warp nearby, logged out, and restarted the server. I checked, and the border stayed.

    I warped to my Nether world (using Multiverse) and set the border there. I went to the border and it worked. I came back to the normal world, and warped to my border. The border was now gone.

    I then set a new border standing at 0,0 on my normal world. I went to the border, and it worked. I warped to my Nether world, then warped back to my normal world spawn point. I went to the border, and the border worked.

    I warped back to the Nether, and set a 1000 border. I warped back to the normal world, went to the border, and it worked.

    I can't seem to reproduce it exactly, but I definitely had the border stop working on me.

    EDIT:

    I got it to stop working again. It seemed like when I restarted my server a second time, the borders went away. It looks like my Nether border held steady though. Going back there it's still protecting that map's border. The normal world border is not working though.

    Here is my BorderGuard.properties file:

    Code:
    borderdata=maxsteele,-0.9273552487341006,67.0,-0.6476587900330163,1000,1076289756,
    borderdata=maxsteele,-0.30000001192092884,72.0,0.18801556215581483,2000,-513505169,
    I'm not sure how it sees which world each one is supposed to apply to...
     
  3. Offline

    skawke

    Same problem here. Basically, my borders get disabled when server restarts.
     
  4. Offline

    silentdojo

    Usung CB 484 and I am experiencing the restart bug where the border doesn't save as well.
     
  5. Offline

    Latros

    --- merged: Mar 2, 2011 6:02 AM ---
    Anyone have any ideas for this?
    --- merged: Mar 2, 2011 6:37 AM ---
    :(
     
  6. Offline

    Blackstorm72

    @Latros, it looks like your past CB Build #450 (where the TSLPC was removed in the plugins - It appears Intelli updated to version 456 to fix this issue), have you tried updating to his new version v2.10? It should fix that issue.

    Plugins that use TSLPC (an old constructor used before build #450) after build #450 will throw this exception errors that you pasted.
     
  7. Offline

    Lunar Delta

    It's functioning strangely. I set my border for 7000 and people are getting bumped back at 4500 or so.
     
  8. Offline

    Intelli

    Do you have multiple borders? (Main world & nether?)
     
  9. Offline

    Kainzo

    Border is not currently working and its very strange - there are a lot of bugs at the moment. I set the border on my main world and one for the nether - the nether one is not working. The Main world is sorta working.

    b493
    v2.10
     
  10. Offline

    NEO

    borderguard lite square is working fine for me

    B493
    V2.10
     
  11. Offline

    Rocik

    Hey!
    If i reach border then it teleport me to x location, is any way to change this x to where border was set?
    Anyway better if border could retreated 1 block back.
     
  12. Offline

    Kane

    Also confirming this. No issues at all here.
     
  13. Offline

    Kaseki

    There's still something wrong with this. If I teleport to 'desert', and set the border to 2048, then teleport to 'nether', it has a border. 'world' however has no border. The multiworld support is just... odd. Are you supporting only one other world?
     
  14. Offline

    Intelli

    Nope, should work with any number of worlds. (Although I've only tested it with two)
     
  15. Offline

    Kaseki

    I can make you an admin on my server if you want to check it out. I'm using Borderguard Lite 2.10 (Square)
     
  16. Offline

    henk

    Reporting in. Updated to cb#493 and v2.10 of this plugin. When I walk into a border the server freezes and cpu-usage goes to 200% (dual-core). No error in the log, I have to kill the java process.
     
  17. Offline

    Kainzo

    This is how you "break" the border of your server.

    1) SEt the border in MAIN (I did /setborder 2500. Then go to the NETHER world - I did /setborder 1000
    2) Return back to Mainworld - Go to the border at 2500, theres nothing stopping you from going across. DOES NOT WORK.
    3) Restart the server - the issue persists. Fix? /setborder 2500 again in MAIN world. It is happening at random, due to this screw up - I now have a 2500,2500 map with a 6000 striaght line. Feck - anyone know a good SQUARE map pruner?
     
  18. Offline

    Intelli

    Odd. I'll be running some tests tonight.
     
  19. Offline

    MonsieurApple

    Hey, how about having a per-group border setup that integrates directly with permissions yaml config (or you could just have it write to a seperate file). I threw together some quick code on how it might work:
    Code:
    import java.io.*;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileWriter;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    import org.yaml.snakeyaml.Yaml;
    import org.yaml.snakeyaml.constructor.SafeConstructor;
    import org.yaml.snakeyaml.reader.UnicodeReader;
    
    import com.nijiko.permissions.PermissionHandler;
    import com.nijikokun.bukkit.Permissions.Permissions;
    
    public void setGroupBorder(String group, Integer limit, Integer x, Integer y, Integer z) {
        Map < String, Object > data;
        File file = new File("plugins/Permissions/(default world).yml");
    
        Map < String, Object > groups = (Map < String, Object > ) data.get("groups");
        if (groups == null) groups = new HashMap < String, Object > ();
    
        Map < String, Object > groupData = (Map < String, Object > ) groups.get(group);
        if (groupData == null) groupData = new HashMap < Integer, Object > ();
    
        if (groupData.get("borderlimit") == null) groupData.put("borderlimit", new Integer[0]);
        if (groupData.get("borderx") == null) groupData.put("borderx", new Integer[0]);
        if (groupData.get("bordery") == null) groupData.put("bordery", new Integer[0]);
        if (groupData.get("borderz") == null) groupData.put("borderz", new Integer[0]);
    
        groupData.put("borderlimit", limit);
        groupData.put("borderx", x);
        groupData.put("bordery", y);
        groupData.put("borderz", z);
        data.put("groups", groups);
    
        FileWriter tx = new FileWriter(file, false);
        try {
            tx.write(yaml.dump(data));
            tx.flush();
        }
        finally {
            tx.close();
        }
    }
    
     
  20. Offline

    ledhead900

    can anyone tell me borderguard lite has been fixed to stop sying "your at the border" and tp u to some random location when warping and using multiverse?
     
  21. Offline

    TfT_02

    Hey Intelli (or someone else who can help me:) ) I'm having a bit of a problem. The thing is, I'm using GroupManager to handle the group thingies. When I set the border nobody else can change it, so that all fine. :) But when you type /help you still see the commands. Is there a way to set permissions so that only the admin (me) will see those commands?
     
  22. Offline

    RazMaTaz

    I used MCEdit to kill off areas that I didn't need due to testing some other plugins and being teleported to various places that didn't exist yet.

    IIRC it has a prune command.
     
  23. Offline

    kr580

    Is the normal behavior to send the player back to spawn after trying to walk past the invisible border a number of times? I was testing it on my server and I would get teleported back to spawn after my 3rd attempt to walk past the border. Is there any way to just keep giving them the border message but not teleport them back to spawn? Thanks.
     
  24. Offline

    Fireside

    @ TfT_02 depending on what supplies your help command, I believe it to be a limitation in CB for the moment. In essentials you can tell it not to display other plugins commands in help. Its not much of a fix but it will do.

    @kr580 It seems random to me. Most of the time it will just bump me back into the area. If I try to /jumpto past it by a fair way I would expect to get sent to spawn.
     
  25. Offline

    kr580

    Well I warp to about 100 blocks short of the set boundary then take a leisurely stroll towards it. At some point it pops me back to boundary and gives me the message about having hit the wall. I walk past a few times more and it eventually sends me back to the spawn point. Grr. I'd hate to have one of my players walk all the way out there from spawn (the only developed area so far which is small) only to get teleported out of there and negate their journey.
     
  26. Offline

    Snookieboy

    This plugin has been playing up a lot recently, Borders randomly disappearing, randomly not enforcing and randomly the config file clears itself. Running current Recommend Bukkit, any chance of some stability updates please? ;(
     
  27. Offline

    Brettflan

    So, I've asked this before, but... is the source available anywhere? I checked on your site and on GitHub but couldn't find it.
    A suggestion, though, for something I'd at least change for myself if I had access to the source: change the world identification method to use world names instead of the ID numbers you're using.
    Also, it would be nice to have a command like /getborder which could be used to check and make sure a border is set in the current world. It would presumably output something like "This world has a border of 2000 set at -14, 65, 23".
     
    GameFAQsRolo likes this.
  28. Offline

    TfT_02

    Allright thanks! I changed the settings in essentials. It will do but it a bit inconvenient.
     
  29. Offline

    Kainzo

    Can anyone fix these seemingly random issues? really tired of our borders getting griefed and theres no alternatives.
     
  30. Offline

    GmK

    You can use EpicZones and only use the multiworld-border part of it, works pretty fine.
     
  31. Offline

    Kainzo

    Interesting - we may have to do that - my borders have been griefed twice now and its just exhausting shutting down a server with 50+ players in prime time to fix it.
     

Share This Page