Comprehensive Guide:Protection

From CivWiki
Revision as of 00:22, 18 December 2020 by Falvyu (talk | contribs) (→‎Tips)
Jump to navigation Jump to search

Mechanics that protect structures and items.

Citadel

Protect blocks {source, config}

Example of a reinforced block being broken. The block break animation plays and the block breaks but because it is reinforced, the block reappears.

Spend resources to reinforce blocks to private groups; players not on the group must to break the block multiple times in order to destroy it.

Overview

Reinforcing blocks costs one item of the corresponding reinforcement material. This item is returned only when a player who is on the reinforcement group mines the block or uses the relevant Citadel command. Choice of reinforcement material is selected by punching the block with a chosen item or using Citadel commands.

Reinforcement materials [note 1]
Material Number of breaks to destroy Maturation time Acid maturation
Paper [note 2] 1 1 minutes 1 minutes
Stone 50 5 minutes 20 minutes
Iron 300 30 minutes 6 hours
Diamond 2000 4 hours 2 days
Citadel commands
Usage Alias Description
/ctfortify [groupname] /ctf Reinforces all blocks placed until reinforcement material runs out or command used to exit reinforcement mode. Requires holding reinforcement material items when typing command
/ctreinforce [groupname] /ctr Reinforces blocks punched while holding a reinforcement material
/ctinfo /cti Will give reinforcement information about blocks clicked on.
/ctoff /cto Turns off all reinforcement and information modes
/ctacid Activates an acid block
/ctbypass /ctb Bypasses a reinforcement and gives the reinforcement back when you break it
/ctinsecure /ctin Toggles insecure reinforcment
/rein List all possible materials you can reinforce with, in a GUI
/help Citadel List all commands
  • Tool durability will not go down when damaging a reinforced block
  • Because a moment passes between block break animation and reinforced block reappearing it is possible to 'reach' behind reinforced block. The block will reappear before a player can fall or walk though, however
  • It is possible to double reinforce a double chest by placing it while using /ctf
  • Explosions will do one reinforcement damage to all blocks in blast range. This only applies to blocks that the explosion would have been able to damage had they been unreinforced.
Acid blocks

Reinforcing a gold block creates an acid block. An acid block can remove the reinforced block directly above it regardless of respective reinforcement groups. The acid block must be allowed to mature and must use the same reinforcement type as the block directly above it. When enough time has passed such that the acid block is mature, looking at the acid block and doing /ctacid will remove the blocks. The block on the top will be removed an the gold block will be dropped on the ground. /ctacid has a range of 40 blocks. It can remove several blocks at the same as long as they line up with the player's cursor. Acid blocks can be used in traps.

Insecure reinforcements

A reinforcement can be set to insecure using /ctin or /ctinsecure and hitting it. This allows hoppers to move items out.

Redstone interactions
  • Reinforced buttons will only emit a signal if someone from the namelayer is nearby (distance?)
  • Comparators cannot inspect the content of a reinforced container block (e.g: chests, furnaces, droppers)
  • Droppers and hoppers will not transfer items if the destination block is not on the same reinforcement group.
  • Blocks can not be attached to a reinforced redstone component (e.g dropper, dispenser, hopper?) if not on the reinforcement groups.
  • Reinforced doors, trapdoors and fences gate will only respond to a redstone signal if someone on the reinforcement group is less than 7 blocks away from it [2]
Decay

Reinforcements placed under a group will decay if the group becomes inactive (no player in the groups logs in).

Currently, reinforcements will start decaying after 3 months of inactivity and the damage multiplier doubles every year. The damage multiplier is applied to every block break. This means that with a damage multiplier of 2, reinforced blocks can be broken twice as fast.

Since a single player logging in is enough to reinitialize the decay clock and since the decay rate is rather slow, decayed buildings aren't common.

Decay steps
Decay state Inactivity Damage multiplier
Not decayed < 3 months x1 (normal)
Partially decayed > 3 months but < 1 year 2-8
Highly decayed > 1 year but < 2 years 16-128
Heavily decayed > 2 years but < 3 years 256-1024
Completely decayed > 3 years >= 2048
Terminology

A common abbreviation series is DRO/IRO/SRO/PRO, standing for for Diamond/Iron/Stone/Paper reinforced obsidian.

Advanced features

  • Note that reinforced blocks are not affected by gravity (e.g. reinforced sand will float). However if the block by default breaks when block beneath is removed, it will break even if reinforced (e.g. rails whose base is broken will also break).
  • Being in reinforcement or fortify mode will prevent the use of citadel buttons. Walking over pressure plates while in this mode will reinforce them to currently selected group.
  • Reinforcing farmland will give crops planted on it citadel protection.
  • Reinforce leaf blocks and destroying the tree they are apart of will lead to loss of reinforcment.
