📖 本文由 Batocera 官方 Wiki 翻译整理,内容可能随版本更新而变化。


联机对战(Netplay):跨越空间的本地多人游戏

想要和远方的朋友一起重温童年回忆吗?这一节我们将介绍如何通过网络实现联机对战。


什么是联机对战(Netplay)?

联机对战(Netplay) 是由 RetroArch 模拟器及其部分核心(Cores)提供的一项功能,它能让你和远在千里之外的好友通过网络一起玩游戏。

生活化类比:想象一下,你正坐在家里的沙发上玩红白机(NES)的《双截龙》,你的好友虽然远在另一个城市,但通过 Netplay,他就像瞬间移动到了你身边,拿起了 2 号手柄。你们就像共用一台主机一样,在互联网上并肩作战。

这套“黑魔法”是如何运作的?
联机对战采用的是客户端/服务器(Client/Server)架构
1. 主机端(Server):其中一名玩家负责“开房”,建立一个联机房间。
2. 客户端(Client):其他玩家作为加入者,连接到这个房间。


关于当前版本的现状

【注意】:截至 2023 年初,RetroArch 的联机对战支持情况尚不完全稳定。在某些版本中,部分甚至全部模拟核心的联机功能可能会出现失效的情况。

  • 版本一致性很重要:上述问题通常不会影响旧版本的 Batocera(例如 v34)。如果你和你的小伙伴都使用的是相同的旧版本系统,你们依然可以愉快地联机。
  • 独立模拟器的联机方案:如果你打算使用 RetroArch 之外的独立模拟器进行多人游戏,通常需要配置 VPN 客户端
    • 操作建议:请参考本教程的“VPN 客户端”专项章节来完成设置。

准备开始联机

  • 第一步:统一战线
    确认你和好友使用的是相同版本的 Batocera 系统以及相同的游戏镜像(ROM),这是成功联机的前提。
  • 第二步:房主建房
    由一名网络环境较好的玩家启动游戏,并在菜单中开启“Netplay 房间”作为服务器。
  • 第三步:好友加入
    其他玩家通过搜寻房间或输入 IP 地址,以客户端身份连接进来。

联机对战的限制:别让“黑魔法”失效

虽然联机对战听起来很神奇,但它并非真的无所不能。在正式开始联机之前,你需要了解以下几点硬性限制,以确保游戏过程不会卡成幻灯片。


1. 网络环境:低延迟是王道

联机体验的好坏,几乎完全取决于你的网络质量。

  • 第一步:优化网络连接
    如果条件允许,请务必使用有线以太网(Wired Ethernet)连接,尽量避免使用不稳定的 Wi-Fi。
  • 第二步:关注延迟数值
    你需要一个非常稳定的网络,且延迟(Ping)数值越低越好。

生活化类比:这就像是两人隔空合唱。如果网络有延迟,你这边唱完了,对方才听到开头,声音就永远对不上。只有网络足够快,你们的动作才能同步。


2. “三位一体”:核心、系统与游戏版本

为了保证大家都在同一个“频道”上,所有参与联机的玩家必须保持高度一致。

  • 版本一致性(Consistency)
    所有玩家需要使用相同版本的 Batocera 系统。
  • 游戏文件核对
    所有人必须使用同一个游戏镜像(ROM)。
  • 操作感建议
    在开打前,建议大家对比一下 ROM 文件的 MD5 校验值(Checksums),确保文件一模一样。

【提示】:虽然不同版本的模拟核心(Core)或稍有差异的 ROM 可能也能连上,但极易出现掉线或同步异常。为了不扫兴,请务必在开始前统一大家手中的资源。


3. 核心兼容性:选对工具

并不是所有的模拟核心都支持网络联机功能。

  • 核对清单
    在开始前,请检查你使用的模拟核心(Core)是否在支持列表中。
  • 注意区分
    有些主机可能有多个模拟器可选,但其中可能只有一两个核心具备联机能力。

生活化类比:这就像是一组对讲机,大家必须调到相同的频率(核心)和频道(ROM),并且对讲机本身得支持远程通话功能,才能互相听见声音。


