Files
chocopiesmp/mcserver/plugins/VoxyServerSide/vss-server-config.yaml
T
eldar 32a020c572 Updated server to 1.21.11
Added Essentials, Voxy Serverside plugin, LoginTo, squaremap, imageframe, luckperms
Changed from url download to modrinth for better reliability.
2026-10-08 21:50:10 +03:00

176 lines
10 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# LOD Server Support — Paper/Folia server defaults.
# Edit this file, then run /vsslod reload. Settings marked [restart] wait for restart.
# Reload changes policy for new work; existing jobs/reads drain and cache trimming can lag.
# Distances are radii. 1 chunk = 16 blocks; 1 MiB = 1,048,576 bytes.
config_version: 1 # Local settings schema version, independent of the network protocol.
# Serves distant terrain to compatible clients beyond vanilla's view distance.
# This does not increase the server's simulation distance or keep distant chunks ticking.
service:
enabled: true # [restart] Enable the server's LOD service.
require_permission: false # Require both lss.use and vss.use; nodes default to allowed.
# Larger radii reveal more terrain, but cover more columns and can increase
# generation, transfer, cache and disk work. Doubling a radius covers roughly four
# times the area; a large configured radius does not mean it fills instantly.
lod:
distance:
default_chunks: 512 # Fallback for dimensions not listed below; range 1–2048.
by_dimension: # These are fresh-install defaults; migration preserves existing limits.
"minecraft:overworld": 512 # Overworld radius in chunks.
"minecraft:the_nether": 64 # Nether radius in chunks.
"minecraft:the_end": 512 # End radius in chunks.
by_world: {} # Paper world-name overrides; take priority over dimension entries.
# Lets LOD requests create terrain that does not yet exist in the world.
# This costs world-generation CPU time and grows the normal world files, independently
# of the LOD store. With generation off, existing terrain can still be served.
# Higher concurrency can fill missing terrain sooner, but competes with gameplay.
generation:
enabled: true # Generate missing terrain; disabling stops new jobs, existing jobs finish.
concurrency:
global: 40 # Maximum concurrent generations across the server; range 1–512.
per_player: 40 # Maximum per player; cannot exceed the global limit.
timeout_ticks: 1200 # New jobs only; 60 seconds at 20 TPS, longer under lag; range 20–12000.
# Limits and schedules LOD traffic so it shares resources with normal gameplay.
# Bandwidth limits count uncompressed payload work, so they also limit client decode
# work; compressed network traffic can be much smaller. Lower limits slow terrain fill.
network:
bandwidth:
per_player_mib_per_second: 5 # Raw MiB/s before compression; 0 clamps to 1 KiB/s, not unlimited.
global_mib_per_second: 50 # Shared raw MiB/s budget; 0 clamps to 1 KiB/s, not unlimited.
send_queue_limit_per_player: 1024 # Admission ceiling; lowering it lets existing work drain.
ping_backstop: true # Reduce LOD traffic when player latency indicates congestion.
send_pacing: true # Spread LOD sends across ticks to reduce bursts.
yield_to_vanilla: true # Let normal game traffic take transport priority; applies next flush.
# Keeps previously downloaded terrain up to date when the world changes.
# Shorter dirty-broadcast intervals show edits sooner but can send updates more often.
# Region summaries let returning clients validate cached areas without downloading
# every column again; they describe freshness, not the terrain itself.
updates:
# Tick-driven: 200 ticks = 10 seconds at 20 TPS, longer under lag.
dirty_broadcast_interval_ticks: 200 # 0 disables pushes, not invalidation; otherwise 20–6000.
region_summaries: true # Accept new region-validation requests; accepted requests can finish.
storage:
# Reader threads and concurrent reads control pressure on world-file access.
# More parallel reads can improve throughput, but can also compete with gameplay
# for disk and CPU. Automatic sizing accounts for the active read path and store.
disk:
reader_threads: 0 # [restart] 0 = automatic; explicit range 1–64.
max_concurrent_reads: 0 # 0 = automatic, based on the active reader pool and store.
background_priority: true # [restart] Use background-priority reads where supported.
split_background_reads: true # [restart] Separate background read work where supported.
# This RAM cache holds column freshness timestamps, not complete terrain.
# More capacity can avoid repeated timestamp lookups, at the cost of server memory.
# Reducing capacity trims gradually; it does not clear the entire cache on reload.
timestamp_cache_mib_per_dimension: 0 # 0 = automatic from the largest active LOD radius.
# Briefly remembering missing columns avoids repeatedly checking unavailable terrain.
# A longer lifetime can delay another lookup for newly available data on a memo hit.
miss_memo_ttl_seconds: 30 # 0 disables; maximum 60. Changing this clears old miss memos.
# Persistent cache of prepared LOD columns, reused across players and restarts.
# Cache hits reduce repeated world-file parsing, serialization and, when the
# client's format supports reuse, compression. Store reads still use disk I/O.
# Tradeoff: extra disk space and writes as terrain is cached or updated. A fully
# warmed store can be comparable in size to the region files; actual use depends
# on the world and how much terrain has been cached. This is rebuildable data.
# Off still allows normal LOD serving, but loses this reuse. Disabling the store
# does not delete its existing files or reclaim their disk space.
lod_store:
enabled: true # [restart] Fresh installs enable this; migration preserves old behavior.
# Smaller limits retain less prepared terrain, so evicted columns may need
# processing again. This bounds live database data, not total filesystem use:
# SQLite journal files and space awaiting reclamation can add overhead.
# Lowering the cap evicts gradually; reload does not instantly free filesystem space.
max_size_mib: 0 # 0 = unlimited; positive range 64–1,048,576 MiB.
# Periodically recheck saved-world freshness to catch edits without a Bukkit event.
# Shorter intervals find these saved edits sooner but perform more checks.
# Unsaved changes still have to reach the world files before this path can see them.
resweep_interval_seconds: 300 # 0 disables future periodic sweeps; an active sweep can finish.
# Optimized processing paths for turning world terrain into transmitted columns.
# Compression reduces network bytes but costs CPU when a reusable frame is unavailable.
# These are expert troubleshooting switches; their effects depend on the active path.
serialization:
selective_nbt_parse: true # Inactive on Paper's already-parsed NBT path; retained for portability.
nbt_transcode: true # New reads: use the optimized terrain serialization path.
compressed_columns: true # [restart] Compress columns for clients that support it.
# Allows older LOD protocol versions; these numbers are not Minecraft versions.
# Disabling a fallback restricts which clients can connect to the LOD service.
# It does not translate arbitrary modded blocks or replace a version-translation mod.
compatibility:
protocols:
v16: true # [restart] Accept protocol-16 clients.
v18: true # [restart] Accept protocol-18 clients.
v19: true # [restart] Accept protocol-19 clients.
via_mismatch_guard: true # [restart] Guard incompatible translated-protocol sessions.
# Prevents distant terrain data from revealing blocks hidden by anti-xray policy.
# Auto follows supported detected policy; forcing off can expose hidden terrain.
# The block list and height below are fallbacks, not overrides for an adopted engine policy.
privacy:
xray:
mode: "auto" # [restart] "auto", "on" or "off"; auto follows detected anti-xray policy.
max_y_blocks: 64 # [restart] Fallback mask applies below this world Y coordinate.
hidden_blocks: # [restart] Fallback list when engine policy is unavailable; [] hides none.
- "minecraft:copper_ore"
- "minecraft:deepslate_copper_ore"
- "minecraft:raw_copper_block"
- "minecraft:gold_ore"
- "minecraft:deepslate_gold_ore"
- "minecraft:iron_ore"
- "minecraft:deepslate_iron_ore"
- "minecraft:raw_iron_block"
- "minecraft:coal_ore"
- "minecraft:deepslate_coal_ore"
- "minecraft:lapis_ore"
- "minecraft:deepslate_lapis_ore"
- "minecraft:mossy_cobblestone"
- "minecraft:obsidian"
- "minecraft:chest"
- "minecraft:diamond_ore"
- "minecraft:deepslate_diamond_ore"
- "minecraft:redstone_ore"
- "minecraft:deepslate_redstone_ore"
- "minecraft:clay"
- "minecraft:emerald_ore"
- "minecraft:deepslate_emerald_ore"
- "minecraft:ender_chest"
# Sends lightweight distant-player snapshots beyond normal entity tracking range.
# This does not keep distant entities ticking. Larger ranges and more frequent
# updates can increase server work, traffic and client rendering work.
# "opt_in" shares only targets whose clients explicitly allow sharing; "on" can
# also include vanilla players. Exclusions, visibility rules and opt-outs still apply.
far_players:
mode: "on" # "off", "opt_in" or "on"; all modes honor exclusions and sharing opt-outs.
update_interval_ticks: 10 # 10 ticks = two updates/second at 20 TPS; range 2–100.
distance:
min_blocks: 0 # 0 = no additional inner ring; cannot exceed max_blocks.
max_blocks: 2048 # Server visibility ceiling; range 128–16384 blocks.
send_spectators: false # Include spectator targets if other privacy checks allow them.
excluded_players: [] # Player names or UUIDs never shared; kept out of diagnostic exports.
# Bukkit event hooks invalidate cached LODs after world edits. Adding frequent
# events can improve coverage but increase work; edits without a matching event
# may remain stale until saved terrain is checked by the store's periodic resweep.
paper:
update_events: # [restart] Bukkit events used to detect changed terrain.
- "org.bukkit.event.block.BlockPlaceEvent"
- "org.bukkit.event.block.BlockBreakEvent"
- "org.bukkit.event.block.BlockExplodeEvent"
- "org.bukkit.event.entity.EntityExplodeEvent"
- "org.bukkit.event.block.BlockBurnEvent"
- "org.bukkit.event.block.BlockFadeEvent"
- "org.bukkit.event.block.BlockFormEvent"
- "org.bukkit.event.block.BlockGrowEvent"
- "org.bukkit.event.block.BlockSpreadEvent"
- "org.bukkit.event.block.LeavesDecayEvent"
- "org.bukkit.event.block.BlockPistonExtendEvent"
- "org.bukkit.event.block.BlockPistonRetractEvent"
- "org.bukkit.event.entity.EntityChangeBlockEvent"
- "org.bukkit.event.world.StructureGrowEvent"