ServerCore
A mod that aims to optimize the minecraft server.\ Works on both dedicated servers and singleplayer!
This includes:
-
Several patches & optimizations to improve performance and reduce lagspikes, which shouldn't make any noticeable changes during gameplay.
-
Many configurable features that can heavily reduce lag, but have a slight impact on gameplay depending on the configuration.
Be advised
By default, ServerCore should not alter vanilla behavior. Features that do are disabled by default. It is advised to configure this mod to your own requirements for the best balance between speed and behavior.
Features
Optimizations
A lot of the optimizations in this mod are focused on getting rid of the majority of random lagspikes on servers.\ Other than that, it also includes plenty of optimizations for things like chunk ticking, mob spawning, item frames and player logins.
Entity Activation Range
A very configurable feature that allows you to drastically cut down on the amount of entities that have to be processed on the server.\ This is a port based off of Spigot's and PaperMC's implementation, but more configurable with additional (optional) features.
Dynamic performance checks
Allows the server to automatically adjust the current settings depending on the tick time and config.\ These include: Chunk-tick distance, View distance, Simulation distance & Mobcaps.
Villager lobotomization
Allows the server to cut down on villager lag from large trading halls, by making villagers stuck inside 1x1 spaces tick less often.
More configurable mobspawning
Allows you to modify the spawnrate and vanilla mobcaps of each individual spawngroup. It also provides optional functionality to force mobcaps to apply to zombie reinforcements, spawners and nether portal randomticks.
Breeding Caps
A feature that allows you to set a cap on the amount of mobs of the same type that can be bred within a certain radius.\ This can be useful to prevent players from breeding thousands of animals like chickens or cows in a small area.
Chunk ticking distance
A setting that allows you to reduce the distance at which chunks can tick (mob spawns & random ticks). \ \ - And more!
Commands, Placeholders and Configuration
Commands
-
/servercore reload - Reloads the configuration file.
-
/servercore settings - Allows for modifying dynamic settings ingame.
-
/servercore status - Gives information about the current dynamic settings.
-
/mobcaps - Displays current per-player mobcaps for each spawn group.
-
/statistics entities | block-entities - Displays performance related statistics.
Placeholders
-
%servercore:view_distance%- The current view distance. -
%servercore:simulation_distance%- The current simulation distance. -
%servercore:chunk_tick_distance%- The current chunk tick distance. -
%servercore:mobcap_percentage%- The global mobcap percentage that is currently being used. -
%servercore:chunk_count%- The amount of chunks on the server (doesn't have to be fully loaded). -
%servercore:chunk_count loaded%- The amount of fully loaded chunks on the server (expensive). -
%servercore:entity_count%- The amount of loaded entities on the server. -
%servercore:entity_count nearby%- The amount of loaded entities nearby. -
%servercore:block_entity_count%- The amount of ticking block entities on the server. -
%servercore:block_entity_count nearby%- The amount of ticking block entities nearby.
Configuration
By default, ServerCore will disable most of its changes that can affect vanilla behavior.\ This way you can safely install the mod without having to worry about breaking things.
However, if you want to squeeze out the most performance, these default settings might not be enough.\
To change these settings you can edit config.yml and optimizations.yml in the config/servercore folder.
You can find some example configurations here.
License
ServerCore contains several ports based on patches from repositories such as PaperMC, Purpur and Airplane.\ If a file uses the GPL-3.0 license it will be stated at the top. All other files are licensed under MIT.
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 |
- Fixed mobcaps not updating on /sc reload.
- Fixed mobcaps not updating on /sc reload.
- Added a breeding cap config option for happy ghasts.
### Fixed
- Fixed mobcaps not updating on /sc reload.
- Added a breeding cap config option for happy ghasts.
### Fixed
- Fixed mobcaps not updating on /sc reload.
- Added a breeding cap config option for happy ghasts.
### Fixed
- Fixed mobcaps not updating on /sc reload.
- Added a breeding cap config option for happy ghasts.
### Fixed
- Fixed mobcaps not updating on /sc reload.
- Reduced config restrictions on xp/item merge radius.
- Removed prevent sync load patch for raycasting as it was too intrusive and not important (better mod compatibility).
- Added despawn-distance config setting for mobcaps.
- Reduced config restrictions on xp/item merge radius.
- Removed prevent sync load patch for raycasting as it was too intrusive and not important (better mod compatibility).
- Added despawn-distance config setting for mobcaps.
- Reduced config restrictions on xp/item merge radius.
- Removed prevent sync load patch for raycasting as it was too intrusive and not important (better mod compatibility).
- Added despawn-distance config setting for mobcaps.
- Reduced config restrictions on xp/item merge radius.
- Removed prevent sync load patch for raycasting as it was too intrusive and not important (better mod compatibility).
- Added despawn-distance config setting for mobcaps.
- Fixed incompatibility with sable (ray casting in sublevels)
- Fixed default dynamic setting values not always initializing properly
- Fixed incompatibility with sable (ray casting in sublevels)
- Fixed default dynamic setting values not always initializing properly
- Fixed incompatibility with sable (ray casting in sublevels)
- Fixed default dynamic setting values not always initializing properly
- Fixed incompatibility with sable (ray casting in sublevels)
- Fixed default dynamic setting values not always initializing properly
- Fixed some small inconsistencies with activation range inactive entity ticks.
- Fixed a bug with
reduce-sync-loadswhere really high-velocity entities weren't detecting collisions correctly, such as enderpearls from pearl cannons.
- Fixed a bug with
reduce-sync-loadswhere really high-velocity entities weren't detecting collisions correctly, such as enderpearls from pearl cannons.
- Fixed a bug with
reduce-sync-loadswhere really high-velocity entities weren't detecting collisions correctly, such as enderpearls from pearl cannons.
- Fixed a bug with
reduce-sync-loadswhere really high-velocity entities weren't detecting collisions correctly, such as enderpearls from pearl cannons.
- Added
chunk-tick-distance-affects-random-ticksoption to control whether chunk-tick-distance affects random ticks. - chunk-tick-distance will still affect mobspawning regardless of this setting.
- enabling this setting will bring back old behavior, stopping random ticks in chunks too far away from players - even chunks simulated by enderpearl or portal loading.
### Fixed
- Fixed chunk-tick-distance stopping pearl/portal loaded chunks from random ticking (breaking vanilla behavior by default).
- Added
chunk-tick-distance-affects-random-ticksoption to control whether chunk-tick-distance affects random ticks. - chunk-tick-distance will still affect mobspawning regardless of this setting.
- enabling this setting will bring back old behavior, stopping random ticks in chunks too far away from players - even chunks simulated by enderpearl or portal loading.
### Fixed
- Fixed chunk-tick-distance stopping pearl/portal loaded chunks from random ticking (breaking vanilla behavior by default).
- Patch to prevent sync loads caused by block entity updates (mostly vaults and trial spawners).
### Fixed
- Ticking chunk cache allowing border chunks to tick (rarely causing a sync load)
- Patch to prevent sync loads caused by block entity updates (mostly vaults and trial spawners).
### Fixed
- Ticking chunk cache allowing border chunks to tick (rarely causing a sync load)
- Mod incompatibility with the latest version of Moonrise.
- Cobblemon mobs despawning much slower when activation range is enabled.
- Mod incompatibility with the latest version of Moonrise.
- Cobblemon mobs despawning much slower when activation range is enabled.
- Mod incompatibility with the latest version of Moonrise.
- Cobblemon mobs despawning much slower when activation range is enabled.
- Mod incompatibility with the latest version of Moonrise.
- Cobblemon mobs despawning much slower when activation range is enabled.
- Added default configurable values for dynamic settings.
### Fixed
- Fixed not being able to only specify a single dynamic setting in the config.
### Changed
- Chunks in vanilla can now tick if they're loaded by a ticket that allows simulation, not just when players are nearby.
- Chunk-tick-distance now checks the distance to the nearest simulating ticket instead of the nearest player.
- Since spawning and block-ticking chunks are now separate, ticking chunk cache now caches both of them.
- Added default configurable values for dynamic settings.
### Fixed
- Fixed not being able to only specify a single dynamic setting in the config.
### Changed
- Chunks in vanilla can now tick if they're loaded by a ticket that allows simulation, not just when players are nearby.
- Chunk-tick-distance now checks the distance to the nearest simulating ticket instead of the nearest player.
- Since spawning and block-ticking chunks are now separate, ticking chunk cache now caches both of them.
- Added the
typeof:projectileentity matcher for activation range configuration
### Fixed
- Fixed incompatibility between Moonrise and the
enforce-mobcapsettings