Game config files
What Tickhound checks in bukkit.yml, spigot.yml and the Paper config files, and the values it recommends.
How it works
Tickhound reads bukkit.yml, spigot.yml, config/paper-world-defaults.yml and config/paper-global.yml. With a linked Pterodactyl server this happens automatically (read-only). Otherwise paste or upload the files when you run diagnostics.
Only a short list of known settings is kept, never the full file. Per-world overrides are not read; the values under world-settings.default are used.
Mob spawn range
spigot.yml mob-spawn-range is the distance in chunks around a player where mobs can spawn. Use 6, and never more than your simulation distance. Lower values cut the spawn checks the server does each tick.
Entity activation range
Mobs outside the activation range only do a reduced version of their AI. Tickhound recommends animals 16, monsters 24, raiders 48, misc 8, water 8, villagers 16 and flying-monsters 16. These values keep gameplay normal and lower the number of fully active mobs a lot.
Item and XP merge radius
Items and XP orbs that land near each other are merged into one entity. Raise merge-radius.item to 4.0 and merge-radius.exp to 6.0 to keep farms from filling the world with separate entities.
Hoppers
Hoppers are expensive. Keep ticks-per.hopper-transfer and hopper-check at 8 or higher. In paper-world-defaults.yml, hopper.disable-move-event: true removes an event call per transferred item; only keep it on when a plugin needs the event.
Item despawn rate
How long dropped items stay, in ticks. 6000 is five minutes. Lower it if your world fills with items.
settings.bungeecord
With settings.bungeecord: true the server trusts the player identity sent by the connection. That is required behind BungeeCord/Waterfall and dangerous otherwise.
View distance override
A number in spigot.yml for view-distance or simulation-distance replaces server.properties. Keep it on default there, or use the same value in both places.
Mob caps (spawn-limits)
bukkit.yml spawn-limits sets the maximum number of mobs per type near a player. Good starting values: monsters 50, animals 8, water-animals 4, water-ambient 4, ambient 1.
ticks-per
bukkit.yml ticks-per.monster-spawns controls how often mob spawning is attempted. 1 means every tick. 4 is barely noticeable and cheaper.
Chunk autosave
In paper-world-defaults.yml, chunks.max-auto-save-chunks-per-tick limits how many chunks are saved per tick. 8 spreads the work and prevents save lag spikes.
Optimise explosions
environment.optimize-explosions: true caches part of the explosion math. The results are the same, with less cost for TNT.
Per-player mob spawns
entities.spawning.per-player-mob-spawns: true splits the mob cap between players, so one crowded spot cannot take all spawns.
Redstone implementation
misc.redstone-implementation: ALTERNATE_CURRENT is a much faster redstone engine. The signal order changes slightly, so check your redstone machines once.
Entity collisions
Set collisions.max-entity-collisions to 2 to make crowded pens cheap. Pushing still works.
Armor stands
Set entities.armor-stands.tick: false when you use many decorative armor stands (holograms, shops). They then cost no tick time.
Anti-xray
Paper can hide ores from x-ray clients. Enable anticheat.anti-xray.enabled with engine-mode 1 for a cheap but effective setup.
Velocity forwarding
In paper-global.yml set proxies.velocity.enabled: true, online-mode: true and a long secret that is identical to Velocity's forwarding.secret.
Unsupported settings
The unsupported-settings section can bring back duplication and bedrock-breaking exploits. Keep all of these false unless you run a technical server on purpose.
