___We ask that all timings/profiles are a link, not a screenshot. Screenshots inhibit our ability to figure out the real cause of the issue.___
https://timings.aikar.co/?id=e1abbb76b9444a4cbc98231e755991aa
___If applicable___
Before this patch my server running 18-19 TPS with 50 players. After this patch my server running 13-14 TPS with 50 players.
___All plugins running on the server___
Plugins (103): AdminVedelem, antiRedstoneClock, ArmorStandEditor, AsyncWorldEdit, BetterGUI, ChangeSkin, ChatControl, ChestShop, ChestShopNotifier, ChestSort, Citizens, CitizensCMD, CombatLogX, CommandHook, CompatNoCheatPlus, ConditionalCommands, CoreProtect, CraftBook, CratesPlus, CrazyAuctions, CrazyAuctionsLog, CreativeNbtControl, CS-CoreLib, DisablePistonFarming, Duels, DyedBackpacks, EnderContainers, EntityDetection, EntityTrackerFixer, Essentials, EssentialsChat, EssentialsSpawn, EventekGUI, EventRendszer, ExtraGear, ExtraToolsPlugin, GPAccruals, GriefPrevention, GriefPreventionFlags, HeadDatabase, HideAndSeek, HolographicDisplays, HonapStaffja, HotbarPets, HungerGames, Kemkedes, Kezdes, LibsDisguises, LockettePro, Lottery, LuckPerms, mcMMO, MineMarket-Universal, MobArena, MobFarmManager, Multiverse-Core, Multiverse-NetherPortals, MyCommand, MyPet, NametagEdit, NoCheatPlus, NoSpawnerChange, OpenInv, Paintball, PickupSpawners, PlaceholderAPI, PlayerWarp, PlayerWarpTab, PlotSquared, PlugMan, PocketGames, ProtocolLib, RedstoneClockDetector, RemoveUnbreaking, RestrictedCreative, Shopkeepers, SignEdit, sleep-most, Slimefun, SlimefunLuckyBlocks, SlimefunOreChunks, SlimefunPomaFix, SpleefPlusPlus, StaffChat, StaffTime, TimeIsMoney, TitleManager, TokenManager, TokenShopEditor, TokenStaff, TreasureChest, Vault, VillagerOptimiser, Votifier, VotingPlugin, WDLCompanion, WDLCompanionGriefPreventionSupport, Wild, WorldBorder, WorldEdit, WorldGuard, WorldGuardExtraFlags, WorldGuardPomaFlags
___Gist/pastebin/hastebin links___
bukkit.yml: https://pastebin.com/Xqr2EQiG
spigot.yml: https://pastebin.com/7c2EvEBB
paper.yml: https://pastebin.com/ffvX89tt
server.properties: https://pastebin.com/pNjUp0Hu
___The more information we receive, the quicker and more effective we can be at finding the solution to the
issue.___
___This can be found by running /version on your server. latest is not a proper version number; we require the output of /version so we can properly track down the issue.___
I have noticed a considerable kick in performance too.
I can confirm this, previously had nearly constant 20 tps now its often down to 15 with the same amount of players/entities
It's mainly villagers. I'm going to be adding a new config for them to control the new immunities, and maybe adjusting their default configs.
Note that back around build 155 we made some aggressive changes to EAR that is what gave us the good performance boost, but this came at a cost of entity behavior. I'm trying to find a good balance here to keep entities somewhat normal but also give a boost.
The Inactive wake up you can already turn off by setting all the max-per-tick to 0, or just overall lowering the numbers for max and -for, (and increasing -every) Just need a control for villager immunities.
the -every config you want to INCREASE to improve performance. -every 200 says every 10 seconds. so make that -every 600 to make it every 30 seconds to reduce inactive wake up by 66% or more.
TLDR in simple language: Previous EAR froze entities very aggressively, absolutely breaking Vanilla behaviour. EAR 2.0 is a little better and gives entities (villagers) a chance to tick, of course this costs some performance to be a bit more like vanilla again. You can tune the other settings for now until aikar makes it more configurable.
Where are those max-per-tick, -every and -for config sections? Seems like that patch does not add them to paper config.
UPD: already found this in the spigot config.
3 new configs added.
Change these 2
villagers-work-immunity-every
villagers-work-immunity-for
To adjust when a villager should engage immunity due to needing to do work and for how long.
Set to 0 to disable waking up for work at all (dumb villagers)
This lets you turn off panic immunity which will probably break farms and cause villagers to be murdered during raids.
villagers-active-for-panic
Most helpful comment
3 new configs added.
Change these 2
villagers-work-immunity-every
villagers-work-immunity-for
To adjust when a villager should engage immunity due to needing to do work and for how long.
Set to 0 to disable waking up for work at all (dumb villagers)
This lets you turn off panic immunity which will probably break farms and cause villagers to be murdered during raids.
villagers-active-for-panic