空空叶博客 学习与开发博客

MC服务器配置说明

2017-05-20

本文介绍服务器配置的含义,基本上来自官方文档的翻译.

注: 本文使用的服务端是spigot,版本为1.11.2,比较常用的配置排在前面

一. server.properties

官方文档

  • server-port: 服务器端口
  • max-players: 玩家上限
  • online-mode: 是否开启正版模式,开启后只有正版登录的玩家才能进服
  • white-list: 是否开启白名单(op无视白名单)
  • difficulty: 0-3,0为和平,1为简单,2为正常,3为困难
  • view-distance: 2-32,视距半径,以区块为单位
  • allow-nether: 是否允许地狱,禁止时地狱传送门会失效,地狱世界也不会生成/加载
  • spawn-protection: 重生点保护范围半径(如设置成16,那保护范围就是162+1=33,就是3333的保护范围)
  • level-seed: 主世界的生成种子
  • level-type: 主世界地图类型,DEFAULT默认,FLAT平坦,LARGEBIOMES巨大生物圈,AMPLIFIED更高的世界(生成的地形更高,但建造高度限制仍然是256),CUSTOMIZED使用generator-settings的设置
  • max-world-size: 主世界最大半径(以方块为单位)(比如设置为1000,世界大小就是2000*2000)(大于默认值29999984没有效果)
  • max-build-height: 建造高度限制,但不影响地形生成
  • resource-pack: 资源包地址(uri)
  • resource-pack-sha1: 资源包的SHA-1验证,小写十六进制
  • player-idle-timeout: 玩家最大空闲时间(指没有进行任何动作),单位分钟,达到时会踢出玩家,0关闭
  • pvp: 是否开启玩家间pvp
  • spawn-animals: 是否生成动物
  • spawn-monsters: 是否生成怪物
  • spawn-npcs: 是否生成NPC
  • generate-structures: 是否生成结构(像村庄)(但即使关闭,地狱堡垒仍然会生成)
  • enable-command-block: 是否允许命令方块
  • allow-flight: 是否允许飞行,开启时玩家在生存模式可以开启飞行
  • gamemode: 0-3,默认游戏模式,0为生存,1为创造,2为冒险,3为旁观
  • force-gamemode: 是否强制游戏模式,开启后,玩家每次进服,都会强制变成默认游戏模式
  • hardcore: 是否硬核模式,开启时玩家死亡后会变成旁观者模式
  • announce-player-achievements: 有玩家获得成就是否全服通告
  • op-permission-level: 1-4,1时OP可在游戏的重生点保护范围内建造,2时OP可使用单人作弊指令与命令方块,3时OP可使用除4级以外的其它指令,4时OP可使用全部指令包含/stop,/save-all,/save-on,/save-off
  • network-compression-threshold: 网络压缩阀值,默认256,-1关闭压缩,0压缩全部,指网络包大小达到此值时就会进行压缩传输,虽然设置得小可以进行更多的压缩,但会消耗额外的cpu(官方推荐大于64,小于1500,一般使用默认值就好)
  • snooper-enabled: 是否开启匿名反馈(自动发送服务器信息给官方)
  • prevent-proxy-connections: 是否禁止通过VPN或代理进服
  • motd: 显示在服务器列表里的信息(一般用其它设置)
  • level-name: 主世界名(一般不改)
  • server-ip: 服务器监听在哪个IP上(一般留空即可)
  • enable-query: 是否开启远程获取服务器信息的接口(一般不怎么使用,关闭就好)
  • enable-rcon: 是否开启远程连接服务端控制台(用的同样比较少,推荐关闭)
  • generator-settings: 自定义世界生成(一般用插件代替)
  • use-native-transport: 优化包发送/接收(只在使用linux系统时有效)

二. bukkit.yml

