/DimensionalThreading

An attempt to optimize the fabric server, by assigning each dimension their own thread.

Primary LanguageJavaMIT LicenseMIT

DimensionalThreading

This project is a free and open-source Minecraft mod which optimizes the processing of multiple Dimensions, by assigning them independent threads. It works on both the client and server, and does not require the mod to be installed on both sides.

Downloads

You can find downloads for DimThread on the GitHub releases page. The Fabric API can be found on Curseforge.

Installing

Install the Fabric Loader. Select Fabric for either the Minecraft launcher (client) or the dedicated server (server). Once you have installed Fabric, move theDimThread.jarand theFabric-API.jarinto the/modsfolder generated by Fabric.


Configuration

DimThread comes with 2 native Gamerules:
  • /gamerule dimthread_active <true/false> enables/disables the mod
  • /gamerule dimthread_thread_count <count>changes the amount of threads used

FAQ

Does the mod change Vanilla behaviour?

DimThread aims to conserve vanilla-parity in all points. At the moment there are no known deviations in behaviour from Mojangsserver.jar. If you notice any, feel free to open an issue.

Can my dimensions get de-synchronized?

As stated above this is NOT the case. DimThread will always synchronize the dimensions it threads with each other, setting the overall MSPT to the slowest individual dimension.

Are dimension counts above 3 supported?

Yes, but you will have to adjust the GameRule accordingly.

Will the server run faster if assign more than 3 threads to DimThread?

No, the mod can only assign one dimension to one thread.

Can i use DimThread if i have less threads on my CPU than dimensions?

The mod will not crash if you do not have enough threads available, but it will make the game slower. You should always have atleastDimensionCount + 1threads available.

How is the compatibility with other mods?

Compatibility with JellySquids performance mods and Carpet will be ensured and issues concerning them are accepted. If you plan on using a different mod compatibility cannot be guaranteed, since not every author writes their mod threadsafe.

What about older versions of Minecraft?

DimThread is written with 1.16 compatibility in mind, older versions are currently not considered. If you play on 1.12 you can use a similar project maintained by 2No2Name.


License

DimThread is licensed under MIT, a free and open-source license. For more information, please read the license file.