Citadel
Description
Citadel is a block protection mod that provides a level of protection relative to the material used to create the protection. There are two linked concepts that Citadel uses to provide protection - reinforcement and security level.
Citadel Natural Reinforcements
Have a hardcore sever where you want everything to be tough? Well Citadel is able to naturally reinforce certain blocks. This allows you you to make mining any certain kind of block you want take a certain amount of breaks to break the block. Example: you have stone and a player comes across it. Citadel says that it takes 4 breaks to really break stone. The player must break the same stone block 4 times before it disappears and drops a cobble stone.
Reinforcement
A reinforcement provides protection to a block from being broken. Each type of reinforcement material provides a different number of protections, with a protection being used up during each block break event. The strengths of stone, iron, and diamond reinforcement are 25, 250, and 1800 respectively. For example, if you protect a glass block with an iron ingot, you will have to break the glass block 250 times before it is actually broken.
Security Level
A reinforced block which is considered securable (configurable but includes anything openable like a door or fence gate, and any containers like furnaces and chests) can also have its allowed access limited to the individual which placed the block or a group to which they belong.
Groups
Players can create groups and add members to them. Groups have the following hierarchy:
Owner: Can delete, transfer, add and remove mods, allow and disallow members, modify reinforcements, and set password.
Moderator: Can allow and disallow members, modify/bypass, and add new blocks to group. Cannot delete or transfer group, and cannot add or remove mods.
Member: Can only access and open things like doors, chests, etc. Cannot modify or bypass reinforcements, and cannot edit group.
Modes
Reinforcement: In this mode, a player can reinforce already existing blocks. To start, type /ctreinforcement followed by an optional security level. If no security level is specified, blocks are secured at the private level. Once in this mode, hold a valid reinforcement material in your hand and click on the block to reinforce it.
Single block mode: To provide feature compatibility with LWC, you can enter single block reinforcement mode by typing /ctprivate, /ctgroup, or /ctpublic. These are aliases for /ctreinforcement followed by the corresponding security level, with the exception that once a block is reinforced, reinforcement mode is disabled. Fortification
In this mode, a player can place blocks that are reinforced. This is useful for building reinforced structures, or placing a lot of reinforced securable blocks. To enter this mode, hold a valid reinforcement material in your hand and type /ctfortify followed by an optional security level. If no security level is specified, blocks are secured at the private level.
Information: In this mode, a player can easily see the status of all reinforce blocks by interacting with them. To enter this mode, type /ctinfo.
Bypass: Can be active alongside any other mode. In this mode, the player will bypass all reinforcements that they are able to access, so that blocks can be broken normally. The chance that they will receive the reinforcement resource back is (durability / material strength). To toggle this mode, type /ctbypass.
Normal: To reset placement mode to normal, type /ctoff. This will reset your placement mode, security level, and turn bypass mode off.
Commands
Name Usage Shortcut
Create Group /ctcreate <group-name> /ctc
Delete Group /ctdelete <group-name> /ctdel
Group Info /ctgroupinfo <group-name> /ctgi
Transfer Group /cttransfer <group-name> <target-player-name> /ctt
Group Password ("null" disables password/join) /ctpassword <group-name> <password> /ctpw
Add Moderator /ctaddmod <group-name> <player-name> /ctam
Remove Moderator /ctremovemod <group-name> <player-name> /ctrm
Allow Member /ctallow <group-name> <player-name> /cta
Disallow Member /ctdisallow <group-name> <player-name> /ctd
Join Group /ctjoin <group-name> <group-password> /ctj
Leave Group /ctleave <group-name> /ctl
List Your Groups /ctgroups /ctgs
List Moderators of Your Group /ctmoderators <group-name> /ctmods
List Members of Your Group /ctmembers <group-name> /ctm
Bypass Mode /ctbypass /ctb
Fortify Mode /ctfortify [security-level] /ctf
- /ctfortify group <group-name> -
Group Mode /ctgroup <group-name> /ctg
Reinforce Mode /ctreinforce [security-level] /ctr
- /ctreinforce group <group-name> -
Private Mode /ctprivate /ctpr
Public Mode /ctpublic /ctpu
Info Mode /ctinfo /cti
Toggle Modes Off /ctoff /cto
Possible Reinforcement Materials /ctmaterials /ctmat
Non Reinforceable /ctnonreinforceable /ctn
Reinforcements that are securable /ctsecurable /cts
Plugin Version /ctversion /ctv
Stats /ctstats
Help /help Citadel
<> = mandatory [] = optional
Hierarchy:
Owner: Can: delete group, transfer group, add & remove mods, allow & disallow members, access reinforcements, modify reinforcements, set password.
Moderator: Can: allow & disallow members, access reinforcements, modify reinforcements.
Member: Can: access reinforcements (such as doors, chests)
Requirements
A Mysql database is required to use this plugin. If needed, the SQL create table statements are here.
Source Code
Want to Contribute to the project, here is the Git Hub page and the Jenkins Page.
Recommended Plugins
Prison Pearl: Prison Pearl is a plugin that allows players to imprison other players and control them through the use of ender pearls that become Prison Pearls. Combined with Citadel it allows imprisoned players to tell other players the location of their pearl and the possibility of being freed.
CivChat: CivChat is a mod that used citadel groups to have group chats.
JukeAlert: A plugin that creates snitches and helps player's identify grief done by another player.
Expensive Beacons: A plugin that makes beacons expensive to use but limits the effects to citadel groups and a longer range.
Name Layer: A plugin that controls uuids and player names.
Better Associations: is a plugin that associates players. Has built in support for PrisonPearl and provides useful other services for managing player accounts.
Civcraft
Citadel was designed and customized for Civcraft (ip= untamedears.com) as a way to allow players be able to protect their own buildings but also gave the advantage of allowing griefers or other players to still be able to break or steal blocks or chests.
The subreddit for this server is http://www.reddit.com/r/Civcraft/
The Civcraft Description.
What permissions are needed to view all the usable commands when /help citadel is typed? When I am op I can see them all, but players can't even though they can use the commands.
@xNiall
/ctr and reinforce it all manually is currently your only bet.
Is there are way to make a large, pre-existing stucture reinforced? I want the spawn on my server to be breakable, but with diamond protection.
@technowix
I would look like this in Citadel's config.yml. Durability is how much the block is reinforced. Variance gives it a random adjustment to the durability. Y-adjust alters the durability as the block gets farther from Y:0. Minimum and maximum provide bounds for variance and y-adjust.
Hi ! i have a problem... i don't know where is the config for "natural reinforcement" ! TTwTT heelp
@nostalgicbadger
I'll add something for it.
I know you can disable verbose logging, but it still posts to the console any time someone reinforces anything. Is there a way to turn that off? I use the console to monitor the server, and it tends to flood the screen sometimes.
Thanks for a great plugin, by the way!
@Muzixs
The only ones that should need changing are:
Driver already points at the MySql JDBC driver and shouldn't change as I'm unsure that Citadel would play nice with SQLite anymore. You can read about the isolation setting here (http://www.avaje.org/transiso.html). rebuild will try to recreate the tables in the database, but mileage will vary which is why I just point people at the create table page we have. The logging setting tweaks the root Java Logger's on/off state and probably shouldn't be touched. The enablefilelog and logdirectory settings work together to enable SQL statement logging for Citadel and redirect it to a specific location.
Looks like a great plugin, but im having issue with setting up the mysql for it. In the config there are a couple things i dont recognize. Do you have a guide that would explain what the driver, isolation, logging, rebuild mean; or even a vid explaining it?
@Whidmark
Yes.
Does the latest version of Citadel up on here work with Minecraft 1.5.2?
Thank you.
@Erocss I don't have a backup. I have a corrupt database and griefed kitties. i'll see if my uncle can do what you're talking about it. thank you for the suggestion
@CatClaws12
If your database is corrupt, you'll have to restore from backup. If you don't have a backup of your database, you're in trouble. :(
Try Googling "mysql fix corrupt table". There looks to be a utility called myisamchk that might help.
my database crashed. my Cat server database is corrupt. is there a script to restore it using my logs? Please help! People are griefing my now unprotected Cats.
Is there a place where i can get a compiled 1.5.2 jar? I don't mind if its a dev build.
@LG_Legacy
A new version is awaiting approval to fix interactions with Essentials.
@StirlitzTheRussianSpy
Yet, essentials is VERY necessary for our server. Any idea what the conflict could possibly be? Maybe a specific essential plugin issue?
Try removing Essentials if you have it; Citadel seems to conflict with it.
@rourke750
That seems to be an issue with my server and further.
When a user reinforces their chest or blocks, they are not allowed to bypass the block or protection which causes issues and prevents us from using it on the server to it's full extent.
While as an OP I can use /cinfo and check their chests/blocks and it displays them as the owner, it does not actually let them have any access to it. They can break it without bypass but they still need to get past the reinforcement.
I've installed the plugin, downloaded the mis-documentated configuration and then did the MySQL Tables. Is there anything I am missing? Anywhere else to go for support instead of waiting a few days for an answer?
@LG_Legacy
Should still work, just watch out for hoppers and what not. Only problems should be chest protection.
@LG_Legacy