朋友发来一张截图:服务器列表里一个红叉,底下一行 Connection refused: no further information。你在自己手机上点进去却正常,于是开始怀疑服务端崩了。可服务端很可能一直好好的,问题在他到你手机之间的某一段。
客户端那行英文其实信息量很大,它直接告诉你“卡在哪一步”:是地址没解析出来、连接没建立,还是连上了但被踢。先看英文分诊,再动手改设置,比反复重启省时间得多。
这一页把常见提示逐条拆开:它什么意思、最可能是什么原因、先查哪里、怎么处理。路径本身怎么搭,看 联机排错 和 联机基础。
先分类:refused、timed out 都是没连上,后面那些是连上了被踢。
服务器列表能刷出延迟,只说明端口通了,不代表能进服。
账号类报错和端口映射无关,别再去改路由器。
白名单开关只发命令、不改配置文件,重启后会回到配置里的状态。
先分清:没连上,还是连上了被踢#
这两类问题的处理方向完全相反:前者查网络和地址,后者查版本、账号、白名单。看提示出现在哪一段就能分开。
| 阶段 | 客户端提示 | 含义 |
|---|---|---|
| 解析地址 | Unknown host | 连“名字”都没换成 IP |
| 建立连接 | Connection refused、Connection timed out | 没走到游戏登录 |
| 握手与登录 | Incompatible version、Invalid session、Failed to verify username、Not authenticated | 端口通了,被服务端拒绝 |
| 进入世界 | You are not whitelisted、Server is full、Internal server error | 登录中被拦,或服务端报错 |
还有一个更快的判据:服务器列表里能刷出信号格和延迟,说明 TCP 端口至少是通的;直接红叉、延迟都不显示,问题在更前面。但延迟有信号也不代表能进——白名单、版本、账号都可能在这之后拦你。
记下客户端那句完整英文,再去「终端」看同一时间的最后 20 行。客户端只说“被拒绝”,服务端往往写了“为什么”。看不懂服务端那半,按 小白看日志 找关键词。
连不上的三种报错:refused、timed out、Unknown host#
三种提示对应三种完全不同的病因,混在一起查最容易白忙。
Connection refused:门牌号对了,没人开门#
含义:请求送到了目标 IP 和端口,对方明确回了一个“拒绝”,游戏还没开始登录。
最可能的原因:服务端没运行或还没开始监听;客户端填的端口和 server-port 不一致;隧道没启动、目标端口填错,或路由器转发到了别的内网 IP;填的是局域网地址,人却不在同一个 Wi-Fi。
先查哪里:概览页状态 + 终端里有没有 Done;「服务器配置」里的 server-port;网络页里隧道是不是“运行中”。
处理:先把服务端启动到出现 Done 再让人进;核对端口(端口 = 同一台手机不同程序的门牌号);同 Wi-Fi 下先用局域网地址试,排除隧道因素。地址可以从概览的「服务器地址」卡片直接复制,别手打。
Connection timed out:请求发出去了,没有回应#
含义:数据包被丢弃或路径不通,一直等到超时。和 refused 的区别是:那个有人回话但拒绝你,这个根本没人理。
最可能的原因:防火墙、运营商或校园网丢包;CGNAT(运营商级 NAT,多个用户共用同一个公网 IP)让外部流量到不了手机;隧道“假在线”——进程在跑但连接断了;手机休眠后被限制网络;公网 IP 或端口变了,朋友还在用旧地址。
先查哪里:隧道平台上的连接状态;网络页里显示的公网地址是不是最新的;手机锁屏后隧道是否还在。
处理:先让朋友换用移动数据再连一次隧道地址;隧道断了就重连;把最新地址重新发一遍;顺手检查省电策略有没有掐后台,见 后台保活。
关掉 Wi-Fi 后连 192.168.x.x 超时,不能证明服务端有问题——那是两个不同的网络。要测外网路径,必须用 FRP、EasyTier 或公网地址。
Unknown host:地址本身没解析出来#
含义:客户端连“名字”都没换成 IP,请求还没发出去。
最可能的原因:地址拼错(多空格、中文冒号、把端口粘在域名后面);隧道域名过期或被删;手机 DNS、VPN、代理异常;用 EasyTier 但对方没加入同一个网络。
先查哪里:逐字符核对地址;隧道对应的域名还在不在;手机是不是开着 VPN。
处理:把域名换成 IP 再试一次;关掉 VPN 重试;EasyTier 要确认双方在同一个网络且都在线。地址形如 主机:端口,中间是英文冒号。
版本不兼容:端口通了,版本对不上#
含义:双方已经握上手,但协议版本不一致。Java 版可能显示 Outdated server! 或 Outdated client!。
最可能的原因:客户端版本高于或低于服务端;用 Java 版客户端去连基岩版服务端(两个不同的游戏,不能互连);模组加载器不同,比如 Fabric 服拿原版客户端进。
先查哪里:服务端日志第一行的 Starting minecraft server version ... 就是真实版本,以它为准,不要以“我下载时选的那个”为准。客户端的版本在启动器里能看到。
处理:让客户端选完全一致的版本;模组服要用同加载器、同版本的客户端,并且装好服务端要求的模组。客户端和服务端版本必须一致,差一个小版本也进不去。
基岩版(PowerNukkitX、PocketMine-MP、Allay)用的是另一套客户端和端口,默认 19132。手机基岩版客户端连不上 Java 服的 25565,这不是配置错,是两种游戏。
账号类报错:Invalid session、Failed to verify username、Not authenticated#
这三种都发生在已经连上服务器之后,和端口映射、防火墙无关。看到它们就别再去改路由器。
| 提示 | 含义 | 常见原因 | 处理 |
|---|---|---|---|
Invalid session | 登录会话失效 | 启动器登录过期、账号在别处重新登录、验证服务器被网络阻断 | 退出账号重新登录,重启游戏 |
Failed to verify username | 服务端验不了这个账号 | 离线客户端连了正版验证服、会话失效 | 用正版账号;或按需关验证并接受风险 |
Not authenticated | 客户端没拿到登录凭证 | 没登录、令牌过期、启动器异常 | 重新登录微软账号 |
服务端是否验证正版,看 server.properties 里的 online-mode。改成 false 能让离线客户端进来,但名字从此不代表身份,任何人都能顶着别人的名字进服。
关掉 online-mode 必须同时开白名单。只关验证不开白名单,等于把家门钥匙挂在门上:任何人只要知道地址,就能用你的名字进来,拿东西、拆家、给自己 OP。取舍和配套做法见 白名单、OP 与封禁。
白名单、满员、内部错误:连上了,但被拦在门口#
| 提示 | 含义 | 最可能原因 | 处理 |
|---|---|---|---|
You are not whitelisted | 你不在白名单里 | 没加、名字大小写不对、白名单没真正开启 | 玩家页加人,确认 white-list=true |
Server is full | 人数到了上限 | max-players 满了,或有假人在线占位 | 踢人,或调大上限后重启 |
Internal server error | 登录时服务端抛了异常 | 插件在登录事件报错、代理转发配置不对、版本或模组不一致 | 去终端找第一个 Exception |
白名单有个坑:玩家页的开关只发 whitelist on/off 命令,不改 server.properties,重启后会回到配置文件里的状态,想长期生效要直接写配置。加人、删人是即时命令,但要求服务端正在运行。另外名字区分大小写,Steve 和 steve 不是同一个人。
Internal server error 的信息量很低:它只说明服务端处理登录时出错了,真正原因在日志里。去终端找第一个 Exception 和下面的 Caused by;刚装过插件就先禁用最近那个。
服务端那边同时在报什么#
同一个故障,客户端和服务端看到的是两句话。对照着看,能省一半猜测。
| 客户端提示 | 服务端常见的对应输出 | 说明 |
|---|---|---|
Connection refused | 什么都没有,或 FAILED TO BIND TO PORT! | 端口没监听,连接根本没进来 |
You are not whitelisted | You are not white-listed on this server! | 白名单拦下了 |
| 突然掉线 | Steve lost connection: Disconnected | 玩家侧断线,常见于网络切换 |
| 进服成功 | Steve joined the game | 这行出现才说明真进去了 |
| 看不到延迟但能进 | Steve logged in with entity id ... | 登录流程已经走完 |
排查时养成习惯:先让朋友截客户端的图,你同时看终端。两边时间对得上,结论基本不用猜。
三个动作,把范围缩到一半#
不知道从哪下手时,按顺序做这三个动作,每次都能砍掉一半可能性。
看服务器列表的延迟:能刷出信号格,说明路径通,去查版本/账号/白名单;连信号都没有,先查地址、端口、隧道。
换网络:同 Wi-Fi 用局域网地址,外网用移动数据。局域网地址在流量下连不上是正常的,不要据此判断服务端坏了。
换设备:只有他进不去,是他客户端的问题;换谁都进不去,是服务端或路径的问题。
这三步做完,你至少能回答“是服务端的问题还是路径的问题”,剩下的按上面的表对症处理就行。网络页上的地址都可以直接复制:127.0.0.1:<端口> 只在同一台手机上用客户端测试时有效,局域网 IP 给同 Wi-Fi 的朋友,公网地址由隧道在运行中给出,隧道一停地址立即失效。
FRP 的公网地址在隧道停止后就不再生效;STUN 的地址由运营商分配,断线重连或换网后端口可能变化。所以每次重启过隧道,都要把新地址重新发一遍,别让朋友一直试旧地址。
服务器列表里能看到你填的地址,延迟一栏有数字或信号格。
概览页终端里出现过
Done (...),不是停在启动中。客户端版本与服务端日志第一行的版本完全一致。
需要正版验证的情况下,朋友用的是正版账号并已登录。
白名单里的名字和玩家实际名字大小写完全一致。
下一步#
路径本身不通(端口、NAT、隧道):联机排错
白名单和正版验证怎么配:白名单、OP 与封禁
想让外网朋友进来:我该用哪种联机方式
服务端日志里那半句报错:日志关键词索引