BallanceMMOClient/zh

来自Ballance Wiki
跳转至: 导航搜索
英文版 / English version: BallanceMMOClient

本文介绍 BallanceMMOClient,即以 Mod 格式呈现的 Ballance大型多人在线游戏 的客户端。

下载

  • 发布网站选择 Download Standalone Package 进行下载。(推荐)
  • 加入联机群,并在群文件中下载。(推荐)
  • 加入Ballance Discord群组获得客户端。
  • 前往GitHub工程Actions页面下载(不推荐,因为可能会下载到未正式发布的不稳定版本)。
  • 自行编译(不推荐,因为编译较为困难)。

请注意各个服务器的版本要求,并下载正确的版本。下载最新版本通常是最正确的选择。通常而言,BMMO发布更新时开发者会同时更新服务器的版本限制,使得其不再允许旧版本的客户端连接。

安装客户端

首次安装

首先,你应当确保自己已经安装了 Ballance Mod Loader 并且更新到了最新版,0.3.43。然后你应当先按照上文的提示下载 BMMO 客户端。

如果你不知道该怎么做,直接点击上文发布网站页面内的 Download Standalone Package 下载懒人包即可。下载到的懒人包名称格式为 BallanceMMOClient_版本号.zip,它是 ZIP 格式的压缩包,直接放到游戏安装目录下的 ModLoader\Mods\ 文件夹即可,无需解压。当然解压也是没有问题的,懒人包包含了 1 个名为 BallanceMMOClient.bmod 的 Mod 本体文件与 3 个 DLL 文件,如果想要解压,记得将它们全部解压后放到 Mod 目录下。注意不要同时把压缩包和解压后的文件都放在 Mod 目录,二者只能选择其一。

如果你不想用上面的懒人包方式,那么你可以选择点击页面内下载栏的第二行的两个链接,分别下载最新版 Mod 本体以及那 3 个 DLL 文件。BMMO 客户端正常运行也是离不开后者的,所以你仍然需要将之全部解压后放到 Mod 目录内(不要同时放压缩包和解压后的文件)。

更新

如果你安装的是懒人包并且没有解压,那么更新对你而言应当是最简单的了:重复上一节的下载操作即可。

如果你解压了或者本来用的就是分开下载的方式,那么其实你要下载的东西更少,只用点击下载栏第二行的下载 Mod 本体就行。这是因为 BMMO 更新一般只会更新 Mod 本体,所依赖的其他 DLL 文件不用更新。然后把下载的 Mod 放到 Mod 目录内,务必删除旧版的 bmod 文件

客户端配置

插件的配置方式有两种:

  1. BMMO 客户端的设置和其他 Mod 设置的位置一样,依次进入菜单 – OptionsModsBallanceMMOClient 即可找到。设置完毕后记得点击 Back 然后返回出来(不返回的话设置不会保存),不要用按下 Esc 的方式,那样也是不会被保存的。
    • 如果你的设置项较长或包含复杂文本,你可以选择第二种方法。
  2. 编辑 ModLoader/Config/BallanceMMOClient.cfg 来修改插件的相关设置。

用户名和服务器地址是你进行联机必须要进行设置的两项内容;其他设置可以维持默认或者根据自己情况调节。

用户名设置

用户名设置位于 Playername玩家名称。默认会结合当前日期自动生成随机用户名,请务必在连接服务器前改成自己惯用的昵称。

  • 请选择一个较为清晰的名称。需要注意的是,你输入的用户名会被服务器进行一次无效字符删除,因此服务器最终采用的用户名可能与你设定的有所出入。
  • 名称长度必须在 3 到 20 个字符之间(含两端),过长的会被截断,过短的会被使用下划线补全。名称仅支持大小写英文字母、数字,以及符号 _-+=.~(),剩余的也会被替换成下划线。
  • 用户名每 24 小时只能修改一次,修改用户名请慎重;用户名有效性可以使用 用户名检验器 验证。

服务器设置

