Minecraft · Guide

如何为 Minecraft 服务器开启离线模式(非正版 / 破解玩家)

更新于 August 2, 2026 2 分钟阅读

本页目录
  1. 简短答案:开启离线模式的三步
  2. 离线模式到底做了什么
  3. 在 HytHost 面板中逐步开启
  4. 安全:在离线模式下,谁都可以是任何人
  5. 玩家会察觉到的变化:UUID 变了,皮肤没了
  6. 代理群组网络:BungeeCord 与 Velocity
  7. 测试,以及修好出问题的地方
  8. 常见问题

朋友什么都没买,打开 Minecraft,输入你的地址——然后被踢了出来。这不是你服务器的故障。默认情况下,Minecraft 服务器会把每一次登录拿到 Mojang 的账号服务器上核对,而没有购买账号的玩家过不了这一关。

离线模式就是关掉这项核对的官方服务器设置。它随原版 Minecraft 一起提供,在配置文件里只是一行,局域网联机、没有外网的网络环境以及挂在代理后面的服务器用的都是同一个设置。本指南会告诉你具体怎么开启、玩家那边会有哪些变化,以及大多数教程都略过的一点——开启之后怎么防止服务器被人接管。

简短答案:开启离线模式的三步

只要服务器不再向 Mojang 核对登录,没有 Minecraft 账号的朋友就能进来了。三步,大约一分钟:

  1. 停止服务器。是彻底停止,不是重启——正在运行的服务器关闭时会把自己内存里的那份设置覆盖回文件。
  2. 打开 server.properties,改两行。该文件在服务器的根目录里,和服务端 jar 放在同一个位置:
    online-mode=false
    enforce-secure-profile=false
    两行都重要。在 Minecraft 1.19 及更新版本上,只改第一行是不够的。
  3. 保存,然后启动服务器。非正版玩家现在可以和其他人用同一个地址连接了。
对外开放之前先处理好两件事。离线模式意味着任何人都能用任意用户名进服,包括你的名字,所以你得先装一个登录验证插件。另外每位玩家都会拿到新的 UUID——在线模式下的背包、头衔和领地都不会延续过来,所以切换前请先做好备份。

离线模式到底做了什么

玩家进入一台普通服务器时,服务器会去问 Mojang 的会话服务器:“这个用户名背后真的是那个账号吗?”Mojang 给出回答,登录被接受,玩家的身份就此得到证明。这就是在线模式,也是默认状态。

离线模式取消了这个提问。服务器直接接受客户端发来的任意用户名,完全不与 Mojang 通信。这里没有任何东西被修改、破解或打补丁——你只是拨动了 Mojang 特意留在原版服务端里的一个开关,因为很多完全正当的场景都需要它:

  • 局域网和线下活动服务器,它们根本没有外网连接,Mojang 的核对对所有人都会失败。
  • 代理后面的群组网络,由 BungeeCord 或 Velocity 在入口处统一完成一次验证,后面的子服不能再重复验证。
  • 隔离或带防火墙的环境——测试服、校园与办公网络、完全断网的机器。
  • 和还没买游戏的朋友一起玩,大多数人来看这篇文章正是为了这个。

但它并不会让这项设置变得没有代价。经过验证的登录,是挡在你的服务器和随手输入管理员用户名的人之间的唯一屏障,所以 online-mode=true 作为默认值自有其道理,对一台普通的公开服务器来说它依然是正确选择——参见这个默认值存在的原因。本指南面向的是你已经决定要关掉它的情况,余下的篇幅讲的就是如何在关掉它的同时不把服务器拱手让人。

你朋友用的是 Xbox、PlayStation、Switch 还是手机?那这个设置就不对症了——主机和手机玩家运行的是 Bedrock Edition,改 server.properties 里的任何一行都不能让他们进入 Java 服务器。你需要的是一座通往 Bedrock 的桥:参见 用 Geyser 实现 Java 与 Bedrock 互通

在 HytHost 面板中逐步开启

