Skip to content

Releases: RelativityMC/C2ME-fabric

0.2.0+alpha.11

24 Sep 05:09
0.2.0+alpha.11
2288918
Compare
Choose a tag to compare
0.2.0+alpha.11 Pre-release
Pre-release

C2ME 0.2.0+alpha.11 for Minecraft 1.20.1 is released

This release improves overall stability and performance.

Changelog:

  • perf: reduces allocation pressure in scheduling
  • perf: rewrites chunk priority system to better handle urgent loads
  • perf: improves notickvd loading mechanism
  • perf: do not depend on server thread to complete EMPTY state
  • perf: improve chunk transition speed with threaded worldgen
  • new: chunk cancellation mechanism with threaded worldgen
  • new: allow recover from errors in async io (disabled by default)
  • new: experimental GC-Free chunk serializer (disabled by default)
  • fix: a native leak by unclosed Inflaters and Deflaters
  • fix: remove profiler usage in upgradeChunk to prevent issues
  • fix: upgrade visibility of a mixin method to fix some incompatibiliy issues (#207)
  • fix: incorrect random instance derive
  • fix: prevent async save and saveAll
  • fix: non-atomic player chunk position tracking in notickvd
  • fix: mushrooms as ghost blocks in strange places with fabric-biome-api-v1 (#222)
  • change: makes CheckedThreadLocalRandom message more clear
  • change: disable reduced lock radius debugging

Full Changelog: 0.2.0+alpha.10...0.2.0+alpha.11

For 1.20.2 builds: https://ci.codemc.io/job/RelativityMC/job/C2ME-fabric/job/ver%252F1.20.2/

0.2.0+alpha.10

11 Jan 07:45
0.2.0+alpha.10
18077ed
Compare
Choose a tag to compare
0.2.0+alpha.10 Pre-release
Pre-release

C2ME 0.2.0+alpha.10 for Minecraft 1.19.3 is released

This small release improves overall stability and fixes some bugs.

Changelog:

  • Updates to 1.19.3
  • perf: Optimizes needsBlending lookup to reduce unnecessary storage I/O and unnecessary stalls during worldgen
  • fix: Disables surface builder alloc optimization when qfapi is present
  • fix: Fixes some startup issues on extremely low-end devices
  • fix: Fixes improper "unsafe async ServerWorld full chunk requests" handling
  • change: Replaces panics with warnings when the disk is too slow when using the new optimized I/O system
  • change: Enables new optimized I/O system only if the parallelism is set to 2 or above
  • change: Raises soft- and hard- limits for vanilla storage cache

Full Changelog: 0.2.0+alpha.9...0.2.0+alpha.10

0.2.0+alpha.9.12

13 Dec 20:05
fc07d62
Compare
Choose a tag to compare
0.2.0+alpha.9.12 Pre-release
Pre-release

This release serves as a hotfix for any 1.19.3 versions of C2ME. As this contains out of cycle changes staged for the next alpha release it is not recommended you build this unless you're running 1.19.3.

This build contains a critical hotfix for users of Quilt. IF YOU ARE USING 1.19.3 AND QUILT UPDATE IMMEADENTLY TO PREVENT A KNOW ISSUE OF INPROPER GENERATION OF NEW CHUNKS. We are not aware of any effects on existing chunks from this issue.

0.2.0+alpha.9

07 Oct 04:04
0.2.0+alpha.9
98c0449
Compare
Choose a tag to compare
0.2.0+alpha.9 Pre-release
Pre-release

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.replaceImpl by 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

08 Jun 14:37
0.2.0+alpha.8
4d986b1
Compare
Choose a tag to compare
0.2.0+alpha.8 Pre-release
Pre-release

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 with ioSystem.replaceImpl in 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.replaceImpl by default
  • Fixes thread count calculation for threaded worldgen

0.2.0+alpha.7

05 Mar 09:05
0.2.0+alpha.7
2cfe711
Compare
Choose a tag to compare
0.2.0+alpha.7 Pre-release
Pre-release

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 with ioSystem.replaceImpl in config)
  • Adds parallel scheduling to further reduce server thread load
    (can be enabled manually with asyncScheduling.enabled in 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

05 Jan 16:11
0.2.0+alpha.6
f4bc326
Compare
Choose a tag to compare
0.2.0+alpha.6 Pre-release
Pre-release

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 reducedLockRadius by 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 useGlobalBiomeCache from 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 mixin.world.player_chunk_tick=false to lithium config to workaround this issue. EDIT: Fixed in 0.2.0+alpha.6.1

0.2.0+alpha.5

02 Oct 08:58
0.2.0+alpha.5
8d0fd0d
Compare
Choose a tag to compare
0.2.0+alpha.5 Pre-release
Pre-release

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 vanillaWorldGenOptimizations is getting overwitten by generalOptimizations every time the server launches, causing broken vanillaWorldGenOptimizations section.
  • 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-distance in server properties to c2me no-tick impl
    • replace the simulation distance slider and simulation-distance in 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
  • Makes allowThreadedFeatures to 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.
  • reduceLockRadius is still turned off by default. It is planned to be enabled by default with 1/10 sampling in 0.2.0+alpha.6
  • useGlobalBiomeCache is still turned off by default. It is planned to be enabled by default in future versions in 1.17.
  • useGlobalBiomeCache is experimental in 1.18 snapshots.

0.2.0+alpha.4

30 Aug 09:55
0.2.0+alpha.4
abd905f
Compare
Choose a tag to compare
0.2.0+alpha.4 Pre-release
Pre-release

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 allowThreadedFeatures and reducedLockRadius
    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.
  • allowThreadedFeatures switch is still turned off by default. It is planned to be enabled by default in 0.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

22 Jul 14:56
Compare
Choose a tag to compare
0.2.0+alpha.3 Pre-release
Pre-release

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.