ARTICLE · 1183245
关于英雄联盟小概率无限重连问题说明

2.或者对局中突然掉出,
接下来就无限弹窗:

官方支持文档将这种现象称为“幽灵对局”(Ghost Game)
临时处理手段是两种:
① 等这局对局完整结算结束,服务器释放会话锁,才能继续排队;
② 临时换大区登录玩别的区(绕开当前大区的会话锁定)。
国服 2011 上线早期开服就大量反馈,官方 FAQ 就收录这个故障,riot 底层对局会话架构限制,属于底层遗留痛点,十几年一直没法彻底根除,只能规避,没法完全根治。
官方解释是:属于PVP.NET大厅服务和游戏对局服务器状态同步异常:游戏对局进程还挂在服务器上,但客户端断开了,服务器侧会话锁死,没有自动释放你的排队标记,所以你不能开新局英雄联盟。为此,英雄联盟于 2017年版本推出了remake功能:
这样就算有人掉了,队伍中的剩余玩家可以投票结束这局游戏,减少等待时间。但是往往客户会一直重连,直到红温……
底层原理
LOL 是双进程架构,又叫分离式架构:
大厅客户端(Launcher.exe):用来匹配、聊天、选英雄、商店
对局游戏进程(Game.exe):对局进程,独立端口、独立会话
服务器会生成对局会话 Session 令牌交给 Game 进程。而这个机制就是出现循环重连的本质:
大厅能连上服务器,但是Game 进程和对局服务器的心跳或者会话校验断了。服务器侧旧会话已然锁死,新握手一直失败 → 无限重连死循环。
哦对了,还和传输协议有关系哦。 launcher.exe 走TCP协议, 而游戏进程因为要保证实时走的是UDP。
大致建立流程
匹配成功 → 大厅服务器分配本局 GameServer
选英雄结束,大厅下发:GameServer IP: 端口 + 本局唯一 SessionToken
本地拉起 Game.exe,带着 Token 去 GameServer 做身份校验,建立 UDP 会话
GameServer 记住这个 Token 绑定你的账号,你属于本局玩家
对局中:Game.exe 持续发送 UDP 心跳包,证明在线
正常退出:Game.exe 主动发送下线报文 → GameServer 销毁该 Token 会话
(基于 Riot 多篇工程博客 + 官方支持文档,AI反向推导出来的模型
1,Riot 技术博客公开了后端编排模型Riot Games :《Runes Reforged: A Technical Retro》
2,Setup Port Forwarding
3,Riot技术博客《Engineering Esports》)
再说回重连故障,既然游戏是C/S模式,那就有两种情形:
本地侧故障:GameServer 上你的会话记录、凭证还活着,只是本地网络 / 进程临时断连;修好本地,拿着原有凭证就能重连回去。
服务器侧会话锁死:凭证在 GameServer 内存里标记为 “拒绝重连”,但条目不删除;就算本地网络、进程全修好,你拿凭证去握手也会被拒,只能等本局 GameServer 销毁.或者换个大区重建连接(大区和大区基本是物理隔绝,都有各自独立的整套组件,等于是绕开了之前的锁死,建立了新的连接。)
无限重连基本是属于后者了
怎么进一步判断是本地诱因还是服务器锁死?
换大区立刻能玩,回原大区还是锁 → 服务器侧会话锁死。
换手机热点/换网络后能重连 → 本地网络问题。
关掉 Vanguard、Discord Overlay、Citrix、Comodo等所有和LOL 有关进程 后正常 → 本地进程冲突。
同账号换电脑也锁,同电脑换账号正常 → 服务器侧会话锁死。
同局其他人也掉 → 可能对局的服务器有问题。
只有你掉,其他 9 人正常 → 你与服务器的会话/链路问题
特别说明:转载自网吧三国论坛【senry】















































































