Skip to content

A performance optimization plugin for Minecraft Bedrock Server

License

Notifications You must be signed in to change notification settings

LiteLDev/LeviOptimize

Repository files navigation

LeviOptimize

English 中文

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.

Table of Contents

Security

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.

Installation

Using Lip

lip install github.com/LiteLDev/LeviOptimize

Manual Installation

  1. Download the latest release from the Releases page.
  2. Unpack the LeviOptimize-windows-x64.zip file.
  3. Copy the LeviOptimize folder to the mods folder of your BDS installation directory.

Usage

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.

Commands

  • 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.

Features

  • 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 the Level::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 the maxPushTimes is enabled.

Contributing

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.

License

GPL-3.0-or-later © LiteLDev