diff --git a/AnarchyExploitFixesFolia/src/main/resources/config.yml b/AnarchyExploitFixesFolia/src/main/resources/config.yml new file mode 100644 index 000000000..622889ecd --- /dev/null +++ b/AnarchyExploitFixesFolia/src/main/resources/config.yml @@ -0,0 +1,2273 @@ +plugin-version: 2.7.2 +server-version: '1.21-127-4e6a2a1 (MC: 1.21)' + +############## +# Language # +############## +language: + # The default language that will be used if auto-language is set to false + # or no matching language file was found. + default-language: en_us + # If set to true, will display messages based on client language. + auto-language: true + +############# +# General # +############# +general: + # The time in ticks (1 sec = 20 ticks) a checked tps will be cached + # by the plugin. + max-tps-check-interval-in-ticks: 20 + # In case packet modules are causing trouble, you can disable them here. + disable-all-packet-listeners: false + # The Y-level at which the nether ceiling generates the last layer of bedrock + # on your server. + nether-ceiling-y: 127 + # A server restart is required when changing a command's enable status! + commands: + say: + enable: false + # Uses MiniMessage format: https://docs.advntr.dev/minimessage/format.html. + format: 'SERVER: %message%' + help: + # Help command that shows a small command overview for players. + enable: false + toggleconnectionmsgs: + # If you don't use join leave/messages, you can set this to false. + enable: true + +################### +# Miscellaneous # +################### +misc: + join-leave-messages: + # If you want to hide yourself or someone else when logging + # into the game, use these permissions: + # aef.silentJoin, aef.silentLeave + enable: true + # If set to true, players will see join/leave messages by default + # and enter /toggleconnectionmsgs to disable them. + # If set to false will work the other way around. + connection-messages-on-by-default: true + show-in-console: false + first-join-messages: + # Configure message in lang folder. + # You can hide yourself and other players using the permission: + # aef.silentJoin + enable: false + show-in-console: true + kicks: + # Configure mask message in lang folder. + mask-kick-messages: false + prevent-message-kick: + # Cancels the kick for specific kick messages. + enable: false + kick-messages-to-listen-to: + - Kicked for spamming + - Stop spamming! + auto-bed: + # Re-enables SPIGOT-5988, also known as 'auto-bed' + # From Minecraft version 1.16 (≈June 2020) to version 1.17.1(≈October 2021) + # there was a bug (SPIGOT-5988) which did not reset the respawn point of the + # player after death, if his bed was blocked with a shulker. + # After dying a second time, the player will be back at his bed again. + # This bug persisted from the Spigot server to Paper and all its forks until + # October 2021, after which it was fixed by the Spigot development team. + # Attempts by players to reach out to Spigot to allow them to disable the patch + # that fixes the SPIGOT-5988 bug have failed. + # Demonstration of how the patch works: + # https://www.youtube.com/watch?v=3y5SbQXzMss + enable: false + +########## +# Chat # +########## +chat: + command-whitelist: + # This will make it pretty much impossible to find your plugins as + # only the commands you specify will be able to work. + # Allow bypass using permission: aef.bypass.commandwhitelist + enable: false + # Will show logs when a command was denied. + log: false + # Enable only if you have problems with the default commandwhitelist. + # Otherwise not recommended to use. + use-packets: false + # Add all commands you WANT your players to be able to access + # WITHOUT the '/'. Not case sensitive. + whitelisted-commands: + - help + - vote + - kill + - discord + - togglechat + - toggleconnectionmsgs + - toggletells + - togglewhispering + - toggleprivatemsgs + - ignore + - ignorelist + - ignorehard + - toggledeathmsg + - dmt + - worldstats + - stats + - tps + - msg + - whisper + - w + - m + - t + - pm + - tell + - r + - reply + - last + # Add all subcommands you DON'T want your players to be able + # to access. Case sensitive! + blacklisted-subcommands: + - help about + - vote List + - vote Best + - vote Total + - worldstats reload + - stats reload + prevent-scanning-server-plugins: + # Prevents hacked clients running .plugins to find out what plugins + # the server is using. + # Recommended to use in combination with command whitelist. + enable: true + +############ +# Elytra # +############ +elytra: + # NOTE: Set nocheatplus horizontal elytra settings to 500 or higher. + elytra-speed: + # Time in ticks that a chunk has to have been inhabited to count as old chunk. + # Note that the time is incremented once per tick per player within mob spawning + # distance of a chunk. + old-chunk-inhabited-ticks: 200 + # The period in millis players will be checked to determine their speed. + # If you have lagging players with consistent high ping, you can increase this number. + check-period-millis: 500 + # If set to false, will only calculate 2-Dimensional speed without taking height + # changes into consideration. + calculate-3D-speed: false + # Display info in Actionbar while flying. + display-actionbar: true + # Inform flying player if they are in old or new chunks. + display-chunk-info-in-actionbar: true + # Plays XP pickup sound to alert players when theyre going above the limit. + play-sound-when-too-fast: true + sound: ENTITY_EXPERIENCE_ORB_PICKUP + # Recommended to leave false if you dont experience any issues. + teleport-instead-of-canceling-movement: false + Global-Settings: + # Global settings. If nothing else is enabled, this will be used for all environments. + enable: true + # Can be slow with a lot of players. Enable only if needed. + use-bypass-permission: false + deny-elytra-usage: false + speed-old-chunks: 1.81 + speed-new-chunks: 1.81 + enable-bursting: true + burst-speed-old-chunks: 5.0 + burst-speed-old-chunk-TPS: 18.0 + burst-speed-new-chunks: 3.12 + burst-speed-new-chunk-TPS: 19.0 + deny-elytra-on-low-TPS: true + deny-elytra-TPS: 12.0 + also-remove-elytra-on-low-TPS: true + At-Spawn: + # Use separate values for players at spawn. + enable: false + # Radius in blocks around 00 that should count as spawn. + radius: 3000 + # Can be slow with a lot of players. Enable only if needed. + use-bypass-permission: false + deny-elytra-usage: false + speed-old-chunks: 1.0 + speed-new-chunks: 0.8 + deny-elytra-on-low-TPS: true + deny-elytra-TPS: 10.0 + also-remove-elytra-on-low-TPS: true + Nether-Ceiling: + # Use separate values for players above the nether ceiling. + enable: true + # Can be slow with a lot of players. Enable only if needed. + use-bypass-permission: false + deny-elytra-usage: false + speed-old-chunks: 0.5 + speed-new-chunks: 0.5 + enable-bursting: true + burst-speed-old-chunks: 1.0 + burst-speed-old-chunk-TPS: 18.0 + burst-speed-new-chunks: 1.0 + burst-speed-new-chunk-TPS: 18.0 + deny-elytra-on-low-TPS: true + deny-elytra-TPS: 12.0 + also-remove-elytra-on-low-TPS: true + packet-elytra-fly: + # Patches the future/rusherhack/kamiblue 2b2t elytra fly exploit. + patch-packet-elytra-fly: false + # The fly exploit causes the player to constantly toggle gliding. + # If too many glide toggles occur within a timeframe, they are + # most likely using PacketFly. + # Still may trigger false positives when players are jumping and + # sprinting with elytra equipped, so recommended to play around + # with the values. + max-elytra-opens-per-time: 25 + # Time in seconds a elytra open count will be remembered by the plugin. + time-in-seconds: 8 + # Configure message in lang folder. + notify-player-to-disable-packetfly: true + # If enabled, player will be kicked with a message instead of + # getting their elytra dropped. + kick-instead-of-remove-elytra: false + +################## +# Chunk Limits # +################## +chunk-limits: + entity-limits: + dropped-item-limit: + # Limit the amount of dropped items in a chunk to combat lag. + # Be aware this does not prioritize items by value or anything, + # it just deletes whatever happens to get over the limit during + # counting. + enable: false + log-removals: true + max-dropped-items-per-chunk: 200 + # The delay in ticks the plugin will wait after an item in a chunk + # has dropped before the check logic will run. + # This improves performance as there will be no check for each single + # item entity that spawns. + post-item-drop-check-delay-ticks: 60 + # The period in ticks in which all loaded chunks should be regularly + # checked. Keep in mind: A lower number provides more accuracy but is + # also worse for performance. + check-period-in-ticks: 1200 + # Runs item check when a chunk is loaded. + check-on-chunk-load: true + whitelist-specific-item-types: false + # Check the paper api for correct Material enums: + # https://jd.papermc.io/paper/1.20.6/org/bukkit/Material.html + # Make sure your minecraft version is matching as well. + whitelisted-types: + - BLACK_SHULKER_BOX + - BLUE_SHULKER_BOX + - BROWN_SHULKER_BOX + - CYAN_SHULKER_BOX + - GRAY_SHULKER_BOX + - GREEN_SHULKER_BOX + - LIGHT_BLUE_SHULKER_BOX + - LIGHT_GRAY_SHULKER_BOX + - LIME_SHULKER_BOX + - MAGENTA_SHULKER_BOX + - ORANGE_SHULKER_BOX + - PINK_SHULKER_BOX + - PURPLE_SHULKER_BOX + - RED_SHULKER_BOX + - SHULKER_BOX + - WHITE_SHULKER_BOX + - YELLOW_SHULKER_BOX + tile-entity-limit: + # Limit the amount of tile entities in a chunk to prevent lag. + enable: false + log-removals: true + max-tile-entities-per-chunk: 100 + check-period-in-ticks: 20 + villager-limit: + enable: false + max-villagers-per-chunk: 25 + log-removals: false + # Check all chunks every x ticks. + check-period-in-ticks: 600 + # Professions that are in the top of the list are going to be scheduled for + # removal first. + removal-priority: + - NONE + - NITWIT + - SHEPHERD + - FISHERMAN + - BUTCHER + - CARTOGRAPHER + - LEATHERWORKER + - FLETCHER + - MASON + - FARMER + - ARMORER + - TOOLSMITH + - WEAPONSMITH + - CLERIC + - LIBRARIAN + whitelist: + enable: false + professions: + - NONE + - NITWIT + - SHEPHERD + - FISHERMAN + - BUTCHER + - CARTOGRAPHER + - LEATHERWORKER + - FLETCHER + - MASON + - FARMER + - ARMORER + - TOOLSMITH + - WEAPONSMITH + - CLERIC + - LIBRARIAN + non-living-limit: + # Limit the amount of non living entities in a chunk to prevent lag. + # Ignores dropped items. + enable: false + log-removals: true + max-non-living-per-chunk: 100 + check-period-in-ticks: 20 + custom-limit: + # Limit specific entity types per chunk. + enable: false + log-removals: true + # Check all loaded chunks every x ticks. + check-period-in-ticks: 1200 + chunk-age-skip: + enable: true + # How long a chunk has to have been inhabited for it to be checked. + # 1 second = 20 ticks. + min-age-in-ticks: 800 + # When a chunk is loaded, entities inside of it are not necessarily + # loaded as well. Force loading is worse for performance, but there + # might be a scenario where this turns out to be useful. + forceload-entities: false + # Check the paper api for correct EntityType enums: + # https://jd.papermc.io/paper/1.20.6/org/bukkit/entity/EntityType.html + # Make sure your minecraft version is matching as well. + limited-types: + ALLAY: 20 + ARROW: 20 + AXOLOTL: 10 + BAT: 3 + BEE: 15 + BLAZE: 10 + CAT: 10 + CAVE_SPIDER: 10 + CHICKEN: 10 + COD: 6 + COW: 10 + CREEPER: 10 + DOLPHIN: 4 + DONKEY: 10 + DROWNED: 10 + ENDERMAN: 10 + ENDERMITE: 3 + EVOKER: 15 + FIREBALL: 5 + FOX: 10 + FROG: 20 + GLOW_SQUID: 20 + GOAT: 10 + GUARDIAN: 20 + HOGLIN: 10 + HORSE: 10 + HUSK: 10 + IRON_GOLEM: 15 + LLAMA: 10 + MAGMA_CUBE: 10 + MOOSHROOM: 10 + MULE: 10 + OCELOT: 3 + PANDA: 5 + PARROT: 10 + PHANTOM: 10 + PIG: 10 + PIGLIN: 25 + PIGLIN_BRUTE: 10 + PILLAGER: 15 + POLAR_BEAR: 5 + PUFFERFISH: 3 + RABBIT: 5 + RAVAGER: 15 + SALMON: 6 + SHEEP: 10 + SILVERFISH: 3 + SKELETON: 10 + SKELETON_HORSE: 10 + SLIME: 10 + SMALL_FIREBALL: 5 + SNOWBALL: 5 + SPIDER: 10 + SQUID: 20 + STRAY: 10 + STRIDER: 3 + TADPOLE: 20 + TRADER_LLAMA: 10 + TROPICAL_FISH: 6 + TURTLE: 20 + VEX: 15 + VINDICATOR: 15 + WANDERING_TRADER: 10 + WITCH: 15 + WITHER: 16 + WITHER_SKELETON: 10 + WITHER_SKULL: 10 + WOLF: 10 + ZOGLIN: 10 + ZOMBIE: 10 + ZOMBIE_HORSE: 10 + ZOMBIE_VILLAGER: 25 + ZOMBIFIED_PIGLIN: 20 + vehicle-limit: + # Limit the amount of vehicles to prevent some lag machines. + # ex. dispenser that spawns a lot of boats into a single location + # then hitting it, causing all boats to explode in every direction. + enable: false + log-removals: false + max-vehicles-per-chunk: 25 + # 200 ticks = 10 seconds. + check-period-in-ticks: 400 + falling-block-limit: + # Prevent players from placing massive sand chunks, then collapsing + # them to kill the server. + enable: true + log: false + # Removes any falling block if there is more than x blocks actively + # falling in a chunk. + max-falling-gravity-blocks-per-chunk: 60 + # Delay in ticks until the same chunk can be checked again. + # Prevents overchecking, because physics events can be called many + # times in a short time for the same chunk. + chunk-check-delay-in-ticks: 20 + block-limit: + enable: false + # Attempt to prevent ChunkBan / Client FPS Lag + max-blocks-per-chunk: + ACACIA_HANGING_SIGN: 8 + ACACIA_SIGN: 8 + ACACIA_WALL_HANGING_SIGN: 8 + ACACIA_WALL_SIGN: 8 + BAMBOO_HANGING_SIGN: 8 + BAMBOO_SIGN: 8 + BAMBOO_WALL_HANGING_SIGN: 8 + BAMBOO_WALL_SIGN: 8 + BEACON: 32 + BIRCH_HANGING_SIGN: 8 + BIRCH_SIGN: 8 + BIRCH_WALL_HANGING_SIGN: 8 + BIRCH_WALL_SIGN: 8 + BLACK_BANNER: 12 + BLACK_WALL_BANNER: 12 + BLUE_BANNER: 12 + BLUE_WALL_BANNER: 12 + BROWN_BANNER: 12 + BROWN_WALL_BANNER: 12 + CHEST: 500 + CREEPER_HEAD: 16 + CREEPER_WALL_HEAD: 16 + CRIMSON_HANGING_SIGN: 8 + CRIMSON_SIGN: 8 + CRIMSON_WALL_HANGING_SIGN: 8 + CRIMSON_WALL_SIGN: 8 + CYAN_BANNER: 12 + CYAN_WALL_BANNER: 12 + DARK_OAK_HANGING_SIGN: 8 + DARK_OAK_SIGN: 8 + DARK_OAK_WALL_HANGING_SIGN: 8 + DARK_OAK_WALL_SIGN: 8 + DISPENSER: 100 + DRAGON_HEAD: 16 + DRAGON_WALL_HEAD: 16 + ENCHANTING_TABLE: 16 + ENDER_CHEST: 64 + GLOWSTONE: 5000 + GRAY_BANNER: 12 + GRAY_WALL_BANNER: 12 + GREEN_BANNER: 12 + GREEN_WALL_BANNER: 12 + JUNGLE_HANGING_SIGN: 8 + JUNGLE_SIGN: 8 + JUNGLE_WALL_HANGING_SIGN: 8 + JUNGLE_WALL_SIGN: 8 + LIGHT_BLUE_BANNER: 12 + LIGHT_BLUE_WALL_BANNER: 12 + LIGHT_GRAY_BANNER: 12 + LIGHT_GRAY_WALL_BANNER: 12 + LIME_BANNER: 12 + LIME_WALL_BANNER: 12 + MAGENTA_BANNER: 12 + MAGENTA_WALL_BANNER: 12 + MANGROVE_HANGING_SIGN: 8 + MANGROVE_SIGN: 8 + MANGROVE_WALL_HANGING_SIGN: 8 + MANGROVE_WALL_SIGN: 8 + MOVING_PISTON: 32 + OAK_HANGING_SIGN: 8 + OAK_SIGN: 8 + OAK_WALL_HANGING_SIGN: 8 + OAK_WALL_SIGN: 8 + ORANGE_BANNER: 12 + ORANGE_WALL_BANNER: 12 + PIGLIN_HEAD: 16 + PIGLIN_WALL_HEAD: 16 + PINK_BANNER: 12 + PINK_WALL_BANNER: 12 + PISTON: 32 + PISTON_HEAD: 32 + PLAYER_HEAD: 16 + PLAYER_WALL_HEAD: 16 + PURPLE_BANNER: 12 + PURPLE_WALL_BANNER: 12 + RED_BANNER: 12 + RED_WALL_BANNER: 12 + SLIME_BLOCK: 128 + SPRUCE_HANGING_SIGN: 8 + SPRUCE_SIGN: 8 + SPRUCE_WALL_HANGING_SIGN: 8 + SPRUCE_WALL_SIGN: 8 + STICKY_PISTON: 32 + TRAPPED_CHEST: 200 + WARPED_HANGING_SIGN: 8 + WARPED_SIGN: 8 + WARPED_WALL_HANGING_SIGN: 8 + WARPED_WALL_SIGN: 8 + YELLOW_BANNER: 12 + YELLOW_WALL_BANNER: 12 + ZOMBIE_HEAD: 16 + ZOMBIE_WALL_HEAD: 16 + minecart-limit: + # Limit the amount of minecarts to prevent lag caused by collisions. + enable: false + log-removals: false + max-minecarts-per-chunk: 25 + check-period-in-ticks: 400 + exp-bottle-limit: + # Prevent players from crashing the server or other players by + # creating a ton of THROWN_EXP_BOTTLE entities, then loading + # them at once. + # Does not limit the EXP_ORBS, just the bottle entities. + enable: true + log: false + max-exp-bottle-per-chunk: 25 + # 20 ticks = 1 second + check-period-in-ticks: 800 + +##################### +# Lag Preventions # +##################### +lag-preventions: + keep-stash-chunks-loaded: + # Idea by 3b3t admin kumori (Soft1k) + # Improves lag generated by large stash chunks constantly loading and + # unloading by setting them force loaded. This might cause increased ram + # usage, so keep an eye out for that. + enable: false + log: false + # How many container blocks have to be in a chunk for it to be seen + # as a stash chunk to keep force loaded. + container-block-threshold: 50 + # The minimum time in ticks a chunk has to have been inhabited to be checked. + min-chunk-inhabited-time-ticks: 1000 + # The time in minutes a stash chunks will be kept force loaded before + # setting it back to normal. + keep-loaded-minutes: 120 + # Set to false if you want to check more blocks than just tile entities. + # Makes the overall speed of the module faster if set to true. + only-check-tile-entities: true + container-types: + - CHISELED_BOOKSHELF + - DECORATED_POT + - CHEST + - FURNACE + - JUKEBOX + - SHULKER_BOX + - WHITE_SHULKER_BOX + - ORANGE_SHULKER_BOX + - MAGENTA_SHULKER_BOX + - LIGHT_BLUE_SHULKER_BOX + - YELLOW_SHULKER_BOX + - LIME_SHULKER_BOX + - PINK_SHULKER_BOX + - GRAY_SHULKER_BOX + - LIGHT_GRAY_SHULKER_BOX + - CYAN_SHULKER_BOX + - PURPLE_SHULKER_BOX + - BLUE_SHULKER_BOX + - BROWN_SHULKER_BOX + - GREEN_SHULKER_BOX + - RED_SHULKER_BOX + - BLACK_SHULKER_BOX + - HOPPER + - DISPENSER + - DROPPER + - LECTERN + - TRAPPED_CHEST + - CRAFTER + - BREWING_STAND + - BARREL + - SMOKER + - BLAST_FURNACE + # Radiuses around spawn in chunks (not blocks) that should not be checked. + # Worlds not on this list are exempt from all checking. + worlds: + world: 100 + world_the_end: 100 + world_nether: 100 + disable-item-drops-during-large-stash-explosions: + # Explodes containers without dropping items after a certain amount + # of exploded containers per chunk. + enable: false + log: false + # How many container blocks in a chunk can be blown up until items + # no longer drop from them. + min-explosions-before-drops-disable: 6 + # The time in seconds to wait after an explosion for another one to happen. + # If no explosion happens within x seconds after the first one, the count resets to 0. + time-in-seconds: 3 + container-types: + - CHISELED_BOOKSHELF + - DECORATED_POT + - CHEST + - FURNACE + - JUKEBOX + - HOPPER + - DISPENSER + - DROPPER + - LECTERN + - TRAPPED_CHEST + - CRAFTER + - BREWING_STAND + - BARREL + - SMOKER + - BLAST_FURNACE + prevent-lever-spam: + # Rate Limit levers to prevent a lag exploit. + enable: false + show-actionbar: true + kick-player: false + max-lever-usages-per-time: 15 + lever-time-in-ticks: 40 + entity-age-limits: + custom-limits: + # Kill certain entities after a custom amount of ticks lived. + enable: false + log-removals: false + # Check all loaded chunks every x ticks. + check-period-in-ticks: 1200 + # When a chunk is loaded, entities inside of it are not necessarily + # loaded as well. Force loading is worse for performance, but there + # might be a scenario where this turns out to be useful. + forceload-entities: false + # Check the paper api for correct EntityType enums: + # https://jd.papermc.io/paper/1.20/org/bukkit/entity/EntityType.html + # Make sure your minecraft version is matching as well. + limited-types: + ARROW: 120 + FALLING_BLOCK: 160 + SNOWBALL: 100 + SPECTRAL_ARROW: 120 + WITHER_SKULL: 100 + projectile-limit: + # Patches any lag exploit that abuses spawning a ton of projectile entities + # (ex. Snowball exploit).Skips over the following entities: ENDER_PEARL, FISHING_HOOK, WITHER_SKULL + # and ENDER_SIGNAL. You can configure those separately in the custom entity age + # limit section. + enable: false + # (20 ticks = 1 second) Will not touch Ender Pearls + max-alive-time-ticks: 300 + # How frequently we should check all projectiles for their alive time + check-period-seconds: 20 + prevent-flooding-machines: + # Will prevent pistons from pushing waterlogged blocks. + # Stops players from using waterlogged blocks and piston flying + # machines to generate large walls of water that generate lag + # due to the fluid physics. + enable: false + delete-waterlogged-blocks: true + anti-shulker-drops: + # Disables shulkers dropping stored items when blown up. + # This helps fix client- and serverside lag when done often and fast. + enable: false + regional-activity: + block-spread: + # Limits blocks spreading or forming based on world conditions within a + # configurable radius and timeframe to help reduce lag by cancelling burst + # activity hotspots. + # + # Examples: + # + # - Snow forming due to a snow storm. + # - Ice forming in a snowy Biome like Taiga or Tundra. + # - Obsidian / Cobblestone forming due to contact with water. + # - Concrete forming due to mixing of concrete powder and water. + # - Mushrooms spreading. + # - Fire spreading. + enable: false + log: false + # The radius in blocks in which activity will be grouped together and measured. + check-radius-blocks: 1500.0 + # The time in milliseconds all related activity will be blocked if it exceeded + # the configured limit. + pause-time-millis: 6000 + # The time in milliseconds before a region and its data will be expired + # if no activity has been detected. + # For proper functionality, needs to be at least as long as your pause time. + data-keep-time-millis: 10000 + # The TPS at which to cancel the physics entirely. + pause-TPS: 10.0 + # The MSPT at which to cancel the physics entirely. + pause-MSPT: 120.0 + # Maximum number of times a block can form or spread within the configured + # timeframe before activity will be put on cooldown. + block-form-event-limit: 800 + entity-spawn: + # Limits entity spawning activity within a configurable radius and timeframe + # to help reduce lag by cancelling high activity hotspots. + # + # Examples: + # + # - A creature gets spawned naturally, by spawner or other reasons. + # - An entity gets spawned naturally, by spawner or other reasons. + # This does not include tile entities. + enable: false + log: true + # The radius in blocks in which activity will be grouped together and measured. + check-radius-blocks: 1500.0 + # The time in milliseconds all related activity will be blocked if it exceeded + # the configured limit. + pause-time-millis: 18000 + # The time in milliseconds before a region and its data will be expired + # if no activity has been detected. + # For proper functionality, needs to be at least as long as your pause time. + data-keep-time-millis: 20000 + # The TPS at which to cancel the physics entirely. + pause-TPS: 10.0 + # The MSPT at which to cancel the physics entirely. + pause-MSPT: 120.0 + # Maximum number of entity spawns within configured timeframe. + spawn-event-limit: 6000 + entity-targeting: + # Limits entities targeting other entities within a configurable radius + # and timeframe to help reduce lag by cancelling burst activity hotspots. + enable: false + log: true + # The radius in blocks in which activity will be grouped together and measured. + check-radius-blocks: 1500.0 + # The time in milliseconds all related activity will be blocked if it exceeded + # the configured limit. + pause-time-millis: 18000 + # The time in milliseconds before a region and its data will be expired + # if no activity has been detected. + # For proper functionality, needs to be at least as long as your pause time. + data-keep-time-millis: 20000 + # The TPS at which to cancel the physics entirely. + pause-TPS: 14.0 + # The MSPT at which to cancel the physics entirely. + pause-MSPT: 120.0 + # Maximum number of times an entity can target another entity within the + # configured timeframe before the area will be put on cooldown. + entity-target-event-limit: 8000 + distance-limit: + global-limit: + enable: false + # The max distance no target should exceed. + # You want this to be higher than your highest max distance + # for a specific mob. + max-target-distance: 20.0 + custom-limits: + enable: true + entities: + SKELETON: 6.0 + WITHER: 8.0 + WITHER_SKELETON: 8.0 + ZOMBIE: 6.0 + ZOMBIE_VILLAGER: 10.0 + ZOMBIFIED_PIGLIN: 8.0 + entity-pathfinding: + # Limits entities deciding to pathfind to a specific location + # within a configurable radius and timeframe to help reduce lag + # by cancelling burst activity hotspots. + enable: false + log: false + # The radius in blocks in which activity will be grouped together and measured. + check-radius-blocks: 1500.0 + # The time in milliseconds all related activity will be blocked if it exceeded + # the configured limit. + pause-time-millis: 6000 + # The time in milliseconds before a region and its data will be expired + # if no activity has been detected. + # For proper functionality, needs to be at least as long as your pause time. + data-keep-time-millis: 10000 + # The TPS at which to cancel the physics entirely. + pause-TPS: 14.0 + # The MSPT at which to cancel the physics entirely. + pause-MSPT: 120.0 + # Maximum number of times an entity can decide to start moving + # towards a location within the configured timeframe before the + # area will be put on cooldown. + entity-pathfind-event-limit: 4000 + distance-limit: + global-limit: + enable: false + # The max distance no mob pathfinding should exceed. + # You always want this to be higher than your highest max distance + # for a specific mob. + max-target-distance: 20.0 + custom-limits: + enable: true + entities: + SKELETON: 6.0 + WITHER: 8.0 + WITHER_SKELETON: 8.0 + ZOMBIE: 6.0 + ZOMBIE_VILLAGER: 10.0 + ZOMBIFIED_PIGLIN: 8.0 + sculk-bloom: + # Limits sculk blooming within a configurable radius and timeframe + # to help reduce lag by cancelling high activity hotspots. + # + # Examples: + # + # - An entity was killed and dropped experience within an 8-block + # radius of a SculkCatalyst. + # - A plugin used SculkCatalyst.bloom(Block, int) + enable: false + log: false + # The radius in blocks in which activity will be grouped together and measured. + check-radius-blocks: 1500.0 + # The time in milliseconds all related activity will be blocked if it exceeded + # the configured limit. + pause-time-millis: 6000 + # The time in milliseconds before a region and its data will be expired + # if no activity has been detected. + # For proper functionality, needs to be at least as long as your pause time. + data-keep-time-millis: 10000 + # The TPS at which to cancel the physics entirely. + pause-TPS: 10.0 + # The MSPT at which to cancel the physics entirely. + pause-MSPT: 120.0 + # Maximum number of sculk bloom events within the configured timeframe. + sculk-bloom-limit: 300 + liquid-spread: + # Limits liquid spreading within a configurable radius and timeframe + # to help reduce lag by cancelling high activity hotspots. + # + # Examples: + # + # - A lava block spreading by flowing. + # - A water block spreading by flowing. + # - (optional) A dragon egg is teleporting from one position to another. + enable: false + log: true + # The radius in blocks in which activity will be grouped together and measured. + check-radius-blocks: 1500.0 + # The time in milliseconds all related activity will be blocked if it exceeded + # the configured limit. + pause-time-millis: 18000 + # The time in milliseconds before a region and its data will be expired + # if no activity has been detected. + # For proper functionality, needs to be at least as long as your pause time. + data-keep-time-millis: 20000 + # The TPS at which to cancel the physics entirely. + pause-TPS: 12.0 + # The MSPT at which to cancel the physics entirely. + pause-MSPT: 100.0 + # Maximum number of times liquids are allowed to spread within the configured + # timeframe before they will be put on cooldown. + liquid-spread-event-limit: 2400 + ignore-dragon-egg: true + redstone: + # Limits redstone activity within a configurable radius and timeframe + # to help reduce lag by cancelling high activity hotspots. + # + # Examples: + # + # - A redstone current changes. + # - A redstone block gets powered on. + # - A redstone block gets powered off. + enable: false + log: true + # The radius in blocks in which activity will be grouped together and measured. + check-radius-blocks: 1500.0 + # The time in milliseconds all related activity will be blocked if it exceeded + # the configured limit. + pause-time-millis: 18000 + # The time in milliseconds before a region and its data will be expired + # if no activity has been detected. + # For proper functionality, needs to be at least as long as your pause time. + data-keep-time-millis: 20000 + # The TPS at which to cancel the physics entirely. + pause-TPS: 10.0 + # The MSPT at which to cancel the physics entirely. + pause-MSPT: 120.0 + # Maximum number of redstone events within configured timeframe. + redstone-event-limit: 6000 + noteblocks: + # Limits noteblocks being played within a configurable radius and timeframe + # to help reduce lag by cancelling high activity hotspots. + # + # Examples: + # + # - A noteblock is being played through player interaction. + # - A noteblock is being played through a redstone current. + enable: false + log: false + # The radius in blocks in which activity will be grouped together and measured. + check-radius-blocks: 1500.0 + # The time in milliseconds all related activity will be blocked if it exceeded + # the configured limit. + pause-time-millis: 6000 + # The time in milliseconds before a region and its data will be expired + # if no activity has been detected. + # For proper functionality, needs to be at least as long as your pause time. + data-keep-time-millis: 10000 + # The TPS at which to cancel the physics entirely. + pause-TPS: 10.0 + # The MSPT at which to cancel the physics entirely. + pause-MSPT: 120.0 + # Maximum number of times a noteblock can be played within the configured + # timeframe before they will be put on cooldown. + noteblock-play-limit: 2800 + explosions: + # Limits explosions within a configurable radius and timeframe + # to help reduce lag by cancelling high activity hotspots. + # + # Examples: + # + # - A block exploding. + # - An entity exploding. + # - An entity making the decision to explode. + enable: false + log: false + # The radius in blocks in which activity will be grouped together and measured. + check-radius-blocks: 1500.0 + # The time in milliseconds all related activity will be blocked if it exceeded + # the configured limit. + pause-time-millis: 6000 + # The time in milliseconds before a region and its data will be expired + # if no activity has been detected. + # For proper functionality, needs to be at least as long as your pause time. + data-keep-time-millis: 10000 + # The TPS at which to cancel the physics entirely. + pause-TPS: 10.0 + # The MSPT at which to cancel the physics entirely. + pause-MSPT: 120.0 + # Maximum number of explode events within the configured timeframe + # before the region will be put on cooldown. + explode-event-limit: 500 + pistons: + # Limits piston movement within a configurable radius and timeframe + # to help reduce lag by cancelling high activity hotspots. + # + # Examples: + # + # - A piston extends. + # - A piston retracts. + enable: false + log: false + # The radius in blocks in which activity will be grouped together and measured. + check-radius-blocks: 1500.0 + # The time in milliseconds all related activity will be blocked if it exceeded + # the configured limit. + pause-time-millis: 6000 + # The time in milliseconds before a region and its data will be expired + # if no activity has been detected. + # For proper functionality, needs to be at least as long as your pause time. + data-keep-time-millis: 10000 + # The TPS at which to cancel the physics entirely. + pause-TPS: 10.0 + # The MSPT at which to cancel the physics entirely. + pause-MSPT: 120.0 + # Maximum number of piston extend and/or retracts within the + # configured timeframe. + piston-movement-limit: 1000 + block-physics: + # Limits block physics within a configurable radius and timeframe + # to help reduce lag by cancelling burst activity hotspots. + # + # Note: + # + # The event used for this check (BlockPhysicsEvent) is a high frequency event, + # it may be called thousands of times per a second on a busy server. + # Where possible the event may also only be called for the "root" block of + # physics updates in order to limit event spam. + # Physics updates that cause other blocks to change their state may not result + # in an event for each of those blocks (usually adjacent). + enable: false + log: true + # The radius in blocks in which activity will be grouped together and measured. + check-radius-blocks: 1500.0 + # The time in milliseconds all related activity will be blocked if it exceeded + # the configured limit. + pause-time-millis: 18000 + # The time in milliseconds before a region and its data will be expired + # if no activity has been detected. + # For proper functionality, needs to be at least as long as your pause time. + data-keep-time-millis: 20000 + # The TPS at which to cancel the physics entirely. + pause-TPS: 10.0 + # The MSPT at which to cancel the physics entirely. + pause-MSPT: 120.0 + # Maximum number of times a physics check can be performed within the configured + # timeframe before they will be put on cooldown. + block-physics-event-limit: 256000 + sculk-sensor: + # Limits sculk activity within a configurable radius and timeframe + # to help reduce lag by cancelling high activity hotspots. + # + # Examples: + # + # - A redstone current changes for a sculk sensor. + # - A physics check is being performed for a sculk sensor. + enable: false + log: true + # The radius in blocks in which activity will be grouped together and measured. + check-radius-blocks: 1500.0 + # The time in milliseconds all related activity will be blocked if it exceeded + # the configured limit. + pause-time-millis: 18000 + # The time in milliseconds before a region and its data will be expired + # if no activity has been detected. + # For proper functionality, needs to be at least as long as your pause time. + data-keep-time-millis: 20000 + # The TPS at which to cancel the physics entirely. + pause-TPS: 10.0 + # The MSPT at which to cancel the physics entirely. + pause-MSPT: 120.0 + # Maximum number of sculk events within configured timeframe. + sculk-event-limit: 800 + sculk-blocks: + - SCULK_SENSOR + - SCULK_SHRIEKER + - CALIBRATED_SCULK_SENSOR + +############# +# Patches # +############# +patches: + anti-book-ban: + enable: false + # If set to false, will use UTF-8. + # Charset to use to encode the result of NBTCompound#toString into + # a sequence of bytes. The length of that sequence is then used to + # get the approximate Byte-size of an ItemStack. + # Use the /aef bytesize command to get a better understanding. + use-UTF-16: false + max-book-size: 56000 + # Kicks players when they try to create a book bigger than the limit. + kick-on-too-large-book-edit: true + max-author-chars: 32 + max-title-chars: 32 + max-pages: 100 + max-item-size: 56000 + max-inventory-size: 2050000 + # How long in ticks a dropped item's size should be cached after + # checking. + dropped-items-size-cache-ticks: 120 + # How long in ticks a player's inventory size should be cached after + # checking. + player-inventory-size-cache-ticks: 20 + pearl-phase: + # Attempts to patch a pearl phasing exploit by cancelling the teleport + # if the pearl is thrown at or near a specific block. + # At the time of the creation of this module, this is an issue with NoCheatPlus. + enable: false + # How many blocks around the teleport location should be searched + # for potential glitch blocks if the teleport location isn't one itself. + search-radius: 2 + maximum-distance-to-cancel-teleport: 3.0 + glitchy-materials: + - ACACIA_PRESSURE_PLATE + - ACACIA_SLAB + - ACACIA_TRAPDOOR + - ANDESITE_SLAB + - BAMBOO_MOSAIC_SLAB + - BAMBOO_PRESSURE_PLATE + - BAMBOO_SLAB + - BAMBOO_TRAPDOOR + - BIRCH_PRESSURE_PLATE + - BIRCH_SLAB + - BIRCH_TRAPDOOR + - BLACKSTONE_SLAB + - BRICK_SLAB + - CALIBRATED_SCULK_SENSOR + - CHERRY_PRESSURE_PLATE + - CHERRY_SLAB + - CHERRY_TRAPDOOR + - COBBLED_DEEPSLATE_SLAB + - COBBLESTONE_SLAB + - COBWEB + - COPPER_TRAPDOOR + - CRIMSON_PRESSURE_PLATE + - CRIMSON_SLAB + - CRIMSON_TRAPDOOR + - CUT_COPPER_SLAB + - CUT_RED_SANDSTONE_SLAB + - CUT_SANDSTONE_SLAB + - DARK_OAK_PRESSURE_PLATE + - DARK_OAK_SLAB + - DARK_OAK_TRAPDOOR + - DARK_PRISMARINE_SLAB + - DEEPSLATE_BRICK_SLAB + - DEEPSLATE_TILE_SLAB + - DIORITE_SLAB + - END_STONE_BRICK_SLAB + - EXPOSED_COPPER_TRAPDOOR + - EXPOSED_CUT_COPPER_SLAB + - GRANITE_SLAB + - HEAVY_WEIGHTED_PRESSURE_PLATE + - IRON_TRAPDOOR + - JUNGLE_PRESSURE_PLATE + - JUNGLE_SLAB + - JUNGLE_TRAPDOOR + - LIGHT_WEIGHTED_PRESSURE_PLATE + - MANGROVE_PRESSURE_PLATE + - MANGROVE_SLAB + - MANGROVE_TRAPDOOR + - MOSSY_COBBLESTONE_SLAB + - MOSSY_STONE_BRICK_SLAB + - MUD_BRICK_SLAB + - NETHER_BRICK_SLAB + - OAK_PRESSURE_PLATE + - OAK_SLAB + - OAK_TRAPDOOR + - OXIDIZED_COPPER_TRAPDOOR + - OXIDIZED_CUT_COPPER_SLAB + - PETRIFIED_OAK_SLAB + - POLISHED_ANDESITE_SLAB + - POLISHED_BLACKSTONE_BRICK_SLAB + - POLISHED_BLACKSTONE_PRESSURE_PLATE + - POLISHED_BLACKSTONE_SLAB + - POLISHED_DEEPSLATE_SLAB + - POLISHED_DIORITE_SLAB + - POLISHED_GRANITE_SLAB + - POLISHED_TUFF_SLAB + - POWDER_SNOW + - PRISMARINE_BRICK_SLAB + - PRISMARINE_SLAB + - PURPUR_SLAB + - QUARTZ_SLAB + - RED_NETHER_BRICK_SLAB + - RED_SANDSTONE_SLAB + - SANDSTONE_SLAB + - SCULK_SENSOR + - SCULK_SHRIEKER + - SMOOTH_QUARTZ_SLAB + - SMOOTH_RED_SANDSTONE_SLAB + - SMOOTH_SANDSTONE_SLAB + - SMOOTH_STONE_SLAB + - SPRUCE_PRESSURE_PLATE + - SPRUCE_SLAB + - SPRUCE_TRAPDOOR + - STONE_BRICK_SLAB + - STONE_PRESSURE_PLATE + - STONE_SLAB + - TUFF_BRICK_SLAB + - TUFF_SLAB + - WARPED_PRESSURE_PLATE + - WARPED_SLAB + - WARPED_TRAPDOOR + - WAXED_COPPER_TRAPDOOR + - WAXED_CUT_COPPER_SLAB + - WAXED_EXPOSED_COPPER_TRAPDOOR + - WAXED_EXPOSED_CUT_COPPER_SLAB + - WAXED_OXIDIZED_COPPER_TRAPDOOR + - WAXED_OXIDIZED_CUT_COPPER_SLAB + - WAXED_WEATHERED_COPPER_TRAPDOOR + - WAXED_WEATHERED_CUT_COPPER_SLAB + - WEATHERED_COPPER_TRAPDOOR + - WEATHERED_CUT_COPPER_SLAB + prevent-command-sign: + # Patch signs that have run_command NBT tags attached, allowing the + # to run a command with operator permissions on click. + # Recommended to enable if you had a rogue admin or backdoor incident. + enable: true + prevent-fast-world-teleport-crash: + # Prevents crash methods that involve very fast teleporting between + # different worlds in a short time. + enable: false + # Time in milliseconds until an entity can teleport to another + # world again. + teleport-delay-millis: 1000 + log: false + prevent-teleport-coordinate-exploit: + # Patches coordinate exploit for teleportation commands such as /tpa, + # /home AS WELL as respawn exploits. + # This is done by vanishing the player for x ticks before teleporting. + enable: false + min-distance-to-vanish-player: 100 + teleport-vanish-time-in-ticks: 10 + # Removes entities or players if they are invalid, dead or not located + # within a ticking chunk. Not sure if this works. + experimental-godmode-patch: false + tab-complete-crash-patch: + # Patches two lag exploits and an instant server shutdown exploit that + # works by sending a malicious TabComplete packet that triggers a + # StackOverflowError inside the TagParser class. + enable: true + log: false + kick-player: false + remove-beehive-coordinates: + # Patches an exploit that allows players to obtain another player's + # coordinates by trading them for Beehives or Beenests. + # If the traded item contains any bees, the stored bee's NBT data can + # then be read from the item. + # This data includes, but is not limited to: + # - XYZ coordinates of where the bee has its hive + # - XYZ of the bee's last coordinates before entering it's hive + # - XYZ coordinates of where the bee last visited a flower + # - XYZ coordinates of where the bee was first spawned into existence + # - UID of the world the bee was first spawned into existence + enable: true + # The NBT tags to filter from the item. These are the Keys that hold + # the position data. You may add more tags you want removed here. + tags: + - Pos + - HivePos + - FlowerPos + - Paper.Origin + - Paper.OriginWorld + - WorldUUIDMost + - WorldUUIDLeast + window-click-crash-patch: + # Patches a variety of different lag and crash methods that work + # by sending invalid Window Click packets, causing the server to + # dump error logs until it runs out of memory. + enable: true + log: false + kick-player: false + map-cursor-lag-patch: + # Patches the famous stacked map cursor lag that causes both + # client and server crashes. + enable: false + inventory-lag: + # Checks if a player is requesting unusual amounts of traffic from the server + # using ItemStacks. + # If a player exceeds the limit, they will be put on a cooldown, during which + # they will be very limited in terms of ItemStack or Inventory interactions. + enable: false + # For debug purposes. Don't leave enabled for too long as it is very spammy. + log: false + # Whether to immediately close any open inventory of the player on limit exceed + # Note: Closing has to be scheduled so it will take a bit if the server is heavily + # lagging. + close-open-inventory: true + # The time in millis in which to check if the player exceeded the limit. + # Needs to be at least as long as your lockout duration millis. + byte-data-keep-time-millis: 30000 + rate-limit: + # The limit in bytes the server has sent the server in the form of ItemStacks, + # before the player will be put on a rate-limit. + # Should always be lower than your lockout bytesize limit. + bytesize-limit: 8000000 + # The time in millis in which a player is allowed to open x amounts of windows + # but not more. + timeframe-millis: 2500 + # The amount of windows that can be opened during the timeframe-millis. + max-window-opens-per-timeframe: 2 + lockout: + # The upper limit in bytes a player is allowed to request from the server + # within the configured timeframe before he will be put on cooldown. + # During the cooldown, he will not be able to open any inventory screens + # or interact with items. + bytesize-limit: 24000000 + # The time in milliseconds the player will have to wait before + # being able to open an inventory again after he exceeded the limit. + duration-millis: 15000 + check-packets: + - SET_SLOT + - WINDOW_ITEMS + sequence-crash-patch: + # Patches a variety of lag/crash exploits that involves sending packets + # with invalid sequences. + enable: true + log: false + kick-player: false + sign-lag: + # Patches a lag exploit that involves sending specific oversized + # sign edit packets. + enable: true + # How many ticks a player needs to wait to be able to send + # another sign update packet (renaming or writing). + packet-delay-in-ticks: 10 + # Vanilla limit is 384 characters per line, which can be too much. + line-character-limit: 80 + # General char limit for all lines combined. + total-char-limit: 384 + log: false + kick-player: false + beehive-crash-patch: + # Patches a server crash exploit exclusive to Purpur servers. + # This exploit works due to PurpurClient having a feature that + # lets clients request stored data of a clicked beehive from + # the server. The server does not check how far the clicked + # beehive is away from the client enabling a malicious sender + # to load chunks very fast at far away locations by telling + # the server it clicked a beehive there. + enable: false + channel: purpur:beehive_c2s + max-distance: 24 + log: false + kick-player: false + +############## +# Illegals # +############## +illegals: + remove-placed-blocks: + on-chunkload: + # Remove illegally placed blocks on chunkload. + enable: false + # Enter PLAYER_HEAD here if you want to remove placed playerheads. + blocks-to-remove: + - PLAYER_HEAD + - CHAIN_COMMAND_BLOCK + - COMMAND_BLOCK + - COMMAND_BLOCK_MINECART + - REPEATING_COMMAND_BLOCK + - BEDROCK + - BARRIER + exempted-worlds: + - exampleworld1 + - exampleworld2 + pause-on-low-TPS: false + pause-TPS: 14.0 + periodically: + enable: false + # Enter PLAYER_HEAD here if you want to remove placed playerheads. + blocks-to-remove: + - PLAYER_HEAD + - CHAIN_COMMAND_BLOCK + - COMMAND_BLOCK + - COMMAND_BLOCK_MINECART + - REPEATING_COMMAND_BLOCK + - BEDROCK + - BARRIER + exempted-worlds: + - exampleworld1 + - exampleworld2 + check-period-in-seconds: 10 + pause-on-low-TPS: false + pause-TPS: 14.0 + remove-unnatural-spawners-on-chunkload: + enable: false + pause-on-low-TPS: false + pause-TPS: 14.0 + # You can add or remove as much world names here as you want. + natural-spawner-types-per-world: + world: + - SKELETON + - ZOMBIE + - SILVERFISH + - SPIDER + - CAVE_SPIDER + world_the_end: + - SKELETON + - SPIDER + world_nether: + - BLAZE + - MAGMA_CUBE + nbt: + ban-custom-tags: + # Bypass permission: aef.bypass.illegal.nbt.custom + # Deletes items that have one or more of the configured tags. + enable: false + # Available options: + # STRICT - Deletes or reverts illegals even on chest open + # ACTION_ON_USE - Deletes or reverts illegals when interacted with + # PREVENT_USE_ONLY - Only prevents usage of illegals if possible + handling: PREVENT_USE_ONLY + # Enable this if you have problems with the plugin removing items from chest guis. + gui-plugins-supported: false + # Prevents Hopper32k mechanic of placing a shulker containing illegals on top + # of a hopper, then using the illegal out of the hopper's inventory. + # WARNING: Hooks into InventoryMoveItemEvent, which can become VERY resource + # intense as the event fires in high frequencies as soon as players start using + # farms or item sorters. Recommended to leave off if not necessary. + prevent-hopper32k-mechanic: false + check-on-chunkload: + # WARNING: CHECKING ON CHUNKLOAD IS NOT RECOMMENDED AS IT IS VERY RESOURCE INTENSE. + # BE VERY SURE YOU ACTUALLY NEED THIS. + # Iterates over all blocks in a chunk when it is loaded and checks any inventories + # for illegals. If a container with illegals is found, the container will be REMOVED. + enable: false + # If set to true, immediately replaces the container with air. Otherwise, will try + # to handle items separately. + remove-container: false + # The time in milliseconds to wait before performing another check, + # if a check was positive. Helps with lag resulting from repeatedly + # checking illegals. + check-rate-limit-millis: 3000 + check-stored-items: false + # The exact, case sensitive value of the nbt tag. + tags: + - dmg + item-whitelist-enabled: false + use-as-blacklist-instead: false + whitelisted-items: + - GOLDEN_APPLE + impossibly-stored-items: + # Bypass permission: aef.bypass.illegal.nbt.storeditems + # Prevents usage of or deletes storage items that have been pre-filled + # with items using NBT tags. These can only be created by players with + # creative access. + # Most commonly dispensers, droppers and chests containing kit shulkers + # are created but there are more combinations possible. + enable: false + # Available options: + # STRICT - Deletes or reverts illegals even on chest open + # ACTION_ON_USE - Deletes or reverts illegals when interacted with + # PREVENT_USE_ONLY - Only prevents usage of illegals if possible + handling: PREVENT_USE_ONLY + # Enable this if you have problems with the plugin removing items from chest guis. + gui-plugins-supported: false + # Prevents Hopper32k mechanic of placing a shulker containing illegals on top + # of a hopper, then using the illegal out of the hopper's inventory. + # WARNING: Hooks into InventoryMoveItemEvent, which can become VERY resource + # intense as the event fires in high frequencies as soon as players start using + # farms or item sorters. Recommended to leave off if not necessary. + prevent-hopper32k-mechanic: false + check-on-chunkload: + # WARNING: CHECKING ON CHUNKLOAD IS NOT RECOMMENDED AS IT IS VERY RESOURCE INTENSE. + # BE VERY SURE YOU ACTUALLY NEED THIS. + # Iterates over all blocks in a chunk when it is loaded and checks any inventories + # for illegals. If a container with illegals is found, the container will be REMOVED. + enable: false + # If set to true, immediately replaces the container with air. Otherwise, will try + # to handle items separately. + remove-container: false + # The time in milliseconds to wait before performing another check, + # if a check was positive. Helps with lag resulting from repeatedly + # checking illegals. + check-rate-limit-millis: 3000 + # The exact name of the nbt tag that signals items are stored inside. + tag: BlockEntityTag + check-stored-items: false + storage-types: + - BARREL + - BLAST_FURNACE + - BREWING_STAND + - CHEST + - CHISELED_BOOKSHELF + - CRAFTER + - DECORATED_POT + - DISPENSER + - DROPPER + - FURNACE + - HOPPER + - JUKEBOX + - LECTERN + - SMOKER + - TRAPPED_CHEST + command-items: + # Bypass permission: aef.bypass.illegal.nbt.commanditem + # Deletes items with commands in their NBT data that run as operator. + # These can only be created by players with creative access. + # Most common items are books, since it allows storing multiple commands. + enable: false + # Available options: + # STRICT - Deletes or reverts illegals even on chest open + # ACTION_ON_USE - Deletes or reverts illegals when interacted with + # PREVENT_USE_ONLY - Only prevents usage of illegals if possible + handling: PREVENT_USE_ONLY + # Enable this if you have problems with the plugin removing items from chest guis. + gui-plugins-supported: false + # Prevents Hopper32k mechanic of placing a shulker containing illegals on top + # of a hopper, then using the illegal out of the hopper's inventory. + # WARNING: Hooks into InventoryMoveItemEvent, which can become VERY resource + # intense as the event fires in high frequencies as soon as players start using + # farms or item sorters. Recommended to leave off if not necessary. + prevent-hopper32k-mechanic: false + check-on-chunkload: + # WARNING: CHECKING ON CHUNKLOAD IS NOT RECOMMENDED AS IT IS VERY RESOURCE INTENSE. + # BE VERY SURE YOU ACTUALLY NEED THIS. + # Iterates over all blocks in a chunk when it is loaded and checks any inventories + # for illegals. If a container with illegals is found, the container will be REMOVED. + enable: false + # If set to true, immediately replaces the container with air. Otherwise, will try + # to handle items separately. + remove-container: false + # The time in milliseconds to wait before performing another check, + # if a check was positive. Helps with lag resulting from repeatedly + # checking illegals. + check-rate-limit-millis: 3000 + check-stored-items: false + enchantments: + inapplicable-enchants: + # Bypass permission: aef.bypass.illegal.enchants.inapplicable + # Reverts or prevents usage of ItemStacks with Enchantments that + # cannot be applied to that ItemStack in vanilla survival minecraft. + # Examples: A helmet with sharpness or a block of stone with fortune. + enable: false + # Available options: + # STRICT - Deletes or reverts illegals even on chest open + # ACTION_ON_USE - Deletes or reverts illegals when interacted with + # PREVENT_USE_ONLY - Only prevents usage of illegals if possible + handling: PREVENT_USE_ONLY + # Enable this if you have problems with the plugin removing items from chest guis. + gui-plugins-supported: false + # Prevents Hopper32k mechanic of placing a shulker containing illegals on top + # of a hopper, then using the illegal out of the hopper's inventory. + # WARNING: Hooks into InventoryMoveItemEvent, which can become VERY resource + # intense as the event fires in high frequencies as soon as players start using + # farms or item sorters. Recommended to leave off if not necessary. + prevent-hopper32k-mechanic: false + check-on-chunkload: + # WARNING: CHECKING ON CHUNKLOAD IS NOT RECOMMENDED AS IT IS VERY RESOURCE INTENSE. + # BE VERY SURE YOU ACTUALLY NEED THIS. + # Iterates over all blocks in a chunk when it is loaded and checks any inventories + # for illegals. If a container with illegals is found, the container will be REMOVED. + enable: false + # If set to true, immediately replaces the container with air. Otherwise, will try + # to handle items separately. + remove-container: false + # The time in milliseconds to wait before performing another check, + # if a check was positive. Helps with lag resulting from repeatedly + # checking illegals. + check-rate-limit-millis: 3000 + check-stored-items: false + item-whitelist-enabled: true + use-as-blacklist-instead: false + whitelisted-items: + - GOLDEN_APPLE + higher-enchants: + # Bypass permission: aef.bypass.illegal.enchants.higher + # Reverts or prevents usage of ItemStacks with Enchantments higher + # than the natural, in vanilla survival obtainable level (aka 32ks / 255s). + enable: false + # Available options: + # STRICT - Deletes or reverts illegals even on chest open + # ACTION_ON_USE - Deletes or reverts illegals when interacted with + # PREVENT_USE_ONLY - Only prevents usage of illegals if possible + handling: PREVENT_USE_ONLY + # Enable this if you have problems with the plugin removing items from chest guis. + gui-plugins-supported: false + # Prevents Hopper32k mechanic of placing a shulker containing illegals on top + # of a hopper, then using the illegal out of the hopper's inventory. + # WARNING: Hooks into InventoryMoveItemEvent, which can become VERY resource + # intense as the event fires in high frequencies as soon as players start using + # farms or item sorters. Recommended to leave off if not necessary. + prevent-hopper32k-mechanic: false + check-on-chunkload: + # WARNING: CHECKING ON CHUNKLOAD IS NOT RECOMMENDED AS IT IS VERY RESOURCE INTENSE. + # BE VERY SURE YOU ACTUALLY NEED THIS. + # Iterates over all blocks in a chunk when it is loaded and checks any inventories + # for illegals. If a container with illegals is found, the container will be REMOVED. + enable: false + # If set to true, immediately replaces the container with air. Otherwise, will try + # to handle items separately. + remove-container: false + # The time in milliseconds to wait before performing another check, + # if a check was positive. Helps with lag resulting from repeatedly + # checking illegals. + check-rate-limit-millis: 3000 + check-stored-items: false + only-specific-enchants: false + specific-enchants: + - DIG_SPEED + item-whitelist-enabled: true + use-as-blacklist-instead: false + whitelisted-items: + - GOLDEN_APPLE + incompatible-enchants: + # Bypass permission: aef.bypass.illegal.enchants.incompatible + # Reverts or prevents usage of ItemStacks with Enchantments that + # cannot coexist in vanilla survival minecraft. + # Examples: A bow with mending and infinity or armor with every + # protection enchantment. + enable: false + # Available options: + # STRICT - Deletes or reverts illegals even on chest open + # ACTION_ON_USE - Deletes or reverts illegals when interacted with + # PREVENT_USE_ONLY - Only prevents usage of illegals if possible + handling: PREVENT_USE_ONLY + # Enable this if you have problems with the plugin removing items from chest guis. + gui-plugins-supported: false + # Prevents Hopper32k mechanic of placing a shulker containing illegals on top + # of a hopper, then using the illegal out of the hopper's inventory. + # WARNING: Hooks into InventoryMoveItemEvent, which can become VERY resource + # intense as the event fires in high frequencies as soon as players start using + # farms or item sorters. Recommended to leave off if not necessary. + prevent-hopper32k-mechanic: false + check-on-chunkload: + # WARNING: CHECKING ON CHUNKLOAD IS NOT RECOMMENDED AS IT IS VERY RESOURCE INTENSE. + # BE VERY SURE YOU ACTUALLY NEED THIS. + # Iterates over all blocks in a chunk when it is loaded and checks any inventories + # for illegals. If a container with illegals is found, the container will be REMOVED. + enable: false + # If set to true, immediately replaces the container with air. Otherwise, will try + # to handle items separately. + remove-container: false + # The time in milliseconds to wait before performing another check, + # if a check was positive. Helps with lag resulting from repeatedly + # checking illegals. + check-rate-limit-millis: 3000 + check-stored-items: false + item-whitelist-enabled: true + use-as-blacklist-instead: false + whitelisted-items: + - BOW + attribute-modifiers: + # Bypass permission: aef.bypass.illegal.attributes + # Prevents usage of or reverts items with any attribute modifiers + # or item flags. + enable: false + # Available options: + # STRICT - Deletes or reverts illegals even on chest open + # ACTION_ON_USE - Deletes or reverts illegals when interacted with + # PREVENT_USE_ONLY - Only prevents usage of illegals if possible + handling: PREVENT_USE_ONLY + # Enable this if you have problems with the plugin removing items from chest guis. + gui-plugins-supported: false + # Prevents Hopper32k mechanic of placing a shulker containing illegals on top + # of a hopper, then using the illegal out of the hopper's inventory. + # WARNING: Hooks into InventoryMoveItemEvent, which can become VERY resource + # intense as the event fires in high frequencies as soon as players start using + # farms or item sorters. Recommended to leave off if not necessary. + prevent-hopper32k-mechanic: false + check-on-chunkload: + # WARNING: CHECKING ON CHUNKLOAD IS NOT RECOMMENDED AS IT IS VERY RESOURCE INTENSE. + # BE VERY SURE YOU ACTUALLY NEED THIS. + # Iterates over all blocks in a chunk when it is loaded and checks any inventories + # for illegals. If a container with illegals is found, the container will be REMOVED. + enable: false + # If set to true, immediately replaces the container with air. Otherwise, will try + # to handle items separately. + remove-container: false + # The time in milliseconds to wait before performing another check, + # if a check was positive. Helps with lag resulting from repeatedly + # checking illegals. + check-rate-limit-millis: 3000 + item-whitelist-enabled: false + use-as-blacklist-instead: true + check-stored-items: false + whitelisted-items: + - TOTEM_OF_UNDYING + ban-player-heads: + # Bypass permission: aef.bypass.illegal.playerhead + # Deletes or prevents usage of player heads. + enable: false + # Available options: + # STRICT - Deletes or reverts illegals even on chest open + # ACTION_ON_USE - Deletes or reverts illegals when interacted with + # PREVENT_USE_ONLY - Only prevents usage of illegals if possible + handling: PREVENT_USE_ONLY + # Enable this if you have problems with the plugin removing items from chest guis. + gui-plugins-supported: false + # Prevents Hopper32k mechanic of placing a shulker containing illegals on top + # of a hopper, then using the illegal out of the hopper's inventory. + # WARNING: Hooks into InventoryMoveItemEvent, which can become VERY resource + # intense as the event fires in high frequencies as soon as players start using + # farms or item sorters. Recommended to leave off if not necessary. + prevent-hopper32k-mechanic: false + check-on-chunkload: + # WARNING: CHECKING ON CHUNKLOAD IS NOT RECOMMENDED AS IT IS VERY RESOURCE INTENSE. + # BE VERY SURE YOU ACTUALLY NEED THIS. + # Iterates over all blocks in a chunk when it is loaded and checks any inventories + # for illegals. If a container with illegals is found, the container will be REMOVED. + enable: false + # If set to true, immediately replaces the container with air. Otherwise, will try + # to handle items separately. + remove-container: false + # The time in milliseconds to wait before performing another check, + # if a check was positive. Helps with lag resulting from repeatedly + # checking illegals. + check-rate-limit-millis: 3000 + # Will delete shulker/bundle if they contain any player heads. + check-stored-items: false + ban-specific-materials: + # Bypass permission: aef.bypass.illegal.bannedmaterial + # Prevents usage of or deletes items with material that you do not want + # your players to be able to use. + # Useful if your players have blocks that shouldn't be obtainable in survival. + enable: false + # Available options: + # STRICT - Deletes or reverts illegals even on chest open + # ACTION_ON_USE - Deletes or reverts illegals when interacted with + # PREVENT_USE_ONLY - Only prevents usage of illegals if possible + handling: PREVENT_USE_ONLY + # Enable this if you have problems with the plugin removing items from chest guis. + gui-plugins-supported: false + # Prevents Hopper32k mechanic of placing a shulker containing illegals on top + # of a hopper, then using the illegal out of the hopper's inventory. + # WARNING: Hooks into InventoryMoveItemEvent, which can become VERY resource + # intense as the event fires in high frequencies as soon as players start using + # farms or item sorters. Recommended to leave off if not necessary. + prevent-hopper32k-mechanic: false + check-on-chunkload: + # WARNING: CHECKING ON CHUNKLOAD IS NOT RECOMMENDED AS IT IS VERY RESOURCE INTENSE. + # BE VERY SURE YOU ACTUALLY NEED THIS. + # Iterates over all blocks in a chunk when it is loaded and checks any inventories + # for illegals. If a container with illegals is found, the container will be REMOVED. + enable: false + # If set to true, immediately replaces the container with air. Otherwise, will try + # to handle items separately. + remove-container: false + # The time in milliseconds to wait before performing another check, + # if a check was positive. Helps with lag resulting from repeatedly + # checking illegals. + check-rate-limit-millis: 3000 + check-stored-items: false + banned-materials: + - CHAIN_COMMAND_BLOCK + - COMMAND_BLOCK + - COMMAND_BLOCK_MINECART + - REPEATING_COMMAND_BLOCK + - BEDROCK + - BARRIER + - STRUCTURE_BLOCK + - STRUCTURE_VOID + - END_PORTAL_FRAME + - END_PORTAL + - NETHER_PORTAL + - LIGHT + potions: + # Bypass permission: aef.bypass.illegal.potions + # Prevents usage of or reverts items with any attribute modifiers + # or item flags. + enable: false + # Available options: + # STRICT - Deletes or reverts illegals even on chest open + # ACTION_ON_USE - Deletes or reverts illegals when interacted with + # PREVENT_USE_ONLY - Only prevents usage of illegals if possible + handling: PREVENT_USE_ONLY + # Enable this if you have problems with the plugin removing items from chest guis. + gui-plugins-supported: false + # Prevents Hopper32k mechanic of placing a shulker containing illegals on top + # of a hopper, then using the illegal out of the hopper's inventory. + # WARNING: Hooks into InventoryMoveItemEvent, which can become VERY resource + # intense as the event fires in high frequencies as soon as players start using + # farms or item sorters. Recommended to leave off if not necessary. + prevent-hopper32k-mechanic: false + check-on-chunkload: + # WARNING: CHECKING ON CHUNKLOAD IS NOT RECOMMENDED AS IT IS VERY RESOURCE INTENSE. + # BE VERY SURE YOU ACTUALLY NEED THIS. + # Iterates over all blocks in a chunk when it is loaded and checks any inventories + # for illegals. If a container with illegals is found, the container will be REMOVED. + enable: false + # If set to true, immediately replaces the container with air. Otherwise, will try + # to handle items separately. + remove-container: false + # The time in milliseconds to wait before performing another check, + # if a check was positive. Helps with lag resulting from repeatedly + # checking illegals. + check-rate-limit-millis: 3000 + check-stored-items: false + ban-spawn-eggs: + # Bypass permission: aef.bypass.illegal.spawnegg + # Deletes or prevents usage of spawn eggs. + enable: false + # Available options: + # STRICT - Deletes or reverts illegals even on chest open + # ACTION_ON_USE - Deletes or reverts illegals when interacted with + # PREVENT_USE_ONLY - Only prevents usage of illegals if possible + handling: PREVENT_USE_ONLY + # Enable this if you have problems with the plugin removing items from chest guis. + gui-plugins-supported: false + # Prevents Hopper32k mechanic of placing a shulker containing illegals on top + # of a hopper, then using the illegal out of the hopper's inventory. + # WARNING: Hooks into InventoryMoveItemEvent, which can become VERY resource + # intense as the event fires in high frequencies as soon as players start using + # farms or item sorters. Recommended to leave off if not necessary. + prevent-hopper32k-mechanic: false + check-on-chunkload: + # WARNING: CHECKING ON CHUNKLOAD IS NOT RECOMMENDED AS IT IS VERY RESOURCE INTENSE. + # BE VERY SURE YOU ACTUALLY NEED THIS. + # Iterates over all blocks in a chunk when it is loaded and checks any inventories + # for illegals. If a container with illegals is found, the container will be REMOVED. + enable: false + # If set to true, immediately replaces the container with air. Otherwise, will try + # to handle items separately. + remove-container: false + # The time in milliseconds to wait before performing another check, + # if a check was positive. Helps with lag resulting from repeatedly + # checking illegals. + check-rate-limit-millis: 3000 + # If remove-spawn-eggs is set to true Will delete shulker/bundle + # should they contain any spawneggs. + check-stored-items: false + whitelisted-items: + - VILLAGER_SPAWN_EGG + banned-item-names: + # Bypass permission: aef.bypass.illegal.bannedname + # Resets an item's name (or deletes the item) if it matches one of + # the configured regexes. + # Regexes can be complex. Use a tool like https://regex101.com/ or + # ChatGPT for good results. + enable: false + # Available options: + # STRICT - Deletes or reverts illegals even on chest open + # ACTION_ON_USE - Deletes or reverts illegals when interacted with + # PREVENT_USE_ONLY - Only prevents usage of illegals if possible + handling: PREVENT_USE_ONLY + # Enable this if you have problems with the plugin removing items from chest guis. + gui-plugins-supported: false + # Prevents Hopper32k mechanic of placing a shulker containing illegals on top + # of a hopper, then using the illegal out of the hopper's inventory. + # WARNING: Hooks into InventoryMoveItemEvent, which can become VERY resource + # intense as the event fires in high frequencies as soon as players start using + # farms or item sorters. Recommended to leave off if not necessary. + prevent-hopper32k-mechanic: false + check-on-chunkload: + # WARNING: CHECKING ON CHUNKLOAD IS NOT RECOMMENDED AS IT IS VERY RESOURCE INTENSE. + # BE VERY SURE YOU ACTUALLY NEED THIS. + # Iterates over all blocks in a chunk when it is loaded and checks any inventories + # for illegals. If a container with illegals is found, the container will be REMOVED. + enable: false + # If set to true, immediately replaces the container with air. Otherwise, will try + # to handle items separately. + remove-container: false + # The time in milliseconds to wait before performing another check, + # if a check was positive. Helps with lag resulting from repeatedly + # checking illegals. + check-rate-limit-millis: 3000 + # Will delete the item instead of resetting the name. + delete-item: false + regex: + - (?i)illegalstring + whitelisted-items: + - DIRT + illegally-stacked-items: + # Bypass permission: aef.bypass.illegal.overstacked + # Prevents usage of or reverts items with a higher or lower + # stack size than their vanilla limit. + enable: false + # Available options: + # STRICT - Deletes or reverts illegals even on chest open + # ACTION_ON_USE - Deletes or reverts illegals when interacted with + # PREVENT_USE_ONLY - Only prevents usage of illegals if possible + handling: PREVENT_USE_ONLY + # Enable this if you have problems with the plugin removing items from chest guis. + gui-plugins-supported: false + # Prevents Hopper32k mechanic of placing a shulker containing illegals on top + # of a hopper, then using the illegal out of the hopper's inventory. + # WARNING: Hooks into InventoryMoveItemEvent, which can become VERY resource + # intense as the event fires in high frequencies as soon as players start using + # farms or item sorters. Recommended to leave off if not necessary. + prevent-hopper32k-mechanic: false + check-on-chunkload: + # WARNING: CHECKING ON CHUNKLOAD IS NOT RECOMMENDED AS IT IS VERY RESOURCE INTENSE. + # BE VERY SURE YOU ACTUALLY NEED THIS. + # Iterates over all blocks in a chunk when it is loaded and checks any inventories + # for illegals. If a container with illegals is found, the container will be REMOVED. + enable: false + # If set to true, immediately replaces the container with air. Otherwise, will try + # to handle items separately. + remove-container: false + # The time in milliseconds to wait before performing another check, + # if a check was positive. Helps with lag resulting from repeatedly + # checking illegals. + check-rate-limit-millis: 3000 + item-whitelist-enabled: false + use-as-blacklist-instead: true + check-stored-items: false + whitelisted-items: + - TOTEM_OF_UNDYING + revert-unbreakables: + # Bypass permission: aef.bypass.illegal.unbreakable + # Deletes and prevents usage of unbreakable items. + # This can be anything from items with illegal damage attributes to + # Metadata/NBT tags. + # Note: Due to the limitations of the API, we can only fully prevent + # usage of these items by deleting them. + enable: false + # Available options: + # STRICT - Deletes or reverts illegals even on chest open + # ACTION_ON_USE - Deletes or reverts illegals when interacted with + # PREVENT_USE_ONLY - Only prevents usage of illegals if possible + handling: PREVENT_USE_ONLY + # Enable this if you have problems with the plugin removing items from chest guis. + gui-plugins-supported: false + # Prevents Hopper32k mechanic of placing a shulker containing illegals on top + # of a hopper, then using the illegal out of the hopper's inventory. + # WARNING: Hooks into InventoryMoveItemEvent, which can become VERY resource + # intense as the event fires in high frequencies as soon as players start using + # farms or item sorters. Recommended to leave off if not necessary. + prevent-hopper32k-mechanic: false + check-on-chunkload: + # WARNING: CHECKING ON CHUNKLOAD IS NOT RECOMMENDED AS IT IS VERY RESOURCE INTENSE. + # BE VERY SURE YOU ACTUALLY NEED THIS. + # Iterates over all blocks in a chunk when it is loaded and checks any inventories + # for illegals. If a container with illegals is found, the container will be REMOVED. + enable: false + # If set to true, immediately replaces the container with air. Otherwise, will try + # to handle items separately. + remove-container: false + # The time in milliseconds to wait before performing another check, + # if a check was positive. Helps with lag resulting from repeatedly + # checking illegals. + check-rate-limit-millis: 3000 + item-whitelist-enabled: false + use-as-blacklist-instead: false + # Will delete shulkers and bundles if they contain unbreakables. + check-stored-items: false + whitelisted-items: + - DIAMOND_CHESTPLATE + +###################### +# Dupe Preventions # +###################### +dupe-preventions: + # Prevent any possible dupes involving chested entities by making + # it impossible to put a chest on them. + # Only do this if you have reason to believe a dupe like that exists + # on your server. + prevent-chests-on-living-entities: false + # Closes open inventories of all entities that are in a chunk + # that will be unloaded. + close-entity-inventories-on-chunk-unload: false + # Prevents entities that can carry chests from using portals to + # block some common dupe tactics. + # CAUTION: Will remove chests and their contents from a chested + # entity if it touches a portal on Folia! + prevent-chested-living-entities-in-portals: false + # Closes open inventories of entities that disappeared when the + # player riding it disconnects. + close-entity-inventories-on-player-disconnect: false + +################# +# Preventions # +################# +preventions: + withers: + disable-wither-spawning-at-spawn: + # Disables spawning withers near a configurable radius around + # spawn. Helps if players are generating endless amounts of withers + # to lag the server. + enable: false + inform-players: true + worlds: + world: 5000 + world_the_end: 5000 + world_nether: 5000 + remove-flying-wither-skulls: + # Removes wither skulls when the chunk gets unloaded. + # Use if you have a ton of them at spawn and they are causing lag. + on-chunk-unload: false + # Removes wither skulls when the chunk gets loaded. + # Use if you have a ton of them at spawn and they are causing lag. + on-chunk-load: true + periodically-remove-all-flying-skulls: + # Enable if a lot of wither skulls at spawn are causing lag. + enable: false + check-period-in-ticks: 80 + # Prevents wither skulls from being shot. + disable-withers-from-shooting-skulls: false + rate-limit-wither-skulls: + # This can help combat lag caused by a ton of wither skulls + # spawning but weakens withers. + enable: false + # Cooldown until another skull can be shot at a player. + player-target-cooldown-in-ticks: 20 + # Cooldown until another skull can be shot at anything + # else other than a player. + other-target-cooldown-in-ticks: 40 + # Cooldown when wither has no target. + no-target-cooldown-in-ticks: 100 + portals: + prevent-specific-types: + # Configure entities here that you suspect might be used in a dupe + # with portals. + # CAUTION: Will kill the entity on folia due to broken portal event. + # There is sadly no other efficient way. + enable: true + # Defaults prevent common lag methods. + entities: + - DROPPED_ITEM + - FIREWORK + - PRIMED_TNT + - THROWN_EXP_BOTTLE + - EXPERIENCE_ORB + - ARMOR_STAND + # Only enable if you must. Does not affect players. + # CAUTION: Will kill the entity on folia due to broken portal event. + prevent-all-entities-in-portals: false + prevent-destroying-end-portals: + enable: true + show-logs: true + end: + bedrock-protection-radius-blocks: 8 + # Add block locations that should be protected as well. + # Format: ::: + # If you don't want to use this, just configure an empty list: + # pillar-blocks: [] + pillar-blocks: + - world_the_end:143:140:-50 + - world_the_end:112:90:-90 + prevent-portal-traps: + # Teleports a player back to the original location if they have been + # standing in a portal for too long. + enable: false + wait-time-until-tp-back-in-seconds: 10 + # Prevents a lag exploit. Might disable some chunk loader designs. + prevent-projectiles-in-portals: false + permanent-block-breaking: + by-placing-piston-on-retract: + enable: true + whitelisted-worlds: + - example_world_name + by-exploding-pistons: + enable: true + whitelisted-worlds: + - example_world_name + # If enabled, will only protect portals and end gateways + only-for-portals-and-gateways: false + by-growing-structures: + # Prevents removal of permanent blocks by growing structures + # like mushrooms into them. + enable: true + prevent-opped-players: + # Useful if you suspect a backdoor has happened. + enable: false + log: false + whitelisted-players: + - Notch + prevent-nether-roof: + # Prevent players from going above the nether roof. + enable: true + safely-teleport-players: true + anti-bed-trap: + # Resets a players bed respawn they die too many times within + # a certain timeframe. + enable: false + # Amount of times player can die until he is determined as bed-trapped. + max-deaths-per-time: 7 + # "Time until death counter will be reset again. + time-in-seconds: 5 + log: false + prevent-non-survival-players: + # Checks if player is in survival and if not, puts him back into survival. + # Useful if you had a backdoor incident. + enable: false + log: false + whitelisted-players: + - Notch + +############ +# Combat # +############ +combat: + silent-swap-delay: + enable: false + # The delay in millis a player cant swap hotbar items after placing + # a block, clicking a block (for example to place a crystal) or + # damaging an entity. (50 ms = 1 tick) + min-swap-delay-millis: 40 + prevent-bow-bomb: + enable: false + # Fully pulled bow is ~9-10. 15 is default just to be safe. + max-bow-squared-velocity: 15 + portal-god-mode-patch: + # Prevents an exploit that allows players to stand in nether portals and not + # take damage indefinitely by just never sending a TeleportConfirm packet to + # the server. + # A similar method is used for the chorus tp exploit, which is not covered + # by this module. + enable: false + # If the player stays inside the nether portal for this time without teleporting, + # the portal will be broken, making the player inside vulnerable again. + # Nether portal teleports normally happen within ~3s after enter, so 5s (100ticks) + # should be a safe value. + break-portal-delay-ticks: 100 + crystal-aura: + piston-aura-delay: + # Rate-limits pistons that extend into crystals. + enable: false + piston-extend-delay-in-ticks: 40 + regular-delay: + enable: false + # Can help with desync but recommended to leave off unless you have issues. + update-inventory-on-cancel: false + global: + enable: false + # 1 tick = 50 ms + place-delay-millis: 0 + break-delay-millis: 200 + main-hand: + enable: false + # 1 tick = 50 ms + place-delay-millis: 0 + break-delay-millis: 200 + off-hand: + enable: false + # 1 tick = 50 ms + place-delay-millis: 0 + break-delay-millis: 200 + prevent-burrow: + enable: false + # 1.0 = Half a heart of damage every time you move. + damage-when-moving: 1.0 + teleport-above-block: true + # Prevent burrow even if there is a block above the block they + # are burrowing in. + # Please note this may allow creating an "elevator", players will + # keep teleporting up until they hit air. + prevent-if-block-above-burrow: false + break-anvil-instead-of-teleport: true + # Needs to be enabled to prevent a bug where players are teleported + # above a slab when the slab is underwater. + allow-slabs-in-burrow: true + ignored-materials: + - BLACK_SHULKER_BOX + - BLUE_SHULKER_BOX + - BROWN_SHULKER_BOX + - CYAN_SHULKER_BOX + - GRAY_SHULKER_BOX + - GREEN_SHULKER_BOX + - LIGHT_BLUE_SHULKER_BOX + - LIGHT_GRAY_SHULKER_BOX + - LIME_SHULKER_BOX + - MAGENTA_SHULKER_BOX + - ORANGE_SHULKER_BOX + - PINK_SHULKER_BOX + - PURPLE_SHULKER_BOX + - RED_SHULKER_BOX + - SHULKER_BOX + - WHITE_SHULKER_BOX + - YELLOW_SHULKER_BOX + - AIR + - DIRT + - DIRT_PATH + - SAND + - GRAVEL + multi-task-patch: + enable: false + piston-push: + # Disables pistons from extending if it would push certain configured entities. + # This can be used to prevent players from pushing other players out of burrows, by + # configuring PLAYER, or to disable piston-crystal by adding ENDER_CRYSTAL to the list. + enable: false + piston-push-blocked-entities: + - PLAYER + anchor-aura-delay: + enable: false + # Can help with desync but recommended to leave off unless you have issues. + update-inventory-on-cancel: false + global: + enable: false + # 1 tick = 50 ms + place-delay-millis: 400 + break-delay-millis: 0 + main-hand: + enable: false + # 1 tick = 50 ms + place-delay-millis: 400 + break-delay-millis: 0 + off-hand: + enable: false + # 1 tick = 50 ms + place-delay-millis: 400 + break-delay-millis: 0 + bed-aura-delay: + enable: false + # Can help with desync but recommended to leave off unless you have issues. + update-inventory-on-cancel: false + global: + enable: false + # 1 tick = 50 ms + place-delay-millis: 250 + break-delay-millis: 0 + main-hand: + enable: false + # 1 tick = 50 ms + place-delay-millis: 250 + break-delay-millis: 0 + off-hand: + enable: false + # 1 tick = 50 ms + place-delay-millis: 250 + break-delay-millis: 0 + +############# +# Bedrock # +############# +bedrock: + fill-in-bedrock: + overworld-floor: + periodically-check-and-fill: + # Only checks loaded chunks. + enable: false + check-period-in-seconds: 10 + # Uses the exact name of the world's folder in your server directory. + exempted-worlds: + - exampleworld + - exampleworld2 + # Pauses the task during low tps to avoid lag. + pause-on-low-tps: true + # The TPS at which bedrock filling will pause to avoid adding to the lag. + pause-tps: 16.0 + fill-on-chunkload: + enable: false + # Recommended to leave off. Only useful if world generation is broken. + also-check-new-chunks: false + # Uses the exact name of the world's folder in your server directory. + exempted-worlds: + - exampleworld + - exampleworld2 + pause-on-low-tps: true + # The TPS at which bedrock filling will pause to avoid adding to the lag. + pause-tps: 16.0 + nether-ceiling: + periodically-check-and-fill: + # Only checks loaded chunks. + enable: false + check-period-in-seconds: 10 + # Uses the exact name of the world's folder in your server directory. + exempted-worlds: + - exampleworld + - exampleworld2 + pause-on-low-tps: true + # The TPS at which bedrock filling will pause to avoid adding to the lag. + pause-tps: 16.0 + fill-on-chunkload: + enable: false + # Recommended to leave off. Only useful if world generation is broken. + also-check-new-chunks: false + # Uses the exact name of the world's folder in your server directory. + exempted-worlds: + - exampleworld + - exampleworld2 + pause-on-low-tps: true + # The TPS at which bedrock filling will pause to avoid adding to the lag. + pause-tps: 16.0 + nether-floor: + periodically-check-and-fill: + # Only checks loaded chunks. + enable: false + check-period-in-seconds: 10 + # Uses the exact name of the world's folder in your server directory. + exempted-worlds: + - exampleworld + - exampleworld2 + pause-on-low-tps: true + # The TPS at which bedrock filling will pause to avoid adding to the lag. + pause-tps: 16.0 + fill-on-chunkload: + enable: false + # Recommended to leave off. Only useful if world generation is broken. + also-check-new-chunks: false + # Uses the exact name of the world's folder in your server directory. + exempted-worlds: + - exampleworld + - exampleworld2 + pause-on-low-tps: true + # The TPS at which bedrock filling will pause to avoid adding to the lag. + pause-tps: 16.0 + prevent-going-below-bedrock-floor: + # Prevents players from going below the bedrock floor. + enable: true + # Whether to make player leave their vehicle. + leave-vehicle: true + # Whether to close the player's elytra if they were flying. + stop-elytra: true + # Teleport player on top of that bedrock + teleport: true + # 1.0 = Half a heart of damage every time you move. Set 0 to disable + damage-when-moving: 8.0 + # Whether the bedrock hole should be filled or not. + fill-bedrock-hole: true + exempted-worlds: + - world_the_end + - skyblock_world + filler-material: BEDROCK diff --git a/AnarchyExploitFixesLegacy/src/main/resources/config.yml b/AnarchyExploitFixesLegacy/src/main/resources/config.yml new file mode 100644 index 000000000..e4da420d9 --- /dev/null +++ b/AnarchyExploitFixesLegacy/src/main/resources/config.yml @@ -0,0 +1,2056 @@ +plugin-version: 2.7.2 +server-version: 'git-Paper-1620 (MC: 1.12.2)' + +############## +# Language # +############## +language: + # The default language that will be used if auto-language is false + # or no matching language file was found. + default-language: en_us + # If set to true, will display messages based on client language + auto-language: true + +############# +# General # +############# +general: + # The time in ticks (1 sec = 20 ticks) a checked tps will be cached + # by the plugin. + max-tps-check-interval-in-ticks: 20 + # In case packet modules are causing trouble, you can disable them here. + disable-all-packet-listeners: false + # The Y-level at which the nether ceiling generates the last layer + # of bedrock on your server. + nether-ceiling-y: 127 + # If you see this config option, AEF is unable to get the minimum height + # of your worlds from the API. + # Please enter them here manually for each world you're currently using. + # Use the exact same name as your world folder. + world-min-heights: + world: 0 + world_the_end: 0 + world_nether: 0 + # A server restart is required when changing a command's enable status! + commands: + say: + enable: false + format: '&7Server: &6%message%' + help: + # Help command that shows a small command overview for players. + enable: false + toggleconnectionmsgs: + # If you don't use join leave/messages, you can set this to false. + enable: true + +################### +# Miscellaneous # +################### +misc: + join-leave-messages: + # If you want to hide yourself or someone else when logging + # into the game, use these permissions: + # aef.silentJoin, aef.silentLeave + enable: true + # If set to true, players will see join/leave messages by default + # and enter /toggleconnectionmsgs to disable them. + # If set to false will work the other way around. + connection-messages-on-by-default: true + show-in-console: false + first-join-messages: + # Configure message in lang folder. + # You can hide yourself and other players using the permission: + # aef.silentJoin + enable: false + show-in-console: true + kicks: + # Configure mask message in lang folder. + mask-kick-messages: false + prevent-message-kick: + # Cancels the kick for specific kick messages. + enable: false + kick-messages-to-listen-to: + - Kicked for spamming + - Stop spamming! + +########## +# Chat # +########## +chat: + command-whitelist: + # This will make it pretty much impossible to find your plugins as + # only the commands you specify will be able to work. + # Allow bypass using permission: aef.bypass.commandwhitelist + enable: true + # Will show logs when a command was denied. + log: false + # Recommended to use when on 1.12. Otherwise only use if you're having issues. + use-packets: true + # Add all commands you WANT your players to be able to access + # WITHOUT the '/'. Not case sensitive. + whitelisted-commands: + - help + - vote + - kill + - discord + - togglechat + - toggleconnectionmsgs + - toggletells + - togglewhispering + - toggleprivatemsgs + - ignore + - ignorelist + - ignorehard + - toggledeathmsg + - dmt + - worldstats + - stats + - tps + - msg + - whisper + - w + - m + - t + - pm + - tell + - r + - reply + - last + # Add all subcommands you DON'T want your players to be able + # to access. Case sensitive! + blacklisted-subcommands: + - help about + - vote List + - vote Best + - vote Total + - worldstats reload + - stats reload + prevent-scanning-server-plugins: + # Prevents hacked clients running .plugins to find out what plugins + # the server is using. + # Recommended to use in combination with command whitelist. + enable: true + +############ +# Elytra # +############ +elytra: + # NOTE: Set nocheatplus horizontal elytra settings to 500 or higher. + elytra-speed: + # Time in ticks that a chunk has to have been inhabited to count as old chunk. + # Note that the time is incremented once per tick per player within mob spawning + # distance of a chunk. + old-chunk-inhabited-ticks: 200 + # The period in millis players will be checked to determine their speed. + # If you have lagging players with consistent high ping, you can increase this number. + check-period-millis: 500 + # If set to false, will only calculate 2-Dimensional speed + # without taking height changes into consideration. + calculate-3D-speed: true + # Display info in Actionbar while flying. + display-actionbar: true + # Inform flying player if they are in old or new chunks. + display-chunk-info-in-actionbar: true + # Plays XP pickup sound to alert players when theyre going + # above the limit. + play-sound-when-too-fast: true + sound: ENTITY_EXPERIENCE_ORB_PICKUP + # Recommended to leave false if you dont experience any issues. + teleport-instead-of-canceling-movement: false + Global-Settings: + # Global settings. If nothing else is enabled, this will be used for all environments. + enable: true + # Can be slow with a lot of players. Enable only if needed. + use-bypass-permission: false + deny-elytra-usage: false + speed-old-chunks: 1.81 + speed-new-chunks: 1.81 + enable-bursting: true + burst-speed-old-chunks: 5.0 + burst-speed-old-chunk-TPS: 18.0 + burst-speed-new-chunks: 3.12 + burst-speed-new-chunk-TPS: 19.0 + deny-elytra-on-low-TPS: true + deny-elytra-TPS: 12.0 + also-remove-elytra-on-low-TPS: true + At-Spawn: + # Use separate values for players at spawn. + enable: false + # Radius in blocks around 00 that should count as spawn. + radius: 3000 + # Can be slow with a lot of players. Enable only if needed. + use-bypass-permission: false + deny-elytra-usage: false + speed-old-chunks: 1.0 + speed-new-chunks: 0.8 + deny-elytra-on-low-TPS: true + deny-elytra-TPS: 10.0 + also-remove-elytra-on-low-TPS: true + Nether-Ceiling: + # Use separate values for players above the nether ceiling. + enable: true + # Can be slow with a lot of players. Enable only if needed. + use-bypass-permission: false + deny-elytra-usage: false + speed-old-chunks: 0.5 + speed-new-chunks: 0.5 + enable-bursting: true + burst-speed-old-chunks: 1.0 + burst-speed-old-chunk-TPS: 18.0 + burst-speed-new-chunks: 1.0 + burst-speed-new-chunk-TPS: 18.0 + deny-elytra-on-low-TPS: true + deny-elytra-TPS: 12.0 + also-remove-elytra-on-low-TPS: true + packet-elytra-fly: + # Patches the future/rusherhack/kamiblue 2b2t elytra fly exploit + patch-packet-elytra-fly: false + # The fly exploit causes the player to constantly toggle gliding. + # If too many glide toggles occur within a timeframe, they are + # most likely using PacketFly. + # Still may trigger false positives when players are jumping and + # sprinting with elytra equipped, so recommended to play around + # with the values. + max-glide-toggles-per-time: 25 + # Time in seconds a elytra open count will be remembered by the plugin. + time-in-seconds: 8 + # Configure message in lang folder. + notify-player-to-disable-packetfly: true + # If enabled, player will be kicked with a message instead of + # getting their elytra dropped. + kick-instead-of-remove-elytra: false + +################## +# Chunk Limits # +################## +chunk-limits: + entity-limits: + dropped-item-limit: + # Limit the amount of dropped items in a chunk to combat lag. + # Be aware this does not prioritize items by value or anything, + # it just deletes whatever happens to get over the limit during + # counting. + enable: false + log-removals: true + max-dropped-items-per-chunk: 200 + # The delay in ticks the plugin will wait after an item in a chunk + # has dropped before the check logic will run. + # This improves performance as there will be no check for each single + # item entity that spawns. + post-item-drop-check-delay: 60 + # The period in ticks in which all loaded chunks should be regularly + # checked. Keep in mind: A lower number provides more accuracy but is + # also worse for performance. + check-period-in-ticks: 800 + # Runs item check when a chunk is loaded. + check-on-chunk-load: true + whitelist-specific-item-types: false + # Check the paper api for correct Material enums: + # https://jd.papermc.io/paper/1.20.6/org/bukkit/Material.html + # Make sure your minecraft version is matching as well. + whitelisted-types: + - BLACK_SHULKER_BOX + - BLUE_SHULKER_BOX + - BROWN_SHULKER_BOX + - CYAN_SHULKER_BOX + - GRAY_SHULKER_BOX + - GREEN_SHULKER_BOX + - LIGHT_BLUE_SHULKER_BOX + - LIME_SHULKER_BOX + - MAGENTA_SHULKER_BOX + - ORANGE_SHULKER_BOX + - PINK_SHULKER_BOX + - PURPLE_SHULKER_BOX + - RED_SHULKER_BOX + - SILVER_SHULKER_BOX + - WHITE_SHULKER_BOX + - YELLOW_SHULKER_BOX + tile-entity-limit: + # Limit the amount of tile entities in a chunk to prevent lag. + enable: false + log-removals: true + max-tile-entities-per-chunk: 100 + check-period-in-ticks: 20 + villager-limit: + enable: false + max-villagers-per-chunk: 25 + log-removals: false + # check all chunks every x ticks. + check-period-in-ticks: 600 + # Professions that are in the top of the list are going to be scheduled + # for removal first. + removal-priority: + - NITWIT + - BUTCHER + - FARMER + - LIBRARIAN + whitelist: + enable: false + professions: + - NITWIT + - BUTCHER + - FARMER + - LIBRARIAN + non-living-limit: + # Limit the amount of non living entities in a chunk to prevent lag. + # Ignores dropped items. + enable: false + log-removals: true + max-non-living-per-chunk: 100 + # 20 ticks = 1 second + check-period-in-ticks: 20 + custom-limit: + # Limit specific entity types per chunk. + enable: false + log-removals: true + # Check all loaded chunks every x ticks. + check-period-in-ticks: 1200 + # Check the paper api for correct EntityType enums: + # https://jd.papermc.io/paper/1.20/org/bukkit/entity/EntityType.html + # Make sure your minecraft version is matching as well. + limited-types: + BAT: 3 + BLAZE: 10 + CAVE_SPIDER: 10 + CHICKEN: 10 + COW: 10 + CREEPER: 10 + DONKEY: 10 + ENDERMAN: 10 + ENDERMITE: 3 + EVOKER: 15 + GUARDIAN: 20 + HORSE: 10 + HUSK: 10 + IRON_GOLEM: 15 + LLAMA: 10 + MAGMA_CUBE: 10 + MULE: 10 + MUSHROOM_COW: 10 + OCELOT: 3 + PARROT: 10 + PIG: 10 + POLAR_BEAR: 5 + RABBIT: 5 + SHEEP: 10 + SILVERFISH: 3 + SKELETON: 10 + SKELETON_HORSE: 10 + SLIME: 10 + SPIDER: 10 + SQUID: 20 + STRAY: 10 + VEX: 15 + VINDICATOR: 15 + WITCH: 15 + WITHER: 16 + WITHER_SKELETON: 10 + WITHER_SKULL: 10 + WOLF: 10 + ZOMBIE: 10 + ZOMBIE_HORSE: 10 + ZOMBIE_VILLAGER: 25 + vehicle-limit: + # Limit the amount of vehicles to prevent some lag machines. + # ex. dispenser that spawns a lot of boats into a single location + # then hitting it, causing all boats to explode in every direction. + enable: false + log-removals: false + max-vehicles-per-chunk: 25 + # 200 ticks = 10 seconds. + check-period-in-ticks: 400 + falling-block-limit: + # Prevent players from placing massive sand chunks, then collapsing + # them to kill the server. + enable: true + log: false + # Removes any falling block if there is more than x blocks actively + # falling in a chunk. + max-falling-gravity-blocks-per-chunk: 60 + # Delay in ticks until the same chunk can be checked again. + # Prevents overchecking, because physics events can be called many + # times in a short time for the same chunk. + chunk-check-delay-in-ticks: 20 + block-limit: + enable: false + # Attempt to prevent ChunkBan / Client FPS Lag + max-blocks-per-chunk: + BANNER: 12 + BEACON: 32 + CHEST: 500 + DISPENSER: 100 + ENCHANTMENT_TABLE: 16 + ENDER_CHEST: 64 + GLOWSTONE: 5000 + PISTON_BASE: 32 + PISTON_EXTENSION: 32 + PISTON_MOVING_PIECE: 32 + PISTON_STICKY_BASE: 32 + SIGN: 8 + SIGN_POST: 8 + SKULL_ITEM: 16 + SLIME_BLOCK: 128 + TRAPPED_CHEST: 200 + WALL_BANNER: 12 + WALL_SIGN: 8 + minecart-limit: + # Limit the amount of minecarts to prevent lag caused by collisions. + enable: false + log-removals: false + max-minecarts-per-chunk: 25 + # 200 ticks = 10 seconds. + check-period-in-ticks: 400 + exp-bottle-limit: + # Prevent players from crashing the server or other players by + # creating a ton of THROWN_EXP_BOTTLE entities, then loading + # them at once. + # Does not limit the EXP_ORBS, just the bottle entities. + enable: true + log: false + # Max in a chunk, doesn't limit the actual xp orbs. + max-exp-bottle-per-chunk: 25 + # 20 ticks = 1 second + check-period-in-ticks: 800 + +##################### +# Lag Preventions # +##################### +lag-preventions: + keep-stash-chunks-loaded: + # Idea by 3b3t admin kumori (Soft1k) + # Improves lag generated by large stash chunks constantly loading and + # unloading by setting them force loaded. This might cause increased ram + # usage, so keep an eye out for that. + # Only works on 1.15+. Will not enable on unsupported versions. + enable: false + log: false + # How many container blocks have to be in a chunk for it to be seen + # as a stash chunk to keep force loaded. + container-block-threshold: 50 + # The time in minutes a stash chunks will be kept force loaded before + # setting it back to normal. + keep-loaded-minutes: 120 + # Set to false if you want to check more blocks than just tile entities. + # Makes the overall speed of the module faster if set to true. + only-check-tile-entities: true + container-types: + - DISPENSER + - CHEST + - FURNACE + - BEACON + - TRAPPED_CHEST + - HOPPER + - DROPPER + - WHITE_SHULKER_BOX + - ORANGE_SHULKER_BOX + - MAGENTA_SHULKER_BOX + - LIGHT_BLUE_SHULKER_BOX + - YELLOW_SHULKER_BOX + - LIME_SHULKER_BOX + - PINK_SHULKER_BOX + - GRAY_SHULKER_BOX + - SILVER_SHULKER_BOX + - CYAN_SHULKER_BOX + - PURPLE_SHULKER_BOX + - BLUE_SHULKER_BOX + - BROWN_SHULKER_BOX + - GREEN_SHULKER_BOX + - RED_SHULKER_BOX + - BLACK_SHULKER_BOX + - BREWING_STAND_ITEM + # Radiuses around spawn in chunks (not blocks) that should not be checked. + # Worlds not on this list are exempt from all checking. + worlds: + world: 100 + world_the_end: 100 + world_nether: 100 + disable-item-drops-during-large-stash-explosions: + # Explodes containers without dropping items after a certain amount + # of exploded containers per chunk. + enable: false + log: false + # How many container blocks in a chunk can be blown up until items + # no longer drop from them. + min-explosions-before-drops-disable: 6 + # The time in seconds to wait after an explosion for another one to happen. + # If no explosion happens within x seconds after the first one, the count + # resets to 0. + time-in-seconds: 3 + container-types: + - DISPENSER + - CHEST + - FURNACE + - BEACON + - TRAPPED_CHEST + - HOPPER + - DROPPER + - BREWING_STAND_ITEM + prevent-lever-spam: + # Rate Limit levers to prevent a lag exploit. + enable: false + show-actionbar: true + kick-player: false + max-lever-usages-per-time: 15 + lever-time-in-ticks: 40 + entity-age-limits: + custom-limits: + # Kill certain entities after a custom amount of ticks lived. + enable: false + log-removals: false + # Check all loaded chunks every x ticks. + check-period-in-ticks: 1200 + # Check the paper api for correct EntityType enums: + # https://jd.papermc.io/paper/1.20/org/bukkit/entity/EntityType.html + # Make sure your minecraft version is matching as well. + limited-types: + ARROW: 120 + FALLING_BLOCK: 160 + SNOWBALL: 100 + SPECTRAL_ARROW: 120 + WITHER_SKULL: 100 + projectile-limit: + # Patches any lag exploit that abuses spawning a ton of projectile entities + # (ex. Snowball exploit).Skips over the following entities: ENDER_PEARL, FISHING_HOOK, WITHER_SKULL + # and ENDER_SIGNAL. You can configure those separately in the custom entity age + # limit section. + enable: false + # (20 ticks = 1 second) Will not touch Ender Pearls + max-alive-time-ticks: 300 + # How frequently we should check all projectiles for their alive time + check-period-seconds: 20 + prevent-flooding-machines: + # Will prevent pistons from pushing waterlogged blocks. + enable: false + delete-waterlogged-blocks: true + anti-shulker-drops: + # Disables shulkers dropping stored items when blown up. + # This helps fix client- and serverside lag when done often and fast. + enable: false + regional-activity: + block-spread: + # Limits blocks spreading or forming based on world conditions within a + # configurable radius and timeframe to help reduce lag by cancelling burst + # activity hotspots. + # + # Examples: + # + # - Snow forming due to a snow storm. + # - Ice forming in a snowy Biome like Taiga or Tundra. + # - Obsidian / Cobblestone forming due to contact with water. + # - Concrete forming due to mixing of concrete powder and water. + # - Mushrooms spreading. + # - Fire spreading. + enable: false + log: false + # The radius in blocks in which activity will be grouped together and measured. + check-radius-blocks: 1500.0 + # The time in milliseconds all related activity will be blocked if it exceeded + # the configured limit. + pause-time-millis: 6000 + # The time in milliseconds before a region and its data will be expired + # if no activity has been detected. + # For proper functionality, needs to be at least as long as your pause time. + data-keep-time-millis: 10000 + # The TPS at which to cancel the physics entirely. + pause-TPS: 10.0 + # The MSPT at which to cancel the physics entirely. + pause-MSPT: 120.0 + # Maximum number of times a block can form or spread within the configured + # timeframe before activity will be put on cooldown. + block-form-event-limit: 800 + creature-spawn: + # Limits entity spawning activity within a configurable radius and timeframe + # to help reduce lag by cancelling high activity hotspots. + # + # Examples: + # + # - A creature gets spawned naturally, by spawner or other reasons. + # - An entity gets spawned naturally, by spawner or other reasons. + # This does not include tile entities. + enable: false + log: true + # The radius in blocks in which activity will be grouped together and measured. + check-radius-blocks: 1500.0 + # The time in milliseconds all related activity will be blocked if it exceeded + # the configured limit. + pause-time-millis: 18000 + # The time in milliseconds before a region and its data will be expired + # if no activity has been detected. + # For proper functionality, needs to be at least as long as your pause time. + data-keep-time-millis: 20000 + # The TPS at which to cancel the physics entirely. + pause-TPS: 10.0 + # The MSPT at which to cancel the physics entirely. + pause-MSPT: 120.0 + # Maximum number of entity spawns within configured timeframe. + spawn-event-limit: 6000 + entity-targeting: + # Limits entities targeting other entities within a configurable radius + # and timeframe to help reduce lag by cancelling burst activity hotspots. + enable: false + log: true + # The radius in blocks in which activity will be grouped together and measured. + check-radius-blocks: 1500.0 + # The time in milliseconds all related activity will be blocked if it exceeded + # the configured limit. + pause-time-millis: 18000 + # The time in milliseconds before a region and its data will be expired + # if no activity has been detected. + # For proper functionality, needs to be at least as long as your pause time. + data-keep-time-millis: 20000 + # The TPS at which to cancel the physics entirely. + pause-TPS: 14.0 + # The MSPT at which to cancel the physics entirely. + pause-MSPT: 120.0 + # Maximum number of times an entity can target another entity within the + # configured timeframe before the area will be put on cooldown. + entity-target-event-limit: 8000 + distance-limit: + global-limit: + enable: false + # The max distance no target should exceed. + # You want this to be higher than your highest max distance + # for a specific mob. + max-target-distance: 20.0 + custom-limits: + enable: true + entities: + SKELETON: 6.0 + WITHER: 8.0 + WITHER_SKELETON: 8.0 + ZOMBIE: 6.0 + ZOMBIE_VILLAGER: 10.0 + entity-pathfinding: + # Limits entities deciding to pathfind to a specific location + # within a configurable radius and timeframe to help reduce lag + # by cancelling burst activity hotspots. + enable: false + log: false + # The radius in blocks in which activity will be grouped together and measured. + check-radius-blocks: 1500.0 + # The time in milliseconds all related activity will be blocked if it exceeded + # the configured limit. + pause-time-millis: 6000 + # The time in milliseconds before a region and its data will be expired + # if no activity has been detected. + # For proper functionality, needs to be at least as long as your pause time. + data-keep-time-millis: 10000 + # The TPS at which to cancel the physics entirely. + pause-TPS: 14.0 + # The MSPT at which to cancel the physics entirely. + pause-MSPT: 120.0 + # Maximum number of times an entity can decide to start moving + # towards a location within the configured timeframe before the + # area will be put on cooldown. + entity-pathfind-event-limit: 4000 + distance-limit: + global-limit: + enable: false + # The max distance no mob pathfinding should exceed. + # You always want this to be higher than your highest max distance + # for a specific mob. + max-target-distance: 20.0 + custom-limits: + enable: true + entities: + SKELETON: 6.0 + WITHER: 8.0 + WITHER_SKELETON: 8.0 + ZOMBIE: 6.0 + ZOMBIE_VILLAGER: 10.0 + liquid-spread: + # Limits liquid spreading within a configurable radius and timeframe + # to help reduce lag by cancelling high activity hotspots. + # + # Examples: + # + # - A lava block spreading by flowing. + # - A water block spreading by flowing. + # - (optional) A dragon egg is teleporting from one position to another. + enable: false + log: true + # The radius in blocks in which activity will be grouped together and measured. + check-radius-blocks: 1500.0 + # The time in milliseconds all related activity will be blocked if it exceeded + # the configured limit. + pause-time-millis: 18000 + # The time in milliseconds before a region and its data will be expired + # if no activity has been detected. + # For proper functionality, needs to be at least as long as your pause time. + data-keep-time-millis: 20000 + # The TPS at which to cancel the physics entirely. + pause-TPS: 12.0 + # The MSPT at which to cancel the physics entirely. + pause-MSPT: 100.0 + # Maximum number of times liquids are allowed to spread within the configured + # timeframe before they will be put on cooldown. + liquid-spread-event-limit: 2400 + ignore-dragon-egg: true + redstone: + # Limits redstone activity within a configurable radius and timeframe + # to help reduce lag by cancelling high activity hotspots. + # + # Examples: + # + # - A redstone current changes. + # - A redstone block gets powered on. + # - A redstone block gets powered off. + enable: false + log: true + # The radius in blocks in which activity will be grouped together and measured. + check-radius-blocks: 1500.0 + # The time in milliseconds all related activity will be blocked if it exceeded + # the configured limit. + pause-time-millis: 18000 + # The time in milliseconds before a region and its data will be expired + # if no activity has been detected. + # For proper functionality, needs to be at least as long as your pause time. + data-keep-time-millis: 20000 + # The TPS at which to cancel the physics entirely. + pause-TPS: 10.0 + # The MSPT at which to cancel the physics entirely. + pause-MSPT: 120.0 + # Maximum number of redstone events within configured timeframe. + redstone-event-limit: 6000 + noteblocks: + # Limits noteblocks being played within a configurable radius and timeframe + # to help reduce lag by cancelling high activity hotspots. + # + # Examples: + # + # - A noteblock is being played through player interaction. + # - A noteblock is being played through a redstone current. + enable: false + log: false + # The radius in blocks in which activity will be grouped together and measured. + check-radius-blocks: 1500.0 + # The time in milliseconds all related activity will be blocked if it exceeded + # the configured limit. + pause-time-millis: 6000 + # The time in milliseconds before a region and its data will be expired + # if no activity has been detected. + # For proper functionality, needs to be at least as long as your pause time. + data-keep-time-millis: 10000 + # The TPS at which to cancel the physics entirely. + pause-TPS: 10.0 + # The MSPT at which to cancel the physics entirely. + pause-MSPT: 120.0 + # Maximum number of times a noteblock can be played within the configured + # timeframe before they will be put on cooldown. + noteblock-play-limit: 2800 + explosions: + # Limits explosions within a configurable radius and timeframe + # to help reduce lag by cancelling high activity hotspots. + # + # Examples: + # + # - A block exploding. + # - An entity exploding. + # - An entity making the decision to explode. + enable: false + log: false + # The radius in blocks in which activity will be grouped together and measured. + check-radius-blocks: 1500.0 + # The time in milliseconds all related activity will be blocked if it exceeded + # the configured limit. + pause-time-millis: 6000 + # The time in milliseconds before a region and its data will be expired + # if no activity has been detected. + # For proper functionality, needs to be at least as long as your pause time. + data-keep-time-millis: 10000 + # The TPS at which to cancel the physics entirely. + pause-TPS: 10.0 + # The MSPT at which to cancel the physics entirely. + pause-MSPT: 120.0 + # Maximum number of explode events within the configured timeframe + # before the region will be put on cooldown. + explode-event-limit: 500 + pistons: + # Limits piston movement within a configurable radius and timeframe + # to help reduce lag by cancelling high activity hotspots. + # + # Examples: + # + # - A piston extends. + # - A piston retracts. + enable: false + log: false + # The radius in blocks in which activity will be grouped together and measured. + check-radius-blocks: 1500.0 + # The time in milliseconds all related activity will be blocked if it exceeded + # the configured limit. + pause-time-millis: 6000 + # The time in milliseconds before a region and its data will be expired + # if no activity has been detected. + # For proper functionality, needs to be at least as long as your pause time. + data-keep-time-millis: 10000 + # The TPS at which to cancel the physics entirely. + pause-TPS: 10.0 + # The MSPT at which to cancel the physics entirely. + pause-MSPT: 120.0 + # Maximum number of piston extend and/or retracts within the + # configured timeframe. + piston-movement-limit: 1000 + block-physics: + # Limits block physics within a configurable radius and timeframe + # to help reduce lag by cancelling burst activity hotspots. + # + # Note: + # + # The event used for this check (BlockPhysicsEvent) is a high frequency event, + # it may be called thousands of times per a second on a busy server. + # Where possible the event may also only be called for the "root" block of + # physics updates in order to limit event spam. + # Physics updates that cause other blocks to change their state may not result + # in an event for each of those blocks (usually adjacent). + enable: false + log: true + # The radius in blocks in which activity will be grouped together and measured. + check-radius-blocks: 1500.0 + # The time in milliseconds all related activity will be blocked if it exceeded + # the configured limit. + pause-time-millis: 18000 + # The time in milliseconds before a region and its data will be expired + # if no activity has been detected. + # For proper functionality, needs to be at least as long as your pause time. + data-keep-time-millis: 20000 + # The TPS at which to cancel the physics entirely. + pause-TPS: 10.0 + # The MSPT at which to cancel the physics entirely. + pause-MSPT: 120.0 + # Maximum number of times a physics check can be performed within the configured + # timeframe before they will be put on cooldown. + block-physics-event-limit: 256000 + sculk-sensor: + # Limits sculk activity within a configurable radius and timeframe + # to help reduce lag by cancelling high activity hotspots. + # + # Examples: + # + # - A redstone current changes for a sculk sensor. + # - A physics check is being performed for a sculk sensor. + enable: false + log: true + # The radius in blocks in which activity will be grouped together and measured. + check-radius-blocks: 1500.0 + # The time in milliseconds all related activity will be blocked if it exceeded + # the configured limit. + pause-time-millis: 18000 + # The time in milliseconds before a region and its data will be expired + # if no activity has been detected. + # For proper functionality, needs to be at least as long as your pause time. + data-keep-time-millis: 20000 + # The TPS at which to cancel the physics entirely. + pause-TPS: 10.0 + # The MSPT at which to cancel the physics entirely. + pause-MSPT: 120.0 + # Maximum number of sculk events within configured timeframe. + sculk-event-limit: 800 + sculk-blocks: [] + +############# +# Patches # +############# +patches: + prevent-end-gateway-crash: + # Prevents a crash exploit involving boats and end gateways: + # https://www.youtube.com/watch?v=c5nVBQeYo-I + enable: true + log: true + prevent-redstone-on-trapdoor-crash: + # prevents a powerful crash exploit present in 1.13 - 1.19.3 + enable: false + log: true + max-trapdoor-activations-by-redstone-per-time: 10 + # 1 sec = 20 ticks + time-in-ticks: 30 + # Patches the cow duplication exploit that allows duping cows using shears. + # Only affects lower versions + cow-dupe-patch: false + anti-book-ban: + enable: true + # If set to false, will use UTF-8. + # Charset to use to encode the result of NBTCompound#toString into + # a sequence of bytes. The length of that sequence is then used to + # get the approximate Byte-size of an ItemStack. + # Use the /aef bytesize command to get a better understanding. + use-UTF-16: false + max-book-size: 8000 + # Kicks players when they try to create a book bigger than the limit. + kick-on-too-large-book-edit: true + max-author-chars: 32 + max-title-chars: 32 + max-pages: 100 + max-item-size: 8260 + max-inventory-size: 50674 + # How long in ticks a dropped item's size should be cached after + # checking. + dropped-items-size-cache-ticks: 120 + # How long in ticks a player's inventory size should be cached after + # checking. + player-inventory-size-cache-ticks: 20 + pearl-phase: + # Attempts to patch a pearl phasing exploit by cancelling the teleport + # if the pearl is thrown at or near a specific block. + # At the time of the creation of this module, this is an issue with NoCheatPlus. + enable: false + # How many blocks around the teleport location should be searched + # for potential glitch blocks if the teleport location isn't one itself. + search-radius: 2 + maximum-distance-to-cancel-teleport: 3.0 + glitchy-materials: + - GOLD_PLATE + - IRON_PLATE + - IRON_TRAPDOOR + - PURPUR_SLAB + - STEP + - STONE_PLATE + - STONE_SLAB2 + - TRAP_DOOR + - WEB + - WOOD_PLATE + - WOOD_STEP + prevent-command-sign: + # Patch signs that have run_command NBT tags attached, allowing the + # to run a command with operator permissions on click. + # Recommended to enable if you had a rogue admin or backdoor incident. + enable: false + prevent-multiple-enderdragons: + enable: false + log: true + prevent-fast-world-teleport-crash: + # Prevents crash methods that involve very fast teleporting + # between different worlds in a short time. + enable: true + # Time in milliseconds until an entity can teleport to + # another world again. + teleport-delay-millis: 1000 + log: false + prevent-teleport-coordinate-exploit: + # Patches coordinate exploit for teleportation commands such as /tpa, + # /home AS WELL as respawn exploits. + # This is done by vanishing the player for x ticks before teleporting. + enable: true + min-distance-to-vanish-player: 100 + teleport-vanish-time-in-ticks: 10 + # Removes entities or players if they are invalid, dead or not located + # within a ticking chunk. Not sure if this works. + experimental-godmode-patch: false + prevent-dispenser-crash: + # Prevents dispensers from crashing the server when dispensing + # items out of bounds: https://www.youtube.com/watch?v=XL17P87O6xA + enable: true + log: false + tab-complete-crash-patch: + # Patches two lag exploits and an instant server shutdown exploit that + # works by sending a malicious TabComplete packet that triggers a + # StackOverflowError inside the TagParser class. + enable: true + log: false + kick-player: false + remove-beehive-coordinates: + # Patches an exploit that allows players to obtain another player's + # coordinates by trading them for Beehives or Beenests. + # If the traded item contains any bees, the stored bee's NBT data can + # then be read from the item. + # This data includes, but is not limited to: + # - XYZ coordinates of where the bee has its hive + # - XYZ of the bee's last coordinates before entering it's hive + # - XYZ coordinates of where the bee last visited a flower + # - XYZ coordinates of where the bee was first spawned into existence + # - UID of the world the bee was first spawned into existence + enable: true + # The NBT tags to filter from the item. These are the Keys that hold + # the position data. You may add more tags you want removed here. + tags: + - Pos + - HivePos + - FlowerPos + - Paper.Origin + - Paper.OriginWorld + - WorldUUIDMost + - WorldUUIDLeast + window-click-crash-patch: + # Patches a variety of different lag and crash methods that work + # by sending invalid Window Click packets, causing the server to + # dump error logs until it runs out of memory. + enable: true + log: true + kick-player: false + map-cursor-lag-patch: + # Patches the famous stacked map cursor lag that causes both + # client and server crashes. + enable: true + prevent-nocom-coordinate-exploit: + # Prevents the abusable mechanic used by the infamous "No Comment" + # coordinate exploit, where the server responds to requests that are + # far outside of the sending player's reach, therefore either crashing + # or revealing positions loaded by other players. + # More info on NoCom: https://www.youtube.com/watch?v=elqAh3GWRpA + # This is still useful to keep enabled even if your version is not + # affected by the NoCom vulnerability. + enable: true + max-distance: 24 + log: false + kick-player: false + inventory-lag: + # Checks if a player is requesting unusual amounts of traffic from the server + # using ItemStacks. + # If a player exceeds the limit, they will be put on a cooldown, during which + # they will be very limited in terms of ItemStack or Inventory interactions. + enable: false + # For debug purposes. Don't leave enabled for too long as it is very spammy. + log: false + # Whether to immediately close any open inventory of the player on limit exceed + # Note: Closing has to be scheduled so it will take a bit if the server is heavily + # lagging. + close-open-inventory: true + # The time in millis in which to check if the player exceeded the limit. + # Needs to be at least as long as your lockout duration millis. + byte-data-keep-time-millis: 30000 + rate-limit: + # The limit in bytes the server has sent the server in the form of ItemStacks, + # before the player will be put on a rate-limit. + # Should always be lower than your lockout bytesize limit. + bytesize-limit: 8000000 + # The time in millis in which a player is allowed to open x amounts of windows + # but not more. + timeframe-millis: 2500 + # The amount of windows that can be opened during the timeframe-millis. + max-window-opens-per-timeframe: 2 + lockout: + # The upper limit in bytes a player is allowed to request from the server + # within the configured timeframe before he will be put on cooldown. + # During the cooldown, he will not be able to open any inventory screens + # or interact with items. + bytesize-limit: 24000000 + # The time in milliseconds the player will have to wait before + # being able to open an inventory again after he exceeded the limit. + duration-millis: 15000 + check-packets: + - SET_SLOT + - WINDOW_ITEMS + lectern-crash-patch: + # Patches an instant server crash exploit that involves sending + # an invalid Window Click packet while taking a book out of a Lectern. + enable: true + log: false + kick-player: false + sequence-crash-patch: + # Patches a variety of lag/crash exploits that involves sending packets + # with invalid sequences. + enable: true + log: false + kick-player: false + sign-lag: + # Patches a lag exploit that involves sending specific oversized + # sign edit packets. + enable: true + # How many ticks a player needs to wait to be able to send + # another sign update packet (renaming or writing). + packet-delay-in-ticks: 10 + # Vanilla limit is 384 characters per line, which is too much. + line-character-limit: 80 + # General char limit for all lines combined. + total-char-limit: 384 + log: false + kick-player: false + beehive-crash-patch: + # Patches a server crash exploit exclusive to Purpur servers. + # This exploit works due to PurpurClient having a feature that + # lets clients request stored data of a clicked beehive from + # the server. The server does not check how far the clicked + # beehive is away from the client enabling a malicious sender + # to load chunks very fast at far away locations by telling + # the server it clicked a beehive there. + enable: true + channel: purpur:beehive_c2s + max-distance: 24 + log: false + kick-player: false + prevent-crafting-recipe-lag-exploit: + # Prevent lag or crash caused by flooding the server with + # crafting recipe book requests. This can even be done by hand on + # servers with low specs. Only affects versions < 1.16 + enable: true + # How many ticks a player needs to wait to be able to use + # the crafting recipe book again + crafting-recipe-delay-in-ticks: 5 + log: false + kick-player: false + +############## +# Illegals # +############## +illegals: + remove-placed-blocks: + on-chunkload: + # Remove illegally placed blocks on chunkload. + enable: false + blocks-to-remove: + - COMMAND_CHAIN + - COMMAND + - COMMAND_MINECART + - COMMAND_REPEATING + - BEDROCK + - BARRIER + exempted-worlds: + - exampleworld1 + - exampleworld2 + pause-on-low-TPS: true + pause-TPS: 14.0 + periodically: + enable: false + blocks-to-remove: + - COMMAND_CHAIN + - COMMAND + - COMMAND_MINECART + - COMMAND_REPEATING + - BEDROCK + - BARRIER + exempted-worlds: + - exampleworld1 + - exampleworld2 + check-period-in-seconds: 10 + pause-on-low-TPS: true + pause-TPS: 14.0 + remove-unnatural-spawners-on-chunkload: + enable: false + pause-on-low-TPS: true + pause-TPS: 14.0 + # You can add or remove as much world names here as you want. + natural-spawner-types-per-world: + world: + - SKELETON + - ZOMBIE + - SILVERFISH + - SPIDER + - CAVE_SPIDER + world_the_end: + - SKELETON + - SPIDER + world_nether: + - BLAZE + - MAGMA_CUBE + nbt: + ban-custom-tags: + # Bypass permission: aef.bypass.illegal.nbt.custom + # Deletes items that have one or more of the configured tags. + enable: false + # Available options: + # STRICT - Deletes or reverts illegals even on chest open + # ACTION_ON_USE - Deletes or reverts illegals when interacted with + # PREVENT_USE_ONLY - Only prevents usage of illegals if possible + handling: PREVENT_USE_ONLY + # Enable this if you have problems with the plugin removing items from chest guis. + gui-plugins-supported: false + # Prevents Hopper32k mechanic of placing a shulker containing illegals on top + # of a hopper, then using the illegal out of the hopper's inventory. + # WARNING: Hooks into InventoryMoveItemEvent, which can become VERY resource + # intense as the event fires in high frequencies as soon as players start using + # farms or item sorters. Recommended to leave off if not necessary. + prevent-hopper32k-mechanic: false + check-on-chunkload: + # WARNING: CHECKING ON CHUNKLOAD IS NOT RECOMMENDED AS IT IS VERY RESOURCE INTENSE. + # BE VERY SURE YOU ACTUALLY NEED THIS. + # Iterates over all blocks in a chunk when it is loaded and checks any inventories + # for illegals. If a container with illegals is found, the container will be REMOVED. + enable: false + # If set to true, immediately replaces the container with air. Otherwise, will try + # to handle items separately. + remove-container: false + # The time in milliseconds to wait before performing another check, + # if a check was positive. Helps with lag resulting from repeatedly + # checking illegals. + check-rate-limit-millis: 3000 + check-stored-items: false + # The exact, case sensitive value of the nbt tag. + tags: + - dmg + item-whitelist-enabled: false + use-as-blacklist-instead: false + whitelisted-items: + - GOLDEN_APPLE + impossibly-stored-items: + # Bypass permission: aef.bypass.illegal.nbt.storeditems + # Prevents usage of or deletes storage items that have been pre-filled + # with items using NBT tags. These can only be created by players with + # creative access. + # Most commonly dispensers, droppers and chests containing kit shulkers + # are created but there are more combinations possible. + enable: false + # Available options: + # STRICT - Deletes or reverts illegals even on chest open + # ACTION_ON_USE - Deletes or reverts illegals when interacted with + # PREVENT_USE_ONLY - Only prevents usage of illegals if possible + handling: PREVENT_USE_ONLY + # Enable this if you have problems with the plugin removing items from chest guis. + gui-plugins-supported: false + # Prevents Hopper32k mechanic of placing a shulker containing illegals on top + # of a hopper, then using the illegal out of the hopper's inventory. + # WARNING: Hooks into InventoryMoveItemEvent, which can become VERY resource + # intense as the event fires in high frequencies as soon as players start using + # farms or item sorters. Recommended to leave off if not necessary. + prevent-hopper32k-mechanic: false + check-on-chunkload: + # WARNING: CHECKING ON CHUNKLOAD IS NOT RECOMMENDED AS IT IS VERY RESOURCE INTENSE. + # BE VERY SURE YOU ACTUALLY NEED THIS. + # Iterates over all blocks in a chunk when it is loaded and checks any inventories + # for illegals. If a container with illegals is found, the container will be REMOVED. + enable: false + # If set to true, immediately replaces the container with air. Otherwise, will try + # to handle items separately. + remove-container: false + # The time in milliseconds to wait before performing another check, + # if a check was positive. Helps with lag resulting from repeatedly + # checking illegals. + check-rate-limit-millis: 3000 + # The exact name of the nbt tag that signals items are stored inside. + tag: BlockEntityTag + check-stored-items: false + storage-types: + - BEACON + - BREWING_STAND_ITEM + - CHEST + - DISPENSER + - DROPPER + - FURNACE + - HOPPER + - TRAPPED_CHEST + command-items: + # Bypass permission: aef.bypass.illegal.nbt.commanditem + # Deletes items with commands in their NBT data that run as operator. + # These can only be created by players with creative access. + # Most common items are books, since it allows storing multiple commands. + enable: false + # Available options: + # STRICT - Deletes or reverts illegals even on chest open + # ACTION_ON_USE - Deletes or reverts illegals when interacted with + # PREVENT_USE_ONLY - Only prevents usage of illegals if possible + handling: PREVENT_USE_ONLY + # Enable this if you have problems with the plugin removing items from chest guis. + gui-plugins-supported: false + # Prevents Hopper32k mechanic of placing a shulker containing illegals on top + # of a hopper, then using the illegal out of the hopper's inventory. + # WARNING: Hooks into InventoryMoveItemEvent, which can become VERY resource + # intense as the event fires in high frequencies as soon as players start using + # farms or item sorters. Recommended to leave off if not necessary. + prevent-hopper32k-mechanic: false + check-on-chunkload: + # WARNING: CHECKING ON CHUNKLOAD IS NOT RECOMMENDED AS IT IS VERY RESOURCE INTENSE. + # BE VERY SURE YOU ACTUALLY NEED THIS. + # Iterates over all blocks in a chunk when it is loaded and checks any inventories + # for illegals. If a container with illegals is found, the container will be REMOVED. + enable: false + # If set to true, immediately replaces the container with air. Otherwise, will try + # to handle items separately. + remove-container: false + # The time in milliseconds to wait before performing another check, + # if a check was positive. Helps with lag resulting from repeatedly + # checking illegals. + check-rate-limit-millis: 3000 + check-stored-items: false + enchantments: + inapplicable-enchants: + # Bypass permission: aef.bypass.illegal.enchants.inapplicable + # Reverts or prevents usage of ItemStacks with Enchantments that + # cannot be applied to that ItemStack in vanilla survival minecraft. + # Examples: A helmet with sharpness or a block of stone with fortune. + enable: false + # Available options: + # STRICT - Deletes or reverts illegals even on chest open + # ACTION_ON_USE - Deletes or reverts illegals when interacted with + # PREVENT_USE_ONLY - Only prevents usage of illegals if possible + handling: PREVENT_USE_ONLY + # Enable this if you have problems with the plugin removing items from chest guis. + gui-plugins-supported: false + # Prevents Hopper32k mechanic of placing a shulker containing illegals on top + # of a hopper, then using the illegal out of the hopper's inventory. + # WARNING: Hooks into InventoryMoveItemEvent, which can become VERY resource + # intense as the event fires in high frequencies as soon as players start using + # farms or item sorters. Recommended to leave off if not necessary. + prevent-hopper32k-mechanic: false + check-on-chunkload: + # WARNING: CHECKING ON CHUNKLOAD IS NOT RECOMMENDED AS IT IS VERY RESOURCE INTENSE. + # BE VERY SURE YOU ACTUALLY NEED THIS. + # Iterates over all blocks in a chunk when it is loaded and checks any inventories + # for illegals. If a container with illegals is found, the container will be REMOVED. + enable: false + # If set to true, immediately replaces the container with air. Otherwise, will try + # to handle items separately. + remove-container: false + # The time in milliseconds to wait before performing another check, + # if a check was positive. Helps with lag resulting from repeatedly + # checking illegals. + check-rate-limit-millis: 3000 + check-stored-items: false + item-whitelist-enabled: true + use-as-blacklist-instead: false + whitelisted-items: + - GOLDEN_APPLE + higher-enchants: + # Bypass permission: aef.bypass.illegal.enchants.higher + # Reverts or prevents usage of ItemStacks with Enchantments higher + # than the natural, in vanilla survival obtainable level (aka 32ks / 255s). + enable: false + # Available options: + # STRICT - Deletes or reverts illegals even on chest open + # ACTION_ON_USE - Deletes or reverts illegals when interacted with + # PREVENT_USE_ONLY - Only prevents usage of illegals if possible + handling: PREVENT_USE_ONLY + # Enable this if you have problems with the plugin removing items from chest guis. + gui-plugins-supported: false + # Prevents Hopper32k mechanic of placing a shulker containing illegals on top + # of a hopper, then using the illegal out of the hopper's inventory. + # WARNING: Hooks into InventoryMoveItemEvent, which can become VERY resource + # intense as the event fires in high frequencies as soon as players start using + # farms or item sorters. Recommended to leave off if not necessary. + prevent-hopper32k-mechanic: false + check-on-chunkload: + # WARNING: CHECKING ON CHUNKLOAD IS NOT RECOMMENDED AS IT IS VERY RESOURCE INTENSE. + # BE VERY SURE YOU ACTUALLY NEED THIS. + # Iterates over all blocks in a chunk when it is loaded and checks any inventories + # for illegals. If a container with illegals is found, the container will be REMOVED. + enable: false + # If set to true, immediately replaces the container with air. Otherwise, will try + # to handle items separately. + remove-container: false + # The time in milliseconds to wait before performing another check, + # if a check was positive. Helps with lag resulting from repeatedly + # checking illegals. + check-rate-limit-millis: 3000 + check-stored-items: false + only-specific-enchants: false + specific-enchants: + - DIG_SPEED + item-whitelist-enabled: true + use-as-blacklist-instead: false + whitelisted-items: + - GOLDEN_APPLE + incompatible-enchants: + # Bypass permission: aef.bypass.illegal.enchants.incompatible + # Reverts or prevents usage of ItemStacks with Enchantments that + # cannot coexist in vanilla survival minecraft. + # Examples: A bow with mending and infinity or armor with every + # protection enchantment. + enable: false + # Available options: + # STRICT - Deletes or reverts illegals even on chest open + # ACTION_ON_USE - Deletes or reverts illegals when interacted with + # PREVENT_USE_ONLY - Only prevents usage of illegals if possible + handling: PREVENT_USE_ONLY + # Enable this if you have problems with the plugin removing items from chest guis. + gui-plugins-supported: false + # Prevents Hopper32k mechanic of placing a shulker containing illegals on top + # of a hopper, then using the illegal out of the hopper's inventory. + # WARNING: Hooks into InventoryMoveItemEvent, which can become VERY resource + # intense as the event fires in high frequencies as soon as players start using + # farms or item sorters. Recommended to leave off if not necessary. + prevent-hopper32k-mechanic: false + check-on-chunkload: + # WARNING: CHECKING ON CHUNKLOAD IS NOT RECOMMENDED AS IT IS VERY RESOURCE INTENSE. + # BE VERY SURE YOU ACTUALLY NEED THIS. + # Iterates over all blocks in a chunk when it is loaded and checks any inventories + # for illegals. If a container with illegals is found, the container will be REMOVED. + enable: false + # If set to true, immediately replaces the container with air. Otherwise, will try + # to handle items separately. + remove-container: false + # The time in milliseconds to wait before performing another check, + # if a check was positive. Helps with lag resulting from repeatedly + # checking illegals. + check-rate-limit-millis: 3000 + check-stored-items: false + item-whitelist-enabled: true + use-as-blacklist-instead: false + whitelisted-items: + - BOW + ban-player-heads: + # Bypass permission: aef.bypass.illegal.playerhead + # Deletes or prevents usage of player heads. + enable: false + # Available options: + # STRICT - Deletes or reverts illegals even on chest open + # ACTION_ON_USE - Deletes or reverts illegals when interacted with + # PREVENT_USE_ONLY - Only prevents usage of illegals if possible + handling: PREVENT_USE_ONLY + # Enable this if you have problems with the plugin removing items from chest guis. + gui-plugins-supported: false + # Prevents Hopper32k mechanic of placing a shulker containing illegals on top + # of a hopper, then using the illegal out of the hopper's inventory. + # WARNING: Hooks into InventoryMoveItemEvent, which can become VERY resource + # intense as the event fires in high frequencies as soon as players start using + # farms or item sorters. Recommended to leave off if not necessary. + prevent-hopper32k-mechanic: false + check-on-chunkload: + # WARNING: CHECKING ON CHUNKLOAD IS NOT RECOMMENDED AS IT IS VERY RESOURCE INTENSE. + # BE VERY SURE YOU ACTUALLY NEED THIS. + # Iterates over all blocks in a chunk when it is loaded and checks any inventories + # for illegals. If a container with illegals is found, the container will be REMOVED. + enable: false + # If set to true, immediately replaces the container with air. Otherwise, will try + # to handle items separately. + remove-container: false + # The time in milliseconds to wait before performing another check, + # if a check was positive. Helps with lag resulting from repeatedly + # checking illegals. + check-rate-limit-millis: 3000 + # Will delete shulker/bundle if they contain any player heads. + check-stored-items: false + ban-specific-materials: + # Bypass permission: aef.bypass.illegal.bannedmaterial + # Prevents usage of or deletes items with material that you do not want + # your players to be able to use. + # Useful if your players have blocks that shouldn't be obtainable in survival. + enable: false + # Available options: + # STRICT - Deletes or reverts illegals even on chest open + # ACTION_ON_USE - Deletes or reverts illegals when interacted with + # PREVENT_USE_ONLY - Only prevents usage of illegals if possible + handling: PREVENT_USE_ONLY + # Enable this if you have problems with the plugin removing items from chest guis. + gui-plugins-supported: false + # Prevents Hopper32k mechanic of placing a shulker containing illegals on top + # of a hopper, then using the illegal out of the hopper's inventory. + # WARNING: Hooks into InventoryMoveItemEvent, which can become VERY resource + # intense as the event fires in high frequencies as soon as players start using + # farms or item sorters. Recommended to leave off if not necessary. + prevent-hopper32k-mechanic: false + check-on-chunkload: + # WARNING: CHECKING ON CHUNKLOAD IS NOT RECOMMENDED AS IT IS VERY RESOURCE INTENSE. + # BE VERY SURE YOU ACTUALLY NEED THIS. + # Iterates over all blocks in a chunk when it is loaded and checks any inventories + # for illegals. If a container with illegals is found, the container will be REMOVED. + enable: false + # If set to true, immediately replaces the container with air. Otherwise, will try + # to handle items separately. + remove-container: false + # The time in milliseconds to wait before performing another check, + # if a check was positive. Helps with lag resulting from repeatedly + # checking illegals. + check-rate-limit-millis: 3000 + check-stored-items: false + banned-materials: + - COMMAND_CHAIN + - COMMAND + - COMMAND_MINECART + - COMMAND_REPEATING + - BEDROCK + - BARRIER + - STRUCTURE_BLOCK + - STRUCTURE_VOID + - ENDER_PORTAL_FRAME + - ENDER_PORTAL + - PORTAL + potions: + # Bypass permission: aef.bypass.illegal.potions + # Prevents usage of or reverts items with any attribute modifiers + # or item flags. + enable: false + # Available options: + # STRICT - Deletes or reverts illegals even on chest open + # ACTION_ON_USE - Deletes or reverts illegals when interacted with + # PREVENT_USE_ONLY - Only prevents usage of illegals if possible + handling: PREVENT_USE_ONLY + # Enable this if you have problems with the plugin removing items from chest guis. + gui-plugins-supported: false + # Prevents Hopper32k mechanic of placing a shulker containing illegals on top + # of a hopper, then using the illegal out of the hopper's inventory. + # WARNING: Hooks into InventoryMoveItemEvent, which can become VERY resource + # intense as the event fires in high frequencies as soon as players start using + # farms or item sorters. Recommended to leave off if not necessary. + prevent-hopper32k-mechanic: false + check-on-chunkload: + # WARNING: CHECKING ON CHUNKLOAD IS NOT RECOMMENDED AS IT IS VERY RESOURCE INTENSE. + # BE VERY SURE YOU ACTUALLY NEED THIS. + # Iterates over all blocks in a chunk when it is loaded and checks any inventories + # for illegals. If a container with illegals is found, the container will be REMOVED. + enable: false + # If set to true, immediately replaces the container with air. Otherwise, will try + # to handle items separately. + remove-container: false + # The time in milliseconds to wait before performing another check, + # if a check was positive. Helps with lag resulting from repeatedly + # checking illegals. + check-rate-limit-millis: 3000 + check-stored-items: false + ban-spawn-eggs: + # Bypass permission: aef.bypass.illegal.spawnegg + # Deletes or prevents usage of spawn eggs. + enable: false + # Available options: + # STRICT - Deletes or reverts illegals even on chest open + # ACTION_ON_USE - Deletes or reverts illegals when interacted with + # PREVENT_USE_ONLY - Only prevents usage of illegals if possible + handling: PREVENT_USE_ONLY + # Enable this if you have problems with the plugin removing items from chest guis. + gui-plugins-supported: false + # Prevents Hopper32k mechanic of placing a shulker containing illegals on top + # of a hopper, then using the illegal out of the hopper's inventory. + # WARNING: Hooks into InventoryMoveItemEvent, which can become VERY resource + # intense as the event fires in high frequencies as soon as players start using + # farms or item sorters. Recommended to leave off if not necessary. + prevent-hopper32k-mechanic: false + check-on-chunkload: + # WARNING: CHECKING ON CHUNKLOAD IS NOT RECOMMENDED AS IT IS VERY RESOURCE INTENSE. + # BE VERY SURE YOU ACTUALLY NEED THIS. + # Iterates over all blocks in a chunk when it is loaded and checks any inventories + # for illegals. If a container with illegals is found, the container will be REMOVED. + enable: false + # If set to true, immediately replaces the container with air. Otherwise, will try + # to handle items separately. + remove-container: false + # The time in milliseconds to wait before performing another check, + # if a check was positive. Helps with lag resulting from repeatedly + # checking illegals. + check-rate-limit-millis: 3000 + # If remove-spawn-eggs is set to true Will delete shulker/bundle + # should they contain any spawneggs. + check-stored-items: false + whitelisted-items: + - MONSTER_EGG + data-values: + custom-data-values: + # 1.12 Only. Bypass permission: aef.bypass.illegal.data.custom + # Deletes items with configured illegal MaterialData values. + # Use '/aef datavalue' ingame while holding an item to add the + # specific value here. + enable: false + # Available options: + # STRICT - Deletes or reverts illegals even on chest open + # ACTION_ON_USE - Deletes or reverts illegals when interacted with + # PREVENT_USE_ONLY - Only prevents usage of illegals if possible + handling: PREVENT_USE_ONLY + # Enable this if you have problems with the plugin removing items from chest guis. + gui-plugins-supported: false + # Prevents Hopper32k mechanic of placing a shulker containing illegals on top + # of a hopper, then using the illegal out of the hopper's inventory. + # WARNING: Hooks into InventoryMoveItemEvent, which can become VERY resource + # intense as the event fires in high frequencies as soon as players start using + # farms or item sorters. Recommended to leave off if not necessary. + prevent-hopper32k-mechanic: false + check-on-chunkload: + # WARNING: CHECKING ON CHUNKLOAD IS NOT RECOMMENDED AS IT IS VERY RESOURCE INTENSE. + # BE VERY SURE YOU ACTUALLY NEED THIS. + # Iterates over all blocks in a chunk when it is loaded and checks any inventories + # for illegals. If a container with illegals is found, the container will be REMOVED. + enable: false + # If set to true, immediately replaces the container with air. Otherwise, will try + # to handle items separately. + remove-container: false + # The time in milliseconds to wait before performing another check, + # if a check was positive. Helps with lag resulting from repeatedly + # checking illegals. + check-rate-limit-millis: 3000 + check-stored-items: false + data-values: + - SuperIllegalItem(0) + item-whitelist-enabled: false + use-as-blacklist-instead: false + whitelisted-items: + - GOLDEN_APPLE + illegal-golden-apples: + # 1.12 Only. Bypass permission: aef.bypass.illegal.data.apple + # Deletes apples with illegal MaterialData values. Will use the + # API to determine what a natural value looks like. + enable: false + # Available options: + # STRICT - Deletes or reverts illegals even on chest open + # ACTION_ON_USE - Deletes or reverts illegals when interacted with + # PREVENT_USE_ONLY - Only prevents usage of illegals if possible + handling: PREVENT_USE_ONLY + # Enable this if you have problems with the plugin removing items from chest guis. + gui-plugins-supported: false + # Prevents Hopper32k mechanic of placing a shulker containing illegals on top + # of a hopper, then using the illegal out of the hopper's inventory. + # WARNING: Hooks into InventoryMoveItemEvent, which can become VERY resource + # intense as the event fires in high frequencies as soon as players start using + # farms or item sorters. Recommended to leave off if not necessary. + prevent-hopper32k-mechanic: false + check-on-chunkload: + # WARNING: CHECKING ON CHUNKLOAD IS NOT RECOMMENDED AS IT IS VERY RESOURCE INTENSE. + # BE VERY SURE YOU ACTUALLY NEED THIS. + # Iterates over all blocks in a chunk when it is loaded and checks any inventories + # for illegals. If a container with illegals is found, the container will be REMOVED. + enable: false + # If set to true, immediately replaces the container with air. Otherwise, will try + # to handle items separately. + remove-container: false + # The time in milliseconds to wait before performing another check, + # if a check was positive. Helps with lag resulting from repeatedly + # checking illegals. + check-rate-limit-millis: 3000 + check-stored-items: false + banned-item-names: + # Bypass permission: aef.bypass.illegal.bannedname + # Resets an item's name (or deletes the item) if it matches one of + # the configured regexes. + # Regexes can be complex. Use a tool like https://regex101.com/ or + # ChatGPT for good results. + enable: false + # Available options: + # STRICT - Deletes or reverts illegals even on chest open + # ACTION_ON_USE - Deletes or reverts illegals when interacted with + # PREVENT_USE_ONLY - Only prevents usage of illegals if possible + handling: PREVENT_USE_ONLY + # Enable this if you have problems with the plugin removing items from chest guis. + gui-plugins-supported: false + # Prevents Hopper32k mechanic of placing a shulker containing illegals on top + # of a hopper, then using the illegal out of the hopper's inventory. + # WARNING: Hooks into InventoryMoveItemEvent, which can become VERY resource + # intense as the event fires in high frequencies as soon as players start using + # farms or item sorters. Recommended to leave off if not necessary. + prevent-hopper32k-mechanic: false + check-on-chunkload: + # WARNING: CHECKING ON CHUNKLOAD IS NOT RECOMMENDED AS IT IS VERY RESOURCE INTENSE. + # BE VERY SURE YOU ACTUALLY NEED THIS. + # Iterates over all blocks in a chunk when it is loaded and checks any inventories + # for illegals. If a container with illegals is found, the container will be REMOVED. + enable: false + # If set to true, immediately replaces the container with air. Otherwise, will try + # to handle items separately. + remove-container: false + # The time in milliseconds to wait before performing another check, + # if a check was positive. Helps with lag resulting from repeatedly + # checking illegals. + check-rate-limit-millis: 3000 + # Will delete the item instead of resetting the name. + delete-item: false + regex: + - (?i)illegalstring + whitelisted-items: + - DIRT + illegally-stacked-items: + # Bypass permission: aef.bypass.illegal.overstacked + # Prevents usage of or reverts items with a higher or lower + # stack size than their vanilla limit. + enable: false + # Available options: + # STRICT - Deletes or reverts illegals even on chest open + # ACTION_ON_USE - Deletes or reverts illegals when interacted with + # PREVENT_USE_ONLY - Only prevents usage of illegals if possible + handling: PREVENT_USE_ONLY + # Enable this if you have problems with the plugin removing items from chest guis. + gui-plugins-supported: false + # Prevents Hopper32k mechanic of placing a shulker containing illegals on top + # of a hopper, then using the illegal out of the hopper's inventory. + # WARNING: Hooks into InventoryMoveItemEvent, which can become VERY resource + # intense as the event fires in high frequencies as soon as players start using + # farms or item sorters. Recommended to leave off if not necessary. + prevent-hopper32k-mechanic: false + check-on-chunkload: + # WARNING: CHECKING ON CHUNKLOAD IS NOT RECOMMENDED AS IT IS VERY RESOURCE INTENSE. + # BE VERY SURE YOU ACTUALLY NEED THIS. + # Iterates over all blocks in a chunk when it is loaded and checks any inventories + # for illegals. If a container with illegals is found, the container will be REMOVED. + enable: false + # If set to true, immediately replaces the container with air. Otherwise, will try + # to handle items separately. + remove-container: false + # The time in milliseconds to wait before performing another check, + # if a check was positive. Helps with lag resulting from repeatedly + # checking illegals. + check-rate-limit-millis: 3000 + item-whitelist-enabled: false + use-as-blacklist-instead: true + check-stored-items: false + whitelisted-items: + - TOTEM + revert-unbreakables: + # Bypass permission: aef.bypass.illegal.unbreakable + # Deletes and prevents usage of unbreakable items. + # This can be anything from items with illegal damage attributes to + # Metadata/NBT tags. + # Note: Due to the limitations of the API, we can only fully prevent + # usage of these items by deleting them. + enable: false + # Available options: + # STRICT - Deletes or reverts illegals even on chest open + # ACTION_ON_USE - Deletes or reverts illegals when interacted with + # PREVENT_USE_ONLY - Only prevents usage of illegals if possible + handling: PREVENT_USE_ONLY + # Enable this if you have problems with the plugin removing items from chest guis. + gui-plugins-supported: false + # Prevents Hopper32k mechanic of placing a shulker containing illegals on top + # of a hopper, then using the illegal out of the hopper's inventory. + # WARNING: Hooks into InventoryMoveItemEvent, which can become VERY resource + # intense as the event fires in high frequencies as soon as players start using + # farms or item sorters. Recommended to leave off if not necessary. + prevent-hopper32k-mechanic: false + check-on-chunkload: + # WARNING: CHECKING ON CHUNKLOAD IS NOT RECOMMENDED AS IT IS VERY RESOURCE INTENSE. + # BE VERY SURE YOU ACTUALLY NEED THIS. + # Iterates over all blocks in a chunk when it is loaded and checks any inventories + # for illegals. If a container with illegals is found, the container will be REMOVED. + enable: false + # If set to true, immediately replaces the container with air. Otherwise, will try + # to handle items separately. + remove-container: false + # The time in milliseconds to wait before performing another check, + # if a check was positive. Helps with lag resulting from repeatedly + # checking illegals. + check-rate-limit-millis: 3000 + item-whitelist-enabled: false + use-as-blacklist-instead: false + # Will delete shulkers and bundles if they contain unbreakables. + check-stored-items: false + # Make sure to keep enabled on 1.16+, otherwise netherite tools + # will mistakenly be set to max durability, due to some bug in paper. + skip-zero-durability: true + whitelisted-items: + - DIAMOND_CHESTPLATE + +###################### +# Dupe Preventions # +###################### +dupe-preventions: + # Prevent any possible dupes involving chested entities by making + # it impossible to put a chest on them. + # Only do this if you have reason to believe a dupe like that exists + # on your server. + prevent-chests-on-living-entities: false + # Closes open inventories of all entities that are in a chunk + # that will be unloaded. + close-entity-inventories-on-chunk-unload: false + # Prevents entities that can carry chests from using portals to + # block some common dupe tactics. + # CAUTION: Will remove chests and their contents from a chested + # entity if it touches a portal on Folia! + prevent-chested-living-entities-in-portals: false + # Patches a dupe that involves pushing a chestable entity + # with low hp into an end portal, duplicating its inventory + # content on death + prevent-end-portal-dupe: false + # Closes open inventories of entities that disappeared when the + # player riding it disconnects. + close-entity-inventories-on-player-disconnect: false + +################# +# Preventions # +################# +preventions: + withers: + disable-wither-spawning-at-spawn: + # Disables spawning withers near a configurable radius around + # spawn. Helps if players are generating endless amounts of withers + # to lag the server. + enable: false + inform-players: true + worlds: + world: 5000 + world_the_end: 5000 + world_nether: 5000 + remove-flying-wither-skulls: + # Removes wither skulls when the chunk gets unloaded. + # Use if you have a ton of them at spawn and they are causing lag. + on-chunk-unload: true + # Removes wither skulls when the chunk gets loaded. + # Use if you have a ton of them at spawn and they are causing lag. + on-chunk-load: true + periodically-remove-all-flying-skulls: + # Enable if a lot of wither skulls at spawn are causing lag. + enable: false + check-period-in-ticks: 80 + # Prevents wither skulls from being shot. + disable-withers-from-shooting-skulls: false + rate-limit-wither-skulls: + # This can help combat lag caused by a ton of wither skulls + # spawning but weakens withers. + enable: false + # Cooldown until another skull will be shot at a player + player-target-cooldown-in-ticks: 20 + # Cooldown until another skull can be shot at anything + # else other than a player. + other-target-cooldown-in-ticks: 40 + # Cooldown when wither has no target + no-target-cooldown-in-ticks: 100 + portals: + prevent-specific-types: + # Configure entities here that you suspect might be used in a dupe + # with portals. + # CAUTION: Will kill the entity on folia due to broken portal event. + # There is sadly no other efficient way. + enable: true + # Defaults prevent common lag methods. + entities: + - DROPPED_ITEM + - FIREWORK + - PRIMED_TNT + - THROWN_EXP_BOTTLE + - EXPERIENCE_ORB + - ARMOR_STAND + # Only enable if you must. Does not affect players. + prevent-all-entities-in-portals: false + prevent-destroying-end-portals: + enable: true + log: true + end: + bedrock-protection-radius-blocks: 8 + # Add block locations that should be protected as well. + # Format: ::: + # If you don't want to use this, just configure an empty list: + # pillar-blocks: [] + pillar-blocks: + - world_the_end:143:140:-50 + - world_the_end:112:90:-90 + prevent-portal-traps: + # Teleports a player back to the original location if they have been + # standing in a portal for too long. + enable: false + wait-time-until-tp-back-in-seconds: 10 + # Prevents a lag exploit. Might disable some chunk loader designs. + prevent-projectiles-in-portals: false + permanent-block-breaking: + by-placing-piston-on-retract: + enable: true + whitelisted-worlds: + - example_world_name + by-exploding-pistons: + enable: true + whitelisted-worlds: + - example_world_name + by-growing-structures: + # Prevents removal of permanent blocks by growing structures + # like mushrooms into them. + enable: true + prevent-map-reset-spam: + # Puts a cooldown on creating maps so players cant reset + # map arts that easily. + # Only needed on versions below 1.12 and lower. + # Bypass permission: aef.bypass.mapspam + enable: false + # Sends a message to players telling them how many maps + # they can create per time + notify-players: true + cooldown-time-in-minutes: 60 + max-amount-of-maps-per-time: 4 + prevent-ambient-fish-spawns: + # Prevent certain fish types from spawning in newer versions to combat lag. + enable: false + fish-types-to-prevent: + - COD + - SALMON + - PUFFERFISH + - TROPICAL_FISH + prevent-opped-players: + # Useful if you suspect a backdoor has happened. + enable: false + log: true + whitelisted-players: + - Notch + prevent-nether-roof: + # Prevent players from going above the nether roof. + enable: true + safely-teleport-players: true + anti-bed-trap: + # Resets a players bed respawn they die too many times within + # a certain timeframe. + enable: false + log: false + # Amount of times player can die until he is determined as bed-trapped. + max-deaths-per-time: 7 + # Time until death counter will be reset again + time-in-seconds: 5 + max-distance-from-bed: 6.0 + prevent-non-survival-players: + # Checks if player is in survival and if not, puts him back into survival. + # Useful if you had a backdoor incident. + enable: false + log: true + whitelisted-players: + - Notch + +############ +# Combat # +############ +combat: + anchor-aura-delay: + enable: false + # 1 tick = 50 ms + break-delay-millis: 0 + # 1 tick = 50 ms + place-delay-millis: 400 + # Can help with desync but recommended to leave off unless you have issues. + update-inventory-on-cancel: false + silent-swap-delay: + enable: false + # The delay in millis a player cant swap hotbar items after placing + # a block, clicking a block (for example to place a crystal) or + # damaging an entity. (50 ms = 1 tick) + min-swap-delay-millis: 40 + prevent-bow-bomb: + enable: false + # Fully pulled bow is ~9-10. 15 is default just to be safe. + max-bow-squared-velocity: 15 + portal-god-mode-patch: + # Prevents an exploit that allows players to stand in nether portals and not + # take damage indefinitely by just never sending a TeleportConfirm packet to + # the server. + # A similar method is used for the chorus tp exploit, which is not covered + # by this module. + enable: false + # If the player stays inside the nether portal for this time without teleporting, + # the portal will be broken, making the player inside vulnerable again. + # Nether portal teleports normally happen within ~3s after enter, so 5s (100ticks) + # should be a safe value. + break-portal-delay-ticks: 100 + crystal-aura: + piston-aura-delay: + # Rate-limits pistons that extend into crystals + enable: false + piston-extend-delay-in-ticks: 40 + regular-delay: + enable: false + # 1 tick = 50 ms + break-delay-millis: 200 + # 1 tick = 50 ms + place-delay-millis: 0 + # Can help with desync but recommended to leave off unless you have issues. + update-inventory-on-cancel: false + prevent-burrow: + enable: false + # 1.0 = Half a heart of damage every time you move. + damage-when-moving: 1.0 + teleport-above-block: true + # Prevent burrow even if there is a block above the block they + # are burrowing in. + # Please note this may allow creating an 'elevator', players will + # keep teleporting up until they hit air. + prevent-if-block-above-burrow: false + break-anvil-instead-of-teleport: true + # Needs to be enabled to prevent a bug where players are teleported + # above a slab when the slab is underwater. + allow-slabs-in-burrow: true + ignored-materials: + - BLACK_SHULKER_BOX + - BLUE_SHULKER_BOX + - BROWN_SHULKER_BOX + - CYAN_SHULKER_BOX + - GRAY_SHULKER_BOX + - GREEN_SHULKER_BOX + - LIGHT_BLUE_SHULKER_BOX + - SILVER_SHULKER_BOX + - LIME_SHULKER_BOX + - MAGENTA_SHULKER_BOX + - ORANGE_SHULKER_BOX + - PINK_SHULKER_BOX + - PURPLE_SHULKER_BOX + - RED_SHULKER_BOX + - PURPLE_SHULKER_BOX + - WHITE_SHULKER_BOX + - YELLOW_SHULKER_BOX + - AIR + - DIRT + - GRASS_PATH + - SAND + - GRAVEL + multi-task-patch: + enable: false + piston-push: + # Disables pistons from extending if it would push certain configured entities. + # This can be used to prevent players from pushing other players out of burrows, by + # configuring PLAYER, or to disable piston-crystal by adding ENDER_CRYSTAL to the list. + enable: false + piston-push-blocked-entities: + - PLAYER + bed-aura-delay: + enable: false + # 1 tick = 50 ms + break-delay-millis: 0 + # 1 tick = 50 ms + place-delay-millis: 250 + # Can help with desync but recommended to leave off unless you have issues. + update-inventory-on-cancel: false + +############# +# Bedrock # +############# +bedrock: + fill-in-bedrock: + overworld-floor: + periodically-check-and-fill: + # only checks loaded chunks + enable: false + check-period-in-seconds: 10 + # Uses the exact name of the world's folder in your server directory. + exempted-worlds: + - exampleworld + - exampleworld2 + pause-on-low-tps: true + # The TPS at which bedrock filling will pause to avoid adding to the lag. + pause-tps: 16.0 + fill-on-chunkload: + enable: false + # Recommended to leave off. Only useful if world generation is broken. + also-check-new-chunks: false + # Uses the exact name of the world's folder in your server directory. + exempted-worlds: + - exampleworld + - exampleworld2 + pause-on-low-tps: true + # The TPS at which bedrock filling will pause to avoid adding to the lag. + pause-tps: 16.0 + nether-ceiling: + periodically-check-and-fill: + # Only checks loaded chunks. + enable: false + check-period-in-seconds: 10 + # Uses the exact name of the world's folder in your server directory. + exempted-worlds: + - exampleworld + - exampleworld2 + pause-on-low-tps: true + # The TPS at which bedrock filling will pause to avoid adding to the lag. + pause-tps: 16.0 + fill-on-chunkload: + enable: false + # Recommended to leave off. Only useful if world generation is broken. + also-check-new-chunks: false + # Uses the exact name of the world's folder in your server directory. + exempted-worlds: + - exampleworld + - exampleworld2 + # Pauses the task during low tps to avoid adding to the lag. + pause-on-low-tps: true + # The TPS at which bedrock filling will pause to avoid adding to the lag. + pause-tps: 16.0 + nether-floor: + periodically-check-and-fill: + # Only checks loaded chunks. + enable: false + check-period-in-seconds: 10 + # Uses the exact name of the world's folder in your server directory. + exempted-worlds: + - exampleworld + - exampleworld2 + pause-on-low-tps: true + # The TPS at which bedrock filling will pause to avoid adding to the lag. + pause-tps: 16.0 + fill-on-chunkload: + enable: false + # Recommended to leave off. Only useful if world generation is broken. + also-check-new-chunks: false + # Uses the exact name of the world's folder in your server directory. + exempted-worlds: + - exampleworld + - exampleworld2 + pause-on-low-tps: true + # The TPS at which bedrock filling will pause to avoid adding to the lag. + pause-tps: 16.0 + prevent-going-below-bedrock-floor: + # Prevents players from going below the bedrock floor. + enable: true + # Eject player from the vehicle + eject-player: true + # Disables a player's elytra flight + stop-elytra: true + # Teleport player on top of that bedrock + teleport: true + # 1.0 = Half a heart of damage every time you move. Set 0 to disable + damage-when-moving: 8.0 + # Whether the bedrock hole should be filled or not + fill-bedrock-hole: true + exempted-worlds: + - world_the_end + - skyblock_world + filler-material: BEDROCK diff --git a/build-logic/src/main/kotlin/me.xginko.aef.wrapper.gradle.kts b/build-logic/src/main/kotlin/me.xginko.aef.wrapper.gradle.kts index bdea60705..a1b288030 100755 --- a/build-logic/src/main/kotlin/me.xginko.aef.wrapper.gradle.kts +++ b/build-logic/src/main/kotlin/me.xginko.aef.wrapper.gradle.kts @@ -4,7 +4,7 @@ plugins { } group = "me.xginko" -version = "2.7.2-SNAPSHOT" +version = "2.7.2" description = "Prevent many exploits that affect anarchy servers." var url: String? = "github.com/xGinko/AnarchyExploitFixes"