连接服务器(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。
相关条目
- 加载世界(loadWorld) - 单人直连存档
- 打开界面(openGui) -
multiplayer是服务器列表