官方文档

  • settings: 常用设置
    • allow-end: 是否允许末地世界
    • connection-throttle: 两次登录间隔,单位毫秒
    • shutdown-message: 关服信息(提示给客户端的)
    • use-exact-login-location: 是否使用精确位置,如果玩家卡在方块内,mc本身机制会在下次登录时将玩家推出去,造成如果玩家在洞穴内登出,重新登录时可能出现在洞穴上方,开启时会禁用这种mc本身的机制
    • warn-on-overload: 服务端在超载时是否显示[WARNING] Can't keep up! Did the system time change, or is the server overloaded?
    • world-container: 保存全部世界的目录名,默认使用服务端目录
    • query-plugins: 是否允许远程获取服务端安装的插件列表信息(推荐关闭)
    • permissions-file: 权限文件名(一般使用权限插件代替)
    • plugin-profiling: 开启时服务端启动后会自动开户timings(推荐关闭,有需要时使用/timings指令手动开启)
    • deprecated-verbose: 插件监听了废弃的事件是否提示,true提示,false不提示,default默认提示除非插件作者指定了不提示(默认就好)
    • update-folder: 插件的更新文件夹名,在插件目录内(一般不用这种更新方式)
  • spawn-limits: 每个世界的实体生成数量限制(只会影响已加载的区块!)
    • monsters: 怪物
    • animals: 动物
    • water-animals: 水生动物
    • ambient: 环境生物(像蝙蝠)
  • chunk-gc: 区块回收(会检测那些应该被卸载但没卸载的区块)
    • period-in-ticks: 检测周期,单位tick,0时禁止区块回收
    • load-threshold: 区块加载阀值,指加载的区块数达到这个值时才允许检测区块回收,0时禁止区块回收
  • ticks-per: 指定功能的tick周期
    • animal-spawns: 动物生成周期,单位tick,0时禁止
    • monster-spawns: 怪物生成周期,单位tick,0时禁止
    • autosave: 自动保存周期,单位tick,0时禁止(因为保存较卡,此值不宜过小)(如果装了自动保存插件,推荐将这里的自动保存关闭)
  • aliases: 命令别名(不常用)
  • database: 数据库配置(bukkit内置了所有插件都可用的数据库,但很少有插件会用,此项就不详细介绍了)
  • worlds: 世界配置,主要用来定义bukkit加载世界时使用的世界生成器(可选)
    • generator: 使用的生成器(生成器插件一般会有说明)

三. spigot.yml

