BallanceMMOClient

来自Ballance Wiki
Yyc12345讨论 | 贡献2022年4月23日 (六) 16:27的版本 (fix typo)
跳转至: 导航搜索
Chinese version / 中文版: BallanceMMOClient/zh
BallanceMMOClient
Bmmo.png
The multiplay game window implemented by BallanceMMOClient.
Basic Infomation
Author Swung0x48
Suitable for Ballance
Dependency The Latest BML2
Release Date 19 Apr, 2021 (3 years ago)
Final Version None
Project Link GitHub repository
Development Status In active development
License
  • v1:Apache License
  • v2 and v3:Unknow License

This is a brand-new, groundbreaking plugin. This plugin revives Ballance community.
——yyc12345

BallanceMMOClient(abbr, BMMO) is a groundbreaking BML2 plugin developed by Swung0x48. It allows a player to play Ballance with other players with low latency via a deployed central BMMO server. The ball of other players will be rendered as a shadow ball(half-transparent ball) in the game viewport, and a player name label will also be attached to it. Moreover, real-time chat, detect cheat status(cheat mode on or off) are also available. BMMO is enough stable to be used for some tournaments after a few iterations.

Download

  • Join Multi-play QQ Group, and download from QQ Group Files.
  • Join Ballance Discord Server.
  • Download from the Release page of GitHub repository.(Not suggested because publish is not in time.)
  • Download project and build by yourself.(Not suggested because building this plugin is harder than imagine.)

Please read the requirement of server which you want to join and download correct version. In most instances, downloading the latest version is the best decision. Server will reject the connection of obsolete client after some updates.

Client Usage

Install Client

Please ensure that you have installed the latest BML2. Then you need to put your downloaded zip file in ModLoader/Mods directly without decompression. If you have installed obsolete BMMO previously, please remove it instantly. Your installation is finished if you can see BallanceMMOClient entry in BML Mods menu.

Configurate Server and Username

After installation, there are 2 way to configure your server URL and username. If you are looking for some available servers, please check out the next chapter to get an available server.
First, you can enter BallanceMMOClient entry in BML Mods menu, then use Remote and Player submenu to set server URL and username. If your server URL or username contain complex words, you can use the next method.
Method 2, Close game, navigate to ModLoader/Config/BallanceMMOClient.cfg and open it. Now, you can change server URL and username directly.

Basic Operations

The following operations are frequently to be used. Please ensure that you have known them well before starting multi-play.

  • /mmo c or /mmo connect: Connect to server.
  • /mmo d or /mmo disconnect: Disconnect from server
  • /mmo l or /mmo list: List all online player clients.
  • /mmo s <message> or /mmo say <message>: Send message. Due to the implementation of BML command, Space is not supported in message content. You need to use other symbol to split words if you need. For example, you can type wait/a/minute or wait-a-minute instead of wait a minute.
  • F3 for switching the display of debug information. Debug information mainly show network transfer status.

After anti-cheat update(v3.1), BMMO supports more anti-cheat features.

  • /mmo cheat [on or off]: Switch cheat mode for all online players. This command will force change each player's cheat mode without any notification. Please do not abuse this command.
  • A global message will be showed in chat dialog if any player change its cheat mode. The name of cheating player will automatically be attached with [C].

Available Servers

Considering the security of server, you should join corresponding Ballance community according to your multi-play requirements. Then, you can get an available server. Also, you can create a personal BMMO server and play with it. Its method will be introduced in the following chapter.
If you want to play with Chinese Ballance players, you should join Multi-play QQ Group and get server URL within it.
Or, there is a big latency when you are connecting to Chinese BMMO server, or you want to play Ballance with over world Ballance players, you can join Ballance Discord server and get server URL from #multiplay channel.

History

There are 3 huge changes in BMMO history, according to its GitHub commit history.
V1 is based on TCP connection. Some basic message structures are established in this version and the plugin has been tested in production environment a few times. But the biggest problem is the quality of connection will significantly drop if the client is in a bad network environments. This is unacceptable in some cases.
V2 use a custom transfer protocol developed by Swung0x48. But quickly, this version was no longer maintained.
V3 is current version and be used by every Ballance multi-play players. It still in active development. This version use Valve's GameNetworkingSockets as its network library. This version of BMMO is widely praised, relying on the low latency features provided by GameNetworkingSockets. The quality of connection is in acceptable range, even if you are living the opposite of the Pacific Ocean.

Deploy a Personal Server

In general, creating an BMMO server on a Linux server is easier than a Windows server. You can check out the GitHub repository's README file of this plugin to know how to deploy a BMMO server.