A performance optimization mod for Minecraft Bedrock Dedicated Server (BDS), "LeviOptimize" is designed to enhance server performance by addressing issues related to low ticks per second (TPS). Operating within the LeviLamina framework, it modifies BDS code to achieve notable performance improvements.
LeviOptimize is an independent project not affiliated with Mojang or Microsoft, thus not officially supported by them. It is open-source and free to use. Users should note that LeviOptimize is not liable for any potential damage to servers or data. Please proceed with caution and use at your own risk.
lip install github.com/LiteLDev/LeviOptimize
- Download the latest release from the Releases page.
- Unpack the
LeviOptimize-windows-x64.zip
file. - Copy the
LeviOptimize
folder to themods
folder of your BDS installation directory.
Upon its first run, LeviOptimize will generate configuration files in mod/LeviOptimize/config/
. These files are customizable to tailor the mod's behavior to your needs.
timing
: Displays server performance statistics, focusing on TPS and detailed ECS performance metrics.
Note: If your application crashes immediately upon using the
timing
command, with the exception pointing to a null pointer, please check the version of your msvcp140.dll. Consider updating or repairing the Visual C++ Redistributable, or simply copy a working msvcp140.dll file from a functioning device to your BDS root directory.
-
optHopperItem
: Enhances TPS by optimizing item transfers between hoppers and containers. -
optMovingBlock
: Improves FPS and TPS by optimizing block entities' processing during piston movements. -
fixChunkLeak
: Addresses the issue of chunks remaining loaded after players leave. -
optSeenPercent
: Caches "SeenPercent" values to improve TPS, with a note of caution regarding potential hash collisions. -
optPacketSender
: Optimizes the packet sending process to improve server performance.Some mods rely on this feature to achieve multi-threaded sending packets, it is best to keep it enabled.
-
optPlayerLookup
: Optimizes theLevel::getPlayer
method to improve player lookup performance. -
optPushEntity
: Improves server performance by reducing TPS drops from entity cramming with two key options:-
disableVec0Push
: Stops entities from being squeezed when their collision vector is zero, enhancing performance without altering gameplay significantly. -
maxPushTimes
: Sets a limit on the number of times entities can be pushed per tick, with-1
indicating this limit is disabled by default. Adjust carefully to avoid negatively impacting gameplay. -
unlimitedPlayerPush
: No longer limit the pushes related to players, and it is only effect when themaxPushTimes
is enabled.
-
We welcome questions, issues, and PRs. Feel free to contribute by:
- Creating an issue to ask questions or report bugs.
- Submitting PRs with improvements or new features.
GPL-3.0-or-later © LiteLDev