自 3.5.3 版本起,BMMO 的服务器地址由服务器管理器处理,你可以使用 /mmo c 命令进入服务器管理器并跟随其中提示设置。你必须设置正确的服务器地址,并确保和希望联机的人处在同一服务器下,才能正常联机。

玩家使用 /mmo c 唤出服务器管理器后会首先进入服务器列表视图。列表视图内显示玩家的添加过的所有服务器(最多保存 10 个),对着选中的服务器按下 Enter 或鼠标左键可以直接进入;按下 E 或者鼠标右键则可以编辑服务器信息。此外,若服务器数量没有达到上限,则服务器列表底部会显示 [Add New] 字样,选中并按下可以新增服务器。

服务器编辑视图内存在两个输入框,分别是服务器地址和备注名。如果你省略了地址的端口号,那么插件将默认连接 26676 端口;若备注名留空,则插件会以服务器地址作为服务器的名称。按下 EnterEsc 或者屏幕上按钮分别可以保存或撤销修改,

其它设置

  • Player / SpectatorMode旁观者模式。开启后你将以旁观者模式进行联机;旁观者的影子球、作弊状态等对于包括旁观者在内的其他玩家而言是隐藏的,同时旁观者也不会触发通关公示等涉及比赛的操作。
    • 旁观者模式经常用于比赛中的解说与裁判。处于旁观者模式的玩家前会被自动添加一个星号(*)以标记。
    • 切换此模式时若已连接至服务器则会自动触发一次断线重连。
  • Gameplay / Extrapolation外推插值,即是否对其他玩家的影子球启用外推插值。开启后将启用外推插值功能平滑显示玩家球运动轨迹,以取得更好的显示效果。若关闭,插件将停止平滑球的轨迹,球的轨迹将会是以离散形式呈现(瞬移)。
    • 常规状态下玩家至服务器的网络连接会不时有卡顿、丢包等现象,这些现象会导致影子球看着比较卡顿,运动起来不流畅。外推插值功能可以利用先前获取的玩家数据,对影子球的坐标进行实时推算,以准确度的较小损耗为代价大幅度提高影子球运动的流畅度。强烈建议启用,除非您所在的网络非常卡顿(此时插值效果的准确度会非常差,容易出现影子球抽风等现象)。
    • 本设置的存在是为了更好的兼容性,未来插值效果能够减少此状态下的准确度问题时开发者很有可能会强制启用插值功能,届时本设置会被移除。
  • Gameplay / PlayerListColor玩家列表颜色。以十六进制 RGB 数值的格式存储(也称作 HEX,可以自行查询了解),用以自定义玩家列表和置顶告示(参见后续章节以了解)的文字颜色。通常无需修改。
  • Gameplay / DynamicOpacity动态透明度,即是否对其他玩家的影子球按照和玩家摄像机的距离动态调节透明度,使得距离玩家球近的影子球更加透明,远处的影子球则更加不透明。可以用来减轻影子球的干扰。
  • Gameplay / SoundNotification音效通知。默认 BMMO 大部分通知消息会伴随音效提示,此选项关闭后,仅最重要的消息(比赛倒计时、起跑等)会有提示音。

客户端使用方法

命令

下文命令的描述格式和注意事项:

  • 不同参数之间以空格分隔;未使用任何格式的参数表示玩家必须原样输入参数名称。
  • name 表示对应的参数名称为 name,但可以仅输入下划线所示的部分(即字母 nm 的组合)。
  • <参数> 表示必须根据实际状态输入的参数。
  • [参数] 表示可以省略(将会使用默认值)的玩家参数。
  • 参数1 | 参数2 表示玩家需要选择参数 1 或参数 2 中的一个填入。
  • {玩家} 表示玩家名称或前缀了 # 的玩家内部临时 ID(可以用 /mmo list-id 获取)。
    • 例:若一玩家名为 Player,ID 为 1145141919,则可以输入 Player 或者 #1145141919
  • 命令参数的完整名称以及玩家名或玩家 ID 可以输入首字母后在输入框内按下 Tab 键自动补全,方便快速输入。
  • 固定的命令和玩家名不区分字母大小写,但玩家根据实际状态自行填入的其他参数区分。此外,Tab 键自动补全时由于 BML 自身设定问题,也区分大小写。
  • 前缀 的命令需要玩家在服务器内拥有管理员权限才能使用。
    • 管理员权限的判定为:玩家直接为对应服务器内的管理员,或对应服务器内无任何在线管理(此时视作所有玩家均为管理员)。

