From 307f13cfda116c4cbe24bee58da5a5bbeead33b8 Mon Sep 17 00:00:00 2001 From: SrJuggernaut Date: Fri, 17 Oct 2025 12:32:58 -0600 Subject: [PATCH] chore: initial config --- .gitignore | 3 + compose.yaml | 27 +++ config/paper-global.yml | 143 ++++++++++++++ config/paper-world-defaults.yml | 318 ++++++++++++++++++++++++++++++++ 4 files changed, 491 insertions(+) create mode 100644 .gitignore create mode 100644 compose.yaml create mode 100644 config/paper-global.yml create mode 100644 config/paper-world-defaults.yml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..cdae133 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.env + +archive \ No newline at end of file diff --git a/compose.yaml b/compose.yaml new file mode 100644 index 0000000..e0bc49e --- /dev/null +++ b/compose.yaml @@ -0,0 +1,27 @@ +services: + paper: + image: itzg/minecraft-server:java21-alpine + restart: unless-stopped + env_file: + - .env + volumes: + - server-data:/data + # - ./data:/data + - ./config:/config + ports: + - 25565:25565 + labels: + - docker-volume-backup.stop-during-backup=minecraft + + backup: + image: offen/docker-volume-backup:latest + restart: unless-stopped + volumes: + - /var/run/docker.sock:/var/run/docker.sock:ro + - server-data:/backup/server-data + - ./archive:/archive + env_file: + - .env + +volumes: + server-data: \ No newline at end of file diff --git a/config/paper-global.yml b/config/paper-global.yml new file mode 100644 index 0000000..e15ea50 --- /dev/null +++ b/config/paper-global.yml @@ -0,0 +1,143 @@ +# This is the global configuration file for Paper. +# As you can see, there's a lot to configure. Some options may impact gameplay, so use +# with caution, and make sure you know what each option does before configuring. +# +# If you need help with the configuration or have any questions related to Paper, +# join us in our Discord or check the docs page. +# +# The world configuration options have been moved inside +# their respective world folder. The files are named paper-world.yml +# +# File Reference: https://docs.papermc.io/paper/reference/global-configuration/ +# Docs: https://docs.papermc.io/ +# Discord: https://discord.gg/papermc +# Website: https://papermc.io/ + +_version: 31 +anticheat: + obfuscation: + items: + all-models: + also-obfuscate: [] + dont-obfuscate: + - minecraft:lodestone_tracker + sanitize-count: true + enable-item-obfuscation: false + model-overrides: + minecraft:elytra: + also-obfuscate: [] + dont-obfuscate: + - minecraft:damage + sanitize-count: true +block-updates: + disable-chorus-plant-updates: false + disable-mushroom-block-updates: false + disable-noteblock-updates: false + disable-tripwire-updates: false +chunk-loading-advanced: + auto-config-send-distance: true + player-max-concurrent-chunk-generates: 0 + player-max-concurrent-chunk-loads: 0 +chunk-loading-basic: + player-max-chunk-generate-rate: -1.0 + player-max-chunk-load-rate: 100.0 + player-max-chunk-send-rate: 75.0 +chunk-system: + io-threads: -1 + worker-threads: -1 +collisions: + enable-player-collisions: true + send-full-pos-for-hard-colliding-entities: true +commands: + ride-command-allow-player-as-vehicle: false + suggest-player-names-when-null-tab-completions: true + time-command-affects-all-worlds: false +console: + enable-brigadier-completions: true + enable-brigadier-highlighting: true + has-all-permissions: false +item-validation: + book: + author: 8192 + page: 16384 + title: 8192 + book-size: + page-max: 2560 + total-multiplier: 0.98 + display-name: 8192 + lore-line: 8192 + resolve-selectors-in-books: false +logging: + deobfuscate-stacktraces: true +messages: + kick: + authentication-servers-down: + connection-throttle: Connection throttled! Please wait before reconnecting. + flying-player: + flying-vehicle: + no-permission: I'm sorry, but you do not have permission to perform this command. + Please contact the server administrators if you believe that this is in error. + use-display-name-in-quit-message: false +misc: + chat-threads: + chat-executor-core-size: -1 + chat-executor-max-size: -1 + client-interaction-leniency-distance: default + compression-level: default + enable-nether: true + load-permissions-yml-before-plugins: true + max-joins-per-tick: 5 + prevent-negative-villager-demand: false + region-file-cache-size: 256 + send-full-pos-for-item-entities: false + strict-advancement-dimension-check: false + use-alternative-luck-formula: false + use-dimension-type-for-custom-spawners: false + xp-orb-groups-per-area: default +packet-limiter: + all-packets: + action: KICK + interval: 7.0 + max-packet-rate: 500.0 + kick-message: + overrides: + minecraft:place_recipe: + action: DROP + interval: 4.0 + max-packet-rate: 5.0 +player-auto-save: + max-per-tick: -1 + rate: -1 +proxies: + bungee-cord: + online-mode: true + proxy-protocol: false + velocity: + enabled: false + online-mode: true + secret: '' +scoreboards: + save-empty-scoreboard-teams: true + track-plugin-scoreboards: false +spam-limiter: + incoming-packet-threshold: 300 + recipe-spam-increment: 1 + recipe-spam-limit: 20 + tab-spam-increment: 1 + tab-spam-limit: 500 +spark: + enable-immediately: false + enabled: true +unsupported-settings: + allow-headless-pistons: false + allow-permanent-block-break-exploits: false + allow-piston-duplication: false + allow-unsafe-end-portal-teleportation: false + compression-format: ZLIB + perform-username-validation: true + skip-tripwire-hook-placement-validation: false + skip-vanilla-damage-tick-when-shield-blocked: false + update-equipment-on-player-actions: true +watchdog: + early-warning-delay: 10000 + early-warning-every: 5000 diff --git a/config/paper-world-defaults.yml b/config/paper-world-defaults.yml new file mode 100644 index 0000000..46c6276 --- /dev/null +++ b/config/paper-world-defaults.yml @@ -0,0 +1,318 @@ +# This is the world defaults configuration file for Paper. +# As you can see, there's a lot to configure. Some options may impact gameplay, so use +# with caution, and make sure you know what each option does before configuring. +# +# If you need help with the configuration or have any questions related to Paper, +# join us in our Discord or check the docs page. +# +# Configuration options here apply to all worlds, unless you specify overrides inside +# the world-specific config file inside each world folder. +# +# File Reference: https://docs.papermc.io/paper/reference/world-configuration/ +# Docs: https://docs.papermc.io/ +# Discord: https://discord.gg/papermc +# Website: https://papermc.io/ + +_version: 31 +anticheat: + anti-xray: + enabled: true + engine-mode: 3 + hidden-blocks: + - copper_ore + - deepslate_copper_ore + - raw_copper_block + - gold_ore + - deepslate_gold_ore + - iron_ore + - deepslate_iron_ore + - raw_iron_block + - coal_ore + - deepslate_coal_ore + - lapis_ore + - deepslate_lapis_ore + - mossy_cobblestone + - obsidian + - chest + - diamond_ore + - deepslate_diamond_ore + - redstone_ore + - deepslate_redstone_ore + - clay + - emerald_ore + - deepslate_emerald_ore + - ender_chest + lava-obscures: false + max-block-height: 64 + replacement-blocks: + - stone + - deepslate + update-radius: 2 + use-permission: false +chunks: + auto-save-interval: default + delay-chunk-unloads-by: 10s + entity-per-chunk-save-limit: + arrow: -1 + ender_pearl: -1 + experience_orb: -1 + fireball: -1 + small_fireball: -1 + snowball: -1 + fixed-chunk-inhabited-time: -1 + flush-regions-on-save: false + max-auto-save-chunks-per-tick: 24 + prevent-moving-into-unloaded-chunks: false +collisions: + allow-player-cramming-damage: false + allow-vehicle-collisions: true + fix-climbing-bypassing-cramming-rule: false + max-entity-collisions: 8 + only-players-collide: false +command-blocks: + force-follow-perm-level: true + permissions-level: 2 +entities: + armor-stands: + do-collision-entity-lookups: true + tick: true + behavior: + allow-spider-world-border-climbing: true + baby-zombie-movement-modifier: 0.5 + cooldown-failed-beehive-releases: true + disable-chest-cat-detection: false + disable-creeper-lingering-effect: false + disable-player-crits: false + door-breaking-difficulty: + husk: + - HARD + vindicator: + - NORMAL + - HARD + zombie: + - HARD + zombie_villager: + - HARD + zombified_piglin: + - HARD + ender-dragons-death-always-places-dragon-egg: false + experience-merge-max-value: -1 + mobs-can-always-pick-up-loot: + skeletons: false + zombies: false + nerf-pigmen-from-nether-portals: false + only-merge-items-horizontally: false + parrots-are-unaffected-by-player-movement: false + phantoms-do-not-spawn-on-creative-players: true + phantoms-only-attack-insomniacs: true + phantoms-spawn-attempt-max-seconds: 119 + phantoms-spawn-attempt-min-seconds: 60 + piglins-guard-chests: true + pillager-patrols: + disable: false + spawn-chance: 0.2 + spawn-delay: + per-player: false + ticks: 12000 + start: + day: 5 + per-player: false + player-insomnia-start-ticks: 72000 + should-remove-dragon: false + spawner-nerfed-mobs-should-jump: false + stuck-entity-poi-retry-delay: 200 + zombie-villager-infection-chance: default + zombies-target-turtle-eggs: true + markers: + tick: true + mob-effects: + immune-to-wither-effect: + wither: true + wither-skeleton: true + spiders-immune-to-poison-effect: true + sniffer: + boosted-hatch-time: default + hatch-time: default + spawning: + all-chunks-are-slime-chunks: false + alt-item-despawn-rate: + enabled: false + items: + cobblestone: 300 + count-all-mobs-for-spawning: false + creative-arrow-despawn-rate: default + despawn-range-shape: ELLIPSOID + despawn-ranges: + ambient: + hard: default + soft: default + axolotls: + hard: default + soft: default + creature: + hard: default + soft: default + misc: + hard: default + soft: default + monster: + hard: default + soft: default + underground_water_creature: + hard: default + soft: default + water_ambient: + hard: default + soft: default + water_creature: + hard: default + soft: default + despawn-time: + llama_spit: disabled + snowball: disabled + disable-mob-spawner-spawn-egg-transformation: false + duplicate-uuid: + mode: SAFE_REGEN + safe-regen-delete-range: 32 + filter-bad-tile-entity-nbt-from-falling-blocks: true + filtered-entity-tag-nbt-paths: + - Pos + - Motion + - sleeping_pos + iron-golems-can-spawn-in-air: false + monster-spawn-max-light-level: default + non-player-arrow-despawn-rate: default + per-player-mob-spawns: true + scan-for-legacy-ender-dragon: true + skeleton-horse-thunder-spawn-chance: default + slime-spawn-height: + slime-chunk: + maximum: 40.0 + surface-biome: + maximum: 70.0 + minimum: 50.0 + spawn-limits: + ambient: -1 + axolotls: -1 + creature: -1 + monster: -1 + underground_water_creature: -1 + water_ambient: -1 + water_creature: -1 + ticks-per-spawn: + ambient: -1 + axolotls: -1 + creature: -1 + monster: -1 + underground_water_creature: -1 + water_ambient: -1 + water_creature: -1 + wandering-trader: + spawn-chance-failure-increment: 25 + spawn-chance-max: 75 + spawn-chance-min: 25 + spawn-day-length: 24000 + spawn-minute-length: 1200 + wateranimal-spawn-height: + maximum: default + minimum: default + tracking-range-y: + animal: default + display: default + enabled: false + misc: default + monster: default + other: default + player: default +environment: + disable-explosion-knockback: false + disable-ice-and-snow: false + disable-thunder: false + fire-tick-delay: 30 + frosted-ice: + delay: + max: 40 + min: 20 + enabled: true + generate-flat-bedrock: false + locate-structures-outside-world-border: false + max-block-ticks: 65536 + max-fluid-ticks: 65536 + nether-ceiling-void-damage-height: disabled + optimize-explosions: false + portal-create-radius: 16 + portal-search-radius: 128 + portal-search-vanilla-dimension-scaling: true + treasure-maps: + enabled: true + find-already-discovered: + loot-tables: default + villager-trade: false + void-damage-amount: 4.0 + void-damage-min-build-height-offset: -64.0 + water-over-lava-flow-speed: 5 +feature-seeds: + generate-random-seeds-for-all: false +fishing-time-range: + maximum: 600 + minimum: 100 +fixes: + disable-unloaded-chunk-enderpearl-exploit: false + falling-block-height-nerf: disabled + fix-items-merging-through-walls: false + prevent-tnt-from-moving-in-water: false + split-overstacked-loot: true + tnt-entity-height-nerf: disabled +hopper: + cooldown-when-full: true + disable-move-event: false + ignore-occluding-blocks: false +lootables: + auto-replenish: false + max-refills: -1 + refresh-max: 2d + refresh-min: 12h + reset-seed-on-fill: true + restrict-player-reloot: true + restrict-player-reloot-time: disabled + retain-unlooted-shulker-box-loot-table-on-non-player-break: true +maps: + item-frame-cursor-limit: 128 + item-frame-cursor-update-interval: 10 +max-growth-height: + bamboo: + max: 16 + min: 11 + cactus: 3 + reeds: 3 +misc: + allow-remote-ender-dragon-respawning: false + alternate-current-update-order: HORIZONTAL_FIRST_OUTWARD + disable-end-credits: false + disable-relative-projectile-velocity: false + disable-sprint-interruption-on-attack: false + legacy-ender-pearl-behavior: false + max-leash-distance: default + redstone-implementation: VANILLA + show-sign-click-command-failure-msgs-to-player: false + update-pathfinding-on-block-update: true +scoreboards: + allow-non-player-entities-on-scoreboards: true + use-vanilla-world-scoreboard-name-coloring: false +spawn: + allow-using-signs-inside-spawn-protection: false +tick-rates: + behavior: + villager: + validatenearbypoi: -1 + container-update: 1 + dry-farmland: 1 + grass-spread: 1 + mob-spawner: 1 + sensor: + villager: + secondarypoisensor: 40 + wet-farmland: 1 +unsupported-settings: + disable-world-ticking-when-empty: false + fix-invulnerable-end-crystal-exploit: true