server optimization

s8114st optimizations

We highly recommend using Purpur Software and implementing these new configurations for your server to ensure optimal performance and efficiency.
Last updated: 2024-04-04 (1.20.4)

Recommended Pterodactyl Server Startup Flags
java -Xms128M -Xmx{{SERVER_MEMORY}}M -XX:MaxRAMPercentage=90.0 -XX:+UseContainerSupport -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 --add-modules=jdk.incubator.vector -Dusing.aikars.flags=https://mcflags.emc.gs -Dterminal.jline=false -Dterminal.ansi=true -Daikars.new.flags=true -jar {{SERVER_JARFILE}}
      
spigot.yml
      # This is the main configuration file for Spigot.
      # As you can see, there's tons to configure. Some options may impact gameplay, so use
      # with caution, and make sure you know what each option does before configuring.
      # For a reference for any variable inside this file, check out the Spigot wiki at
      # http://www.spigotmc.org/wiki/spigot-configuration/
      #
      # If you need help with the configuration or have any questions related to Spigot,
      # join us at the Discord or drop by our forums and leave a post.
      #
      # Discord: https://www.spigotmc.org/go/discord
      # Forums: http://www.spigotmc.org/

      messages:
        whitelist: You are not whitelisted on this server!
        unknown-command: Unknown command. Type "/help" for help.
        server-full: The server is full!
        outdated-client: Outdated client! Please use {0}
        outdated-server: Outdated server! I'm still on {0}
        restart: Server is restarting
      advancements:
        disable-saving: false
        disabled:
        - minecraft:story/disabled
      world-settings:
        default:
          below-zero-generation-in-existing-chunks: true
          view-distance: default
          simulation-distance: default
          thunder-chance: 100000
          merge-radius:
            item: 4.0
            exp: 5.0
          mob-spawn-range: 8
          item-despawn-rate: 2000
          arrow-despawn-rate: 400
          trident-despawn-rate: 600
          zombie-aggressive-towards-villager: true
          nerf-spawner-mobs: true
          enable-zombie-pigmen-portal-spawns: true
          wither-spawn-sound-radius: 0
          end-portal-sound-radius: 0
          hanging-tick-frequency: 100
          growth:
            cactus-modifier: 100
            cane-modifier: 100
            melon-modifier: 100
            mushroom-modifier: 100
            pumpkin-modifier: 100
            sapling-modifier: 100
            beetroot-modifier: 100
            carrot-modifier: 100
            potato-modifier: 100
            torchflower-modifier: 100
            wheat-modifier: 100
            netherwart-modifier: 100
            vine-modifier: 100
            cocoa-modifier: 100
            bamboo-modifier: 100
            sweetberry-modifier: 100
            kelp-modifier: 100
            twistingvines-modifier: 100
            weepingvines-modifier: 100
            cavevines-modifier: 100
            glowberry-modifier: 100
            pitcherplant-modifier: 100
          entity-activation-range:
            animals: 32
            monsters: 32
            raiders: 48
            misc: 16
            water: 16
            villagers: 32
            flying-monsters: 32
            wake-up-inactive:
              animals-max-per-tick: 4
              animals-every: 1200
              animals-for: 100
              monsters-max-per-tick: 8
              monsters-every: 400
              monsters-for: 100
              villagers-max-per-tick: 4
              villagers-every: 600
              villagers-for: 100
              flying-monsters-max-per-tick: 8
              flying-monsters-every: 200
              flying-monsters-for: 100
            villagers-work-immunity-after: 100
            villagers-work-immunity-for: 20
            villagers-active-for-panic: true
            tick-inactive-villagers: true
            ignore-spectators: false
          entity-tracking-range:
            players: 48
            animals: 48
            monsters: 48
            misc: 32
            display: 128
            other: 64
          ticks-per:
            hopper-transfer: 8
            hopper-check: 1
          hopper-amount: 1
          hopper-can-load-chunks: false
          dragon-death-sound-radius: 0
          seed-village: 10387312
          seed-desert: 14357617
          seed-igloo: 14357618
          seed-jungle: 14357619
          seed-swamp: 14357620
          seed-monument: 10387313
          seed-shipwreck: 165745295
          seed-ocean: 14357621
          seed-outpost: 165745296
          seed-endcity: 10387313
          seed-slime: 987234911
          seed-nether: 30084232
          seed-mansion: 10387319
          seed-fossil: 14357921
          seed-portal: 34222645
          seed-ancientcity: 20083232
          seed-trailruins: 83469867
          seed-trialchambers: 94251327
          seed-buriedtreasure: 10387320
          seed-mineshaft: default
          seed-stronghold: default
          hunger:
            jump-walk-exhaustion: 0.05
            jump-sprint-exhaustion: 0.2
            combat-exhaustion: 0.1
            regen-exhaustion: 6.0
            swim-multiplier: 0.01
            sprint-multiplier: 0.1
            other-multiplier: 0.0
          max-tnt-per-tick: 100
          max-tick-time:
            tile: 50
            entity: 50
          verbose: false
      settings:
        timeout-time: 60
        restart-on-crash: true
        restart-script: ./start.sh
        save-user-cache-on-stop-only: false
        sample-count: 12
        bungeecord: false
        player-shuffle: 0
        user-cache-size: 1000
        moved-wrongly-threshold: 0.0625
        moved-too-quickly-multiplier: 10.0
        netty-threads: 4
        attribute:
          maxHealth:
            max: 2048.0
          movementSpeed:
            max: 2048.0
          attackDamage:
            max: 2048.0
        log-villager-deaths: true
        log-named-deaths: true
        debug: false
      commands:
        spam-exclusions: []
        silent-commandblock-console: false
        replace-commands:
        - setblock
        - summon
        - testforblock
        - tellraw
        log: true
        tab-complete: 0
        send-namespaced: true
      players:
        disable-saving: false
      config-version: 12
      stats:
        disable-saving: false
        forced-stats: {}
    