4. 支持 Netplay 的核心列表

请参考下表,确认你想要玩的游戏系统是否具备联机条件:

系统 支持的核心
原文表格占位(请按实际原文表格填充)

【注意】:请在开始联机前,先在本地运行一次游戏,确认模拟核心选择正确。

联机对战的硬核门槛:硬件架构与功能边界

在正式开打前,还有两项至关重要的“底层规则”需要你了解。这决定了你的设备能不能和朋友的设备“聊得来”。


1. 检查硬件架构是否“门当户对”

并不是所有设备都能跨平台互联。

  • 第一步:确认设备架构(Architecture)
    核对你和伙伴的硬件类型。有些模拟核心不支持跨架构联机。
  • 第二步:避开已知冲突
    例如,玩世嘉五代(Megadrive/Genesis)游戏时,如果你用的是 PC,而朋友用的是 树莓派(Raspberry Pi),那么 Picodrive 核心是无法让你们联机的。

生活化类比:这就像是两个来自不同星球的人,虽然都想交流,但因为“生理构造”(技术上的字节序问题)完全不同,即便接通了电话也听不懂对方在说什么。

【注意】:如果出现了架构不兼容的情况,当你启动 RetroArch 核心时,屏幕上会弹出明确的提示消息。


2. 此“联机”非彼“联机”

在 Batocera 的语境下,“联机对战(Netplay)”有着非常特定的含义,千万别误会了。

  • 它是“屏幕共享”
    这里的联机本质上是多端共享同一个模拟屏幕
  • 它不支持“虚拟连线”
    不能模拟原版主机的网络功能或联机附件。

生活化类比:Netplay 就像是把一张超长排座的沙发搬到了互联网上,让大家通过网络坐在同一台电视机前玩同屏分屏游戏(比如《魂斗罗》或《赛车》)。但是,它没法变出一根虚拟的“联机线”。

【提示】:举个例子,你无法通过这种方式实现 Game Boy Advance(GBA)的联机线(Cable Link)对战。它只适用于那些原本就能在一台机器上多人游玩的“排排坐”游戏。

进阶玩法:单机多开的特殊联机

虽然前面提到了联机功能有一定的局限性,但在某些特殊情况下,我们依然能实现“虚拟连线”。

如果某个模拟核心(Core)支持在同一个客户端上同时模拟两台机器(例如 TGBDual 核心可以同时模拟两台 Game Boy,并让它们在内部完成“联机线”连接),那么你就可以和好友通过 Netplay 一起玩这个核心。

生活化类比:这就像是你和朋友合玩一台“分屏”电视。虽然你们在各自的家里,但屏幕上会同时显示出两台掌机的画面。你们就像是共享同一个大脑,一人控制一边的游戏。


如何开启联机对战功能

在正式开玩之前,请按照以下步骤激活系统的联机开关。

  • 第一步:确认版本号
    请确保你的 Batocera 系统版本为 5.25 或更高。
    【提示】:如果你的版本太低,将无法找到联机对战的相关选项。

  • 第二步:通过菜单激活(现代方案)
    进入游戏系统主界面,依次导航至:游戏设置(GAME SETTINGS) -> 联机对战设置(NETPLAY SETTINGS),将开关切换至开启状态。

  • 第三步:通过配置文件激活(备选方案)
    如果在菜单中没找到开关(针对某些特定版本),你可以手动修改配置文件:
    打开位于 /userdata/system/Batocera.conf 的文件,添加一行代码:global.netplay=1

  • 第四步:确认是否开启成功
    完成设置后回到游戏列表界面。观察屏幕底部的帮助提示行:如果原本代表“随机选择游戏”的 X 键,现在显示为“联机对战选项(Netplay options)”,说明“黑魔法”已经成功激活!


如何加入别人的房间(客户端模式)

当你准备好加入好友的战局时,请按以下方式操作:

客户端模式:如何加入好友的房间?