Known bugs
  • Placing a reinforced button/sign and breaking the block at the base will make it drop but will leave a reinforced air block behind. As this is an exploit its use should be avoided.

Reinforcement values

An online calculator can be found at: https://okx.sh/break/

Non reinforceable blocks

Some blocks cannot be reinforced. This includes blocks with unique properties such as TNT, bedrock and portal blocks. Most plants cannot be reinforced. Finally liquids and entities are also unreinforcable (they are not blocks).

Non reinforceable blocks (excluding plants)
Block name
BEDROCK
END_GATEWAY
END_PORTAL_FRAME
END_PORTAL
PISTON_EXTENSION
PISTON_MOVING_PIECE
TNT
FIRE
SNOW (only layers of snow, the full block can be reinforced)
ICE (only normal ice)
PORTAL
CAKE_BLOCK
WEB
Non reinforceable plants
Block name
CROPS
CARROT
POTATO
NETHER_WARTS
VINE
CACTUS
SUGAR_CANE_BLOCK
RED_ROSE (Includes all single block tall flowers)
YELLOW_FLOWER
BROWN_MUSHROOM
RED_MUSHROOM
SAPLING
LONG_GRASS
DEAD_BUSH

Namelayer

{source, config}

A Citadel reinforcement group manager. Allows the creation of groups in Minecraft. From buildings to chat messages, one can selectivity restrict or expand which players have access.

The extensive Namelayer commands can be entirely avoided:

  • /nl [group] - Open Namelayer GUI.

The first screen of the Namelayer GUI shows rows of chestplates each corresponding to a Namelayer group, each chestplate type corresponding to a permission level (Leather = Member, Gold = Mod, Iron = Admin, Diamond = Owner. The enchanted chestplate shows the default group which is the group reinforcements will be on after typing only /ctf). For example the admin owner permission level gives the ability to delete the group while the member does not by default.

The GUI opened by typing '/nl'.
Namelayer Active Commands
Namelayer command Function
/nlcg <group> [password] Creates a group, optionally with password
/nlsp <group> <password> Adds password to an existing group
/nljg <group> <password> Joins a password protected group
/nlag <group> Accepts an invitation to a group
/nlbl <group> <player> Blacklists a player in a group
/nldg <group> Deletes a group
/nlip <group> <player> (PlayerType- default MEMBERS) Invites player to a group with optional rank
/nlleg <group> Leaves a group
/nllink <super group> <\sub group> Links two groups to each other as nested groups. (unsupported)
/nlmg <The group left> <The group that will be gone> Merges two groups together. (Warning : Doing this is not recommended and may eventually cause groups to break)
/nlmp <group> <add/remove> <PlayerType> <PermissionType> Modifies the permissions of a group.
/nlpp <group> <player> <playertype> Promotes/Demotes a Player in a group
/nlrg <group> Rejects an invitation to a group.
/nlubl <group> <player> Removes a player from the blacklist for a group
/nlrm <group> <member> Removes a member from a group.
/nlri <group> <player> Revokes an invite
/nlsdg <group> Sets or changes default group
/nltaai Toggles the auto-acceptance of invites
/nltg <group> <player> Transfers a group to another owner
/nlunlink </super group> Unlinks two groups from each other. [Unsupported]
/nlun [CONFIRM] Updates account name on the server to the one minecraft account currently has [Unsupported]
Namelayer Passive Commands (Get group stats)
Namelayer command Function
/nllg Lists all groups player is in. Formatted "<group> : <permission level>"
/nlgdg Gets default group
/nlgls Gets the amount of groups on server
/nlgs <group> Get stats about a group. (Total members and list of members)
/nlid Infodump including list of members for each role level in each group
/nllci Lists players current active invites.
/nllm <group> (PlayerType) List the players with selected role in a group
/nllp <group> <PlayerType> Shows permissions for a PlayerType in a group.
/nlsbl <group> Shows all blacklisted players for a group
Namelayer Permissions in order they appear on /nl GUI
Permission Name Function
LIST_PERMS Can list the permissions of any PlayerType
OPEN_GUI Can open namelayer GUI for group
BASTION_PEARL Can pearl into bastion fields
BASTION_ALLOW_EXILED Allows exiles inside bastion range
MERGE Can merge group with another group they have MERGE permissions on [Note: Does Merge group work as intended?]
DOORS Can open and close reinforced doors
ADMINS Allow inviting admins and removing existing admins
CLEAR_SNITCHLOG Can clear snitchlog with /jaclear
SNITCH_NOTIFICATIONS Can see chat messageswhen players trigger snitches
JOIN_PASSWORD Perm level given to members when they join with a password
LINKING Linking to another group as supergroup or subgroup [Unsupported]
OWNER Can invite new owners and remove existing owners
DELETE Can delete group
READ CHAT Can read chat messages sent in group
MODS Can invite new owners and remove existing owners
ACIDBLOCK Can place acidblocks reinforced to group (/ctacid)
CROPS Can place and destroy crops
UPGRADE_FACTORY Can upgrade factories
MEMEMANA_WITHDRAW Can withdraw mana
SNITCH_IMMUNE Will no longer cause snitch alerts when in range of snitches on group.
BASTION_PLACE Can place in bastion ranges reinforced to group
WRITE_CHAT Can type messages in group
READ_SNITCHLOG Can check snitchlogs with /ja
MEMBERS Can invite new members and remove existing members
PERMS Can adjust all permissions in group (Dangerous)
USE_FACTORY Can use factory reinforced to group
INSECURE_REINFORCMENT Can use hoppers to take items out of reinforced containers /ctinsecure
SNITCH_TOGGLE_LEVER Can do /jaToggleLevers 1 to allow snitchs triggering redstone
BASTION_LIST Can list bastions on group (/bsl)
REINFORCEMENT_INFO Can use /cti and see group block reinforced to
BYPASS_REINFORCEMENT Can use /ctb and break reinforcement, returning reinforcement item
REINFORCE Can /ctf, /ctb blocks
LIST SNITCHES can /jalist to see all snitches on group
BLACKLIST Can blacklist players and remove existing blacklisted players
PASSWORD Allows viewing this groups password and changing or removing it
GROUPSTATS Can check stats on group
BASTION_MANAGE_GROUPS
LOOKUP_SNITCH Can /jalookup a snitch giving coords
RENAME_SNITCH Can rename snitches
CHESTS Can use chests
KIRA_MANAGE_CHANNEL Can setup Kira relays on discord to relay group messages and alerts