server.properties
      #Minecraft server properties
      #Sun Feb 25 14:49:25 UTC 2024
      view-distance=8
      entity-broadcast-range-percentage=90
      simulation-distance=6
    
bukkit.yml
      settings:
        allow-end: true
        warn-on-overload: true
        permissions-file: permissions.yml
        update-folder: update
        plugin-profiling: false
        connection-throttle: 4000
        query-plugins: true
        deprecated-verbose: default
        shutdown-message: Server closed
        minimum-api: none
        use-map-color-cache: true
      spawn-limits:
        monsters: 20
        animals: 15
        water-animals: 5
        water-ambient: 5
        water-underground-creature: 5
        axolotls: 5
        ambient: 8
      chunk-gc:
        period-in-ticks: 600
      ticks-per:
        animal-spawns: 400
        monster-spawns: 2
        water-spawns: 1
        water-ambient-spawns: 1
        water-underground-creature-spawns: 1
        axolotl-spawns: 1
        ambient-spawns: 1
        autosave: 6000
      aliases: now-in-commands.yml
    
config/paper-global.yml
      # 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
      # 
      # Docs: https://docs.papermc.io/
      # Discord: https://discord.gg/papermc
      # Website: https://papermc.io/

      _version: 29
      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:
        gen-parallelism: default
        io-threads: -1
        worker-threads: -1
      collisions:
        enable-player-collisions: true
        send-full-pos-for-hard-colliding-entities: true
      commands:
        fix-target-selector-tag-completion: true
        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
        compression-level: default
        fix-entity-position-desync: true
        load-permissions-yml-before-plugins: true
        max-joins-per-tick: 5
        region-file-cache-size: 256
        strict-advancement-dimension-check: false
        use-alternative-luck-formula: false
        use-dimension-type-for-custom-spawners: false
      packet-limiter:
        all-packets:
          action: KICK
          interval: 7.0
          max-packet-rate: 500.0
        kick-message: 
        overrides:
          ServerboundPlaceRecipePacket:
            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: false
          secret: ''
      scoreboards:
        save-empty-scoreboard-teams: false
        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
      timings:
        enabled: false
        hidden-config-entries:
        - database
        - proxies.velocity.secret
        history-interval: 300
        history-length: 3600
        server-name: Unknown Server
        server-name-privacy: false
        url: https://timings.aikar.co/
        verbose: true
      unsupported-settings:
        allow-grindstone-overstacking: false
        allow-headless-pistons: false
        allow-permanent-block-break-exploits: false
        allow-piston-duplication: false
        compression-format: ZLIB
        perform-username-validation: true
      watchdog:
        early-warning-delay: 10000
        early-warning-every: 5000
    
