配置说明 - lmxdg/ZeroLogin GitHub Wiki

配置说明

配置文件路径:plugins/ZeroLogin/config.yml

修改后执行 /zerologin reload 或重启服务端生效。


完整默认配置

# 界面语言:auto(跟随每位玩家的客户端语言)
# 也可强制指定:en_us / zh_cn / zh_tw / ja_jp / ko_kr / ru_ru / es_es
language: auto

storage:
  # 账号数据后端:sqlite(推荐)或 file(v1.0 的本地文本文件)
  type: sqlite

  sqlite:
    # 数据库文件名,位于 plugins/ZeroLogin/ 下
    file: zerologin.db
    # 数据库为空时是否自动导入 file 后端的账号数据
    import-file: true

security:
  # PBKDF2-HMAC-SHA256 迭代次数,越大越安全、登录/注册越慢
  pbkdf2-iterations: 120000
  # 密码最短 / 最长长度
  min-password-length: 6
  max-password-length: 32
  # 密码最长尝试次数,超过后踢出;0 = 不限制
  max-login-attempts: 3
  # 未认证时必须在多少秒内完成登录/注册,否则踢出;0 = 不限制
  login-timeout-seconds: 60
  # 是否要求密码必须同时包含字母和数字
  require-mixed: false

session:
  # 记住登录状态的秒数:同一 IP 在该时间内重进无需再登录;0 = 关闭
  remember-seconds: 300
  # 是否允许基于 IP 的自动登录(配合 /ip 命令)
  ip-auto-login: true

protection:
  # 未认证时是否冻结移动
  freeze-movement: true
  # 未认证时允许执行的命令(不含斜杠,小写)
  allowed-commands:
    - login
    - l
    - register
    - reg

messages-prefix: "&8[&bZeroLogin&8] "

逐项说明

基础

配置项 类型 默认 说明
language 字符串 auto auto 跟随每位玩家的客户端语言;或固定为 7 种语言之一。auto 时控制台与无法识别的语言回退 en_us
messages-prefix 字符串 &8[&bZeroLogin&8] 消息前缀,支持 & 颜色代码

存储 storage

配置项 类型 默认 说明
storage.type 字符串 sqlite 存储后端:sqlite 或 file;无法识别的值回退 file。修改后需迁移数据并重启服务端,reload 不生效
storage.sqlite.file 字符串 zerologin.db SQLite 数据库文件名(位于 plugins/ZeroLogin/ 下)
storage.sqlite.import-file 布尔 true 数据库为空时自动导入 accounts/ 下的文本账号(v1.0 升级路径)

安全 security

配置项 类型 默认 说明
pbkdf2-iterations 整数 120000 散列迭代次数,下限 1000。越大越安全但登录越慢
min-password-length 整数 6 密码最短长度
max-password-length 整数 32 密码最长长度
max-login-attempts 整数 3 密码错误上限,达到后踢出;0 为不限制
login-timeout-seconds 整数 60 未认证超时秒数;0 为不限制
require-mixed 布尔 false 是否强制密码同时含字母与数字

会话 session

配置项 类型 默认 说明
remember-seconds 整数 300 同一 IP 在此秒数内重进免登录;0 为关闭
ip-auto-login 布尔 true 是否启用 IP 白名单自动登录(配合 /ip)

保护 protection

配置项 类型 默认 说明
freeze-movement 布尔 true 未认证时是否冻结移动(仍可转动视角)
allowed-commands 列表 登录相关命令 未认证时允许执行的命令根名(不含斜杠,小写)

推荐配置

严格安全(公共服务器)

security:
  require-mixed: true
  max-login-attempts: 3
  login-timeout-seconds: 45
session:
  ip-auto-login: false      # 关闭 IP 免登录
  remember-seconds: 0
protection:
  freeze-movement: true

体验优先(小服 / 朋友服)

security:
  max-login-attempts: 5
  login-timeout-seconds: 120
session:
  ip-auto-login: true
  remember-seconds: 600

语言文件

v1.1.0 内置 7 种语言,首次启动全部生成:

  • plugins/ZeroLogin/messages_zh_cn.yml —— 简体中文
  • plugins/ZeroLogin/messages_zh_tw.yml —— 繁體中文
  • plugins/ZeroLogin/messages_en_us.yml —— English
  • plugins/ZeroLogin/messages_ja_jp.yml —— 日本語
  • plugins/ZeroLogin/messages_ko_kr.yml —— 한국어
  • plugins/ZeroLogin/messages_ru_ru.yml —— Русский
  • plugins/ZeroLogin/messages_es_es.yml —— Español

language: auto 时每位玩家按其客户端语言(Player#getLocale())收到提示,互不影响;玩家语言按前缀归一化匹配,如 zh_SG → zh_cn、zh_TW/zh_HK/zh_hant → zh_tw、en_GB → en_us。「跟随玩家语言」与「玩家自定义客户端语言」是两件独立的事,客户端语言变化不影响服务器设置。

消息支持:

  • & 颜色代码,如 &a(绿)、&c(红)、&b(青)
  • {占位符},如登录错误提示中的 {left} 表示剩余次数

示例:

login-wrong-password: "&c密码错误(剩余 {left} 次机会)。"

编辑后执行 /zerologin reload 生效。

想新增第 8 种语言:执行 /zerologin lang-template <lang> 导出内置模板,翻译后放回 plugins/ZeroLogin/,再把 language 指向它(或提交给上游内置)。


相关: 命令与权限 · 账号数据 · 安全说明

⚠️ **GitHub.com Fallback** ⚠️