服务器状态类

  • /mmo connect [地址] – 连接到地址对应的服务器。若不填地址则会唤出服务器选择器。
  • /mmo disconnect – 离开玩家所在的服务器。

玩家状态类

  • /mmo list|list-id – 显示所在服务器内所有玩家的名称列表。若使用 list-id,则在列表内同时列出玩家名称和内部临时 ID。
  • /mmo getmap – 显示服务器内所有玩家各自所在的地图名称和小节号(方便寻找不同玩家)。
  • /mmo getpos – 显示服务器内所有玩家各自的坐标和球的种类。[1]
  • /mmo reload – 重新加载服务器内玩家状态。如果玩家名称标记和实际影子球错位,可以使用重载功能调整。
  • /mmo gettimestamp – 显示服务器内玩家的影子球插值用时间数据。此命令为调试功能。
  • /mmo uuid – 输出玩家自己的 UUID,方便复制使用。

玩家互动类

  • /mmo say <文字>/say <文字> – 在服务器内公开发送一条内容为 <文字> 的聊天信息。[2]
  • /mmo whisper {玩家} <文字> – 向对应的玩家发送私聊信息,只有对方能够看见。
  • /mmo announce <文字> – 在服务器内发送一条重要通知,玩家接收到后会在游戏窗口内居中显示 10 秒左右。可以显示包括中文在内的非 ASCII 字符。
  • /mmo notice <文字> – 在服务器内发送一条普通通知。显示效果和限制和上文的重要通知相似,但普通通知显示的位置在窗口下部,因此对玩家游戏的干扰性较低。
  • /mmo bulletin [文字] – 设置服务器的常驻通知(会维持在游戏界面顶端显示)。[3]
  • /mmo announcemap – 在服务器内公开发送自己所在的地图和小节的信息(可以用于通知其他用户)。
  • /mmo teleport {玩家} – 传送至服务器内其他玩家的坐标。只能在作弊模式(Cheat Mode)下使用。[4][1]
  • /mmo restartlevel {玩家} – 强制对应玩家重新开始自己所在的游戏关卡(若对应玩家未在任何地图内则会失败)。
  • /mmo kick|crash {玩家} [理由]: 将对应名称(不区分大小写)或 ID 的玩家踢出服务器。使用 kick 为仅移出服务器,crash 则是直接让玩家在被移出后游戏崩溃。
  • /mmo custommap <名称|reset>: 自定义自己所在地图的名称(仅对其他玩家有效,玩家自己无法查看)。切换地图时会自动重置。

比赛状态类

  • /mmo cheat on|off – 开启或关闭服务器内所有人的作弊模式(Cheat Mode)。
  • /mmo countdown – 自动连续发出 3, 2, 1, 开始比赛的信号。
  • /mmo dnf – 发出未能成功完赛所在地图的信号(同对应的快捷键)。
  • /mmo rankreset – 若玩家自己稍后发送比赛起跑命令,则同时重置服务器内所有地图先前已有的排行名次(适用于多地图连续比赛但仅发号一次的场景)。
  • /mmo ready|ready-cancel – 用于公开示意自己已经准备好了(进入已准备状态)或还未准备好(取消先前的准备状态)。
  • /mmo scores [local] hs|sr [关卡号] – 获取当前关卡(默认)或指定原版关卡的 HS 或 SR 排行榜数据,并在屏幕中央居中显示 10 秒。[5][6]
    • 示例: /mmo score hs 1 可以获取第 1 关以 HS 模式排列的成绩数据。
  • /mmo mode hs|sr/mmo hs|sr – 设置自己接下来的发号模式为 HS 或 SR。

