房间模式
本章主要讲述 MSST-Net 房间模式的运作机制。
什么是房间模式
房间模式是 MSST-Net 提供的临时组网功能,适用于多人协作、游戏联机等短期使用场景。
在房间模式下,加入同一房间的设备可以互相发现、直接通信,并支持局域网发现协议(如游戏大厅搜索)。
适用场景
房间模式适用于:
- 多人游戏联机(如 Minecraft 局域网联机、铁锈战争等)
- 临时文件共享或协作
- 不希望长期暴露在网络中的临时组网需求
创建房间
任何已接入 MSST-Net 的设备都可以创建房间。
在客户端控制器中:
- 打开控制器,进入房间页面
- 点击创建房间,输入房间名称
- 可选:设置房间密码(留空则无密码)
- 创建成功后,系统会生成一个唯一的房间 ID
将房间 ID 分享给需要加入的人,对方即可通过该 ID 加入房间。若设置了密码,加入时需要输入密码。
加入房间
获取房间 ID 后:
- 打开客户端控制器,进入房间页面
- 点击加入房间,输入房间 ID
- 若房间设有密码,输入密码
- 加入成功后,即可看到房间内的其他成员
加入房间时,客户端会自动检测本机的网络端点并上报,用于与房间成员建立点对点连接。
房间密码
创建房间时可以设置可选密码,用于限制加入权限。
- 密码由创建者在创建时设置,创建后不可修改
- 客户端在本地对密码进行哈希处理后发送,服务端仅存储哈希值,不保存明文密码
- 知道房间 ID 但不知道密码的人无法加入
免认证用户
未完成 MSST 联合认证的用户也可以使用房间模式,但有以下限制:
- 仅可使用房间模式,无法接入大内网
- 由免认证用户创建的房间最多支持 5 名成员(含房主)
认证用户创建的房间不受成员数量限制。
如需解除限制,请完成 MSST 联合认证。
房间成员
加入房间后,控制器会显示当前房间内的所有在线成员及其设备信息。
房间成员之间可以:
- 通过虚拟 IP 直接通信
- 通过 ezPlay 主机名相互访问
- 享受局域网发现功能(见下文)
局域网发现功能
房间模式提供局域网发现代理功能,将房间模拟为一个局域网环境。
支持的发现协议包括:
| 协议 | 用途 |
|---|---|
Minecraft Java LAN(组播 224.0.2.60) | Minecraft 联机大厅搜索 |
mDNS(组播 224.0.0.251) | 局域网服务发现 |
IPv4 广播(x.x.x.255) | 通用广播发现 |
启用此功能后,游戏中的"局域网联机"选项可自动发现房间内其他设备上运行的游戏服务器,无需手动输入 IP。
注意:局域网发现功能仅在桌面端(Windows / Linux / macOS)支持,移动端(Android)不支持。
访问控制
房间模式下,仍然遵循防火墙规则。
与大内网模式的区别在于:
- 只有房间内的成员才能触发交互式授权通知
- 来自房间外设备的连接请求,即使无匹配规则,也不会触发授权通知,而是直接丢弃
离开房间
不再需要联机时,可以在控制器中离开房间。
离开所有房间后,设备回到纯大内网模式,局域网发现功能停止工作。
注意事项
- 房间 ID(格式:
space-{8位十六进制})是公开的,知道 ID 的人均可加入 - 若需控制访问权限,可设置房间密码或配置防火墙规则
- 房间本身没有自动过期机制,离开房间需手动操作
- 免认证用户创建的房间最多 5 名成员(含房主)
相关内容
- 《大内网模式》 — 长期稳定接入的基础模式
- 《防火墙规则》 — 控制房间成员间的访问权限
- 《MSST-Net ezPlay》 — 通过主机名访问房间内的设备