面板的 Startup 选项卡里没有这个开关——离线模式在服务器自己的配置文件里,所以要直接编辑该文件。整件事一分钟就能做完:

  1. 停止服务器。Stop,不要用 Restart。运行中的 Minecraft 服务器把设置保存在内存里,关闭时再写回磁盘,所以运行期间做的修改会被悄悄覆盖。这也是大家以为改动“没保存上”的头号原因。
  2. 打开 Files 选项卡。你落地的位置就是服务器根目录——server.propertiesplugins 文件夹和世界文件夹都在这里。
  3. 点击 server.properties 进行编辑。它会在面板自带的文本编辑器里打开——就是一份按字母顺序排列、一行一项的普通设置清单。
  4. 找到 online-mode,把它改成 false。online-mode=true 改为 online-mode=false。不要加引号,不要在等号两边加空格,也不要再复制出第二行。
  5. 找到 enforce-secure-profile,同样改成 false。如果文件里根本没有这一行——在 Minecraft 1.19 之前创建的旧世界上很常见——直接在文件末尾另起一行加上 enforce-secure-profile=false 即可。
  6. 保存,然后启动服务器。启动时留意控制台。出现一行提示服务器正以离线模式运行,就说明改动已经生效。
千万别漏掉 enforce-secure-profileMinecraft 1.19 引入了聊天签名,这项设置控制服务器是否要求每位玩家提供由 Mojang 签名的档案。它默认为 true,而且是独立于 online-mode 单独检查的——所以一台设了 online-mode=false 却仍在强制安全档案的服务器会正常启动、看上去毫无问题,然后在登录环节把每一位非正版玩家挡在门外。这是离线模式“不生效”最常见的原因,没有之一。
自己在家开服?完全一样的两行。server.properties 就在 server.jar 旁边——停止服务器,用任意文本编辑器改好,保存,再启动。

任何设置都能随手改:HytHost 的 Minecraft 服务器提供完整的文件管理器、实时控制台和一键备份,随时可以撤销。

查看 Minecraft 套餐

安全:在离线模式下,谁都可以是任何人

这一节值得读两遍。本指南里其他内容都只是改配置;而这一节决定的是你的服务器在公开之后能不能活下来。

真正改变的是什么

验证一关掉,用户名就不再能证明任何事——它只是客户端发过来的一串字符。任何知道你地址的人都可以声称自己是、是你的联合服主,或者是你的首席管理员。而由于大多数权限配置都是按名字发放权限的,冒名者根本不需要“攻破”什么:服务器会在他一进门就把权限双手奉上。如果你是按用户名给自己发的 op,那么别人输入这个名字进来时同样带着 op。

这并不是空想。一个没有验证插件的公开离线模式地址,是全互联网上最容易被接管的服务器之一,常见结局就是世界被清空、所有头衔被重新分配。解决办法并不复杂,但也绝不是可选项。

安装 AuthMe Reloaded

验证插件会在每个用户名前面加上一道密码。玩家注册一次,之后每次进服登录一次,名字就真正属于他们了——冒名不再奏效,因为光知道名字已经不够了。AuthMe Reloaded 是这方面长期以来的标准方案,支持 Paper 和 Spigot。

  1. 从官方页面下载 JAR,放进服务器的 plugins 文件夹——流程和装其他插件一样,详细步骤见如何安装 Minecraft 插件
  2. 重启服务器,让插件加载并写出默认配置。
  3. 打开 plugins/AuthMe/config.yml,把默认值调严一些。下面这四项最关键:
    settings:
      restrictions:
        timeout: 30
        maxRegPerIp: 2
        allowChat: false
      security:
        minPasswordLength: 8
    这样玩家有 30 秒时间登录,否则会被踢出;同一个地址能注册的账号数量受到限制;未通过验证的玩家不能在聊天里发言;过于简短的密码会被拒绝。
  4. 把这两条命令告诉玩家。首次进服:用 /register 把自选密码输入两遍。之后每次进服:用 /login 加该密码。在此之前,他们不能移动、不能建造、也不能聊天。

按组授权,而不是按名字

op 是一个绑定在用户名上的“全有或全无”开关,对离线模式服务器来说恰恰是最不该用的形式。改用权限插件,把头衔发给权限组,这样即便有人冒名成功,也不会顺带拿到控制台级别的权力。我们关于超越 op 的真正管理组的指南讲了具体怎么配置。

光靠白名单在这里保不住你。白名单核对的是用户名——而在离线模式下,用户名恰恰就是那个不再被验证的东西。它仍然能挡住随机路过的陌生人,这确实有用,但它挡不住知道某个白名单玩家名字的人冒名进来。白名单加验证插件才是行得通的组合;单靠白名单不行。

