Skip to content
Înapoi la Blog
DivineMC server software interface showing chunk ticking configuration and performance metrics

DivineMC: Building Parallel-Threaded Minecraft Servers That Scale

ice
ice
@ice
Updated
16 vizualizări
TL;DR:DivineMC is a Purpur fork that adds parallel chunk ticking and async operations to help Minecraft servers handle more players. Learn how it works, how to install it, and whether it's right for your setup.
🐙 Open-source Minecraft project

BX-Team/DivineMC

DivineMC is a multi-functional fork of Purpur, which focuses on the flexibility of your server and its optimization.

⭐ 240 stars💻 Java📜 GPL-3.0
View on GitHub ↗

Alright, so you're running a Minecraft server and you've hit that wall. Vanilla server jar can't use your extra CPU cores, chunk ticking happens on a single thread, and TPS drops the moment player count climbs. You've tried Paper. You've tuned configs. Now what?

DivineMC is a fork of Purpur that takes Purpur's legendary flexibility and bolts on parallel chunk ticking, async operations, and a bunch of thoughtful optimizations. It's got 240 GitHub stars, active development, and it approaches scaling differently than the big names like Folia.

What DivineMC Does

This isn't a complete threading rewrite. DivineMC keeps Purpur's architecture - you've got granular control over mob spawning rates, entity tracking, and miscellaneous behavior tweaks. But it adds regionalized chunk ticking, which means chunks process in parallel using your available CPU cores instead of sequentially on a single thread.

The project also includes async pathfinding, entity tracking, mob spawning, and chunk sending. All the operations that usually block the main tick thread happen off-thread. That means when 50 zombies pathfind toward a player at once, it doesn't tank your TPS.

You also get enhanced security (1024-bit seeds instead of 64-bit), support for client mods like Syncmatica and Xaero's Map without server-side mod infrastructure, and somewhere around 10 bug fixes that address various Minecraft quirks.


Why You'd Want This

Picture this: you're running a 20-30 player survival server. Growth is happening. TPS starts tanking during peak hours. You check profiling and half your tick time is chunk loading and pathfinding calculations. You've already done the standard Paper config optimizations.

At that point, parallel chunk ticking shifts from nice-to-have to actually useful. DivineMC lets chunks tick simultaneously, kind of like Folia does, but without requiring a total migration or heavy plugin compatibility testing.

It's also solid if you've got multiple worlds, a dense plugin ecosystem, or player builders uploading massive schematics. The async operations and improved region file formats mean better stability when pushing the server hard.

And this matters: DivineMC plugins are 100% compatible with Bukkit, Spigot, and Paper. You're not locked in. If you want to switch tomorrow, your entire plugin ecosystem moves with you.


How to Get It Running

First, grab a build from the BX-Team downloads page or MCJars. Pick the jar that matches your Minecraft version.

Basic startup:

bash
java -Xmx4G -Xms2G -jar DivineMC-[version].jar nogui

Adjust the `-Xmx` (max RAM) and `-Xms` (initial RAM) numbers based on your hardware. Four gigs is reasonable for small-to-medium servers. First launch generates your world and config files.

The server will ask you to accept the EULA. Edit `eula.txt` and change `false` to `true`, then restart.

Here's the key part: DivineMC is all about configuration. The defaults are solid, but you'll want to tune `paper.yml` and DivineMC-specific configs for your setup. This documentation site walks you through what's actually configurable.

If you're setting up for specific players, the Minecraft whitelist creator tool saves time. Paste your player names and it generates the whitelist format instantly.


Features That Matter

Parallel Chunk Ticking processes chunks simultaneously instead of one after another. More blocks updating at once without the main tick thread freezing. Not magic, but noticeable when you're under load.

Async Operations move pathfinding, entity tracking, mob spawning, and chunk sending off the main thread. This prevents the classic lag spike when a horde of mobs pathfinds toward your player.

Linear Region File Format is for world storage - old V1/V2 format or the new Buffered approach. Niche optimization for massive world migrations or schematic-heavy builds. Most servers won't notice, but it's there if you need it.

Sentry Integration sends error reports to a Sentry instance if you set it up. Useful for public servers where structured error tracking beats digging through logs.

Mod Protocol Support means Syncmatica, Xaero's Map, Jade, and Apple Skin clients work fine without getting kicked. Helpful if your community uses client-side mods.


What'll Trip You Up

Parallel chunk ticking isn't a magic button. You enable it, but you still monitor performance and tune it. There's no setting that just makes everything faster.

If you want to build from source (the README includes gradle commands), you need a development environment set up. For just running a server, use the pre-built jars. Source builds are for contributors patching the codebase.

Regional ticking means chunks in different regions process in parallel, but chunks within a region still tick sequentially. Dense redstone contraptions in a single chunk will still cap that chunk's TPS. The optimization helps when build activity spreads across the world, not concentrated in one spot.

One quick thing: plugin compatibility is with Bukkit, Spigot, and Paper plugins. Not with Forge or Fabric server-side mods. You can run client-side mods all day, but vanilla-derived servers don't support server-side modding environments. (That's just how vanilla-derived server software works.)


How It Stacks Up

Folia (also Paper-based) throws full multithreading at the problem - each region gets its own thread and game loop. More aggressive parallelization but requires heavier plugin testing. DivineMC is less radical and keeps Purpur's flexibility intact.

Pufferfish pioneered some of the async features DivineMC included, but maintenance has slowed. DivineMC feels like the natural evolution of that approach.

Pure Paper is simpler and way more widely used. Small server with a few plugins? Paper probably gives you 90% of the benefit with zero config overhead.

For server admins comfortable with tuning configs and wanting performance gains without ecosystem disruption, DivineMC slots in nicely between simplicity and raw ambition.


Getting Help When You Need It

The project lives on GitHub. There's a Discord server (discord.gg/qNyybSSPm5) where the community answers questions quickly. Docs are at bxteam.org/docs/divinemc.

If you want to contribute, there's a contribution guide. Java, standard server software patterns, Gradle build system. The maintainers are responsive and the community is small enough that you'll get help fast.

Frequently Asked Questions

Is DivineMC free to use?
Yes. DivineMC is open-source under GPL-3.0 and completely free. You can download builds from the BX-Team website or MCJars at no cost. Source code is on GitHub if you want to build it yourself or contribute.
Can I use my existing Paper and Spigot plugins with DivineMC?
Yes, 100%. DivineMC maintains full compatibility with Bukkit, Spigot, and Paper plugins. Your entire plugin ecosystem transfers without modification. You can switch back to Paper anytime without losing plugin compatibility.
What versions of Minecraft does DivineMC support?
DivineMC follows recent Minecraft releases. Check the BX-Team downloads page for the latest available version builds. Typically you'll find support for the current stable release and recent snapshots.
How does DivineMC compare to Folia for large servers?
Folia uses full multithreading with per-region threads, making it more aggressive but requiring heavier plugin testing. DivineMC uses parallel chunk ticking while keeping Purpur's architecture, offering a middle ground with easier plugin compatibility. Choose based on your tolerance for configuration and server size.
Can I run Forge or Fabric mods on DivineMC?
No, DivineMC doesn't support server-side Forge or Fabric mods. It's a vanilla-derived server, so you're limited to plugins. Client-side mods work fine for your players (Xaero's Map, Syncmatica, etc.), but the server itself is plugin-only.