在联机对战中,需要有一名玩家充当“房主”来建立联机服务器(Netplay Server),而其他玩家则作为访客连接进去。

  • 第一步:进入房间列表
    停留在 EmulationStation 的“系统列表”界面(即选择游戏机种的菜单,不是具体某个游戏的列表),按下控制器上的 X 键。此时,屏幕上会弹出一个清单,显示当前网络上所有正在运行的联机服务器和游戏。

  • 第二步:筛选可用游戏
    你会发现有些游戏显示为灰色且标注为“不可用(Unavailable)”。
    > 生活化类比:这就像是你去参加派对,但因为没穿正装(核心版本不一致)或者没带门票(你没有这款游戏,或游戏版本不对)而被挡在了门外。

  • 第三步:一键加入战斗
    从列表里找一个状态为“可用”的游戏,点击启动。

【注意】:在 RetroArch 启动时,请仔细阅读屏幕上弹出的提示消息。有些兼容性问题在列表界面无法被检测出来,只有在真正运行后才会报错。
例如:某些模拟核心不支持跨平台联机(Cross-platform Netplay),如果房主用的是 PC,而你用的是树莓派(Raspberry Pi),即使游戏相同也可能无法连接。

联机列表示例


服务端模式:如何自己当“房主”?

服务端模式:如何自己当“房主”?

如果你想主动发起战局,邀请小伙伴们加入你的游戏,你需要自己建立一个联机服务器。

  • 第一步:启动联机服务器
    进入你想要游玩的“游戏选择菜单”,选中游戏后按下 X 键 启动联机服务器模式。
  • 第二步:通知好友加入
    一旦你的游戏顺利启动,好友就能在他们的“系统列表”界面(按下 X 键)看到你创建的联机房间。

确保网络大门敞开:端口与设置

为了让外网的玩家能找到你的电脑,你需要处理一下网络“大门”的通行权限。

  • 自动开门方案(UPNP)
    如果你的路由器支持 UPNP(通用即插即用),系统会自动为你打开正确的通行端口,无需手动操作。
  • 手动开门方案(端口转发)
    如果 UPNP 失效,你需要在设置中指定端口,并在路由器后台配置“端口转发”,确保这个端口对外界保持开放。

生活化类比:这就像是在家里办派对。UPNP 就像是一个自动感应门,朋友到了门口门会自动开;如果感应门坏了,你就得手动把大门的锁卸掉(手动开端口),朋友才能进得来。

  • 终极省心方案(MITM)
    如果你觉得配置路由器太麻烦,或者完全搞不懂怎么设置,可以在设置中开启 MITM(中间人服务器) 选项。它就像是一个“中转站”,能极大简化服务器配置,帮你绕过复杂的网络设置。

联机对战配置参数说明

你可以通过 游戏设置(Games Settings) -> 联机对战设置(Netplay Settings) 进行以下调整:

设置项 说明
开启联机(Enable Netplay) 总开关:开启或关闭。
昵称(Nickname) 你在联机房间里显示的名字。起个响亮的名字,方便好友一眼认出你。
端口(Port) 指定联机的通信端口。如果你不确定,且路由器支持 UPNP,可以留空。默认端口通常为 55435

【提示】:为了联机更顺畅,建议房主优先尝试开启 MITM 选项,这能解决大部分由于网络环境复杂导致的连接失败问题。

联机对战高级设置详解

除了基础开关,Batocera 还提供了一些进阶选项,帮助你解决连接失败或找不到房间的问题。

  • 中继服务器(Use Relay Server)
    如果你的路由器不支持自动开启端口,请激活此选项。它也叫 MITM(中间人服务器) 模式。
    > 生活化类比:这就像是由于你家门锁太复杂,快递员进不来,于是你找了一个中转站(中继服务器)。你把包裹寄到中转站,朋友再去中转站取。虽然路程变远了(延迟会略微增加),但总算能通邮了。
    【提示】:只有在 UPNP 无法工作时才建议开启此项,因为中转会带来额外的网络延迟。

  • 启动时检查缺失索引(Check missing indexes at startup)
    开关项。开启后,系统会在每次启动时自动核对游戏索引。

  • 重新索引所有游戏(Reindex all games)
    点击此项,Batocera 会扫描你所有的游戏镜像(ROMs)。
    > 生活化类比:这就像是在图书馆重新整理一次书架并制作索引卡。整理好后,当你在联机大厅寻找房间时,系统只会显示那些和你手里版本完全一致的游戏房间,避免“进错门”。
    【注意】:扫描过程在后台运行,会弹出进度窗口。如果游戏很多,可能需要一些时间。

  • 索引缺失游戏(Index missing games)
    功能同上,但它只扫描你新添加的游戏,速度比全部扫描要快得多。


