Spigot Configuration (spigot.yml)

Oct 10, 2017
Spigot Configuration (spigot.yml)
  • Spigot Configuration

    The guide to configuring the spigot.yml file



    The spigot.yml file serves to provide greater customization and configuration of the many different features of Spigot. This file is used in conjunction with the bukkit.yml file, so it is normal to see both files in your server's root directory. There are several different options to customize Spigot in a way that best suits your server, and each setting is documented below.​


    Commands(top)


    tab-complete
    Above #1368:
    Default: 0
    Type: Integer
    Description: You can now specify how many letters of the command must be typed before it will be tab completed this will help deter people from just spamming round all the commands to see if there is one incorrectly set up.
    0 will tab complete all commands
    -1 will disable tab completely
    1 will mean you have to type the first letter
    2 will mean you have to type the second letter... etc...

    Below #1368:
    Default: true
    Type: Boolean
    Description: Controls whether or not a player should be allowed to press the TAB key to auto-complete commands. If enabled, this may pose somewhat of a security risk, as a player will be able to view all registered commands when typing in / and then pressing TAB.

    silent-commandblock-console
    Default: false
    Type: Boolean
    Description: Controls whether or not to allow commandblock output to console.

    log
    Default: true
    Type: Boolean
    Description: Controls whether or not to print player commands to console/log which will be saved in your logs folder in your servers directory.

    replace-commands
    Default: [setblock, summon, testforblock]
    Type: List
    Description: Disables Bukkit's implementations of the listed commands and enables original, vanilla behavior of them.

    Messages(top)

    In order to apply color codes to these messages, use the '&' symbol, followed by the appropriate number or letter. To create new lines, use '\n'.
    whitelist
    Default: "You are not whitelisted on this server!"
    Type: String
    Description: When whitelist mode is enabled, this is the message that will be displayed to all un-whitelisted users upon connection. You can add people to your whitelist by /whitelist add {username}

    unknown-command
    Default: "Unknown command. Type "help" for help."
    Type: String
    Description: this is the message that will be displayed in the chat if a player types in a command that is not registered/non-existent.

    server-full
    Default: "The server is full!"
    Type: String
    Description: When the server is "full" (player count matches your maximum slots), this is the message that will be displayed to players that are kicked/denied to join until more slots open up.

    outdated-client
    Default: "Outdated client! Please use {}"
    Type: String
    Description: Message that will be displayed to joining players with an older version of Minecraft than your server. {} will be replaced with the server's current version.

    outdated-server
    Default: "Outdated server! I'm still on {0}"
    Type: String
    Description: This is the message that will be displayed to joining players with a newer version of Minecraft than your server. {0} will replaced with the server's current version.

    restart
    Default: "Server is restarting"
    Type: String
    Description: This is the message that will be displayed to all connected players after a server restart is triggered through the /restart command.

    Stats(top)

    disable-saving
    Default: false
    Type: Boolean
    Description: If enabled, then the server will not save player statistics or achievements. It is recommended to force 'achievement.openInventory' (by setting it to 1) to prevent the achievement from freezing on the player's screen.

    forced-stats
    Default: {}
    Type: Map
    Description: A map of statistics and the values they should be forced to.
    For instance, this snippet will automatically grant everyone the openInventory achievement, but will not notify players through chat or achievement box:
    Code (Example):
    forced-stats:
      achievement.openInventory: 1

    Advancements(top)

    disable-saving
    Default: false
    Type: Boolean
    Description: If enabled, the server will not save player advancements that were introduced in 1.12.

    disabled
    Default: []
    Type: List
    Description: A list of disabled advancements. Advancements on this list are unobtainable in the game and will not be shown in the advancement GUI, accessible through the 'advancement' button when pressing escape or when pressing the key bound to open this menu (default = L). Disabling an advancement will lead to errors in the console if all advancements that are children of this advancement are not also disabled. To disable all of the advancements, paste the following list into this option.

    Code (Text):
      disabled:
      - minecraft:story/root
      - minecraft:nether/root
      - minecraft:end/root
      - minecraft:adventure/root
      - minecraft:husbandry/root
      - minecraft:story/shiny_gear
      - minecraft:end/elytra
      - minecraft:adventure/summon_iron_golem
      - minecraft:husbandry/break_diamond_hoe
      - minecraft:story/obtain_armor
      - minecraft:nether/return_to_sender
      - minecraft:adventure/sleep_in_bed
      - minecraft:story/lava_bucket
      - minecraft:end/dragon_breath
      - minecraft:end/kill_dragon
      - minecraft:adventure/kill_all_mobs
      - minecraft:story/enchant_item
      - minecraft:nether/all_potions
      - minecraft:story/follow_ender_eye
      - minecraft:husbandry/tame_an_animal
      - minecraft:nether/create_beacon
      - minecraft:story/deflect_arrow
      - minecraft:story/iron_tools
      - minecraft:adventure/totem_of_undying
      - minecraft:adventure/kill_a_mob
      - minecraft:adventure/adventuring_time
      - minecraft:nether/brew_potion
      - minecraft:husbandry/plant_seed
      - minecraft:end/dragon_egg
      - minecraft:adventure/sniper_duel
      - minecraft:end/levitate
      - minecraft:nether/create_full_beacon
      - minecraft:nether/summon_wither
      - minecraft:husbandry/balanced_diet
      - minecraft:nether/all_effects
      - minecraft:nether/fast_travel
      - minecraft:nether/get_wither_skull
      - minecraft:husbandry/bred_all_animals
      - minecraft:story/mine_stone
      - minecraft:story/enter_the_nether
      - minecraft:adventure/trade
      - minecraft:nether/uneasy_alliance
      - minecraft:story/mine_diamond
      - minecraft:story/upgrade_tools
      - minecraft:nether/find_fortress
      - minecraft:story/cure_zombie_villager
      - minecraft:story/form_obsidian
      - minecraft:end/find_end_city
      - minecraft:end/enter_end_gateway
      - minecraft:nether/obtain_blaze_rod
      - minecraft:adventure/shoot_arrow
      - minecraft:story/enter_the_end
      - minecraft:husbandry/breed_an_animal
      - minecraft:end/respawn_dragon
      - minecraft:story/smelt_iron

    Main, ungrouped settings(top)

    netty-threads
    Default: 4
    Type: Integer
    Description: Controls the amount of threads Netty will use to perform networking.

    bungeecord
    Default: false
    Type: Boolean
    Description: Toggles the various BungeeCord-only features. This includes IP whitelisting (this should not be treated as a complete solution, rather, an extra layer of security, you still need to setup IPTables!) and pass-through IPs (so that servers will be able to see a player's true IP).

    timeout-time
    Default: 60
    Type: Integer
    Description: How long - in seconds - the server should go unresponsive before performing a thread dump in the console and, if configured, attempt to shut down and restart.

    restart-on-crash
    Default: true
    Type: Boolean
    Description: Controls whether or not the server will automatically attempt to restart your server when a crash occurs.

    restart-script
    Default: ./start.sh
    Type: String(File path)
    Description: The location for your server's startup script. This path will be used for the /restart command and for the restart-on-crash option.

    late-bind
    Default: false
    Type: Boolean
    Description: This delays players from entering the server until all plugins are loaded. Please note, it is advised to test this before putting it into practice as there may be problems with some plugins.

    sample-count
    Default: 12
    Type: Integer
    Description: Controls the amount of (randomly chosen) sample players shown when hovering over the player count in the client's server list.

    player-shuffle
    Default: 0
    Type: Integer
    Description: This prevents players from 'gaming' the server, and strategically relogging to increase their position in the tick order. Basically, players' packets are processed in order depending on when they joined, relogging changes your position in queue meaning your actions happen before others. Enabling this prevents the relogger from having the advantage. Useful for PVP servers.
    The value is in ticks, so 20 = shuffle every second. Setting this option lower than 100 may cause performance issues (0 is fine though).

    filter-creative-items
    Default: true
    Type: Boolean
    Description: Controls the vanilla blacklist of items a creative player cannot spawn.

    user-cache-size
    Default: 1000
    Type: Integer
    Description: Controls the size cap of usercache.json

    save-user-cache-on-stop-only
    Default: false
    Type: Boolean
    Description: Toggles whether or not to constantly save new usercache data to disk or only to do so when the server stops.

    int-cache-limit
    Default: 1024
    Type: Integer
    Description: This prevents unbounded growth of the integer cache and instead caps it to a value specified in the configuration (1024 by default). Should prevent thrashing, especially around world generation.

    moved-wrongly-threshold
    Default: 0.0625
    Type: Decimal
    Description: Controls the threshold for the "moved wrongly" check. Increasing this number may reduce the amount of rubber-banding on the server but could potentially be abused by players as well.

    moved-too-quickly-multiplier
    Default: 10
    Type: Decimal
    Description: Controls the multiplier for the "moved too quickly" check. This is effectively the maximum speed the server will allow a player to move. This can cause problems in certain cases, for example large TNT cannons.

    global-api-cache
    Default: false
    Type: Boolean
    Description: Causes all requests made on Mojang's username -> uuid API to be cached by Spigot as much as possible

    item-dirty-ticks
    Default: 20
    Type: Integer
    Description: Controls the interval for the item-dirty check. Minecraft checks an item every tick to see if it was changed. This can be expensive because it also needs to check all nbt data. Spigot only checks for basic count/data/type data and does a deep check every 20 ticks by default.

    Per-world settings(top)

    To apply these per-world, add a new section under world-settings with the world directory's folder name.
    verbose
    Default: true
    Type: Boolean
    Description: Whether or not to show the detailed report and configuration for each world in console/log on server startup. Can be disabled/enabled globally or per-world.

    view-distance
    Default: 10
    Type: Integer
    Description: Controls the amount of chunks that will be loaded around every player. This value cannot be higher than 15 or lower than 1. Lowering this can lower the load on servers if you have a large amount of players online.

    merge-radius:
    ↳ exp
    Default: 3.0
    Type: Integer
    Description: Controls the range - in blocks - which experience orbs will "group" together when on the ground.

    ↳ item
    Default: 2.5
    Type: Integer
    Description: Controls the range - in blocks - which items will "group" together when on the ground.​

    chunks-per-tick
    Default: 650
    Type: Integer
    Description: Controls the amount of chunks that will be updated for growth per tick. Lowering this will potentially make growth slower while saving resources, and vice versa.
    Versions: Before Spigot 1.9

    item-despawn-rate
    Default: 6000
    Type: Integer
    Description: Controls the amount of ticks required before an item entity on the ground will despawn. Lowering this will make items de-spawn faster (potentially saving resources as there are less entities to tick), while increasing this will take them longer to de-spawn and use up more resources (as the item entities will have to be ticked for longer until they de-spawn).

    mob-spawn-range
    Default: 4
    Type: Integer
    Description: Radius in chunks around the player in which mobs will spawn. Increasing it will make mobs seem more rare and dispersed, although lowering it may prevent certain spawns as there is not enough spots in which they are allowed to spawn in. See the Minecraft spawn mechanics for more information.

    growth:
    x-modifier
    where x = cactus, melon, pumpkin, sapling, cane, mushroom, wheat
    Default: 100
    Type: Integer
    Description: Controls the speed of growth for each crop/resource as listed above. When at the default value (100), they will grow at 'vanilla' speed, but may appear slower due to other settings (chunks-per-tick).
    Does not improve performance to change these values. You should only change these away from 100 if you want to change the gameplay behavior of crop growth, and never change this for performance.

    entity-activation-range
    Default: (animals: 32, monsters: 32, misc: 16)
    Type: Integer
    Description: Controls the range in blocks that entities will become "activated" - entities outside of this range will tick at a reduced rate to prevent server lag. When changed, these numbers can adversely affect gameplay, so edit with caution.
    Lowering these values can give a major boost to performance, but at the cost of affecting gameplay behavior. Lowering these might impact item and monster farms, but should have little impact to normal behavior.

    entity-tracking-range
    Default: (players: 48, animals: 48, monsters: 48, misc: 32, other: 64)
    Type: Integer
    Description: Controls the range in blocks that entities will become "visible" or otherwise known as "tracked" to the client. Entities outside of this range will be invisible as they are not being rendered to preserve CPU usage and bandwidth. This is particularly useful for PVP servers, as turning down the player range will 'nerf' wallhacks and radar to some extent. Miscellaneous controls the range for item frames, paintings, dropped items, experience orbs, and sign text. Other is a general maximum limit for all entities on your server.
    Does not improve server performance to change these values. These will only help client side lag when lowering these.

    save-structure-info
    Default: true
    Type: Boolean
    Description: Toggles whether or not Spigot will save the structure info with the newly introduced saving method in 1.6.3. If disabled, this can cause issues with Eyes of Ender not pointing to strongholds, wither skeletons not spawning in Nether Fortresses, witches not spawning in huts in 1.7.

    random-light-updates
    Default: false
    Type: Boolean
    Description: Controls whether or not the server will randomly sample chunks in order to verify and fix lighting. As of 1.7, also controls whether or not the server will relight a chunk on its first tick.

    nerf-spawner-mobs
    Default: false
    Type: Boolean
    Description: When enabled, mobs which originate from a mob spawner will not have any AI. They will generally only be affected by water movement, with the exception of blazes which will still emit fireballs and float up and down.

    zombie-aggressive-towards-villager
    Default: true
    Type: Boolean
    Description: When disabled, zombies will no longer attempt to kill villagers, changing game play. But in return zombies use less time in order to process their AI, creating less lag as a result.

    enable-zombie-pigmen-portal-spawns
    Default: true
    Type: Boolean
    Description: When disabled, nether portals will no longer randomly spawn zombie pigmen in them. This can be used to combat large nether portal gold farms and does not effect the movement of entities, including zombie pigmen, through nether portals between dimensions.

    max-entity-collisions
    Default: 8
    Type: Integer
    Description: Limit a single entity to colliding x number of configurable times per tick. This setting lowers the performance impact of entities trapped in a 1x1 pen.

    dragon-death-sound-radius
    Default: 0
    Type: Integer
    Description: Limit the sound of the dragon's death.

    wither-spawn-sound-radius
    Default: 0
    Type: Integer
    Description: Limit the sound of spawning withers.

    max-bulk-chunks
    Default: 10
    Type: Integer
    Description: Set how many chunks are sent per packet.
    Versions: Before Spigot 1.9

    max-tick-time
    Default: (tile: 50, entity: 50)
    Type: Integer
    Description: The time - in ms - that (tile) entity operations can consume to calculate before the server skips on to the next task. Values between 10 - 20 for tiles and 20 - 25 for entities have been reported to provide a good performance increase.
    Lowering these values can give a major boost to performance, but at the cost of affecting gameplay behavior. Lowering these for entities could lead to them to appear to lag/stutter but should have no other impact on normal behavior.

    clear-tick-list
    Default: false
    Type: Boolean
    Description: Can potentially prevent the possibility of the tick list increasing over time but introduces several issues, namely, growth slow-downs and modifications to the values many of you have fine-tuned. This option is here only for those who absolutely need it and are completely understanding of the consequences. It is not recommended for the majority of server owners and should be left at the default.

    hopper-alt-ticking
    Default: false
    Type: Boolean
    Description: Dynamically ticks hoppers so as to mirror vanilla behavior and provide a potential ticks per second boost. Best set to true for lots of idle hoppers. Enabling this option disables hopper-check.
    Versions: Before Spigot 1.8.3

    hopper-amount
    Default: 1
    Type: Integer
    Description: Controls the maximum amount of items a hopper will take in/give out in a hopper tick cycle. Best used in conjunction with higher ticks per hopper transfer and check to combine actions into one.

    seed-village
    Default: 10387312
    Type: Integer
    Description: Controls the seed used for the placement of villages in your world, allowing for further customisation of their spawning. Default value represents vanilla.

    seed-feature
    Default: 14357617
    Type: Integer
    Description: Controls the seed used for the placement of features such as nether strongholds in your world, allowing for further customisation of their spawning. Default value represents vanilla.

    seed-monument
    Default: 10387313 [??]
    Type: Integer
    Description: Controls the seed used for the placement of sea monuments in your world, allowing for further customisation of their spawning. Default value represents vanilla. [??] = Uncertainty of whether value is random (unique) or if the same value is applied to every fresh config. (Value was taken from a config.)

    seed-slime
    Default: 987234911 [??]
    Type: Integer
    Description: Controls the seed used for the spawn locations of, presumably, the Slime mobs in your world, allowing for further customisation of their spawning. Default value represents vanilla. [??] = Uncertainty of whether value is random (unique) or if the same value is applied to every fresh config. (Value was taken from a config; unknown if this should match World Seed)

    hunger
    Default:
    walk-exhaustion: 0.2
    sprint-exhaustion: 0.8
    combat-exhaustion: 0.3
    regen-exhaustion: 3.0
    Type: Double
    Description: Controls the amount of hunger points to subtract upon performing the corresponding action.

    hanging-tick-frequency
    Default: 100
    Type: Integer
    Description: Controls the tick update interval for hanging entities (Paintings, Item-frames, LeashKnot, etc)

    ticks-per:
    ↳ hopper-transfer
    Default: 8
    Type: Integer
    Description: The time - in server ticks - between when a hopper pushes/pulls/receives items and when the hopper pushes/pulls more items. A value of 8 mirrors vanilla behavior.
    ↳ hopper-check (Removed in this 1.8.3 commit from March, 8th 2015, readded in this 1.11.2 commit from February, 10th 2017)
    Default: 1
    Type: Integer
    Description: The time - in server ticks - hoppers attempt to push/pull items since the last attempt. For example, a value of 8 means an empty hopper looks for item entities above, inventories above, etc. every 8 ticks. A value of 0 or 1 mirrors vanilla behavior. This option is disabled when hopper-alt-ticking is set to true. Changing this value will break most hopper contraptions due to desyncs.​
  • Loading...
  • Loading...