连接服务器(connectToServer)

基本信息

属性 值
type 值 connectToServer(大小写不敏感)
实现类 lumien.custommainmenu.lib.actions.ActionConnectToServer
参数 ip(host[:port] 字符串)
分发点 GuiConfig.getWantedAction(GuiConfig.java:399-401)

核心差异

本 mod 唯一的多人游戏入口。与 loadWorld 的差异:后者走 launchIntegratedServer(单人),本动作走 FMLClientHandler.connectToServer(走 FML 的握手流程,能正确触发 mod 的客户端握手逻辑)。

执行流程

ActionConnectToServer.perform(ActionConnectToServer.java:16-21)只有三行:

ServerData serverData = new ServerData(null, this.ip);   // 第一个参数是显示名,传 null
FMLClientHandler.instance().setupServerList();            // 初始化服务器列表
FMLClientHandler.instance().connectToServer(menu, serverData);
属性 值
ServerData 名称 null —— 服务器列表里不会出现具名条目
连接目标 由 ServerData 内部按 ip 拆分 host / port(未写端口时按 MC 默认 25565)
参数化开关 无。不能写 server.properties 式的额外参数

已知限制

  • 类的 serverName 字段声明后从未赋值也从未读取(ActionConnectToServer.java:11),是死字段。
  • 没有连接中/失败/成功任何 UI 反馈:失败由原版连接流程自己弹错误框。
  • 不读 文本来源,ip 走 getAsString(),web: / file: 前缀在这里无意义。

使用场景

整合包主菜单上的固定服务器入口(Hypixel、官方服务器等)。若要列出多个可选服务器,应用 打开界面(openGui) 的 multiplayer。

相关条目