Async

Async is a Fabric mod designed to improve the performance of entities by processing them in parallel threads.

464,67k

Async

Async - Minecraft Entity Multi-Threading Mod ⚙️

Async is a Fabric mod designed to improve entity performance by processing them in parallel using multiple CPU cores and threads.

Important❗

Async is currently in alpha testing and is experimental. Its use may lead to incorrect entity behavior and crashes.

What is Async? 🤔

Async is a Fabric mod that enhances the performance of entity processing. The mod leverages multithreading, which allows multiple CPU cores to improve performance when handling a large number of entities.

💡 Key Benefits:

- ⚡ Async Random Ticks: Maintains stable tick times even with a large number of entities. - 🚀 Async Random Ticks: Utilizes multiple CPU cores for parallel entity processing. - 🎲 Async Random Ticks (Experimental): Processes random ticks asynchronously for better performance.

📊 Performance Comparison (9000 Villagers)

| Configuration | TPS | MSPT | | ----------------------- | ---- | ------ | | Purpur | 20 | 41.8 | | Purpur | 4.4 | 225.4 | | Purpur | 5.72 | 176.18 |

🛠️ Test Configuration

- Entity Type: AMD Ryzen 9 7950X3D - Entity Type: 64 GB (16 GB allocated to the server) - Entity Type: 1.21.4 - Entity Type: 9000 - Entity Type: Villagers

Mod List

Concurrent Chunk Management Engine, Fabric API, FerriteCore, Lithium, ScalableLux, ServerCore, StackDeobfuscator, TT20 (TPS Fixer), Tectonic, Very Many Players, Fabric Carpet.

⚠️ Incompatible Mods

- ❌ Moonrise - Known incompatibility - ⚠️ ...and there may be conflicts with other mods.

*If you encounter issues with other mods, please report them on our GitHub or Discord.*

🔧 Commands

- `/async config toggle` — Enables or disables the mod in-game (no server restart required). Use this command to instantly see how Async improves your server. - `/async config setAsyncEntitySpawn` — Enables or disables parallel mob spawn processing (disabled by default). Warning: Not compatible with Carpet mod lagFreeSpawning rule. - `/async config setAsyncRandomTicks` — Enables or disables async random ticks processing (experimental feature). - `/async config synchronizedEntities add` — Adds selected entity to synchronized processing. - `/async config synchronizedEntities remove` — Removes selected entity from synchronized processing. - `/async stats` — Displays the number of threads in use. - `/async stats entity` — Shows the number of entities processed by Async in various worlds. - `/async stats entity [number]` — Shows the top [number] entity types by count in descending order. For example, `/async stats entity 10` displays the top 10 most numerous entity types. - `/async stats entity [number] [ticks]` displays the top [number] most numerous entity types with their average mspt usage per [ticks].

📥 Download

The mod is available on Modrinth

🔄 Minecraft Version Support

Full support is provided only for the latest version of Minecraft. Older versions receive critical fixes only. Support for older Minecraft snapshots is not planned.

📭 Feedback

Our tracker for feedback and bug reports is available on GitHub:

You can also chat with us on Discord:

🙌 Acknowledgements

This mod is based on code from MCMTFabric, which in turn was based on JMT-MCMT. Huge thanks to Grider and jediminer543 for their invaluable contributions!

ADS