Files
Civ/ansible/files/gamma-config/plugins/ClearLag/config.yml
2025-08-15 04:55:25 +01:00

503 lines
18 KiB
YAML

#--------------------------------------------------------------------#
# ClearLag Configuration File #
#--------------------------------------------------------------------#
# Configure to your liking, reload the config by tying: /lagg reload #
# - #
# Here is a helpful tutorial on this configuration setup! (Updated) #
# http://dev.bukkit.org/bukkit-plugins/clearlagg/pages/config-setup/ #
#--------------------------------------------------------------------#
# All possible mob names: https://goo.gl/cch8YK #
#--------------------------------------------------------------------#
config-version: 20
# -- 'use-internal-tps' Should clearlag just use the calculated internal TPS? (Improves accuracy)
# -- 'language' Clearlag supports multiple languages (https://github.com/bob7l/Clearlag-Languages) translated by the community
# -- 'use-internal-tps' Should Clearlag use Spigot's /tps? (Updated by minutes, much slower, but more accurate!)
settings:
language: English
auto-update: false
enable-api: true
use-internal-tps: true
#Controls ALL of Clearlag's broadcasting. Disabling this will disable ALL broadcasting on Clearlag
# -- 'enabled' Should clearlag broadcast messages at all? (Example: Auto-removal, warnings, ect)
# -- 'async' Should messages be broadcasted on another thread
# -- 'use-permission-for-broadcasts' Should clearlag use permissions?
# -- 'permission' What is the permission? (By default, it's bukkit's default)
global-broadcasts:
enabled: true
async: false
use-permission-for-broadcasts: false
permission: bukkit.broadcast
#Monitors your server's main thread for locking/freezing. Helps figure out what's causing lag-spikes
# NOTE: This will outprint mostly just stacktraces. It's up to YOU to interpret the stacktrace
# NOTE: (!Important!) Clearlag will print EVERYTHING to your Spigot/Bukkit server logs!
# NOTE: A large 'Garbage collection time' generally means the spike was caused by the Garbage collector (Memory issue basically..)
# -- 'enabled' Should this be enabled (Prints data to your logs, not ingame chat)
# -- 'min-elapsed-time' How long (IN MILLISECONDS) of a server-tick constitutes a freeze/lock? I don't recommend going under ~80
# -- 'check-interval' How often (IN MILLISECONDS) should the server be checked? Lower the number, more accurate the timings
# -- 'follow-stack' Should Clearlag keep printing the stacktrace every time it changes (Can be very spammy)?
# Help-> https://dev.bukkit.org/projects/clearlagg/pages/finding-the-cause-of-lag-spikes
lag-spike-helper:
enabled: false
min-elapsed-time: 500
check-interval: 100
follow-stack: true
#Limits the amount of item transfers for all the hoppers in a single chunk
# -- 'transfer-limit' How many transfers per check interval until the hopper should be disabled
# -- 'check-interval' In seconds, on what interval should the transfer limit be reset
hopper-limiter:
enabled: false
transfer-limit: 5
check-interval: 1
#Meters your ram usage. If it goes above 'limit', run 'commands:'
# NOTE: It's perfectly normal for your server to be using a lot of memory. The JVM's garbage collector will automatically free memory.
# NOTE: Only use this if you have very little memory that can't support the server
# -- 'ram-limit' is in MB, do not set it exactly to your max allocated ram amount
# -- 'interval' is how often clearlag will check your ram usage
# -- 'commands' lists the commands that will be ran upon hitting your ram-limit
ram-meter:
enabled: false
interval: 20
ram-limit: 5000
commands:
- 'lagg killmobs'
- 'lagg clear'
#Configure what the '/lagg halt' command does
# -- 'remove-entities' remove entities such as items, primed-tnt, and mobs
# -- 'disable-natural-entity-spawning' disables the server's natural world spawning
# -- 'halted' this section defines which actions should be halted during '/lagg halt'
halt-command:
remove-entities: false
disable-natural-entity-spawning: false
halted:
fire: false
fire-burn: false
explosion: false
decay: false
block-fade: false
block-form: false
block-spread: false
block-natural-change: false
#This limits how fast a user can move by walking or flying in a single tick (20 ticks a second)
#I HIGHLY recommend you use this on servers with increased player-speed/fly to prevent chunk overload
#You may also use Spigot's internal speed limiters to achieve the same goal if present on your version (better performance)
# -- 'move-max-speed' Max speed on foot
# -- 'fly-max-speed' Max speed while flying
player-speed-limiter:
enabled: false
move-max-speed: 0.7
fly-max-speed: 0.8
#Set the age of specific items when they're first spawned so they naturally despawn faster, or slower then others
#Recommended for servers with a lot of item-entities consisting mostly of useless items (Such as stone)
#Material list: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html
# -- 'items' Lists the material names of the entities with their spawn-age (In seconds)
item-spawn-age-setter:
enabled: false
items:
#Should mobs be nerfed to prevent over-breeding to reduce CPU usage (And possibly raise TPS)
#When mobs are stuck too close, collisions are extremely intensive putting a pretty mean load on the server
# -- 'max-mobs' means how many bably/adult animals are allowed within the 'check-radius'
# -- 'check-radius' is the radius of what clearlag will check for 'max-mobs'
mob-breeding-limiter:
enabled: true
max-mobs: 16
check-radius: 32
#Should clearlag purge logs under /logs when the server starts?
# -- 'days-old' means how many days old can the log be to be deleted
log-purger:
enabled: false
days-old: 3
#What type of entities SHOULD NOT be removed while doing /lagg area?
area-filter:
- Itemframe
- Minecart
- Wolf
- Villager
- Horse
- ARMOR_STAND
#Should clearlag reset the config, or attempt to update your config on updates
# -- 'force-update' is whether or not clearlag will reset your config with a newer version
# -- settings this to false will make clearlag update your config rather then resetting
config-updater:
force-update: false
#This limits the mob egg spawners so players cannot "overload" the server with them
# -- 'check-radius' is the radius clearlag will check for nearby entities
# -- 'max-mobs' is how many entities may be in the radius before the spawning is blocked
mobegg-limiter:
enabled: true
check-radius: 16
max-mobs: 24
#Disable new chunk generation, or just put a cap on how many can load at once.
#May cause many bugs with Spigot 1.8+, not recommended!
# -- 'create-new-chunks' disables or enables chunk creation. false would disallow new chunks
# -- !UNSTABLE ON SPIGOT BUILDS!
chunk-limiter:
enabled: false
limit: 6000
create-new-chunks: true
#This modifies the view range of entities
# -- Lower it is, the better your entity tick will be and the more CPU cycles you'll save
# -- If it's too high, expect bugs / lots of lag
mob-range:
enabled: false
#zombie: 30
#skeleton: 30
#creeper: 20
#How long should items/Mobs be left on the ground
# -- live-time's go by ticks (20 ticks a second)
live-time:
enabled: false #Paper.yml can do item despawning
interval: 10
mobtimer: false
itemtimer: false
arrowtimer: false
arrowkilltime: 15
moblivetime: 600
itemlivetime: 240
#This option disallows the placement of too many tnt-minecarts
# -- 'radius' is the radius clearlag will check for TNT-Minecarts
tnt-minecart:
enabled: true
max: 8
radius: 8
#This option reduces global dispenser fire rate
# -- 'time' is in milliseconds
dispenser-reducer:
enabled: false
time: 100
#This option reduces the explosions of mass amounts of tnt, and reduces tnt lag
# -- 'check-radius' is the radius clearlag will check for primed TNT
# -- 'max-primed' is the max primed TNT within the radius allowed before clearlag begins to remove
tnt-reducer:
enabled: true
check-radius: 8
max-primed: 12
#This option reduces fire spread rate
# -- 'time' is in milliseconds
firespread-reducer:
enabled: false
time: 9223372036854775807
#How many entities should one chunk be allowed to hold?
# -- 'entities' lists all the entities that will be counted
# and possibly removed.
chunk-entity-limiter:
enabled: false
limit: 12
entities:
#- bat !hasName
#- bee !hasName
#- blaze !hasName
#- blaze liveTime=1200
#- cave_spider !hasName
#- cave_spider liveTime=1200
#- chicken !hasName
#- cod !hasName
#- cow !hasName
#- creeper !hasName
#- drowned !hasName
#- elder_guardian !hasName
#- enderman !hasName
#- endermite !hasName
#- fox !hasName
#- ghast !hasName
#- guardian !hasName
#- guardian liveTime=1200
#- hoglin !hasName
#- horse !hasName
#- husk !hasName
#- illusioner !hasName
#- iron_golem !hasName
#- magma_cube !hasName
#- mule !hasName
#- mushroom_cow !hasName
#- ocelot !hasName
#- panda !hasName
#- phantom !hasName
#- pig !hasName
#- pillager !hasName
#- polar_bear !hasName
#- pufferfish !hasName
#- rabbit !hasName
#- salmon !hasName
#- sheep !hasName
#- silverfish !hasName
#- skeleton !hasName
#- skeleton_horse !hasName
#- snowman !hasName !hasName
#- spider !hasName
#- stray !hasName
#- strider !hasName
#- squid !hasName
#- tropical_fish !hasName
#- turtle !hasName
#- vex !hasName
#- villager !hasName
#- vindicator !hasName
#- wolf !hasName
#- zoglin !hasName
#- zombie !hasName
#- zombie liveTime=1200
#- zombie_villager !hasName
#- zombified_piglin !hasName
#- zombified_piglin liveTime=1200
#- Pig liveTime=100 <- This mob will be REMOVED if it's been alive for 100 ticks (5 seconds)
#A per-entity chunk limiter. Very useful to limiting useless mobs like squid, but not zombies
# -- 'entity-limits' lists all the entities, their filters, and 'limit' to specify their limit
# to be removed/culled
# -- 'passive-purger' Enables random checking of chunks to see whether they're exceeding limits.
# -- Useful for when you want to prevent lag exploiting
# -- 'passive-cleaning-enabled' Enables the passive-purger
# -- 'check-interval' How often (in ticks, 50MS) should chunks be checked
# -- 'chunk-batch-size' How many chunks at once should be checked
per-entity-chunk-entity-limiter:
enabled: false
entity-limits:
#- COD limit:1
#- ZOMBIFIED_PIGLIN limit:8
#- GHAST limit:3
#- ZOMBIE limit:8
#- SPIDER limit:8
#- CAVE_SPIDER limit:8
#- SNOW_GOLEM limit:4
passive-cleaner:
passive-cleaning-enabled: false
check-interval: 30
chunk-batch-size: 20
#How many mobs should be allowed to spawn globally
# -- 'interval' is the check interval check the current spawn amounts
spawn-limiter:
enabled: false
interval: 15
mobs: 5000
animals: 4000
#Meters your TPS, if it goes to low, run the commands you wrote below!
# -- 'interval' is how often tps-meter will check the TPS
# -- 'tps-trigger' is at what TPS the commands will be ran at
# -- 'tps-recover' is at what TPS should the TPS be considered stable after 'tps-trigger' is executed
# -- 'commands' lists what commands will be executed when tps-tigger is reached
# -- 'recover-commands' lists what commands will be executed when tps-recover is reached
# -- 'trigger-broadcast-message' specifies which message should be broadcasted when tps-trigger runs
# -- 'recover-broadcast-message' specifies which message should be broadcasted when TPS recovers
# -- 'broadcast-enabled' defines whether or not tps-meter should broadcast
tps-meter:
enabled: false
trigger-broadcast-message: '&6[ClearLag] &cThe server is overloaded, executing lag-perventing measures'
recover-broadcast-message: '&6[ClearLag] &aThe server is no longer overloaded!'
broadcast-enabled: false
interval: 15
tps-trigger: 14.0
tps-recover: 19.0
commands:
- 'lagg killmobs'
- 'lagg clear'
- 'lagg halt on'
recover-commands:
- 'lagg halt off'
#This is /lagg killmobs, put what you DON'T want removed!
# -- 'remove-named', when FALSE entities with custom names will NOT be removed
# -- 'mob-filter' lists which mobs will be IGNORED during /lagg killmobs
kill-mobs:
remove-named: false
mob-filter:
- Villager
- Wolf
# - Pig !name="Test" <- This entity will filtered if the name does NOT equal "Test"
# - Zombie hasName <- This entity will be filtered if it HAS a name
- ARMOR_STAND
- Horse
#This nerfs mob-spawners (Natural and player-made)
#-------------------------------------------------
#This goes by chunks rather then spawners. This is to prevent
#a large buildup of mob-spawners within a small region to "bypass"
#your set limit. It also allows for keys to be generated more easily
#increasing the performance
# -- 'max-spawn' is the maximum mobs allowed to spawn by a mob-spawner
# -- 'remove-mobs-on-chunk-unload' is whether or not Clearlag should remove
# -- the mobs spawned by the mobspawner upon chunk unload (Highly Recommended)
mobspawner:
enabled: false
max-spawn: 8
remove-mobs-on-chunk-unload: true
#Dont use if you have CB++ or Spigot!
item-merger:
enabled: false
radius: 6
#Auto-removal options
# -- warnings works like this; time = the time warning should be given, msg = warning message at that time
# -- NOTE: The below 'remove' section applies to this remover!
# -- NOTE: Putting the interval to low will cause issues!
# -- NOTE: To disable "warnings", set it to "warnings: []"
# -- NOTE: bukkit.broadcast.user permission will allow users to see broadcasts (If not enabled by default)
#
# !==[ All string values MUST be inside '']==!
#
# -- 'remove-entities' lists what entities should be REMOVED on removal
# -- 'warnings' list warnings to be given out at specified times
# -- 'item-filter' What ground-items should NOT be removed during removal
# -- 'remove-entities' What entities SHOULD be removed during removal
auto-removal:
enabled: false
broadcast-message: '&6[ClearLag] &aRemoved +RemoveAmount Entities!'
broadcast-removal: true
autoremoval-interval: 460
world-filter:
# - this_world <-This world will be ignored during removal!
boat: false
falling-block: false
experience-orb: false
painting: false
projectile: false
item: false
itemframe: false
minecart: false
primed-tnt: false
item-filter:
# - Stone <-This item-id will be ignored during removal!
# - Grass
remove-entities:
- Arrow onGround
- Snowball
- Egg
- Fireball
- Boat !isMounted
- Minecart !isMounted
- MINECART_TNT
# - cow <- This mob-type will be REMOVED during removal!
# - MINECART_MOB_SPAWNER
# - Pig liveTime=100 <- This mob will be REMOVED if it's been alive for 100 ticks (5 seconds)
# - Minecart !isMounted <- This entity will be REMOVED if it's NOT mounted
# - Wolf !hasName <- This entity will be REMOVED if it doesn't have a name
warnings:
- 'time:400 msg:&4[ClearLag] &cWarning Ground items will be removed in &7+remaining &cseconds!'
- 'time:440 msg:&4[ClearLag] &cWarning Ground items will be removed in &7+remaining &cseconds!'
#What should be removed during /lagg clear, nearly the same thing as auto-removal
command-remove:
world-filter:
# - this_world <-This world will be ignored during removal!
broadcast-removal: false
boat: false
falling-block: false
experience-orb: false
painting: false
projectile: false
item: false
itemframe: false
minecart: false
primed-tnt: false
item-filter:
# - Stone <-This item-id will be ignored during removal!
# - Grass
remove-entities:
# - cow <- This mob-type will be REMOVED during removal!
# - MINECART_MOB_SPAWNER
# - Pig liveTime=100 <- This mob will be REMOVED if it's been alive for 100 ticks (5 seconds)
# - Minecart !isMounted <- This entity will be REMOVED if it's NOT mounted
# - Wolf !hasName <- This entity will be REMOVED if it doesn't have a name
#Very very old, but still works. Just specifies a global entity limit. I'd recommend 'custom-trigger-removal' instead
# -- 'max' max entities allowed before the entity removal is activated
limit:
enabled: false
max: 1000
check-interval: 60
broadcast-message: '&6[ClearLag] &aLimit reached, removed +RemoveAmount Entities!'
world-filter:
# - this_world <-This world will be ignored during removal!
broadcast-removal: false
boat: false
falling-block: false
experience-orb: false
painting: false
projectile: false
item: false
itemframe: false
minecart: false
primed-tnt: false
item-filter:
# - Stone
# - Grass <-This item-id will be ignored during removal!
# Create your own custom removal stuff!
# -- warnings works like this; time = the time warning should be given, msg = warning message at that time
# -- NOTE: The below 'remove' section applies to this remover!
# \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/
# > READ FOR HELP -> https://dev.bukkit.org/projects/clearlagg/pages/config-setup <- READ FOR HELP <
# /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\
custom-trigger-removal:
enabled: false
triggers:
trigger1:
trigger-type: tps-trigger
run-interval: 5
tps-trigger: 14.0
tps-recover: 19.0
jobs:
command-executor:
commands:
- 'lagg killmobs'
- 'lagg clear'
- 'lagg halt'
recover-commands:
- 'lagg halt'
entity-clearer:
execute-job-time: 120
warnings:
- 'time:60 msg:&4[ClearLag] &cEntities/drops will be purged in &7+remaining &cseconds!'
- 'time:100 msg:&4[ClearLag] &cEntities/drops will be purged in &720 &cseconds!'
- 'time:110 msg:&4[ClearLag] &cEntities/drops will be purged in &710 &cseconds!'
world-filter:
# - world <-This world will be ignored during removal
removeEntities:
- item
- zombie !hasName
- skeleton !hasName
- pig !hasName
- cow !hasName
trigger2:
trigger-type: entity-limit-trigger
run-interval: 25
limit: 200
world-filter:
# - world <-This world will be ignored during checking
entity-limits:
- zombie
- skeleton
- enderman
jobs:
entity-clearer:
world-filter:
# - world <-This world will be ignored during removal
remove-entities:
- zombie
- skeleton
- enderman