加载中...

「RO 笔记」服务器终止联机 Connection refused


0x00 前言

在调试新特性代码的时候,往往需要多次重启 rAthena 服务。

某天我开电脑用 VS2022 启动服务后,登录 RO,突然客户端跳出一个异常 服务器终止联机

对应在 login-server 的服务器窗口跳出一个异常:

[Status]: Connection refused: there is no char-server online (account: admin).

反复重试都是一样的异常:

0x10 分析 & 解决

我上次关电脑的时候,一切都是正常运行的,所以基本可以排除源码问题,估计是运行环境哪里发生了变化。

但是我排查了 ip 配置、封包版本、退回上个版本的客户端等情况,都是一样的问题,无法联机服务器。

偶然之下瞄了一眼 docker,发现是这次 docker 在电脑开机启动时,把稳定版的 rAthena 服务自动跑起来了:

我把 docker 的 RO 服务停止后,果不其然,就能成功登录服务了。

0x20 结论

所以引发 服务器终止联机 Connection refused 这种问题的根因,就是同一个服务器,启动了 2 个以上的 rAthena 服务导致的。

客户端在登录时,会话随机找到了一个 login-server,但是 login-server 却不知道使用哪一个 char-server,导致了报错。

很奇怪第 2 次启动时,服务进程应该无法绑定相同的端口,这里估计有 BUG

0x30 优化

为了下一次出现同样问题时可以快速定位,我在客户端的 data/msgstringtable.csv 修改了第 5 行为:

MSI_SERVER_OFF,服务器终止联机\n请检查是否启动了多个服务器

这样下次再发生就能给自己提示了:


文章作者: EXP
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 EXP !
 本篇
「RO 笔记」服务器终止联机 Connection refused 「RO 笔记」服务器终止联机 Connection refused
记一次登录 RO 异常的排查过程,过程中花费了大量时间排除了多个可能原因,最终解决方法竟如此简单 ...
2025-06-11
下一篇 
「RO 笔记」npc_market_fromsql 警告修复 「RO 笔记」npc_market_fromsql 警告修复
npc_market_fromsql 警告源于 NPC 脚本设定的道具售价过低,可能导致玩家利用差价套利,本文分析了该警告的成因与解决方法。
2025-05-24
  目录