玩家会察觉到的变化:UUID 变了,皮肤没了

切换的那一刻,服务器上每个人都会遇到两处变化,而这两件事在动手改设置之前处理,都要比事后处理容易得多。

每位玩家都会拿到一个新身份

Minecraft 识别玩家靠的是 UUID,而不是名字。在线模式下这个 UUID 由 Mojang 签发,归属于该账号。离线模式下没有账号可问,服务器就改为根据用户名生成一个——这意味着同一个玩家在不同模式下会拿到完全不同的 UUID

在你的服务器看来,那已经不是同一个人了。所有挂在旧 UUID 上的东西都会成为孤儿数据:背包、末影箱、进度、重生点、插件余额、家、领地以及权限组归属。世界本身没事,也没有任何东西被删除——只是这些数据挂在了一个再也没人登录的身份上。

在开服前就做决定,并且先备份。在大家已经玩过的服务器上切换,会让他们失去全部进度,而切回来也不会把两份数据合并。改设置之前先做一次备份,好给自己留条退路。

还有第二个后果值得理解:既然 UUID 是由名字推导出来的,那么谁输入这个名字,谁就拥有挂在它下面的数据。这和上一节的冒名问题其实是同一件事,只是换了个角度看——这也是验证插件不可省略的另一个理由。

皮肤加载不出来了

皮肤来自 Mojang 的服务器,与经过验证的账号绑定。没有验证就没有皮肤,于是所有人都显示为默认的 Steve 或 Alex。SkinsRestorer 能解决这个问题:像装其他插件一样装上,重启,玩家就能用 /skin set 加一个用户名来设置自己的皮肤。在代理群组网络上,把它装在代理端,而不是后面的每一台子服上。

代理群组网络:BungeeCord 与 Velocity

如果你运营的是群组服——一个大厅加一台生存服再加一台小游戏服,全都藏在同一个地址后面——情况就不一样了,而且这里值得说清楚,因为离线模式配错最多的地方就是这儿。

在群组服里,代理后面的子服通常都跑在 online-mode=false 上,哪怕整个网络完全只对正版开放也是如此。这是设计使然:代理在入口处统一做一次 Mojang 核对,然后把已经验证过的玩家转发进来。在每台子服上重复核对只会失败。所以一台设了 online-mode=false 的子服并不代表这是离线模式网络——它只是一套配置正确的普通群组服。

你的网络究竟是仅限正版,还是对非正版玩家开放,是在代理端决定的,写在代理自己的配置文件里:BungeeCord 用 config.yml,Velocity 用 velocity.toml。在 HytHost 上,从面板 Version 选项卡安装的代理,默认就是在代理端开启在线模式写好的,所以要改的是那个文件——而不是后面的子服。

真正的风险,是一台谁都能直接连上的子服。设了 online-mode=false 的子服会信任送到它面前的任何身份,所以只要有玩家能绕过代理直接连到那台服务器,他想以谁的身份进来都行。防护靠的不是“别人不知道”——而是转发密钥。Velocity 的现代转发会对代理发送的玩家数据签名,子服会拒绝一切未签名的数据;两端设置同一个密钥,直连就再也进不来了。BungeeCord 的传统转发没有这种签名,所以使用它的网络会再装一个像 BungeeGuard 这样的插件来达到同等效果。

如果你运营的是面向非正版玩家的网络,Velocity 还有一处细节:enforce-secure-profile 在代理端有一个孪生设置,叫 velocity.toml 里的 force-key-authentication。只关掉子服那一项、却让代理那一项继续开着,症状会一模一样——玩家在登录时被拒,而服务器日志把原因描述成档案问题。

测试,以及修好出问题的地方

唯一算数的测试是真实测试:找一位没有购买账号的朋友连你的地址。如果控制台在他进服时打印出带有他名字的一行,那就成了。下面这些是没成的时候该逐项排查的内容。

玩家看到什么这说明什么怎么修
Failed to verify username服务器仍在向 Mojang 核对online-mode 还是 true,或者改动没保存上——停服后重新检查文件
提示档案密钥缺失或无效,或提示服务器要求安全档案离线模式已开启,但聊天签名仍在强制设置 enforce-secure-profile=false——文件里没有这一行就自己加上
服务器根本不显示,或者连接超时与离线模式无关连接或地址问题——服务器压根就连不上
所有人都是 Steve 或 Alex离线模式下的正常现象安装 SkinsRestorer
旧的物品和头衔都没了UUID 随模式一起变了还原切换前的备份,或者重新分配头衔并接受这次重置