官方文档

  • settings: 常用设置
    • bungeecord: 是否开启Bungeecord相关功能,包括ip白名单,ip传递(服务端可以获取真实的玩家ip)
    • timeout-time: 无响应的超时时间,单位秒(服务端卡住达到此时间时,会打印线程信息到控制台然后崩溃)
    • sample-count: 取样玩家数量(客户端在服务器列表里看到的)
    • restart-on-crash: 服务端崩溃时是否重启(需要设置重启脚本文件才有效)
    • restart-script: 重启脚本文件(会对使用/restart指令与崩溃重启有效)
    • late-bind: 是否延迟玩家进服直到所有插件加载完毕(设置此项为true时需要测试是否有插件会出问题)
    • filter-creative-items: 游戏默认会禁止创造模式调出某些物品,此项控制是否开启这种限制
    • player-shuffle: 单位tick,值小于100可能导致性能问题,0禁止(适合pvp服使用)(与反作弊有关,推荐禁止,使用反作弊插件代替)
    • netty-threads: netty线程数
    • user-cache-size: usercache.json文件的大小上限
    • save-user-cache-on-stop-only: 是否只在服务端关闭时保存用户缓存(usercache),false时有新的用户缓存会立即保存
    • moved-wrongly-threshold: 玩家移动反作弊相关,值增大时限制更宽松
    • moved-too-quickly-multiplier: 玩家移动速度上限(可能对TNT大炮之类的造成影响)
    • global-api-cache: 是否开启缓存获取玩家uuid请求结果(指spigot请求mojiang的接口,传递玩家名获取玩家uuid)
    • item-dirty-ticks: 掉落物品改变检测周期,单位tick(mc本身每1tick检测掉落的物品改变,这种检测比较耗资源,spigot改变了这种机制,变成每1tick只进行简单的检测,每item-dirty-ticks的tick才进行完整的检测)
    • int-cache-limit: 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.
  • commands: 命令设置
    • log: 控制台是否显示玩家命令
    • tab-complete: 玩家进行tab补全时至少输入多少字符,可防止消耗服务器资源,0时允许补全全部,-1禁止补全(0时玩家可能恶意卡服)
    • silent-commandblock-console: 是否禁止命令方块输出信息到控制台
    • replace-commands: 列表中的命令会使用mc本身的实现而非bukkit实现
  • messages: 语言设置
    • whitelist: 进服时不在白名单内的提示
    • unknown-command: 输入了未知命令的提示
    • server-full: 进服时服务器已满的提示
    • outdated-client: 使用过低版本客户端进服时的提示
    • outdated-server: 使用过高版本客户端进服时的提示
    • restart: 使用/restart命令重启服务器时对全服玩家的提示
  • stats: 玩家统计设置
    • disable-saving: 是否禁止服务端保存客户端的统计信息与成就信息
    • forced-stats: 强制玩家统计数据,如以下的会强制所有玩家都拥有打开背包成就,但不会提示

      forced-stats:
        achievement.openInventory: 1
      
  • world-settings: 世界设置
    • 世界名: 针对某个世界的配置(未配置的世界会使用default世界名下的配置)
      • verbose: 加载世界时是否在控制台显示详细信息
      • view-distance: 1-15,视距(会覆盖server.properties里的那个视距)
      • merge-radius: 合并范围,以方块为单位
        • exp: 经验球
        • item: 掉落物
      • chunks-per-tick: 每tick检测作物生长的区块数量,减小值会降低作物成长速度
      • item-despawn-rate: 掉落物消失速率,单位tick(指物品掉落达到此tick时就会消失)
      • mob-spawn-range: 怪物生成范围半径,单位区块,增大值会导致怪物表现得更’稀少’
      • growth: 控制作物生长速度(会同时被chunks-per-tick项影响)(注意!降低此值不会提高服务器效率)
        • cactus-modifier: 仙人掌生长速度
        • cane-modifier: 甘蔗生长速度
        • melon-modifier: 西瓜生长速度
        • mushroom-modifier: 蘑菇生长速度
        • pumpkin-modifier: 南瓜生长速度
        • sapling-modifier: 树苗生长速度
        • wheat-modifier: 小麦生长速度
        • netherwart-modifier: 地狱疣生长速度
        • vine-modifier: 藤蔓生长速度
        • cocoa-modifier: 可可豆生长速度
      • entity-activation-range: 实体活跃范围半径,以方块为单位(注意!此值对游戏性能影响很大)
        • animals: 动物活跃范围
        • monsters: 怪物活跃范围
        • misc: 环境生物活跃范围
      • entity-tracking-range: 实体记录范围半径,(范围外的实体会被’隐藏’)(pvp服可能关注此项)(注意!降低此值不会提高服务器效率,只影响客户端)
        • players: 玩家记录范围
        • animals: 动物记录范围
        • monsters: 怪物记录范围
        • misc: 环境生物记录范围
        • other: 其它实体记录范围
      • save-structure-info: 是否保存结构信息(禁止会导致一些问题)
      • random-light-updates: 是否开启随机光照更新,开启后,会随机取区块检测与修复光照问题
      • nerf-spawner-mobs: 开启后,刷怪笼刷出的怪物无AI
      • zombie-aggressive-towards-villager: 是否开启僵尸攻击村民(禁用会提高服务器效率)
      • enable-zombie-pigmen-portal-spawns: 是否开启地狱门随机生成僵尸猪人
      • max-entity-collisions: 实体每tick最大冲撞次数(如果有大量实体被关在1*1范围内,那会对服务器造成较大性能影响,降低此值可以减少这种影响)
      • dragon-death-sound-radius: 龙死亡声音播放范围
      • wither-spawn-sound-radius: 凋零生成声音播放范围
      • max-bulk-chunks: 每个包发送多少个区块(对spigot 1.9版本以前的有效)
      • max-tick-time: 每tick最大花费在指定项目上的时间,单位毫秒(降低值会带来性能提升!)(比如降低实体的最大花费时间,那么实体可能表现得有些’抽风’或’卡顿’,但没有其它影响)(降低此值可以避免服务器因实体而卡顿)
        • tile: 漏斗,熔炉这些tile实体(推荐在10-20)
        • entity: 实体(推荐在20-25)
      • clear-tick-list: 清理tick列表,防止tick列表无限制地增长(官方不推荐修改,保留默认值false)
      • hopper-alt-ticking: 动态检测漏斗,减少大量空闲的漏斗对服务器性能造成的影响,提高TPS(推荐开启)(启用此项会禁止hopper-check)
      • hopper-amount: 每tick每个漏斗最大传输的物品数量
      • ticks-per: 指定功能的tick周期
        • hopper-transfer: 漏斗两次传输物品间隔
        • hopper-check: 漏斗两次检测物品的间隔(hopper-alt-ticking为true时此项无效)
      • seed-village: 生成村庄的种子
      • seed-feature: 生成地狱要塞的种子
      • hunger: 进行对应动作时减少的饱食度
        • jump-walk-exhaustion: 走跳
        • jump-sprint-exhaustion: 跑跳
        • combat-exhaustion: 战斗
        • regen-exhaustion: 恢复生命值
        • swim-multiplier: 游泳
        • sprint-multiplier: 跑
        • other-multiplier: 其它
      • hanging-tick-frequency: 挂画检测更新周期,单位tick
      • anti-xray: 防透视(1.9版本前有效)
        • enabled: 是否开启
        • engine-mode: 引擎模式,模式1将除暴露在空气中外的矿物都替换为石头,模式2将整个世界替换为随机矿物
        • hide-blocks: 模式1下需要隐藏的方块ID列表
        • replace-blocks: 模式2下需要替换成随机矿物的方块ID列表

目录