# 三、服务端核心的配置

由于篇幅原因,本节仅介绍 Spigot 核心的主要配置文件的主要配置项。
本配置对应的服务器版本为 1.16.1.

# on server.properties

#Minecraft server properties
#Fri Jul 31 12:30:46 CST 2020
spawn-protection=16
max-tick-time=60000
query.port=25565
generator-settings=
sync-chunk-writes=true
force-gamemode=false
allow-nether=true
enforce-whitelist=false
gamemode=survival
broadcast-console-to-ops=true
enable-query=false
player-idle-timeout=0
difficulty=easy
spawn-monsters=true
broadcast-rcon-to-ops=true
op-permission-level=4
pvp=true
entity-broadcast-range-percentage=100
snooper-enabled=true
level-type=default
hardcore=false
enable-status=true
enable-command-block=false
max-players=20
network-compression-threshold=256
resource-pack-sha1=
max-world-size=29999984
function-permission-level=2
rcon.port=25575
server-port=25565
debug=false
server-ip=
spawn-npcs=true
allow-flight=false
level-name=world
view-distance=10
resource-pack=
spawn-animals=true
white-list=false
rcon.password=
generate-structures=true
max-build-height=256
online-mode=true
level-seed=
use-native-transport=true
prevent-proxy-connections=false
enable-jmx-monitoring=false
enable-rcon=false
motd=A Minecraft Server

online-mode=true 表示是否启用正版验证,默认值为开启。设置为开启即代表只有 Minecraft 正版玩家才能连接到您的服务器,一般的"盗版服"均需要将此处设置为关闭。

