)
一份游戏拷贝玩出多人分屏Nucleus Co-op 本地联机实战指南支持 800 游戏【免费下载链接】splitscreenme-nucleusNucleus Co-op is an application that starts multiple instances of a game for split-screen multiplayer gaming!项目地址: https://gitcode.com/gh_mirrors/spl/splitscreenme-nucleus本文面向两类读者想用一台电脑实现多人同屏游玩的玩家以及打算为冷门游戏编写处理器配置的进阶用户。当客人带着手柄走进你家时对话通常会停在同一个问题这款游戏能本地分屏吗对大多数 PC 游戏来说答案是否定的——它们只提供网络联机甚至默认只允许单实例运行。Nucleus Co-op 就是为回答这个问题而存在的开源工具它不修改游戏本体而是把只能远程联机的游戏拆成同一台电脑上并行运行的多个实例再用输入隔离与窗口重排把远程联机伪装成真正的本地分屏。目前它的处理器库覆盖 800 余款游戏整个过程不需要第二份拷贝也不需要第二台机器。先厘清一个前提分屏不是游戏的原始能力很多人第一次听说这个工具时会想它是不是给游戏打了某种分屏补丁答案是否定的。Nucleus Co-op 从头到尾没有触碰游戏的可执行逻辑它做的是四件事多实例启动把同一份游戏文件复制出多个实例借助符号链接不产生实际硬盘占用必要时清除游戏的互斥锁Mutex让游戏允许第二个进程存在输入隔离通过定制的 XInput 库让每个实例只响应分配给它的那一个手柄其他玩家的按键不会串台网络互连让多个实例通过局域网或联机模拟器互相通信模拟出不同电脑在同一个房间联机的场景窗口编排把每个实例的窗口去边框、缩放、移动到指定位置拼出你看到的分屏画面。为什么要绕这么大一圈因为游戏厂商只实现了互联网联机这一条通路。Nucleus 做的是把这条通路的两端都放在你的电脑里——左手和右手下棋规则不用改棋盘也不用换。这一步理解清楚了后面的所有配置选项就都有了落点每个开关都是在回答这个实例要如何骗过游戏、如何被正确隔离。顺带说明边界Nucleus Co-op 不会给纯单人游戏添加多人模式。它要求游戏本身已经具备 LAN 或在线多人能力或可通过 Mod 互连工具只是把异地联机改造成本地同屏。这一点在挑选游戏前务必先确认。对比一原生分屏与合成分屏差在哪原生分屏是游戏自带的选项比如很多主机平台的赛车、格斗游戏合成分屏则是 Nucleus 这类工具制造出来的效果。两者不是替代关系而是取舍关系。维度原生分屏游戏自带合成分屏Nucleus 实现覆盖范围极少数游戏自带800 款已有处理器的游戏实现成本开发商投入研发零成本社区维护配置画面表现单引擎单画面无额外开销每实例独立渲染多份 GPU 开销帧率影响较小与实例数量近似线性相关游戏类型限制通常限本地多人玩法只要支持联机即可套用这段对比的结论很直接原生分屏省资源但不常有合成分屏不完美但到处都有。你的选择不是二选一而是先翻游戏库——如果某款游戏同时有原生分屏直接用就好只有那些只能联机的游戏才轮到 Nucleus Co-op 上场。对比二一台电脑一份拷贝成本账怎么算假设你们要玩《求生之路 2》本地四个人。传统方案是四台电脑加四份拷贝还需要一张能跑四路游戏的局域网配置。Nucleus Co-op 给出的账本完全不同成本项传统方案Nucleus Co-op 方案游戏拷贝每台一份一份实例间符号链接共享硬盘占用每份全量安装一份全量其余为链接网络环境需要路由器/局域网互通本机回环零配置手柄成本每台各配输入设备一台电脑接入多个手柄部署耗时多次安装、多次更新一次配置反复使用符号链接这一步值得多说一句。Nucleus 会在临时目录里为每个玩家生成一份看起来完整的游戏文件但大部分内容只是指向原安装目录的链接只有存档、配置这类必须隔离的文件才做真实副本。这意味着 100GB 的游戏开四份实例并不会占用 400GB这是它能在普通家用机上跑起来的基础。对于安装位置有特殊要求的游戏比如某些游戏拒绝从链接目录启动处理器里还提供了DirSymlinkExclusions和FileSymlinkCopyInstead这类开关把特定文件夹或文件改成硬拷贝这也是处理器配置里最常见的自定义点之一。对比三现成处理器与自写处理器门槛在哪里处理器Handler是 Nucleus 生态的核心概念每个游戏对应一个 JavaScript 配置文件定义如何启动、如何隔离输入、如何改分辨率、如何清理存档。官方配置存放在Master/NucleusCoopTool/copyoutput/handlers/目录下MasterHandler.js是带完整注释的参考模板。对多数玩家来说你不需要写任何代码。安装后工具会自动下载匹配的处理器你在游戏列表里选中、分配手柄、点启动即可。这部分的体验接近开箱即用。但库里没有的游戏怎么办这就到了进阶环节。一个最小的处理器只需要几行声明比如Game.GameName 示例游戏; Game.ExecutableName game.exe; Game.MaxPlayers 2; Game.SymlinkGame true; // 用符号链接节省空间 Game.NeedsSteamEmulation false; // 需要时换成 Goldberg/SSE Game.Hook.XInputEnabled true; // 启用 XInput 手柄隔离 Game.GUID ExampleGame; // 唯一标识缺少则无法启动真正有分量的部分在Game.Play函数里这里可以调用Context.ModifySaveFile按玩家上下文改写 INI/XML 存档把分辨率改成每个实例各自的分屏尺寸用Context.PatchFile做十六进制补丁甚至用Context.ReplaceLinesInTextFile逐行动态替换配置文件。上手路径大致是先把现成处理器里Game.Play看懂再拿一款不支持联机限制的旧游戏练手最后再碰补丁类玩法。这里有一个值得注意的分工配置能力在处理器运行能力在工具链。前者解决这个游戏怎么被拆开后者解决拆开之后怎么活下来。对比四工具链的尽力而为与使用边界Nucleus 的copyoutput/utils/目录里躺着一批第三方工具它们负责处理拆开实例之后的各种实际问题GoldbergEmu / SmartSteamEmu / Nemirtingas联机模拟器负责让多个实例绕过 Steam/Epic/Galaxy 的单实例校验互认彼此为不同玩家XInputPlus / x360ce / devreorder输入侧工具负责手柄的映射、重定向与设备顺序固定Steamless / EAC Bypass处理 SteamStub 壳与反作弊限制的工具按需启用ForceBindIP / SplitCalculator绑定网卡与计算分屏比例的小工具。一个常见的误解是工具越多越强。实际情况恰好相反这些工具是尽力而为的兜底能不用就不用。处理器作者会优先选最轻的路径——能用 XInput 隔离解决的不碰反作弊能用存档改写解决的不动文件补丁。工具链的每一次启用都意味着多一层不稳定因素这也是为什么官方 README 反复强调游戏必须是你拥有的正版拷贝。这些工具解决的是技术限制不是授权问题它们的角色是让合法的单份拷贝在本地多开而不是替你绕过付费。这一节的结论可以用一句话收束成熟度不体现在工具数量而体现在知道什么时候不该用工具。最小可行流程从下载到第一局理论讲完用一个最短路径验证整条链路。Nucleus Co-op 是 .NET 项目源码克隆后可用 Visual Studio 打开解决方案Master/NucleusCoop.sln直接编译不想折腾编译的话也可以直接使用发布版。git clone https://gitcode.com/gh_mirrors/spl/splitscreenme-nucleus编译或解压完成后按下面的顺序走一遍建议第一局用 2 人布局、局域网联机型的游戏比如《求生之路 2》这类验证成本最低的作品确认已安装 .NET Framework 4.7.2 与 VC 2015-2019 运行库x86/x64 都要首次启动等待工具自动下载游戏处理器若下载页一直停在加载状态补装 Edge WebView2 运行时在游戏列表里选中目标游戏进入设置界面为每位玩家分配手柄选定 2 人分屏布局点启动观察两个实例是否各自拿到独立输入、窗口是否正确落位。这一步的目标不是调完美而是跑通。跑通之后你才谈得上针对具体游戏做优化——比如用Settings.ini里的热键CtrlQ关闭、CtrlT置顶、CtrlM切换过场动画做运行中微调或在处理器里按需设置Game.DPIHandling解决高分屏下的窗口错位。三个最常见的失败点把社区反馈最多的三类问题提前说清能帮你省掉大半排查时间实例一启动就闪退。八成是运行库缺失其次是没有先跑一次原版游戏确认能正常打开。前者装 VC 与 .NET 运行库后者是排查顺序问题——Nucleus 只是启动器游戏自身跑不起来工具无能为力。第二个实例能开但画面卡在黑屏或无响应。多半是游戏的互斥锁没有被清除或者输入隔离没生效。互斥问题看处理器里是否配置了Game.KillMutex输入问题检查Game.Hook.XInputEnabled与窗口焦点逻辑必要时启用 ForceFocus 相关选项。窗口位置和尺寸不对。多数与系统 DPI 缩放有关。处理器的Game.DPIHandling提供True / Scaled / InvScaled三种策略按游戏的实际表现逐一尝试少数游戏还要求先改写自己的配置文件分辨率、全屏标志才能配合窗口重排这一步通常已写进现成处理器的Game.Play中。排查本身也有顺序可依把先验证单实例、再验证双实例、最后调画面当作验收线阶段检查项通过标准单实例原版游戏能正常启动无报错、无闪退双实例两个实例同时存活第二实例不再被互斥锁拦截输入各手柄只控制对应实例无串台、无全局鼠标抢占画面窗口落位与分辨率正确分屏边界清晰无黑边错位收束回到开头的那个下午回到开头那个场景客人带着手柄进门你打开游戏库找到那款只能联机的游戏选中它分配两个手柄点下启动。两分钟后两个实例各自占据了半边屏幕——这件事的成本是一份你本来就拥有的游戏拷贝和一次几分钟的配置。Nucleus Co-op 的真正价值不在于它拆解了游戏而在于它把本地多人从开发商划定的选项里解放了出来原生没有的用合成实现拷贝不够的用符号链接摊薄官方不维护的用社区处理器补上。它不完美——多实例意味着成倍的性能开销冷门游戏需要你自己写配置——但在一台电脑、一份拷贝、多个朋友这个命题上它目前是覆盖面最广、成本最低的成熟方案。下一步行动清单确认目标游戏自带 LAN 或在线多人能力且不在纯单人名单里安装 .NET Framework 4.7.2 与 VC 2015-2019 运行库x86/x64克隆仓库或获取发布版用 Visual Studio 打开Master/NucleusCoop.sln编译或直接使用现成发布包首次启动让工具自动下载处理器先以 2 人布局跑通一款高兼容游戏跑通后查看该游戏处理器的Game.Play实现对照MasterHandler.js模板理解每个开关的作用若为冷门游戏按最小配置模板自写处理器先用Context.ModifySaveFile解决分辨率和窗口化再处理输入隔离把验证通过的处理器备份到copyoutput/handlers/目录供日后重装系统后复用。【免费下载链接】splitscreenme-nucleusNucleus Co-op is an application that starts multiple instances of a game for split-screen multiplayer gaming!项目地址: https://gitcode.com/gh_mirrors/spl/splitscreenme-nucleus创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考