联机对战支持列表(Batocera 5.25 版)

并非所有模拟器都能联机。以下是 Batocera 5.25 版本中支持联机对战(Netplay)的核心清单:

游戏系统分类 支持的模拟核心(Cores)
街机 (Arcade) FBNeo, Imame, MAME, Mame2003 Plus, Mame2010
街机光枪 (Arcade Lightgun) Mame2003 Plus, MAME 2010
街机 Atomiswave & Naomi Flycast
任天堂超任 (SNES) Pocketsnes, Snes9x_next, Snes9x, Mesen-s, Bsnes
任天堂红白机 (NES) Fceumm, Nestopia, Mesen
任天堂 GameBoy (双人对战) Tgbdual
任天堂 NDS Desmume
任天堂 Famicom 磁碟机系统 Fceumm, Nestopia
任天堂 Virtualboy (支持该系统的核心)

【提示】:如果想要获得最佳的联机稳定性,建议双方都优先选择 Snes9xFceumm 这类经过长期验证的老牌核心。

联机对战支持列表(续)

以下是更多支持联机对战(Netplay)的游戏系统及其对应的模拟核心清单。请确保你和好友选择了相同的核心,以开启流畅的对战体验。

游戏系统分类 支持的模拟核心(Cores)
任天堂 Virtualboy Beetle VB
世嘉 DC (Dreamcast) Flycast
世嘉 五代 (Megadrive/Genesis) GenesisPlusGX, Picodrive(【注意】该核心不支持跨硬件架构联机)
世嘉 32X Picodrive
世嘉 MS (Master System) GenesisPlusGX, Picodrive
世嘉 GG (Gamegear) GenesisPlusGX
NEC PC Engine 及 CD 机 Beetle PCE
NEC SuperGrafx Beetle SuperGrafx
Neogeo 及其 CD 机 FBNeo
Neogeo Pocket 及其彩色版 Beetle NGP
雅达利 2600 (Atari) Stella
雅达利 Lynx Beetle Lynx, Handy
Wonderswan 及其彩色版 Beetle Wswan
Amstrad CPC / GX4000 Cap32
Sinclair ZX81 81
世嘉 土星 (Saturn) Beetle Saturn
3DO 4DO
SatellaView 与 Sufami Snes9x
Thomson Theodore
PC98 PC98

核心选择小贴士

在选择核心时,我们需要特别注意兼容性功能限制

  • 第一步:核对架构一致性
    如果你打算使用 Picodrive 核心(常见于世嘉系统),请务必确认双方的设备架构。
    > 生活化类比:这就像是两个对讲机。有些型号只能在同品牌之间通话,如果你拿的是 PC(就像大音响),朋友拿的是树莓派(就像小随身听),Picodrive 这个“信号频道”就无法识别对方的语言了。
  • 第二步:手动锁定核心
    为了防止系统自动选择不带联机功能的模拟器,建议在游戏启动前的设置页面手动锁定上述列表中的推荐核心。

【提示】:列表中的 Beetle 系列核心(如 Beetle PCE, Beetle Saturn)对硬件性能有一定要求,如果联机时感到卡顿,请先确认双方的设备是否都能流畅运行该核心。


原文: Netplay联机游戏设置 • 翻译: DIY8 Bot

© 版权声明
评论 抢沙发

请登录后发表评论

    暂无评论内容