杂项

  • /mmo show|hide – 显示或隐藏本 mod 的命令行控制台。控制台内可以显示本 mod 的所有状态提示信息。命令行控制台的输入和输出将不再有ASCII字符限制(即支持显示与输入中文等字符)。同时输入命令时也无需 /mmo 前缀。

快捷键

自身状态类

  • Tab: 显示/隐藏其他玩家的影子球的名称标签。
  • F3: 显示/隐藏调试信息。
  • F3 + A: 重新加载服务器内玩家状态。如果玩家名称标记和实际影子球错位,可以使用重载功能调整。
  • Ctrl + Tab: 显示比赛内非旁观玩家的实时状态(所在的地图和小节)列表。[7]
  • Ctrl + `: 显示/隐藏自己的(经历网络延迟后的)实时影子球,方便观察自身延迟。[8][1]
  • Ctrl + Shift + ↑: 重置自己的视角。防止比赛过程中意外切换到非 90 度视角状态后无法正常继续比赛。[9]

比赛状态类

  • Ctrl + [3 或 2 或 1]: 发出对玩家所在地图开始比赛的对应倒数命令。
  • Ctrl + 0: 发出对玩家所在地图的起跑命令(玩家收到后会同时重置本地的比赛用时计时器)。根据服务器相关设置,地图相同的玩家收到后可能会自动重开所在地图。
  • Ctrl + 4: 发出对玩家所在地图的准备命令。
  • Ctrl + 5: 发出对玩家所在地图的确认准备状态的命令(用于提示玩家对自己是否准备好了进行示意)。
  • Ctrl + D 快速连续按下两次: 发出未能成功完赛(Did not finish, DNF)所在地图的信号。

可用服务器

考虑到服务器的安全性,你需要根据你的需要,加入对应的交流渠道才可以获取可用服务器。当然,如果你也可以根据下一节的讲解开设私服并进行游戏。

如果你希望与中国国内的玩家进行游戏,你需要加入联机群,并在群内获取对应服务器地址;如果你连接中国国内服务器有较大延迟,又或者希望与世界其它的Ballance进行游戏,可以加入Ballance Discord群组,并在#multiplay频道中获取服务器地址。

备注

  1. 1.0 1.1 1.2 服务器内玩家数仅有 1 人(即玩家自身)时为节约运算和网络资源,服务器并不会向玩家发送坐标等状态信息,所以影子球不会跟随玩家移动。也因此服务器内仅有 1 名玩家(即玩家自身)时并不会正确显示坐标和球的种类。
  2. 在3.1.5-beta5前,由于BMMO的实现,消息中不支持输入空格。如果你需要断句,需要使用其它符号代替,例如“我掉了”可以这么打出:wo/diao/le又或者wo-diao-le。在3.1.5-beta5更新中,这一问题由开发者修复。
  3. 常驻通知不会自动换行,请注意描述的简洁度;此外,服务器内所有玩家均退出(使得服务器内没有玩家)后常驻通知会自动清空。
  4. 传送只能做到传送到玩家本地存储的其他玩家的坐标,不会连带切换玩家所在的地图或小节,也不会复原其他玩家视角的机关摆放;请与 /mmo getmap 等命令配合使用。
  5. 默认数据由服务器端同步获取,但 local 标签会采用玩家自己在线时接受到的通关信息的整合,因此如果出现掉线状况则可能会和实际排行数据不符。
  6. “当前关卡” 是指上次触发 “Go!” 命令时的关卡。此外,目前暂时不支持获取指定自制地图的数据,但自制地图的比赛排行榜仍然可以通过 “当前关卡” 获取。
  7. 先按住 Ctrl 再按 Tab(其他快捷键同理),虽然要同时按下但顺序不可错乱。
  8. ` 键位于标准 QWERTY 键盘的 1 键左侧,同时可以用于输入 ~
  9. 重置视角时摄像机需要有大约 1~2 秒的调整时间,此期间建议不要移动防止出现其他意外(可以在变球器上时调整视角,减少非必要的时间浪费)。