Added a small chunk cache to prevent multiple lookups of same chunk.
Added an option to enable Bukkit ChunkMap to retain bukkit behavior of chunks. (Incompatible with async chunks)
Added EntityTNTPrimed and EntityFalling batching.
Added delayed chunk unloads for safe-block ticking.
Added a cache to already existing chunks to prevent heavy lookups in RegionFile#exists.
Added configuration to change no-permission message on carbon commands.
Added lighting queue system.
Added "FAST-PACKET-QUEUE" to queue combat packets asynchronously.
Added an option to disable scoreboard saving and player data saving.
Added an option to send scoreboard packets async. (Reduces Fly packet overhead by alot)
Added an "SKIP-PLAYER-MOVEMENT-CHECKS" to reduce load of getCubes on player movement.
Added Pearl/Potion horizontal offset.
Added Pearl risky teleportation system to prevent glitches.
Added an option to change fireball movement speed.
Added CPS limiter, CPS Tracker and Player#carbon()#getCPS. (Tracker needs to be on for limiter)
Added a secondary IP host for weird hosts. (Use with -DaltIP=true before -jar)
Added an option to change enderpearl hitbox size (Vanilla size is 0.25F)
Added Native Continued SWM support.
Added extra methods for HCTeam in PacketPlayOutMultiBlockChange.
Added an option to prevent invalid block loads by terrible anticheats. (Which used to result in a crash)
Added horizontal limit to ExplicitKnockbackProfile.
Added an option to fix suffocation causing faster falling speed.
Added Flush Consolidation Handler to reduce netty expensive flushing calls. (Disable with "-DPaper.disableFlushConsolidate=true")
Added more exploit strings for FAWE Crash exploit.
Added deepClone option for ChunkSnapshot system
Added per-player tracking range and tracking range cmd
Added an option to change initial chunk map size.
Added an option to allow arrows to bypass transparent blocks (Cobwebs, tripwire etc.)
Added Polar Anticheat support
Added critical hits API (EntityDamageEvent#isCritical)
Changed/Fixed
Recoded asynchronous EntityTracker from scratch. (Credits: @Steviebeenz)
Use faster collection for Entity Tracker entries. (Credits: @Steviebeenz)
Recoded chunk maps for both sync and asynchronous chunks with proper concurrency and RWLocks.
Optimized PlayerChunkMap ticking and PlayerChunk logic.
Used optimized fastutil collections for PlayerChunkMap. (Faster Chunk Loading)
Fixed chunk load lag upon teleporting to unloaded chunks.
Optimized chunk unloading to be done in batches.
Optimized block ticking and chunk ticking to be done in proper batches.
Fixed double-hit/extra damage vanilla bug. (Toggleable in configuration, also still allows rod-trick!)
Reduced CPU and Memory usage by reducing asynchronous tasks.
Improved hit detection by reducing load on PacketPlayInArmAnimation.
Replicated 1:1 knockback of stable version "2.3.6".
Reworked block hitting logic and added configuration options for it. (For people that want 2.3.6 kb, turn these off)
Fixed anvil-knockback behaviour, where knockback killed combos by reducing velocity over time.
Optimized Player#canSee usage.
Fixed entity hider leaks for sounds and some packets. (Visibility patch now fully works)
Reworked gamerules command and gamerules logic.
Optimized random block ticking by backported 1.16's system. (Credits: SpottedLeaf for the collection)
Reduced memory overhead of constant BlockPosition object creation.
Replaced PandaRedstoneWire with RedstoneTurbo (Experimental)
Optimized region file reading/writing.
Fixed compatibility with player spoofers, hologram plugins and citizens.
Fixed knockback causing fall distance and fall damage
Fixed NoSuchMethod error in RegionFiles for some JDKs.
Optimized RegionFile writing and reading.
Fixed turning off commands in settings but they would still get registered.
Fixed carbon's TP, Whitelist and GameRule commands overriding plugin ones.
Easy knockback profile values are now default vanilla values.
Fixed KnockbackSetEvent not being called.
Capped NIO maxCachedBufferSize to Paper's value.
Fixed pearl wall glitches
Packet handlers now return boolean. (**MUST UPDATE THE CODE THAT USES THIS API**)
Fixed jungle biome generation cache crash.
Fixed ghost blocks showing up server-side with fast breaking tools.
Fixed bucket and lilypad not updating on interaction cancel.
Fixed shutdown logic and now it uses proper exit codes.
Recoded gamerules command with tab-completion.
UserCache is now thread-safe and can be accessed async.
Fixed dupe glitch for PlayerVaultX.
Fixed placing inside yourself with snow layers. (@quadflame )
Fixed resource pack system kick bypass.
Fixed TileEntitySkull skin empty spam.
Fixed Items on death not being marked to owner properly.
Fixed WatchdogThread not working.
Fixed Iron Golem not attacking players.
Separated normal entity tracker and async entity tracker.
Removed
Removed scoreboard team invisibility patch.
Removed Spigot metrics (Reduces CPU usage.)
Carbon Loader Update (2.2)
The carbon loader has been re-worked from the ground up with security AND user-experience in mind. We have tested and optimized loader speeds, memory usage and startup time. The new loader is 10x faster than the previous loader.
Download your loader again. (Chose Retention-Carbon-ARM, if your CPU architecture is arm64.)
Note: WINDOWS support will only be given specifically to those who run Windows RDP hosted servers. If you do, please make a ticket at on our discord.