Releases: RelativityMC/C2ME-fabric
0.2.0+alpha.9
C2ME 0.2.0+alpha.9 for Minecraft 1.19.2 is released
This small release improves overall stability, fixes some bugs and adds some features.
Changelog:
- Updates to 1.19.2
- Fixes some default configuration generation issues
- Try to catch off-thread access to world random to provide more information for
java.lang.IllegalStateException: Accessing LegacyRandomSource from multiple threads - More aggressive chunk unloading to help mitigate memory issues
- Fixes some crashes related to ticket level updates
- Enables
ioSystem.replaceImplby default on non-Windows systems - Allows overriding default parallelism calculation
Full Changelog: 0.2.0+alpha.8...0.2.0+alpha.9
0.2.0+alpha.8
C2ME 0.2.0+alpha.8 for Minecraft 1.19 is released
This release improves overall performance and stability and fixes some bugs.
Changelog:
- Updates to 1.19
- Makes C2ME modular
- Optimizes sync loads a bit with priority system
- Implements chunkload cancellation mechanism
- Makes teleporting lag less
- Improves server shutdown times
- .. and more
- Improves the handling of async chunkload requests on WorldGen threads to fix some rare deadlock issues
- Some micro-optimizations for math used by world generation
- Improves mobcaps consistency by filtering out mobs in no-tick chunks when calculating mobcaps
- Makes the new IO system implementation priority-aware
(the new IO system can be enabled manually withioSystem.replaceImplin config) - Client: The default max view distance is now determined by the JVM type and the memory allocated to Minecraft.
Notes:
- The calculation of default parallelism has been changed to be more reasonable.
This means that some features may get re-enabled again by default if you are on a relatively lower-end devices
Full Changelog: 0.2.0+alpha.7...0.2.0+alpha.8
EDIT: 0.2.0+alpha.8.2 patch for 1.19 has been released:
- Enables
ioSystem.replaceImplby default - Fixes thread count calculation for threaded worldgen
0.2.0+alpha.7
C2ME 0.2.0+alpha.7 for Minecraft 1.18.2 is released
This release improves overall performance and stability and fixes some bugs.
Changelog:
- Optimizes entity filtering in no-tick chunks to reduce lag when tons of entities in no-tick chunks
- Disables perlin noise vectorization with Vector API due to performance issues in JDK17
- Optimizes perlin noise with 25% speedup over vanilla
- Optimizes aquifer without changing vanilla behavior
- Rewrites chunk IO system focused on overall throughput
(can be enabled manually withioSystem.replaceImplin config) - Adds parallel scheduling to further reduce server thread load
(can be enabled manually withasyncScheduling.enabledin config) - Re-enabled noise caching in The End dimension when lithium is present
- Allows changing auto-save behavior
Now defaults to saving chunks after ticking with periodical saving
You can still use the original vanilla behavior or revert to pre-1.18 behaviors in config - Fixes high cpu usage on scheduler thread when idle
- Fixes large lag in singleplayer creating world screen.
- Fixes compatibility issues with lithium 0.7.8 and later
- Fixes some crashes with certain datapacks and mods
Notes:
- The calculation of default parallelism has been changed to reduce stuttering in singleplayer worlds.
This means that some features may get disabled if you are on a relatively lower-end devices.
You can always re-enable them manually in config.
Full Changelog: 0.2.0+alpha.6...0.2.0+alpha.7
0.2.0+alpha.6
C2ME 0.2.0+alpha.6 for Minecraft 1.18.1 is released
This release improves overall performance and stability and fixes some bugs.
Changelog:
- General worldgen optimizations and allocation reductions
- Adds experimental async scheduling (turned off by default)
- Raise default max render distance to 128
- Some fixes related to no-tick view distance
- Don't send chunks twice with no-tick (configurable)
- Turns on
reducedLockRadiusby default - Adds priority system for worldgen
- Now breaks optifabric
- Adds limit for chunk data cache in IO workers to prevent using too much heap memory
- Allow disabling mid-tick chunk tasks
- Safety and stability improvements
- Attempt to fix bad config values or return them to default by @duplexsystem in #94
- Hide
useGlobalBiomeCachefrom config
Full Changelog: 0.2.0+alpha.5...0.2.0+alpha.6
EDIT: Looks like something is wrong with the lithium compatibility. Please add EDIT: Fixed in 0.2.0+alpha.6.1mixin.world.player_chunk_tick=false to lithium config to workaround this issue.
0.2.0+alpha.5
This release improves performance significantly and fixes several issues in alpha4.
Changelog:
- Fixes a memleak caused by vanilla not correctly running scheduling with lock or keeping scheduling single-threaded when paired with fabric-api.
- Fixes bobby incompatibility with default config.
- Fixes a config issue where
vanillaWorldGenOptimizationsis getting overwitten bygeneralOptimizationsevery time the server launches, causing brokenvanillaWorldGenOptimizationssection. - Fixes incompatibility with FabricAntiXray.
- Allows changing no-tick view distance ingame:
For 1.17.1, this will allow the render distance slider to correctly modify no-tick view distance.
For 1.18 snapshots, this will:- replace the render distance and
view-distancein server properties to c2me no-tick impl - replace the simulation distance slider and
simulation-distancein server.properties to actual ticking distance - modify vanilla behavior where it will stop ticking everything outside of ticking chunks instead of only stop ticking entities
- be significantly faster than mojang's implementation
- replace the render distance and
- Makes
allowThreadedFeaturesto be enabled by default. - Optimizes chunk scheduling to reduce allocation rates significantly.
- Drops metrics.
- Optimizes perlin noise by vectorizing it using Java 16 Vector API (enable with jvm flag
--add-modules jdk.incubator.vector)
Currently it will throw a warning when it cannot find the vector api module.
Note that the warning is only for troubleshooting issues when the optimization cannot be loaded properly and completely harmless to your server.
Notes:
- A full list of tested compatible mods can be found in README.md (2 added in this release)
Please report all incompatibilities to github issues. - No-tick view distance impl is enabled by default on 1.18 in this release.
reduceLockRadiusis still turned off by default. It is planned to be enabled by default with 1/10 sampling in0.2.0+alpha.6useGlobalBiomeCacheis still turned off by default. It is planned to be enabled by default in future versions in 1.17.useGlobalBiomeCacheis experimental in 1.18 snapshots.
0.2.0+alpha.4
This releases adds some new features and fixes a lot of issues in alpha3.
Changelog:
- Fixes compatibility with most of the content mods and works with AOF4 0.0.9 with
allowThreadedFeaturesandreducedLockRadius
AOF4 compatibility isn't in the best state at the moment, so please test it and open an issue if you found something not working. - Fixes a rare bug where naturally generated spawners are pig spawners and naturally generates chests are invisible except bounding boxes.
- Adds no-tick view distance, allowing render distance to be higher than 32.
- Improves scheduling to lower chunk loading and generation latency.
- Makes reduced lock radius more stable.
Notes:
- A full list of tested compatible mods can be found in README.md
Please report all incompatibilities to github issues. allowThreadedFeaturesswitch is still turned off by default. It is planned to be enabled by default in0.2.0+alpha.5- No-tick view distance needs to be manually enabled in the config file
Looking for 1.18 builds? Here it is.
These builds don't have releases so use with caution.
0.2.0+alpha.3
Changelog:
- Fixes all of threading issues in vanilla worldgen and worldgen-related code
(please open an issue if i missed something)
This also let C2ME vanilla worldgen behaviors match vanilla. (in theory, which need testing)
This also fixes some rare crashes that happens on startup. - Finally fixed compatibility issue with BetterEnd on production environment.
- The test system now tests every biome and structure that can be naturally generated in
the world to ensure test coverage.
Looking for 1.18 builds? Here it is.
These builds don't have releases so use with caution.
0.2.0+alpha.2
Changelog:
- Updated to 1.17.1
- Resolves compatibility and performance issues with Terra and BetterEnd
- Improves global biome cache performance
- Tweaks default parallelism settings
Looking for 1.18 builds? Here it is.
0.2.0+alpha.1
Changelog:
- Updated to 1.17.1-pre1 (compatible with 1.17)
- A lot of improvements related to performance, thread safety and chunk scheduling
- New global biome cache to reduce threading overhead (experimental)
0.1.0-rc8
THIS IS A RELEASE CANDIDATE DO NOT USE IN PRODUCTION
Changelog:
- Added support for 21w15a
- Hopefully fixed chunk saving and loading issues
- Use stricter locking logic to improve compatibility and thread-safety
- Improve configuration system