Spigot Configuration (spigot.yml) - Historical

Applied By AeSix: Sep 5, 2019 at 1:19 PM

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.

send-namespaced
Default: true
Type: Boolean
Description: Show commands with <plugin>:<command> syntax when you press tab.
Example: /minecraft:tp.

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.

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.

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.

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.
Note: As of 1.14.4, the *global* option is set to "default" by default for new installs & upgrades from older versions. When set to default, the server reads the view-distance as set in server.properties. This setting can now be used for per-world view distances.

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 impact server performance much to change these values. These will mainly 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.
When left at vanilla values, it is possible someone can brute force discover your worlds seed. It is recommended to change these values to any other random number BEFORE generating your world if you wish to keep the seed secret at all cost.

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.
When left at vanilla values, it is possible someone can brute force discover your worlds seed. It is recommended to change these values to any other random number BEFORE generating your world if you wish to keep the seed secret at all cost.

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.
When left at vanilla values, it is possible someone can brute force discover your worlds seed. It is recommended to change these values to any other random number BEFORE generating your world if you wish to keep the seed secret at all cost.

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.
When left at vanilla values, it is possible someone can brute force discover your worlds seed. It is recommended to change these values to any other random number BEFORE generating your world if you wish to keep the seed secret at all cost.


hunger
Default:
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
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.​