Update Minecraft instance configuration and add new entries for various mod types in everycomp-entries files to enhance compatibility and expand available resources.
This commit is contained in:
@@ -0,0 +1,325 @@
|
||||
#Krypton Hybrid - Packet Compression
|
||||
#Select the compression algorithm used for all player connections.
|
||||
#IMPORTANT: BOTH the server and every connecting client must use the same
|
||||
#algorithm. Mismatched algorithms will immediately corrupt the session.
|
||||
[compression]
|
||||
#Compression algorithm to use for network packets.
|
||||
# ZLIB - vanilla zlib (DEFLATE). Always available. Minecraft default.
|
||||
# ZSTD - Zstandard compression (zstd-jni, native). Best ratio; moderate CPU.
|
||||
#Default: ZSTD
|
||||
#Allowed Values: ZLIB, ZSTD
|
||||
algorithm = "ZSTD"
|
||||
#Zstd compression level (1 = fastest/largest, 22 = slowest/smallest).
|
||||
#Only used when algorithm = ZSTD. Backed by zstd-jni (native).
|
||||
#Level 3 is the zstd reference implementation default.
|
||||
#Range: 1 – 22 | Default: 3
|
||||
# Default: 3
|
||||
# Range: 1 ~ 22
|
||||
zstd_level = 3
|
||||
|
||||
#Krypton Hybrid - Zstd Advanced / Parallel Compression
|
||||
#Fine-grained control over Zstd's native multi-threaded compression
|
||||
#and match-finding parameters. These settings only take effect when
|
||||
#compression.algorithm = ZSTD. Changes require a server restart
|
||||
#(new connections will use the updated values).
|
||||
#
|
||||
#WARNING: Misconfigured values can increase CPU usage or memory
|
||||
#consumption significantly. The defaults are safe for all scenarios.
|
||||
[zstd_advanced]
|
||||
#Number of native worker threads for parallel Zstd compression.
|
||||
#0 = single-threaded (compression runs in the Netty I/O thread).
|
||||
#Values >= 1 activate libzstd's multi-threaded mode: input data is
|
||||
#split into jobs compressed in parallel by a per-connection native
|
||||
#thread pool. Useful when compressing large payloads (chunk data,
|
||||
#recipe sync) on multi-core CPUs.
|
||||
#
|
||||
#Total native threads = workers × active connections, so keep this
|
||||
#low on high-player-count servers.
|
||||
#Range: 0 – 128 | Default: 0 (single-threaded)
|
||||
# Default: 0
|
||||
# Range: 0 ~ 128
|
||||
workers = 0
|
||||
#Overlap log for multi-threaded compression.
|
||||
#Controls how much context (dictionary data) each worker thread
|
||||
#shares with the previous thread's output. Higher values improve
|
||||
#compression ratio but use more memory per job.
|
||||
#Only meaningful when workers >= 1.
|
||||
#overlap_size = 2^(overlapLog) KB.
|
||||
#0 = auto (Zstd picks a value based on compression level).
|
||||
#Range: 0 – 9 | Default: 0
|
||||
# Default: 0
|
||||
# Range: 0 ~ 9
|
||||
overlap_log = 0
|
||||
#Job size (bytes) for multi-threaded compression.
|
||||
#Minimum input partition per worker thread. Smaller values increase
|
||||
#parallelism for small payloads but add scheduling overhead.
|
||||
#Only meaningful when workers >= 1.
|
||||
#0 = auto (Zstd selects based on compression level and overlap).
|
||||
#Range: 0 (auto) or 512 – 1073741824 | Default: 0
|
||||
# Default: 0
|
||||
# Range: 0 ~ 1073741824
|
||||
job_size = 0
|
||||
#Enable Zstd long-distance matching (LDM).
|
||||
#When true, Zstd searches for repeated byte sequences across a
|
||||
#much larger window than the standard match finder. Improves ratio
|
||||
#for highly repetitive data (flat-world chunks, bulk NBT) at the
|
||||
#cost of higher memory usage.
|
||||
#Default: false
|
||||
enable_long_distance_matching = false
|
||||
#Window log for long-distance matching.
|
||||
#Sets the LDM window size exponent: window = 2^windowLog bytes.
|
||||
#Only used when enable_long_distance_matching = true.
|
||||
#20 = 1 MB, 24 = 16 MB, 27 = 128 MB (Zstd default).
|
||||
#For Minecraft traffic, 20–24 is usually sufficient.
|
||||
#Range: 10 – 30 | Default: 27
|
||||
# Default: 27
|
||||
# Range: 10 ~ 30
|
||||
long_distance_window_log = 27
|
||||
#Zstd compression strategy (match-finding algorithm).
|
||||
#Higher strategies find better matches but use more CPU.
|
||||
#0 = auto (determined by compression level).
|
||||
#1 = fast, 2 = dfast, 3 = greedy, 4 = lazy, 5 = lazy2,
|
||||
#6 = btlazy2, 7 = btopt, 8 = btultra, 9 = btultra2.
|
||||
#Values above 5 are NOT recommended for real-time game servers.
|
||||
#Range: 0 – 9 | Default: 0 (auto)
|
||||
# Default: 0
|
||||
# Range: 0 ~ 9
|
||||
strategy = 0
|
||||
#Enable pre-trained Zstd dictionary compression.
|
||||
#Both server and client must use the same dictionary file.
|
||||
#Default: false
|
||||
dict_enabled = false
|
||||
#Path to the pre-trained dictionary file (.zdict).
|
||||
#Relative paths are resolved from the game working directory.
|
||||
#Default: config/krypton_hybrid.zdict
|
||||
dict_path = "config/krypton_hybrid.zdict"
|
||||
#If true, dictionary load failure is fatal for Zstd context creation.
|
||||
#If false, Krypton falls back to plain Zstd and logs a warning.
|
||||
#Default: false
|
||||
dict_required = false
|
||||
|
||||
#Krypton Hybrid - Network Security / Independent Packet Control
|
||||
#Protects the inbound network path without touching Velocity Native fast paths.
|
||||
#All checks run in the Minecraft / NeoForge layer and are designed to fail fast
|
||||
#before expensive decode, decompression, NBT, or gameplay processing begins.
|
||||
[security]
|
||||
#Global security kill-switch.
|
||||
#Default: true
|
||||
enabled = true
|
||||
|
||||
#Connection-rate limiting and rapid reconnect protection.
|
||||
[security.connection_rate_limit]
|
||||
#Sustained connection attempts per second per IP.
|
||||
#Range: 1 - 1000 | Default: 8
|
||||
# Default: 8
|
||||
# Range: 1 ~ 1000
|
||||
rate = 8
|
||||
#Burst capacity for new connections per IP.
|
||||
#Range: 1 - 5000 | Default: 20
|
||||
# Default: 20
|
||||
# Range: 1 ~ 5000
|
||||
burst = 20
|
||||
#Quarantine duration after repeated connection abuse.
|
||||
#Range: 0 - 3600 | Default: 30
|
||||
# Default: 30
|
||||
# Range: 0 ~ 3600
|
||||
quarantine_seconds = 30
|
||||
#Rapid reconnect detection window in milliseconds.
|
||||
#Range: 0 - 60000 | Default: 1500
|
||||
# Default: 1500
|
||||
# Range: 0 ~ 60000
|
||||
rapid_reconnect_window_ms = 1500
|
||||
#Extra connection tokens consumed on rapid reconnect.
|
||||
#Range: 0 - 128 | Default: 4
|
||||
# Default: 4
|
||||
# Range: 0 ~ 128
|
||||
rapid_reconnect_penalty = 4
|
||||
|
||||
#Decompression-bomb prevention for both ZLIB and ZSTD.
|
||||
[security.decompression_guard]
|
||||
# Default: 16777216
|
||||
# Range: > 1024
|
||||
max_decompressed_bytes = 16777216
|
||||
# Default: 100
|
||||
# Range: > 1
|
||||
max_ratio = 100
|
||||
# Default: 8
|
||||
# Range: > 0
|
||||
min_compressed_bytes_for_ratio_check = 8
|
||||
|
||||
#Handshake/login timeout budgets.
|
||||
[security.timeouts]
|
||||
# Default: 5
|
||||
# Range: 1 ~ 300
|
||||
handshake_sec = 5
|
||||
# Default: 10
|
||||
# Range: 1 ~ 300
|
||||
login_sec = 10
|
||||
# Default: 30
|
||||
# Range: 1 ~ 3600
|
||||
play_sec = 30
|
||||
|
||||
#Frame and logical payload size checks.
|
||||
[security.packet_size]
|
||||
# Default: 2097152
|
||||
# Range: > 1024
|
||||
frame_max_bytes = 2097152
|
||||
# Default: 131072
|
||||
# Range: > 0
|
||||
custom_payload_max_bytes = 131072
|
||||
#Enable FriendlyByteBuf read-side hard limits (can break large mod custom payloads).
|
||||
#Default: false
|
||||
read_limits_enabled = false
|
||||
# Default: 32767
|
||||
# Range: > 1
|
||||
string_max_chars = 32767
|
||||
# Default: 16384
|
||||
# Range: > 1
|
||||
collection_max_elements = 16384
|
||||
# Default: 8192
|
||||
# Range: > 1
|
||||
map_max_entries = 8192
|
||||
# Default: 16384
|
||||
# Range: > 1
|
||||
counted_loop_max = 16384
|
||||
# Default: 2097152
|
||||
# Range: > 1
|
||||
byte_array_max_bytes = 2097152
|
||||
|
||||
#Handshake protocol sanity checks.
|
||||
[security.handshake_validation]
|
||||
# Default: 3
|
||||
# Range: > 0
|
||||
min_protocol = 3
|
||||
# Default: 1100
|
||||
# Range: > 0
|
||||
max_protocol = 1100
|
||||
# Default: 255
|
||||
# Range: 1 ~ 1024
|
||||
max_address_length = 255
|
||||
|
||||
#Weighted anomaly response policy.
|
||||
[security.anomaly]
|
||||
# Default: 10
|
||||
# Range: 1 ~ 1000
|
||||
strike_threshold = 10
|
||||
|
||||
#Write-side backpressure and slow-reader protection.
|
||||
[security.resource_guard]
|
||||
# Default: 524288
|
||||
# Range: > 1024
|
||||
watermark_low = 524288
|
||||
# Default: 2097152
|
||||
# Range: > 1024
|
||||
watermark_high = 2097152
|
||||
# Default: 4096
|
||||
# Range: > 1
|
||||
max_pending_writes = 4096
|
||||
# Default: 15
|
||||
# Range: 1 ~ 3600
|
||||
max_unwritable_seconds = 15
|
||||
|
||||
#Krypton Hybrid - Light Data Optimization
|
||||
#Reduces ClientboundLevelChunkWithLightPacket size by replacing uniform
|
||||
#DataLayer arrays (e.g. all-max sky-light sections) with 2-byte tokens.
|
||||
#Requires Krypton Hybrid on BOTH the server and every connecting client.
|
||||
[light_opt]
|
||||
#Enable uniform-RLE encoding for light DataLayer arrays.
|
||||
#Saves up to ~40 KB per chunk load in open-sky environments.
|
||||
#Default: true
|
||||
enabled = true
|
||||
|
||||
#Krypton Hybrid - Chunk Data Optimization
|
||||
#Reduces ClientboundLevelChunkPacketData size by replacing NBT-based
|
||||
#heightmap serialization with compact binary + XOR-delta encoding, and
|
||||
#extracting biome data from the section buffer for single-value detection.
|
||||
#Requires Krypton Hybrid on BOTH the server and every connecting client.
|
||||
[chunk_data_opt]
|
||||
#Enable biome delta encoding and heightmap compression.
|
||||
#Heightmaps: compact binary format with XOR-delta (~40 bytes NBT overhead
|
||||
#saved per chunk, plus significantly better compressibility for correlated
|
||||
#heightmap data under Zstd/ZLIB).
|
||||
#Biomes: single-value sections encoded as 2 bytes instead of 3+; biome
|
||||
#data grouped for better cross-section compressor exploitation.
|
||||
#Default: true
|
||||
enabled = true
|
||||
|
||||
#Delayed Chunk Cache (DCC)
|
||||
#Reduces redundant chunk resends when a player moves near the edge of
|
||||
#their view distance. Departing chunks are buffered; if the player
|
||||
#re-enters range within the timeout, the full resend is skipped.
|
||||
[dcc]
|
||||
#Enable or disable the Delayed Chunk Cache entirely.
|
||||
#Default: true
|
||||
enabled = true
|
||||
#Maximum number of chunks buffered per player.
|
||||
#When full, new departing chunks are untracked immediately.
|
||||
#Range: 1 – 200 | Default: 60
|
||||
# Default: 60
|
||||
# Range: 1 ~ 200
|
||||
size_limit = 60
|
||||
#Cache radius (chunks) around the player's current position.
|
||||
#Cached chunks farther than this are evicted and untracked.
|
||||
#Range: 1 – 32 | Default: 5
|
||||
# Default: 5
|
||||
# Range: 1 ~ 32
|
||||
distance = 5
|
||||
#Seconds before a cached chunk is forcibly evicted.
|
||||
#Higher values improve hit rate; lower values reduce client memory.
|
||||
#Range: 5 – 300 | Default: 30
|
||||
# Default: 30
|
||||
# Range: 5 ~ 300
|
||||
timeout_seconds = 30
|
||||
|
||||
#Broadcast Serialization Cache
|
||||
#Caches serialized packet bytes when the same Packet object is
|
||||
#broadcast to multiple players, avoiding redundant serialization.
|
||||
[broadcast_cache]
|
||||
#Enable the broadcast serialization cache.
|
||||
#Saves CPU by avoiding re-serialization of the same packet
|
||||
#when broadcast to multiple players on the same Netty I/O thread.
|
||||
#Default: true
|
||||
enabled = true
|
||||
|
||||
#Packet Coalescing
|
||||
#Deduplicates redundant entity update packets within each tick's
|
||||
#bundle before sending. Removes superseded velocity, teleport,
|
||||
#and entity data packets for the same entity.
|
||||
[packet_coalescing]
|
||||
#Enable packet coalescing within entity tracking bundles.
|
||||
#Default: true
|
||||
enabled = true
|
||||
|
||||
#Block Entity NBT Delta Sync
|
||||
#Reduces block entity data packet size by sending only changed NBT
|
||||
#keys instead of the full tag. Requires Krypton Hybrid on BOTH
|
||||
#the server and every connecting client.
|
||||
[block_entity_delta]
|
||||
#Enable per-player NBT delta encoding for block entity updates.
|
||||
#Significantly reduces bandwidth for frequently-updating block
|
||||
#entities (furnaces, hoppers, redstone components).
|
||||
#Default: true
|
||||
enabled = true
|
||||
|
||||
#Proxy Compatibility
|
||||
#Controls how Krypton Hybrid interacts with reverse proxies
|
||||
#(e.g. Velocity). When behind a proxy, certain optimizations must
|
||||
#be disabled or gated to preserve proxy compatibility.
|
||||
[proxy]
|
||||
#Proxy detection mode.
|
||||
# NONE - No proxy; all optimizations active (direct connection).
|
||||
# AUTO - Auto-detect Velocity via login plugin channel.
|
||||
# When detected, forces ZLIB on backend and gates custom
|
||||
# wire formats behind capability negotiation.
|
||||
# VELOCITY - Assume Velocity proxy; always use ZLIB backend
|
||||
# compression and gate custom wire formats.
|
||||
#Default: NONE
|
||||
#Allowed Values: NONE, AUTO, VELOCITY
|
||||
mode = "NONE"
|
||||
#Shared secret for Velocity Modern Forwarding.
|
||||
#Must match the forwarding-secret in Velocity's velocity.toml.
|
||||
#When non-empty and mode is AUTO or VELOCITY, the server will
|
||||
#verify connecting players via HMAC-SHA256 signed forwarding data.
|
||||
#Leave empty to disable modern forwarding (heuristic detection only).
|
||||
#Default: (empty)
|
||||
forwarding_secret = ""
|
||||
Reference in New Issue
Block a user