Updating username

Usernames are permanent. Once an account has logged in, it won't be possible to change the username. Changing the username using the official Minecraft website will not change it on CivClassic.

Should a player log in with an already used username, its displayed name will have "1" added at the end.

Bastion

{source, config}

Prevent actions such as block placements inside claims, unless bastion is broken.

Basic Mechanics

CivClassic[3] uses Bastion in tandem with Citadel and Namelayer. It adds two types of blocks to the game: city bastions (lored bone block) and vault bastions (lored sponge). They are an advanced defensive block, preventing foes from taking action in the space surrounding it. The fields they project cover a square area from the y-level where the bastion block is located up to y256 (sky limit). Vault bastions are typically used in defensive infrastructure (most notably, vaults) to prevent block placement and ender pearl throwing. They allow or disallow players based in membership on the group the bastion is Citadel-reinforced with, and can be broken by hostile players from any block under their coverage. Essentially, doing any "forbidden" activity inside of a bastion field will cause damage, and over a period of time (scaling with the number of people attacking) the bastion will break, deleting the block and removing its field from existence. The health of the bastion block depends on the Citadel reinforcement, but due to the high cost of the block there is little sense in using anything but diamond. A bastion cap refers to the blocks, normally 1 layer of DRO (Diamond-reinforced obsidian), placed around the bastion block itself to protect it. Without a cap, it may be more efficient for attackers to mine the bastion block itself than to break it via block placements.

  • Breaking a vault bastion or city bastion alone with block placements takes exactly one hour and 30 minutes respectively for a single player. Bastions can be concurrently broken by several players, the speedup factor will be equal to the number of player e.g: It'll take 4 times less time for 4 players to break a bastion that it'd take for 1 player. (15 minutes vs 1 hour)
  • 50% of the damage dealt to vault bastions will also be inflicted on all other bastions within a 5 blocks radius (center block + 5) from the vault bastions that were not initially affected by the initial damages. [4]
  • 50% of the damage dealt to city bastions will also be inflicted on all other bastions within a 25 blocks radius (center block + 25) from the city bastions that were not initially affected by the initial damages. [5]

Bastions are created with FactoryMod using a bastion factory. To build one, it costs 32 of each of the 6 lored bastion components, each coming from a separate factory:

Bastion Components[6]
Item Factory of Origin Ingredients (per recipe) Yield
Gearbox Redstone Mechanics 16 gold, 4 iron blocks, 32 redstone 1
Energizer Cauldron (Tiers 2 and 3) 6 emeralds, 32 charcoal, 6 gunpowder 1
Bio Component Animal Husbandry 3 slimeballs, 32 ice, 16 grass blocks, 1 lava bucket (only consumes lava) 1
Refractor Ore Smelter 6 diamonds, 64 glass, 32 lapis blocks 2
Casing Carpentry 64 chests, 4 iron blocks, 64 obsidian 4
Radar Iron Forge 32 iron, 16 redstone, 8 eyes of ender 8

This means that, not including the 6 factories above, the total cost of a bastion factory is roughly 96 diamonds, 192 emeralds, 174 iron blocks, 57 gold blocks, 121 redstone blocks, 1024 ice, 1024 glass, 1024 charcoal, 512 lapis blocks, 512 obsidian, 512 chests, 512 grass blocks, 192 gunpowder, 96 slimeballs, 32 eyes of ender, and a lot of lava. Due to this steep price, most players produce bastions collaboratively or purchase them from others with the means.

Bastion commands
Usage Description
/bsl Displays list of all bastions player is on Namelayer group for and their type, location and maturity
/bsi (INFO mode) Using USE key on block within a bastion field displays whether a bastion is present and if player is added to bastion group. If the bastion block itself is clicked, the bastions maturity is shown : e.g. "Bastion: Some Strength" if maturing and a percentage equal to however much health of the bastion remains.
/bsga <group> Add a Namelayer group to a set of "allowed to build" groups for a Bastion's Namelayer group. People on are thus able to build on areas covered by the bastions on . The person running command does not need to be on the added namelayer group.
/bsgd <group> Removes a previously allowed group from a Bastion's Namelayer group
/bsgl <group> list allowed groups in bastion groups
Obsolete or misleading bastion commands
Usage Description
/bsf Allows you to reinforce a sponge block without turning it into a bastion. Note: After this command is used, it may not be possible to turn sponge block back into bastion - the /bsb command does not appear to work. If you wish to display a bastion block without it applying an effect, simply place it down without reinforcing
/bsb (BASTION mode) Any reinforced target sponge block will become a Bastion Block. Note: This does not appear to work : if one wishes to place a bastion block they should simply place in normal mode, which requires no command.
/bsd (DELETE mode) Click bastions to delete them Note: This does not appear to serve a function - if one wishes to remove a bastion they own they can simply mine the bastion and do not have to delete the block and in the process lose the bastion.
/bso (NORMAL mode) Changes all bastion modes to normal. Note: Is not needed unless one is using DELETE or BASTION modes, which are also necessary. One can place bastions without using any bastion command, simply by reinforcing the bastion block.
/bsc No longer a command


Bastions comparison
Name Break time Maturation time Size Block placement Block reinforcement
Vault 1 hour 2 days 21 x 21 Yes Yes
City 30 min 2 days 101 x 101 No Yes
City Bastion

City bastions prevent unauthorized players from

  • Appearance: bone block
  • Size: 101 * 101 centered around the bastion block
  • Description: Allow block placement but prevents block reinforcements. Prevent exiled players from entering area of effect. Exiled players who come within the bastion range will be teleported to a location outside of the bastion field.
  • Factory Cost: 1 of each bastion component yields 4 city bastions.
Vault Bastion
  • Appearance: sponge
  • Size: 21 * 21 centered around the bastion block
  • Description: Prevent block placement, Prevent pearling to any block within the bastion field. Prevent exiled players from entering area of effect. Prevent flying Elytra into field. Elytra will break.
  • Factory Cost: 16 of each bastion component yields 16 bastions.
Use of advanced bastion overlap patterns makes advancing even a single ring difficult.
Hjaltland's Vault as it stood in September 2017.


Advanced Bastion Mechanics

Overlapping Fields

While it is efficient to spread bastions out, defensive structures make use of overlapping bastion fields to ensure breaking a single bastion won't grant the breaker access to a full 21*21 area. In open spaces, blocks placed in the overlap would be a liability (since both bastions would take full damage) but vaults use walls and other physical barriers to prevent attackers from doing so. Immense subdivision and traps make ground assaults against such a structure difficult.

Only two layers protect this skybunker, but they provide a large and durable area of safety for defenders.

One other form of field overlap involves the vertical dimension. You can protect an area in the sky (typically at sky limit, but not always) by forcing attackers to break one bastion at a time. This is achieved by separating bastion layers by 8 blocks (to prevent mining) and moving each successive layer one block diagonally away from the center. Unless they can find a way to place bastions closer to the center (either on the outside of your structure or on top of it) they can only break a single bastion layer at a time.

Block glitching

Vault bastions remove block placements, yet for a tick the block appears as normal. Server rules allow using block glitching to pillar out from holes. Block glitching more than a few blocks high is possible although timings make it difficult.

