TPS (ticks per second) is the server's heartbeat. A healthy server holds 20.0. Below that, the whole game slows down: mobs, redstone, farms and player actions all lag.
Average TPS can look fine while short spikes freeze the server. Dips are usually caused by chunk generation, large farms, backups or a single heavy plugin task.
MSPT (milliseconds per tick) is how long the server needs to compute one tick. A tick has a 50 ms budget. If MSPT exceeds 50 ms, TPS drops below 20. MSPT shows how much headroom you really have, before TPS starts to fall.
Minecraft's main thread is single-threaded, so a CPU that is saturated (or a single slow core) directly lowers TPS. Shared hosts also throttle CPU when you exceed your allocation.
When the machine (or container) runs out of RAM, the operating system starts swapping or the container is killed. Both look like random crashes or severe lag.
The Java heap holds the world, entities and plugin data. When it stays near its maximum, the garbage collector works constantly and the server can crash with an OutOfMemoryError.
Garbage collection (GC) frees unused memory. Long or frequent pauses freeze the main thread for a moment, causing lag spikes that are not visible in average TPS.
The watchdog stops the server when one tick takes longer than the configured limit (60 s by default). It means the main thread was stuck, often on a plugin task, a lock-up or disk I/O.
The capacity test fills a temporary test world with simulated players and measures how the tick time grows, using your real plugins and memory. The result is how many players the server should carry before it starts to lag.
Every loaded entity (mobs, items, armor stands, minecarts) costs tick time. Worlds with thousands of entities are the most common reason for high MSPT.
The number of loaded chunks should roughly match what the online players can see. Far more usually means chunk loaders, force-loaded chunks, portals or plugins that keep areas alive.
The plugin leaves a marker while the server runs and removes it on a clean shutdown. If the marker is still there at the next start, the server was killed, crashed or lost power. Repeated unclean stops can corrupt chunks and player data.
OutOfMemoryError has several causes. Besides the heap there is Metaspace (loaded classes), direct buffers (network and chunk data) and native threads. Raising -Xmx does nothing for these.
The panel gives your server a hard memory limit. Java needs more than its heap: class metadata, threads and native buffers add roughly 10–15%. If the heap alone is close to the limit, the container is killed with no warning (an “out of memory” stop that looks like a crash).
Minecraft runs its game logic on one main thread. A CPU limit under 100% means that thread gets less than a full core and can never tick at full speed, however good the hardware is.
Some plugins need another plugin to run (for example Vault or ProtocolLib). If it is missing, the plugin refuses to load and its features silently disappear.
Some plugins do the same job (two permission managers, two world editors) or are known to break each other. Running both causes duplicate commands, broken permissions or crashes.
Plugins are built for specific Minecraft versions. A plugin that is too old may break after a server update; one that is too new will not load on an older server.
Repeated exceptions from one plugin can cause lag, broken features and log spam. Event errors ("Could not pass event …") mean a plugin crashed while handling a game event.
Plugins without an api-version run in a compatibility mode that costs performance and may break on newer versions. It usually means the plugin is outdated or unmaintained.
Every server tick has a budget of 50 ms. The plugin performance measurement looks at what the main server thread is doing and shows how much of each tick every plugin takes. A plugin that takes a large part of the budget leaves less room for everything else and for more players.
The port accepts connections, but a standard Minecraft status request got no valid answer. Something else may be listening, or the server is still starting.
Several A/AAAA records mean players are spread across several machines. Each address must be protected the same way, and a missed one becomes the weak point.
Public Minecraft servers are common DDoS targets. Protection providers (TCP proxies / scrubbing) usually appear as CNAME records in DNS. This check is a heuristic — protection can also exist at the network level where DNS shows nothing.
Ping is measured from the server to each online player. A high average means players feel lag even when TPS is perfect (distance to the server, a bad route or a saturated network).
The panel assigns the ports the server can listen on. If the port you gave Tickhound is not one of them, players and the network checks are looking at the wrong place.
Backend servers sit behind your proxy and trust it to authenticate players. If a backend port is reachable from the internet, anyone can connect directly and bypass the proxy — including its login checks and protections.
RCON gives full console access to anyone with the password. It is unencrypted and a common brute-force target. It should never be reachable from the public internet.
With online-mode=false the server does not verify players with Mojang. Anyone can join under any name — including operators' names — and take their permissions.
The proxy tells backends who the player is. Without secure forwarding, a backend cannot tell a real forwarded login from a forged one, and player identity or IP can be spoofed.
Tickhound cannot read your firewall. It infers posture from what an outside connection can reach: closed backend and RCON ports suggest a restrictive firewall; open ones suggest missing rules.
settings.bungeecord: true makes the server believe the player identity that a connection claims. Without a proxy in front, anyone can join as any player (including your operators) by sending a forged identity.
Behind Velocity, the backend must accept players only through modern forwarding with a secret. Without it (or with an empty secret) anyone who can reach the backend can log in as any player.
Reported live by the plugin: online-mode is off, so players are not checked with Mojang and anyone can join under any name, including an operator's name.
Databases, Docker and remote-desktop ports are attacked all day by automated scanners. When one of them answers from the internet, a weak password or a known bug is enough for someone to take over the machine, and with it your worlds.
connection-throttle is the number of milliseconds a client must wait between connections. With a throttle of 0 or less a single machine can flood the login queue.
PROXY protocol makes the server believe the address a connection announces. It is meant for HAProxy and TCPShield only. Open to the internet, anyone can fake their address and dodge IP bans.
Operators can run every command, including ones that destroy the world or open a path to the machine through plugins. Each extra operator is another account that can be hijacked.
Some permissions are granted to all players by their plugin, and some of them are powerful (all commands of a plugin, op rights, world editing). Everyone who joins can use them.
The plugin looks inside each plugin jar for code that starts operating-system programs or loads classes from a URL. Plenty of legitimate plugins do this (updaters, backup tools), but malware does too, and it is the way a rogue plugin takes over a machine.
View distance controls how many chunks around each player the server sends and keeps loaded. The cost grows with the square of the distance, so doubling it roughly quadruples the load.
Behind a proxy, packets are compressed between the proxy and the player. Compressing again between proxy and backend wastes CPU for no benefit on a local link.
The heap is the memory Java may use for the game. Setting -Xms (start) equal to -Xmx (max) avoids resizing pauses. Setting -Xmx close to the total RAM leaves nothing for the OS and native memory.
G1GC (with tuned flags) or generational ZGC give the shortest pauses for Minecraft servers. Serial and Parallel collectors pause the whole server for longer.
The entity activation range decides how close a player must be before a mob does its full AI. Mobs outside the range are slowed down. Large ranges mean many more active mobs.
Dropped items and XP orbs close to each other merge into one entity. A small merge radius leaves many separate entities lying around after farms or mob grinders.
Hoppers are one of the most expensive blocks. Making them move items faster than the default (8 ticks), or checking for items to pick up every single tick (the default is 1), multiplies that cost.
A number in spigot.yml view-distance or simulation-distance replaces the value from server.properties for every world. People often change one file and wonder why nothing happens.
Spawn limits cap how many mobs of each kind exist per player area. The vanilla-like defaults are high for busy servers; every extra mob costs tick time.
ticks-per.monster-spawns: 1 runs the monster spawn logic on every single tick. Raising it makes spawning 'every few ticks', which is almost unnoticeable but cuts the work.
Without per-player mob spawns, one busy area can use up the whole mob cap and leave other players with no spawns (and make lag worse where it is already crowded).
Armor stands are used for holograms and decorations and rarely need to tick. Servers with many of them (shops, leaderboards, custom items) lose tick time for nothing.
The log shows chunks or region files that cannot be read. Players see holes in the world or the server skips the area. The usual cause is a crash, a full disk or a bad copy.
A panel server starts inside a Docker image with a fixed Java version. A Minecraft version that needs a newer Java will not start, or the server falls back to an old runtime.
Each Minecraft release needs a minimum Java version. A server started with an older Java fails to start or crashes with "Unsupported class file major version".
Server software projects only maintain recent Minecraft releases. Older versions miss security fixes and performance improvements. (Reference data last reviewed 2026-06-01.)