config/paper-world-defaults.yml
      # 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.
      # 
      # Docs: https://docs.papermc.io/
      # Discord: https://discord.gg/papermc
      # Website: https://papermc.io/

      _version: 30
      anticheat:
        anti-xray:
          enabled: false
          engine-mode: 1
          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
          - oak_planks
          - deepslate
          update-radius: 2
          use-permission: false
        obfuscation:
          items:
            hide-durability: false
            hide-itemmeta: false
            hide-itemmeta-with-visual-effects: 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: 8
        prevent-moving-into-unloaded-chunks: true
      collisions:
        allow-player-cramming-damage: false
        allow-vehicle-collisions: true
        fix-climbing-bypassing-cramming-rule: true
        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: false
        behavior:
          allow-spider-world-border-climbing: true
          baby-zombie-movement-modifier: 0.5
          disable-chest-cat-detection: true
          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
          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: true
          zombie-villager-infection-chance: default
          zombies-target-turtle-eggs: true
        entities-target-with-follow-range: false
        markers:
          tick: true
        mob-effects:
          immune-to-wither-effect:
            wither: true
            wither-skeleton: true
          spiders-immune-to-poison-effect: true
          undead-immune-to-certain-effects: true
        sniffer:
          boosted-hatch-time: default
          hatch-time: default
        spawning:
          all-chunks-are-slime-chunks: false
          alt-item-despawn-rate:
            enabled: true
            items:
              cobblestone: 300
              netherrack: 300
              sand: 300
              red_sand: 300
              gravel: 300
              dirt: 300
              short_grass: 300
              pumpkin: 300
              melon_slice: 300
              kelp: 300
              bamboo: 300
              sugar_cane: 300
              twisting_vines: 300
              weeping_vines: 300
              oak_leaves: 300
              spruce_leaves: 300
              birch_leaves: 300
              jungle_leaves: 300
              acacia_leaves: 300
              dark_oak_leaves: 300
              mangrove_leaves: 300
              cactus: 300
              diorite: 300
              granite: 300
              andesite: 300
              scaffolding: 600
          count-all-mobs-for-spawning: false
          creative-arrow-despawn-rate: default
          despawn-ranges:
            ambient:
              hard: 56
              soft: 32
            axolotls:
              hard: 56
              soft: 32
            creature:
              hard: 56
              soft: 32
            misc:
              hard: 56
              soft: 32
            monster:
              hard: 56
              soft: 32
            underground_water_creature:
              hard: 56
              soft: 32
            water_ambient:
              hard: 56
              soft: 32
            water_creature:
              hard: 56
              soft: 32
          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
          - SleepingX
          - SleepingY
          - SleepingZ
          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
          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-teleportation-suffocation-check: false
        disable-thunder: false
        fire-tick-delay: 30
        frosted-ice:
          delay:
            max: 40
            min: 20
          enabled: true
        generate-flat-bedrock: false
        nether-ceiling-void-damage-height: disabled
        optimize-explosions: true
        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
        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: true
        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
      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:
        disable-end-credits: false
        disable-relative-projectile-velocity: false
        disable-sprint-interruption-on-attack: false
        light-queue-size: 20
        max-leash-distance: 10.0
        redstone-implementation: ALTERNATE_CURRENT
        shield-blocking-delay: 5
        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
        keep-spawn-loaded: true
        keep-spawn-loaded-range: 10
      tick-rates:
        behavior:
          villager:
            validatenearbypoi: -1
        container-update: 1
        dry-farmland: 1
        grass-spread: 3
        mob-spawner: 2
        sensor:
          villager:
            secondarypoisensor: 40
        wet-farmland: 1
      unsupported-settings:
        fix-invulnerable-end-crystal-exploit: true
          
pufferfish.yml
            # Pufferfish Configuration
            # Check out Pufferfish Host for maximum performance server hosting: https://pufferfish.host
            # Join our Discord for support: https://discord.gg/reZw4vQV9H
            # Download new builds at https://ci.pufferfish.host/job/Pufferfish
            info:
              version: '1.0'
            inactive-goal-selector-throttle: false
            # Settings for things that don't belong elsewhere
            misc:
              disable-method-profiler: true
              disable-out-of-order-chat: false
            # These values define a entity's maximum lifespan. If an
            # entity is in this list and it has survived for longer than
            # that number of ticks, then it will be removed. Setting a value to
            # -1 disables this feature.
            entity_timeouts:
              SNOWBALL: -1
              LLAMA_SPIT: -1
            enable-books: true
            enable-suffocation-optimization: true
            enable-async-mob-spawning: true
            # Optimizes projectile settings
            projectile:
              max-loads-per-tick: 8
              max-loads-per-projectile: 8
            # Optimizes entity brains when
            # they're far away from the player
            dab:
              enabled: true
              start-distance: 12
              max-tick-freq: 20
              activation-dist-mod: 7
              blacklisted-entities: []
            tps-catchup: true
            allow-end-crystal-respawn: true
            sentry-dsn: ''
          
purpur.yml
            # This is the main configuration file for Purpur.
            # s8114st systems - Please change these yourself on the purpur.yml file

            use-alternate-keepalive=true