Async
Async is a Fabric mod designed to improve the performance of entities by processing them in parallel threads.
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!