← All posts

Why is Chunklink so fast?

Lukas
Lukas · Earthdice
Founder · June 14, 2026 · 6 min read

You paste a subdomain into your Minecraft client, hit Join Server, and about five seconds later you're standing in your world, even though a minute ago that server wasn't running at all. No "server is starting, try again later." No watching a loading bar on a control panel in another tab. You just join.

That five seconds is the whole product, and there's no single magic trick behind it. There's one idea, applied everywhere: do the slow work ahead of time, so that when you click Join, there's almost nothing left to do. Generating a world, warming up a server, pulling files onto a machine: all slow, so none of it happens while you're waiting. It already happened. You're just handed the result.

Here's what that looks like, layer by layer.

A server tuned for speed

We don't run the plain Minecraft server jar. We run PaperMC, the community's high-performance server, and build our own image on top of it, with the Java runtime tuned hard:

  • A warm engine from the first second. Java gets faster as it runs: it recompiles the hot parts of your code into optimized machine code. But that warm-up takes time, and a freshly booted server is cold. A feature in the newest Java lets us do the warm-up once, when we build the image, and ship the result inside it. Your server boots already warm.
  • Garbage-collection settings built for Minecraft. The well-known "Aikar's flags" keep the server from ever freezing for more than a couple milliseconds, so you don't feel a stutter mid-mine.
  • Everything pre-processed at build time. Anything Paper would normally do the first time it starts (plugins, startup steps, file layout), we do once when we build the image and bake in the result. None of it happens on a startup you're waiting on.

A proxy out front

Your Minecraft client never connects to your game server directly. It connects to Velocity, a proxy at the front door of our whole system, which decides where you go. One design choice, three wins:

  • Login happens away from the game server. Recognizing your subdomain, checking your access, routing you: all handled in memory, in microseconds. Your game server doesn't even have to be awake for it.
  • Joining a sleeping server feels instant. When you connect to a paused server, the proxy holds you on the loading screen, wakes the server, and slides you in the moment it reports ready. From your side it's one smooth connect.
  • It's a shield. Players only ever touch the proxy, so your game server has no public address for anyone to attack. A flood of malicious traffic hits the hardened front door instead of the machine your world runs on, and one targeted server can never drag down anyone else's.

Warm machines, already waiting

Behind the proxy is the part that does the heavy lifting. Chunklink runs on Kubernetes, and the Minecraft servers are managed by Agones, a system built for running game servers at scale, born out of work at Google and Ubisoft.

The piece that makes wake-ups instant is a warm pool: a small fleet of fully booted, idle servers, always sitting ready. When you join a sleeping server, we don't build a machine for you. We grab one that's already running and hand it your world. As servers get claimed, the pool quietly refills in the background.

The software images every server needs are pre-loaded onto every machine, so nothing waits on a download. And the one unavoidable job, loading your specific world, usually skips the network too: we keep a copy on the machine's local SSD whenever we can, so re-joining a server you played yesterday takes almost no time.

Worlds made in advance

The part I'm proudest of, and the clearest example of the whole idea.

Generating a Minecraft world is slow. Carving out terrain, caves, structures and biomes can take minutes, easily the slowest step in the entire pipeline. So we never do it while you're waiting.

Instead, we pre-generate worlds before anyone asks for one. In the background, around the clock, the system builds fresh worlds and keeps a stash ready. When you create a server, you're not kicking off a generation job. You're handed a world that's already finished.

And if you want something specific that isn't in the stash, you still don't wait: the server lets you in immediately and fills in the rest of the world around you in the background.

The principle in one sentence: anything slow gets done up front, so it never lands on the moment that matters — the click on Join.

We don't cut corners on hardware

Your server pauses when nobody's online. A few minutes after everyone logs off, we save the world and hand the machine back. You're not paying for a server idling overnight while you sleep.

That pause is what lets us be generous where it counts. Because we're not burning machines on empty servers around the clock, each active server gets fast processor cores and plenty of memory, instead of the thin, oversold slices a lot of cheap hosts hand out. A Minecraft server's smoothness lives and dies on raw core speed and not running out of memory, so that's exactly where we spend. We even double a server's processing power for its first moments of life, when it's loading up and needs it most.

The cheap way to run this would be to cram a pile of slow servers onto one box and hope they're never all busy at once. We went the other way: pause aggressively, and spend the savings on making the time you're actually playing feel great.


That's the whole thing. Do the slow work in advance, keep everything warm, and the moment you click Join there's almost nothing left to do but let you in. Could it ever take longer than five seconds? Once in a blue moon, and we treat those moments as bugs to hunt down, not as normal. The promise is the five seconds.

None of this is a premium add-on or a setting you have to find. The warmed-up servers, the pre-generated worlds, the proxy out front, the fast cores and generous memory: on by default, for every server, at the one fair price. There's no speed tier. Fast is the product.

If you've never tried it, spin up a server and watch how little time passes between clicking Join and standing in your world. And if you already play with us: start a fresh world tonight and watch everything you just read work for you.

Want to go deeper, or have a corner of the stack you'd like me to pull apart in a future post? Come say hi in our Discord, the door's open.

Talk you soon!

Lukas

Founder

Ready to play?

Spin up a vanilla server in seconds and share the address with your friends. 8 hours free — no credit card required.

Play 8 hours free

Or get new posts by email