Exile glitching

Exile players are teleported outside of bastion fields. With a correct setup this can allow teleportation over large distances. This is against server rules.

Blocking

  • Vault bastions will block Block placements, Pearls, Elytra, Piston extensions causing block to enter bastion field, liquids from flowing into field (including through dispenser), exiled players from entering.
  • Vault bastions will not block entities (including falling entities), dragon eggs teleporting into field, bonemeal usage inside field


JukeAlert

Record the actions of other players in an area using snitches {source, config}

JukeAlert single image summary

Creating a snitch

Snitches are triggered when a player enters the 11 block square shaped radius around the snitch block. Players with namelayer permission SNITCH_NOTIFICATIONS on the group the snitch is reinforced to receive a chat message in the format * <player> entered snitch at <snitch name> [world <x>,<y>,<z>]. To create a snitch place a reinforced noteblock or jukebox. The snitch name can be set using the /janame <name> command. Both noteblocks and jukebox snitches output chat messages on player entry yet jukebox snitches have the additional functionality of logging the entry in addition to block placement, block breaks and interactions with entities (Such as opening chests, killing mobs and mounting horses)

Checking snitches

Jukebox logs can be checked by players who have the permission READ_SNITCHLOG. Standing within snitch range (11 block raduis) and typing /jainfo prints logs in chat while /ja opens a GUI containing logs. Both commands display the same information. /jainfo can take additional parameters in the syntax /jainfo [<page number> or 'next'] [censor] [action=<action type>] [player=<username>]. These parameters can be combined in any order.

/jainfo parameters
Parameter Description Example
<page number> or next View older entries. It can either be a page number or the keyword next. next will print the next page. /jainfo 3 will print the 3rd page.
censor Censor coordinates from the logs. This is useful for posting snitch evidence publicly. /jainfo censor will print Falvyu Block Break 1 [*** *** ***] instead of Falvyu Block Break 1 [1562 13 178]
action=<action type> Filter by action type. /jainfo action="block break" will only print entries where a block has been broken. Note that double quotes are only mandatory if the action has a space in it.
player=<username> Filter by player name. /jainfo player=RaiderCC1 will only print entries for 'RaiderCC1'. Note that this is case insensitive and will also print partial matches. /jainfo player=raider will therefore print entries for 'RaiderCC1' and any other player who has the word 'raider' in their name.

Culling

Snitches need to be periodically refreshed by a player entering the snitch field who is on the snitch group with the namelayer LIST_SNITCHES permission. Snitches that are not refreshed will cull and lose all functionality which can only be regained by breaking and replacing the snitch block.

Cull times
Type Cull time
Noteblock 6 months
Jukebox 1 year

Lever trigger

Jukebox snitches can be configured to cause levers on the blocks on or adjacent to the jukebox sides to output a redstone pulse. This behavior which is disabled by default can be enabled with /jaToggleLevers 1 and disabled by /jaToggleLevers 0 in radius of snitch.

The direction the lever is placed on changes the action type that causes it to trigger.

Redstone signal
Direction Trigger
North Player entry or login/logout
East Block placement
South Chest opened
West Block break

Nearby levers will be turned on for a duration of approximately 750ms. This duration can vary due to server lag. Levers that have already been enabled by players will also be turned off after 750ms.

Mechanics

  • Breaking a snitch will print the namelayer group it is reinforced to along with the owner of the namelayer. This does not apply to culled snitches.
  • Pearling in a snitch field will not trigger the snitch but moving inside will.

Commands

Commands
Usage Function
jahelp Display JukeAlert help
ja Open snitch GUI
/jainfo [<page number> or 'next'] [censor] [action=<action type>] [player=<username>] Print snitch logs in chat.
jalist [page number] Display snitches in chat
janame <name> Name snitch
jalookup [] Use coordinates to show the namelayer the snitch is reinforced to
jamute [group] Ignore/Stop ignoring a group. Leaving the 'group' parameter empty will list the ignored groups.
jaclear Clear snitch logs from a nearby snitch
jatogglelevers <0,1> Enable/Disabled the lever output functionality

Tips

  • It is recommended to name snitches appropriately to locate snitches more easily. A good naming pattern can be [group name]<location>
  • The Snitch Master mod is recommended when managing snitches. (1.12 only)
  • It is advised to configure a Kira relay to send snitch messages to a discord channel.

Vault

See Vault

Notes

  1. There also exists a bedrock reinforcement that takes 147483646 breaks to destroy, accessible only to server operators.
  2. Patreon reward paid by wjkroeker[1]

References