spawn-protection=16 表示出生点保护边长[1],默认值为16在该范围内的所有方块将会被禁止交互(如破坏,放置,触发插件监听[2]。设置为0即代表关闭出生点保护。

sync-chunk-writes=false 自1.16加入,表示是否开启同步区块读写,默认为关闭[3]。将此项目关闭即代表开启异步区块读写,可以加快区块加载速度,但有很大几率导致区块数据损坏[4]

force-gamemode=false 表示是否强制游戏模式,默认为关闭。开启后每当玩家重新加入服务器都会自动将玩家的游戏模式设置为默认的游戏模式。

allow-nether=true 表示是否生成地狱,默认为开启。关闭后地狱世界将不会被生成和加载,玩家也不能进入地狱。

gamemode=survival 表示默认游戏模式,默认为survival(生存模式)。玩家第一次进入服务器的时候便会被设置成此游戏模式。可选的游戏模式还有creative(创造模式),adventure(冒险模式),spectator(观察模式)[5]

player-idle-timeout=0 表示玩家AFK踢出时间,单位为分钟,默认为0,代表关闭。设置为非0自然数即代表当玩家超过X分钟没有进行任何活动时,他将会被自动踢出服务器。

difficulty=easy表示游戏难度,默认为 easy (简单)。可选的游戏难度还有 peaceful (和平), normal (普通), hard (困难)[6]

spawn-npcs=true 表示是否生成 NPC,默认为开启。关闭后将不会自然生成诸如村民这样的NPC生物。

spawn-animals=true 表示是否生成动物,默认为开启。关闭后将不会自然生成动物。

spawn-monsters=true 表示是否生成怪物,默认为开启。关闭后将不会自然生成怪物。

generate-structures=true 表示是否生成结构,默认为开启。关闭后将不会在地图中生成诸如沙漠神庙,废弃矿道这样的结构。

op-permission-level=4 表示默认 OP 权限,默认为4。代表了当你使用 /op 命令时 OP 的默认权限等级[7]。设置为 1 即代表 OP 仅能绕过出生点保护限制; 设置为 2 即代表 OP 可以使用单人模式作弊指令 (例如 /execute ); 设置为 3 即代表 OP 可以使用多人游戏作弊指令 (例如 /ban ); 设置为 4 即代表 OP 可以使用所有指令,包括 /stop, /save-all, /save-on, /save-off 等。

pvp=true 表示是否允许 PVP,默认为开启。设置为关闭玩家与玩家便无法相互攻击。

level-type=default 表示主世界类型,默认为默认。设置为 flat 即代表超平坦。

hardcore=false 表示是否开启极限模式,默认为关闭。开启后当玩家死亡便会被服务器自动封禁。

enable-status=true 自 1.16 加入,表示是否在服务器列表中显示为在线,默认为开启。关闭后客户端的服务器列表中将将此服务器显示为离线,但玩家仍可连接到服务器。

enable-command-block=false 表示是否启用命令方块,默认为关闭。开启后才能够使用命令方块。

max-players=20 表示最大玩家数,默认为 20。表示了该服务器能够容纳的同时在线玩家数。

resource-pack= 表示资源包地址,默认为空。在此处填写直链[8]后玩家进服便可以选择是否安装资源包。

server-port=25565 表示服务器端口号,默认为 25565。

allow-flight=false 表示是否允许玩家飞行,默认为关闭。开启后服务端自带的反作弊系统将不会拦截并踢出使用飞行作弊的玩家[9]

view-distance=10 表示服务器最大视距,默认为 10,允许的值为3-32。

level-seed= 表示地图种子号,默认为空。

prevent-proxy-connections=false 表示是否阻止代理连接,默认为关闭。开启后服务端将会尽可能的禁止被判定为使用代理的连接。

motd=A Minecraft Server 表示服务器标语,默认为 A Minecraft Server 。代表了玩家在多人游戏列表上看到的服务器标语,您可以使用 \u00A7 表示分节符表示创建颜色代码,使用\n表示换行。

white-list=false 表示是否启用白名单,默认为关闭。开启后只有在服务器白名单内的玩家才能进入服务器,您可通过 /whitelist 指令管理您的白名单。

enforce-whitelist=false 表示是否强制踢出非白名单玩家,默认为关闭。开启后当你在服务器运行中通过 /whitelist on 指令手动开启白名单后,未处于白名单内的在线玩家将会被踢出。

有关 server.properties 的更多信息请见https://minecraft.gamepedia.com/Server.properties

注释 20

# on bukkit.yml [10]

# This is the main configuration file for Bukkit.
# As you can see, there's actually not that much to configure without any plugins.
# For a reference for any variable inside this file, check out the Bukkit Wiki at
# https://www.spigotmc.org/go/bukkit-yml
# 
# If you need help on this file, feel free to join us on irc or leave a message
# on the forums asking for advice.
# 
# IRC: #spigot @ irc.spi.gt
#    (If this means nothing to you, just go to https://www.spigotmc.org/go/irc )
# Forums: https://www.spigotmc.org/
# Bug tracker: https://www.spigotmc.org/go/bugs


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
spawn-limits:
  monsters: 70
  animals: 10
  water-animals: 15
  water-ambient: 20
  ambient: 15
chunk-gc:
  period-in-ticks: 600
ticks-per:
  animal-spawns: 400
  monster-spawns: 1
  water-spawns: 1
  water-ambient-spawns: 1
  ambient-spawns: 1
  autosave: 6000
aliases: now-in-commands.yml

allow-end: true 表示是否生成末地,默认为开启。关闭后末地世界将不会被生成和加载,玩家也不能进入末地。

warn-on-overload: true 表示是否提示服务器过载,默认为开启。

spawn-limits: 表示每个世界能够生成的最大生物多少。下方分别表示了怪物,动物,水生动物,水生环境生物和环境生物的最大自然生成数。

ticks-per: 表示每多少Tick[11]能够生成一个生物。除和上方相同的项目外,autosave代表了地图自动保存的时间。

有关 bukkit.yml 的更多信息请见 Bukkit.yml - Official BukkitWiki (opens new window) [12]

注释 21

# on 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 IRC or drop by our forums and leave a post.
# 
# IRC: #spigot @ irc.spi.gt ( http://www.spigotmc.org/pages/irc/ )
# Forums: http://www.spigotmc.org/

config-version: 12
settings:
  debug: false
  save-user-cache-on-stop-only: false
  moved-wrongly-threshold: 0.0625
  log-villager-deaths: true
  bungeecord: false
  timeout-time: 60
  restart-on-crash: true
  restart-script: ./start.sh
  moved-too-quickly-multiplier: 10.0
  sample-count: 12
  player-shuffle: 0
  user-cache-size: 1000
  netty-threads: 4
  attribute:
    maxHealth:
      max: 2048.0
    movementSpeed:
      max: 2048.0
    attackDamage:
      max: 2048.0
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
commands:
  silent-commandblock-console: false
  log: true
  tab-complete: 0
  send-namespaced: true
  spam-exclusions:
  - /skill
  replace-commands:
  - setblock
  - summon
  - testforblock
  - tellraw
advancements:
  disable-saving: false
  disabled:
  - minecraft:story/disabled
stats:
  disable-saving: false
  forced-stats: {}
world-settings:
  default:
    verbose: true
    enable-zombie-pigmen-portal-spawns: true
    item-despawn-rate: 6000
    view-distance: default
    wither-spawn-sound-radius: 0
    hanging-tick-frequency: 100
    end-portal-sound-radius: 0
    arrow-despawn-rate: 1200
    trident-despawn-rate: 1200
    zombie-aggressive-towards-villager: true
    nerf-spawner-mobs: 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-bastion: 30084232
    seed-fortress: 30084232
    seed-mansion: 10387319
    seed-fossil: 14357921
    seed-portal: 34222645
    mob-spawn-range: 6
    max-tnt-per-tick: 100
    hopper-amount: 1
    entity-tracking-range:
      players: 48
      animals: 48
      monsters: 48
      misc: 32
      other: 64
    merge-radius:
      item: 2.5
      exp: 3.0
    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
      wheat-modifier: 100
      netherwart-modifier: 100
      vine-modifier: 100
      cocoa-modifier: 100
      bamboo-modifier: 100
      sweetberry-modifier: 100
      kelp-modifier: 100
    entity-activation-range:
      animals: 32
      monsters: 32
      raiders: 48
      misc: 16
      tick-inactive-villagers: true
    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-tick-time:
      tile: 50
      entity: 50
    squid-spawn-range:
      min: 45.0
    ticks-per:
      hopper-transfer: 8
      hopper-check: 1

spigot.yml 中与 bukkit.yml 可能会有部分选项有所冲突,此时请以 spigot.yml 为准

有关 spigot.yml 的更多信息请见 Spigot Configuration (opens new window).

# For Sponge

SpongePowered 团队为 Sponge 提供了非常详细的入门教程和配置文件示意,且文档支持简体中文,您可以直接前往SpongePowered 的 Sponge Documentation (opens new window)了解更多 Sponge 的入门知识。

至此,你已经完成第三节的所有学习,并应已掌握部分服务端的配置。


  1. 边长的计算公式为 2x+1,如设置为1则代表将会以出生点为中心3x3 边长的出生点 ↩︎

  2. 某些插件可能会通过让你右键/左键某个方块触发特定的行为,比如右键木牌加入起床战争小游戏,当这样的方块位于出生点保护半径内时,行为将不会被触发 ↩︎

  3. 此项目在 Windows 操作系统上默认为开启 ↩︎

  4. Mojang 代码力太弱了就是调不好异步区块读写 ↩︎

  5. 在 1.12.2-版本中,这项设置的默认值为 0,代表生存模式。而123分别代表创造模式,冒险模式,观察模式 ↩︎

  6. 在 1.12.2-版本中,这项设置的默认值为 1,代表简单,而 0,2,3 分别代表和平,简单,困难 ↩︎

  7. 您可以前往 ops.json 手动指定这些 OP 的权限等级 ↩︎

  8. 指一个直接指向资源包文件,能够直接下载的网络地址,例如https://www.excample.com/resourcepack.zip ↩︎

  9. 笔者建议服主们开启这一项,因为这个自带的反飞行在笔者的服务器中从来没有拦截过一次开飞行作弊的人,倒是用飞行背包的几个玩家被服务端认定为飞行给踢出去了 ↩︎

  10. 此处使用了一种和上面的 server.properties 完全不同的文件格式,名为 YAML, 文件名一般以 .yml 结尾。在 Bukkit 系服务端中,我们会经常见到此种文件格式,因此,您需要熟悉这种文件格式以编辑更多的文件。 ↩︎

  11. Minecraft以滴答 (tick) 为服务器计时,一般情况下,1 tick 等于 1/20 秒,当服务器 TPS 下降时,这一秒数将可能变大。 ↩︎

  12. 此处的信息可能极度滞后,请辨别查看。 ↩︎

Last Updated: 8/2/2020, 3:33:37 AM