[INACTIVE][SEC/FUN] Factions v1.1.7 - Guilds, War and user-controlled antigrief [733]

Discussion in 'Inactive/Unsupported Plugins' started by Olof Larsson, Feb 6, 2011.

Thread Status:
Not open for further replies.
  1. Offline

    Olof Larsson

    Factions - Guilds, War and user-controlled antigrief :)
    By Olof Larsson and Brettflan.

    Current version: 1.1.7
    Download: https://github.com/oloflarsson/Factions/tree/master/releases
    Source: https://github.com/oloflarsson/Factions
    Read the full userguide here: http://mcteam.org/plugins/factions

    This plugin will allow the players on the server to create factions/guilds. The factions can claim territory that will be protected from non-members. Factions can forge alliances and declare themselves enemies with others. Land may be taken from other factions through war.

    The goals of this plugin:
    • The players should be able to take care of anti-griefing themselves.
    • Inspire politics and intrigues on your server.
    • Guilding and team spirit! :)
    Fork me on github!
    I would be glad to code on this plugin together with you :). Please fork me on github and do a pull request. Read more here:
    http://help.github.com/fork-a-repo/
    http://help.github.com/pull-requests/

    There will be cake if you join me in the coding [cake] :)

    Usage
    Read the full userguide here: http://mcteam.org/factions <-[cake]

    The chat console command is:
    • /f
    This command has subcommands like:
    • /f create my faction name
    • /f invite my friends name
    • /f claim
    • /f map
    • ... etc
    You may also read the documentation ingame as the plugin ships with an ingame help manual. Read the help pages like this:
    • /f help 1
    • /f help 2
    • /f help 1
    Note that you may optionally skip the slash and just write
    • f
    Installing
    1. Download: https://github.com/oloflarsson/Factions/tree/master/releases
    2. Put Factions.jar in your plugins folder
    If you have Permissions installed you will need to configure it. Read more here.

    Current ToDo list:
    1. More admin controll, for example reassign faction admins.
    2. Command to reload config file.
    3. Give factions a limited number of separate territories. "You may only claim at the border of your territory". Purpose of this is to stop players from claiming land in a scattered way. Factions will be more stationary. This will encourage factions to build one main town.
    Changelog:
    Version 1.1.7

    • Package structure changed to move it out of com.bukkit.* namespace (Olof Larsson)
    • Removed Help plugin support as that plugin is not updated. (Olof Larsson)
    • Changed name for No Faction to Wilderness (Olof Larsson)
    • New unclaimall command (/f unclaimall) to unclaim all of the faction's land (Olof Larsson)
    • Safezone claiming command now has optional radius input (/f safe [radius]) to claim a larger safezone area at a time (Olof Larsson)
    • Added check to make sure chatTagInsertIndex is valid before using it, to prevent triggering an exception (Brettflan)
    • Players who aren't currently in a faction should no longer get "Person left your faction" messages when others join a faction (Brettflan)
    • Attempt at simple workaround for error related to NPCs from Citizens plugin (Brettflan)
    • Placement and removal of paintings is now prevented if you're in another faction's territory (Brettflan)
    • /f map has been updated to fit inside the new Bukkit line-width limits (39 tiles wide instead of 49) (Brettflan)
    EDIT: by the way, you do need to have build 726 or newer of CraftBukkit (RB 733, for instance) since the painting events were added then.
    More changelog:
    Show Spoiler

    Version 1.1.5 (By Brettflan)
    • Fix for left-clicking on wooden doors not being detected
    • Fix for null faction home location when loading factions data
    • Added "factions.adminBypass" permission which will allow players with that permission to bypass the building/destruction and usage limitations inside faction territory
    • New boolean config options territoryBlockTNT (default false), safeZoneDenyBuild (default true), safeZoneDenyUseage (default true), safeZoneBlockTNT (default true).

    Version 1.1.3 (By Brettflan)
    • updated to work with RB 600/602
    • handled a couple of potential NPEs, one caused when saving faction info, and one where it could try sending messages to a player who is offline or otherwise doesn't currently exist for whatever reason
    • fix/workaround for bucket usage not always being detected if 2-3 blocks away
    • faction-tagged chat messages sent to the console and log now have crufty color tags (like "§f" and such) stripped out
    Version 1.1.2
    • bugfix - admins could not place signs etc in safezones (Olof Larsson)
    • Added some missing instaDestroyItems (painting and flowers) (Olof Larsson)
    • Added ability to load old pre-1.1 data files (board, factions, followers) if they exist and new files don't (Brettflan)
    Version 1.1 (by Olof Larsson)
    To upgrade: Remove you Factions folder
    I'm sorry about that. There just are so many changes to the save files.
    • Permissions plugin support
    • Help plugin support
    • Faction homes
    • Better save file format
    • Inactive players are kicked from their faction
    • SafeZones - PVP and monster safe areas
    Version 1.0 beta7 (by Brettflan)
    • Fix for enemy attacks potentially healing people in their own territory due to armor calculations, instead of correctly just giving reduced damage.
    • Placement/use of these items inside another faction's territory is now prevented: redstone wire, sign, flint&steel, bucket (empty, water, and lava).
      Code is also in place to prevent placement of beds and repeaters, but CraftBukkit doesn't properly detect those yet.
    • Fix for destruction of certain blocks not previously being detected and prevented: torch, redstone torch, repeater, redstone wire, sapling, crops, sugar cane.
    • Minor spelling and grammar fixes
    • Added options "territoryBlockCreepers" and "territoryBlockFireballs" to configuration file (conf.json). These both default to disabled. If enabled, they will respectively prevent creepers or ghast fireballs from destroying blocks if they explode inside faction owned territory. These can prevent griefing by way of luring creepers into another faction's territory.
      Note that both explosion types will still hurt nearby players and mobs, they just won't destroy blocks.
      Also note that "territoryBlockFireballs" only works in CB build 557 and higher, where fireball detection was added.
    Version 1.0 beta6
    To upgrade:
    Factions now use world name instead of world id for the board files.
    Nothing will be claimed when you start the server. Change the board file name(s)
    from something like 234978619762348768.json to something like world.json.
    • Updated to work with Craftbukkit 493 (by Brettflan)
    • Paginated faction listing (by Brettflan)
    • Single jar install (by Brettflan)
    • Board files now use world name instead of world id (by Olof Larsson)
    Version 1.0 beta5
    • Updated to work with Craftbukkit 450, which means Minecraft 1.3 compatibility :)
    • For now messages like these are removed: "Playername tried to use Wooden door in your territory". They could be used for chat spamming.
    Version 1.0 beta4
    To upgrade: Start and stop the server once with the new jar. Paste the content from board.json into the newly created file in /plugins/Faction/boards/. After this you can delete board.json.
    • MultiWorld support.
    • Faction chat is now something you turn on and of.
    • Arrows are now included in the friendly fire filter.
    • Some stability fixes.
    Version 1.0 beta3
    To upgrade: Delete conf.json and rename the "name" field to "tag" in every faction.json file.
    • Greatly improved chat and messaging system! :D
      Cooperates well with other plugins. Tested with Essentials and iChat so far.
    • New faction chat command
    • More config options
    • Bugfix: You can now claim land from enemies :p
    • ... and a lot of other fixes
    Version 1.0 beta2
    • There is now a config file where you may alter chat colors, dynamics of war etc.
      I will add documentation on the config soon...
    • Made the color formating a bit more understandable.
    • There is now a broadcast when a new faction is created.
    Version 1.0 beta1
    • The first release
     
  2. Offline

    Olof Larsson

    I'm sorry but to code automatic conversion to the new format would take to much time and I rather do other things. Sorry.

    @Hansel2411
    read the post just above.

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

    Senzuri

    Thanks for the info!
     
  4. Offline

    T4L_Goose

    No, I mean, just give us a little tutorial on how to convert it over manually with copy pasting.
     
  5. Offline

    Insanehero

    First off I would like to say your plugin rocks!

    But I would like to see it to work with multiworlds. I have 2 maps and I would only like the plugin for 1 map and it is quite annoying because people lose power on the none faction map.
     
  6. Offline

    T4L_Goose

    It works fine for me and I run a multiworld server.
     
  7. Offline

    Olof Larsson

    The plugin has multiworldsupport but it does not support disabling power loss on death for certain worlds
     
  8. Offline

    nerdnosyd

    @Olof Larsson

    Great plugin but I have a couple of questions. I use this with the WormholeXTreme plugin and MultiVerse and was wondering if it'd be possible to set a zone around the gates where pvp and monsters can still surprise players but can not be claimed? I mean, I could set the server to offline mode, log in under a random name, create a faction and claim those spots but that seems like a backward way to do it...

    Also, I'm curious if it's possible to overpower a faction, as in manually setting them to have more power than the default? I tried setting a user's power level to way above the default in the players.json but it just reset itself. This would be useful for admin factions to do admin things.

    Finally, what does the setting "territoryDenyUseageMaterials": in the config file do? It's not listed on your config how to and am curious.

    A couple of suggestions if you're in the mood to take'em: an option for solo factions to have no power to claim until they get a member. Also, claiming a chunk that isn't connected to your territory (when that feature becomes available) should cost double power.

    Thanks for the awesome plugin!
     
  9. Offline

    Senzuri

    Found a bug, not sure if you know of this one.
    - Place a door in someones faction next to a wall
    - Hit the blocks next to the wall and then hit the wall

    It will let you walk through the wall.

    Part of the problem is being able to place doors in other peoples factions.
     
  10. Offline

    Sroxah

    I too would be interested in this. We have about 300 factions on our server, with thousands of players and thousands of claimed land chunks that if I were to just suddenly reset everything to scratch, it would be absolute chaos. I don't mind sitting here and copy/pasting anything for a few hours if it means avoiding the disaster that would occur if we just reset.
     
  11. Offline

    Brettflan

    I'll look into making it automatically convert old data over myself since I'd like to do it for my server anyway. No promises, but I'll give it a shot.
     
  12. Offline

    killerbeez

    Anyway to set permissions so that only the OP of the server can claim territory? I want to create the factions and then give it to a new owner after he has purchased the town. I then would claim the territory for them and if they wish to expand, they would get with me and I would expand it. Or least force prices for expanding in an expanding circle.

    Also make it so people can only be invited, not join by themselves as a global option. I'd be happy to donate some $ to get some of this pushed.
     
  13. Offline

    Brettflan

    OK, I've added the ability for it to load old pre-1.1 data if it exists and if new data files don't exist.

    You can download version 1.1.2 with this update.

    Changelist from 1.1:
    • bugfix - admins could not place signs etc in safezones (Olof Larsson)
    • Added some missing instaDestroyItems (painting and flowers) (Olof Larsson)
    • Added ability to load old pre-1.1 data files (board, factions, followers) if they exist and new files don't (Brettflan)
    EDIT: hold on a minute, let me rebuild 1.1.2. I forgot and left in some changes which apply only for the latest dev builds, so it won't work right now on the latest RB. Rebuilt, should be all good for RB 556. If you already downloaded it in the few minutes the incorrect build was up, go ahead and re-download it.
     
  14. Offline

    Cristof

    Some problem with Fchat problem!!!
     
  15. Offline

    Doc60

    How to solve the problem of wooden doors, for it can not beopened?
    please without it there is chaos on my server.
     
  16. Offline

    Gray


    Nice! Thanks Brett!
     
  17. Offline

    xian

    ? exactly that command does already work.
    :D /f open - /f close
    hf with those already implemented features.
    check /f help 1 -> /f help 6 to get more informations
     
  18. Offline

    uneekprofecy

    Can you make it to where The color system can be turned off for certain people like Admins, so I can change the color of their name. Sorry about that post before this, and I really like this plugin keep up the good work.

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

    Theborg

    Is there anyway to change the /f sethome and /f home on a specific permission only?
     
  20. Offline

    xian

  21. Offline

    GreenSage

    Feature Suggestion: It would be really nice to have the ability to enable or disable items within a faction.

    Here is the example that has prompted the suggestion: In our faction, we are starting to bolster our cities and they are slowly becoming impenetrable. Thus we thought it might be nice to enable things like just dirt or ladders to get around this.
     
  22. Offline

    Don Andi

    Hi, I really enjoy your plugin, it's just great, but it would be really awesome imo if you could configure the Properties to enable/disable PVP inside a Faction and/or do it as a Player(for yourself, or let yourself be attacked by a certain person)/Server Admin

    That way you could have duels to measure skill inside the Faction and between allied faction. I would really like that, because I like to host Battlegrounds on my Server between Factions and it's a little annoying to always be enemy with a Faction.

    Example:
    /duel [Name] -Requests a duel with [Name]
    /acceptduel -Accepts Duel
    /f pvp on/off -Enables/disables PVP for all guild members
    /pvp on/off -Generally disables/enables PVP(You can only be attacked if you enable it and the guy attacking has it enabled too)

    Just an idea, but I would really like if you just did something of that kind.
    Sorry for my bad English, I'm German and I'm kinda in a hurry.

    Great plugin anyway :)
     
  23. Offline

    T4L_Goose

    Is there any possible way to make it so it loads the old saves, and then lets you save it to the new format?
     
  24. Offline

    rmb938

    Can you add it so you can define the radius of the safe area? So I don't need to go walking around my spawn city protecting every were. Also the chat tags don't work with HeroChat
     
  25. Offline

    Brettflan

    I am "on the team" so to speak, the download link is pointing to the official location on GitHub as you can check and see, and I did actually test it on Factions data from a server which has 312 different faction members and 52 factions. I do try to be thorough in testing changes before committing them.
    I have not "duck-taped" the file format, I have added functions to load old data if it finds that the new files don't yet exist and further finds that the old data does exist. If the new data exists, it never looks for the old data. If the old data doesn't exist either, it simply creates new data files the same as always.
    Saving is left untouched, it of course saves to the new format and only ever touches the old files as outlined above.

    Of course, whether or not you want to do it manually instead is ultimately up to you. :p

    You'll want to download 1.1.2, which I was just discussing with this other fine gentleman. You'll find a link above.
     
  26. Offline

    T4L_Goose

    Oh! I thought it just continued using the old file system. Thanks for clearing that up!

    Can you guys possibly add an option in the config file that allows you to disable the ability to teleport to your home at will, while still leaving them enabled for dead players to respawn there?
     
  27. Offline

    Gray

    Hey Guys,

    Getting a strange error. Below.
    Bukkit: Tried with 531 and 556. Does the same.
    Running these addons:
    BigBrother, bMobs, Controllerblock,Friendlies,HelpCenter,HeroChat, Iconomy, Jail, lastseen,mcbans,mcMMO,MineCartmania,Multiverse,NoCheat,Vanish,WorldEdit, WorldGuard, and Factions

    Factions runs fine for about 12 hours and then the factons.json and the board.json no longer save and I get the error message below. The server is still running but all connections time out. When I shutdown the server I get the error message again, and when I restart the server factions load with the data from the jsons but crashes the server with the same error message within 10-15 mins. If I restore the factions.json and board.json from backup it runs again fine for about 12 hours

    Error:
    2011-03-28 06:36:22 [SEVERE] java.lang.NullPointerException
    2011-03-28 06:36:22 [SEVERE] at com.bukkit.mcteam.factions.MyLocationTypeAdapter.serialize(MyLocationTypeAdapter.java:42)
    2011-03-28 06:36:22 [SEVERE] at com.bukkit.mcteam.factions.MyLocationTypeAdapter.serialize(MyLocationTypeAdapter.java:16)
    2011-03-28 06:36:22 [SEVERE] at com.bukkit.mcteam.gson.JsonSerializationVisitor.findAndInvokeCustomSerializer(JsonSerializationVisitor.java:184)
    2011-03-28 06:36:22 [SEVERE] at com.bukkit.mcteam.gson.JsonSerializationVisitor.visitFieldUsingCustomHandler(JsonSerializationVisitor.java:203)
    2011-03-28 06:36:22 [SEVERE] at com.bukkit.mcteam.gson.ObjectNavigator.navigateClassFields(ObjectNavigator.java:158)
    2011-03-28 06:36:22 [SEVERE] at com.bukkit.mcteam.gson.ObjectNavigator.accept(ObjectNavigator.java:131)
    2011-03-28 06:36:22 [SEVERE] at com.bukkit.mcteam.gson.JsonSerializationContextDefault.serialize(JsonSerializationContextDefault.java:56)
    2011-03-28 06:36:22 [SEVERE] at com.bukkit.mcteam.gson.JsonSerializationContextDefault.serialize(JsonSerializationContextDefault.java:49)
    2011-03-28 06:36:22 [SEVERE] at com.bukkit.mcteam.gson.DefaultTypeAdapters$MapTypeAdapter.serialize(DefaultTypeAdapters.java:593)
    2011-03-28 06:36:22 [SEVERE] at com.bukkit.mcteam.gson.DefaultTypeAdapters$MapTypeAdapter.serialize(DefaultTypeAdapters.java:573)
    2011-03-28 06:36:22 [SEVERE] at com.bukkit.mcteam.gson.JsonSerializationVisitor.findAndInvokeCustomSerializer(JsonSerializationVisitor.java:184)
    2011-03-28 06:36:22 [SEVERE] at com.bukkit.mcteam.gson.JsonSerializationVisitor.visitUsingCustomHandler(JsonSerializationVisitor.java:160)
    2011-03-28 06:36:22 [SEVERE] at com.bukkit.mcteam.gson.ObjectNavigator.accept(ObjectNavigator.java:106)
    2011-03-28 06:36:22 [SEVERE] at com.bukkit.mcteam.gson.JsonSerializationContextDefault.serialize(JsonSerializationContextDefault.java:56)
    2011-03-28 06:36:22 [SEVERE] at com.bukkit.mcteam.gson.Gson.toJsonTree(Gson.java:234)
    2011-03-28 06:36:22 [SEVERE] at com.bukkit.mcteam.gson.Gson.toJson(Gson.java:274)
    2011-03-28 06:36:22 [SEVERE] at com.bukkit.mcteam.gson.Gson.toJson(Gson.java:254)
    2011-03-28 06:36:22 [SEVERE] at com.bukkit.mcteam.factions.Faction.save(Faction.java:333)
    2011-03-28 06:36:22 [SEVERE] at com.bukkit.mcteam.factions.Factions.saveAll(Factions.java:286)
    2011-03-28 06:36:22 [SEVERE] at com.bukkit.mcteam.factions.SaveTask.run(SaveTask.java:9)
    2011-03-28 06:36:22 [SEVERE] at org.bukkit.craftbukkit.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:122)
    2011-03-28 06:36:22 [SEVERE] at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:345)
    2011-03-28 06:36:22 [SEVERE] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:272)
    2011-03-28 06:36:22 [SEVERE] at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)
    2011-03-28 06:36:22 [SEVERE] Unexpected exception

    2011-03-28 06:36:22 [SEVERE] Unexpected exception
    java.lang.NullPointerException
    at com.bukkit.mcteam.factions.MyLocationTypeAdapter.serialize(MyLocationTypeAdapter.java:42)
    at com.bukkit.mcteam.factions.MyLocationTypeAdapter.serialize(MyLocationTypeAdapter.java:16)
    at com.bukkit.mcteam.gson.JsonSerializationVisitor.findAndInvokeCustomSerializer(JsonSerializationVisitor.java:184)
    at com.bukkit.mcteam.gson.JsonSerializationVisitor.visitFieldUsingCustomHandler(JsonSerializationVisitor.java:203)
    at com.bukkit.mcteam.gson.ObjectNavigator.navigateClassFields(ObjectNavigator.java:158)
    at com.bukkit.mcteam.gson.ObjectNavigator.accept(ObjectNavigator.java:131)
    at com.bukkit.mcteam.gson.JsonSerializationContextDefault.serialize(JsonSerializationContextDefault.java:56)
    at com.bukkit.mcteam.gson.JsonSerializationContextDefault.serialize(JsonSerializationContextDefault.java:49)
    at com.bukkit.mcteam.gson.DefaultTypeAdapters$MapTypeAdapter.serialize(DefaultTypeAdapters.java:593)
    at com.bukkit.mcteam.gson.DefaultTypeAdapters$MapTypeAdapter.serialize(DefaultTypeAdapters.java:573)
    at com.bukkit.mcteam.gson.JsonSerializationVisitor.findAndInvokeCustomSerializer(JsonSerializationVisitor.java:184)
    at com.bukkit.mcteam.gson.JsonSerializationVisitor.visitUsingCustomHandler(JsonSerializationVisitor.java:160)
    at com.bukkit.mcteam.gson.ObjectNavigator.accept(ObjectNavigator.java:106)
    at com.bukkit.mcteam.gson.JsonSerializationContextDefault.serialize(JsonSerializationContextDefault.java:56)
    at com.bukkit.mcteam.gson.Gson.toJsonTree(Gson.java:234)
    at com.bukkit.mcteam.gson.Gson.toJson(Gson.java:274)
    at com.bukkit.mcteam.gson.Gson.toJson(Gson.java:254)
    at com.bukkit.mcteam.factions.Faction.save(Faction.java:333)
    at com.bukkit.mcteam.factions.Factions.saveAll(Factions.java:286)
    at com.bukkit.mcteam.factions.SaveTask.run(SaveTask.java:9)
    at org.bukkit.craftbukkit.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:122)
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:345)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:272)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)
     
  28. Offline

    EpicCyndaquil

    Your userguide URLs keep 404'ing. :(
     
  29. Offline

    xian

    Whats my problem:
    People are able to open wooden_door in other factions.

    What my conf.json sais:
    http://pastebin.com/0nedMmRs

    What my versions are:
    Factions 0.7beta
    CB 556
    MC 1.3

    What i tried:
    1. Delete all other plugins, but Factions
    - People were still able to open doors
    2. Updating to 1.1/1.1.2
    - People are still able to open doors
    3. Updating CB to newer version
    - Factions doesnt save. Restarting the server deletes all factions.

    What else could i try? :<
     
  30. Offline

    Brettflan

    That line of code is referencing a location and the world associated with that location; apparently one of the two is somehow null.
    How many worlds do you have, and are they all still up and running or has one of them possibly been removed?
     
  31. Offline

    Gray

    I have 3 worlds and they are all up and running. Have not removed any of them.

    I just went through the board.json line by line and it looks normal. all chunkks have the x & z and a fation id.

    This is an issue with Craftbukkit, broke sometime after 531 and was fixed in 562 (http://bamboo.lukegb.com/job/dev-CraftBukkit/562/)

    But its not in a recommended build yet. Doors do work in 531.

    Been reviewing the server log, one thing I noticed is this happens when there is a high load on the server, usually when I have 18-20+ people logged in.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 8, 2016
Thread Status:
Not open for further replies.

Share This Page