Skip to content
On this page

固定服务器入口

定制客户端通常只服务于一个服务器或一个服务器组。你可以替换标题主菜单,把玩家最常用的“进入服务器、客户端设置、退出游戏”直接放在首页,不必先经过原版多人服务器列表。

完成本教程后,客户端启动会显示三个固定按钮,并且即使目标服务器暂时无法连接,玩家仍能看到原版连接错误并安全返回。

完整标题菜单

把下面内容保存为:

text
plugins/ChaUI/pages/fixed_server_title.yml
yaml
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 替换页。

发布与测试

  1. /chaui editor fixed_server_title 打开并保存,或把文件放入 pages/ 后执行 /chaui reload
  2. 确认页面没有与其他 title_menu 页面冲突。
  3. 重启客户端或回到标题页,检查三个按钮。
  4. 先用可连接地址测试成功进服。
  5. 再临时填入不可用地址,确认客户端显示连接失败页面,并且可以正常返回标题页。

成功连接、退出或导航后,按钮脚本立即结束,不会继续操作已经离开的标题页面。

多个固定入口

首期不能读取 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() 或原版返回入口;也可不替换该目标
想自动显示玩家保存的服务器首期不提供动态服务器列表,请改用固定按钮或单次打开原版多人页