改动保存不上

几乎总是这三种情况之一。你在服务器运行时改了文件,关服时它把你的改动覆盖掉了——先停服,再编辑。或者一次重装、换版本或安装整合包重新生成了一份 server.properties,那就把两行重新设一遍即可。再或者你改的那份文件根本不是服务器真正读取的那一份,这在有多个服务器目录的环境里时有发生。顺带一提:面板本身在启动时并不会重写这两行——它只管理服务器的 IP 和端口条目,所以在停服状态下保存的改动会一直留着。

某个插件拒绝启用

少数插件——多半是和账号、头衔或经济相关的——会在启动时检查服务器模式,在离线模式下拒绝加载,或者大声警告。别猜,直接读控制台的提示:有的只是需要在配置里加一个确认使用离线模式的选项,有的确实依赖 Mojang 的 UUID,但通常都有兼容离线模式的替代方案。任何会按玩家存数据的插件,都希望验证插件先加载,所以把 AuthMe 放在你整套配置的靠前位置,而不是最后才补上。

离线模式在 HytHost 的 Minecraft 服务器上是受支持的设置,面板提供文件管理器、实时控制台和一键备份,让你既能安心修改,也能在不满意时随时回退。如果 Minecraft 是你一直会回来玩的游戏,买下它才是让它继续被做下去的方式——不过这是你自己的决定,我们无意说教。

常见问题

常见问题解答

停止服务器,打开服务器根目录下的 server.properties,设置 online-mode=falseenforce-secure-profile=false,保存后再启动。没有购买 Minecraft 账号的玩家随后就能用你平时的地址进服。在对外公开之前,请先装一个登录验证插件——离线模式下用户名不再经过验证,任何人都能冒充任何人连进来。

几乎总是因为 enforce-secure-profile 还是 true。Minecraft 1.19 引入了聊天签名,而这项设置是独立于 online-mode 单独检查的——所以服务器能正常启动、看着也没问题,却依旧会拒绝没有 Mojang 签名档案的玩家。把它也设为 false,文件里没有这一行就自己加上。另一个常见原因是在服务器运行时改文件,关服时改动被覆盖掉了。

AuthMe Reloaded 给每个用户名加上一道密码:玩家 /register 注册一次,之后每次进服 /login,在此之前不能移动、建造或聊天。在离线模式服务器上,它不是可选项。没有它,用户名只是客户端发来的一串文本,任何知道你地址的人都能冒充你或某位管理员进服——如果头衔是按名字发的,他一进门就带着这些权限。把地址发出去之前先装好它。

在大家已经玩过的服务器上,会。Minecraft 按 UUID 追踪玩家,而离线模式的 UUID 是根据用户名生成的,不是由 Mojang 签发的,所以每位玩家实际上都变成了新人。背包、末影箱、进度、家、余额、领地和权限组都还留在世界里,只是挂在了一个没人登录的身份上。没有任何东西被删除,切回去也能恢复旧数据——但改设置之前请先备份。

可以。online-mode 只是你 server.properties 里的普通一行,而你对服务器的文件管理器和控制台拥有完整权限,所以这项设置和其他设置一样由你自己决定。面板不会覆盖它——它只管理服务器的 IP 和端口条目——一键备份则让你在不满意时把这次改动回退掉。

皮肤存放在 Mojang 那边,并按已验证的账号提供。验证关闭后,服务器没有账号可查,于是所有人都显示为默认的 Steve 或 Alex。装上 SkinsRestorer 就能解决——之后玩家用 /skin set 加一个用户名来设置自己的皮肤。在代理群组网络上,把它装在代理端,而不是后面的每一台子服上。

你的服务器,你的设置

一台拥有完整文件访问、实时控制台和一键备份的 Minecraft 服务器——这样的改动一分钟就能完成,而且随时可以撤销。含 Voxility DDoS 防护与每日备份,可用率目标 99.9%。

Live chat 8 AM – 11 PM (Chișinău time) · tickets answered during business hours