固定服务器入口
定制客户端通常只服务于一个服务器或一个服务器组。你可以替换标题主菜单,把玩家最常用的“进入服务器、客户端设置、退出游戏”直接放在首页,不必先经过原版多人服务器列表。
完成本教程后,客户端启动会显示三个固定按钮,并且即使目标服务器暂时无法连接,玩家仍能看到原版连接错误并安全返回。
完整标题菜单
把下面内容保存为:
text
plugins/ChaUI/pages/fixed_server_title.ymlyaml
id: fixed_server_title
version: 1
title: 固定服务器入口
size:
width: window.width
height: window.height
coordinateMode: absolute
display:
mode: vanilla
vanilla:
target: title_menu
vars: {}
events: {}
methods: {}
elements:
- id: join
type: button
layout:
x: "window.width * 0.5 - 60"
y: "window.height * 0.5 - 35"
width: 120
height: 20
button:
label: 进入服务器
align: center
events:
leftClick: '加入服务器("play.example.com:25565")'
- id: options
type: button
layout:
x: "window.width * 0.5 - 60"
y: "window.height * 0.5 - 5"
width: 120
height: 20
button:
label: 客户端设置
align: center
events:
leftClick: '打开原版页面("options")'
- id: quit
type: button
layout:
x: "window.width * 0.5 - 60"
y: "window.height * 0.5 + 25"
width: 120
height: 20
button:
label: 退出游戏
align: center
events:
leftClick: "退出游戏()"把 play.example.com:25565 改成你的真实地址。域名使用默认端口时也可以只写 play.example.com。地址由 Minecraft 原版逻辑解析,连接时仍会进入原版连接流程或你的 connecting 替换页。
发布与测试
- 用
/chaui editor fixed_server_title打开并保存,或把文件放入pages/后执行/chaui reload。 - 确认页面没有与其他
title_menu页面冲突。 - 重启客户端或回到标题页,检查三个按钮。
- 先用可连接地址测试成功进服。
- 再临时填入不可用地址,确认客户端显示连接失败页面,并且可以正常返回标题页。
成功连接、退出或导航后,按钮脚本立即结束,不会继续操作已经离开的标题页面。
多个固定入口
首期不能读取 Minecraft 已保存的服务器列表,但可以直接制作多个静态按钮:
yaml
- id: join_lobby
type: button
layout: {x: 80, y: 60, width: 120, height: 20}
button: {label: 进入大厅, align: center}
events: {leftClick: '加入服务器("lobby.example.com")'}
- id: join_test
type: button
layout: {x: 80, y: 90, width: 120, height: 20}
button: {label: 进入测试服, align: center}
events: {leftClick: '加入服务器("test.example.com:25566")'}这些入口由页面作者明确维护,因此玩家不会看到未授权或无关服务器。需要完整动态服务器列表时,请保留 multiplayer 目标使用原版页面,或提供 打开原版页面("multiplayer", true) 按钮。
与定制客户端一起分发
该能力面向服主把 UI、ChaUIMod 与服务器配套后整体分发的使用方式。页面包和其中的本地动作应视为客户端发行内容:在交付前完成地址、设置入口、退出按钮和失败返回验收,并确保玩家拿到的客户端只包含你准备发布的页面与素材。
客户端尚未连接服务器时,可以从预置 bootstrap.zip 使用标题菜单;连接服务器后,经过完整校验的新页面包才会成为活动包。具体目录和优先级见页面包与素材。
常见问题
| 现象 | 检查与修正 |
|---|---|
| 启动后仍是原版标题页 | 检查活动包或 bootstrap.zip 中是否有有效 target: title_menu 页面 |
| 点击后没有连接 | 检查地址是否为空、是否包含空格,以及域名和端口是否正确 |
| 连接失败后无法返回 | 确保 disconnected 页面有 close() 或原版返回入口;也可不替换该目标 |
| 想自动显示玩家保存的服务器 | 首期不提供动态服务器列表,请改用固定按钮或单次打开原版多人页 |
猹件开发组