Nucleus Co-Op 本地分屏上手:从拉代码到四人同屏只需 30 分钟
2026/8/25 0:21:29 网站建设 项目流程

Nucleus Co-Op 本地分屏上手:从拉代码到四人同屏只需 30 分钟

【免费下载链接】nucleuscoopStarts multiple instances of a game for split-screen multiplayer gaming!项目地址: https://gitcode.com/gh_mirrors/nu/nucleuscoop

周五晚上,朋友拎着两只手柄推门进来,你俩点开《求生之路2》的图标面面相觑——这游戏天生没有本地分屏模式。缺的那块拼图就是 Nucleus Co-Op:它在 Windows 上把同一款游戏开成多个实例、拼成同一台机器的本地分屏,一人一个窗口、一手柄一个频道,是个免费开源的本地多人补完工具。

老办法有多劝退:本地多人的三笔烂账

以前想让本地双人成行,你大概率挨过这几刀,每一笔都不便宜:

  • 存档和配置互踩。两份进程共用同一个存档目录,一个人改了分辨率,另一个窗口当场变形;改完 A 再改 B,两个人对着同一个 ini 文件拔河。归因很直接:没有多实例管理层,多个进程往同一批文件里写,后动的覆盖先动的。
  • 手柄抢输入。Windows 的 xinput 模型骨子里是"一个窗口认固定槽位的手柄",四只手柄插上去游戏只读 1 号位,剩下三只趴在桌面当摆设。不是线坏了,是系统输入模型本来就没打算把键位分给多个窗口。
  • 改机改到怀疑人生。教程让你改注册表、换 DLL、加启动参数,一个字符错就得重装;就算侥幸进去了,游戏更新一次全部归零。归因:全是手工作坊式的一次性技巧,没有工具把这套动作固化成可重复流程。

把一份游戏掰成四份:Nucleus Co-Op 的三招

第一招,开房。大白话:不复制游戏本体,给每个实例搭一条"捷径",再单独圈一小块私人区域。实现上是一组符号链接——游戏目录整体 symlink 进本地 Data 目录,适配脚本里的DirSymlinkExclusionsFileSymlinkExclusions字段指定哪些目录和文件要拆成独立副本。对你的好处:不用为第二个人再买一份游戏,磁盘不膨胀,四个实例的配置互不干扰。

第二招,配频道。每只手柄走专属频道。启动时程序往每个实例目录塞一份定制的xinput1_3.dll,这份 DLL 只回应对应编号的手柄,适配脚本里一行Game.Hook.XInputEnabled = true就开启。效果是 4 号手柄再怎么按都串不进 1 号玩家的画面;杂牌手柄则先借内置的 x360ce 映射体系"伪装"成标准 XInput 协议,再交给 Nucleus 分配。

第三招,存档兜底。开局前自动备份,对局结束写回原位,源码见 Master/Nucleus.Gaming/Coop/BackupManager.cs 里的BeginBackupExecuteBackup。好处:你拿四开去试邪道打法,祸害完事,原存档还是原存档。

30 分钟跑通:从拉代码到开第一局

四步,每步就一句话加一行解释:

  1. 拉代码:
git clone https://gitcode.com/gh_mirrors/nu/nucleuscoop

拿到完整源码树,主程序是Master/下的 .NET 解决方案。

  1. 用 Visual Studio 打开Master/NucleusCoop.sln,选 Release 编译整个解决方案。 依赖包会自动还原,编完的主程序是Nucleus.Coop.App

  2. 运行Nucleus.Coop.App,首次启动会扫描游戏库并联网拉取每个游戏的 handler(.js 适配脚本)。 扫描不到游戏就去设置里检查游戏库路径。

  3. 选游戏、选玩家数、把手柄分给人,点开始。 窗口摆放、存档备份、进程监控全是自动流程,你可以去倒水了。

💡 首次运行务必联网;程序别放在需要管理员权限的目录,否则扫描和符号链接都可能卡住。

试刀:四人硬闯《求生之路2》完整流程

L4D2 是本项目适配最成熟的游戏之一。在游戏列表里选中它,会弹出两个额外步骤:选战役、挑模式——这俩选项不是写死的,而是 L4D2 适配脚本里的AddOption声明,连同可执行文件名、玩家上限都从脚本读取:

Game.ExecutableName = "left4dead2.exe"; Game.MaxPlayers = 8; Game.Hook.XInputEnabled = true;

这三行的用意很直白:告诉程序游戏叫什么、最多几个人、要不要接管 XInput 输入。选中 Dark Carnival、定 4 人后点开始,自动流程接管:1 号玩家的autoexec.cfg被写入建图指令,其余三人执行connect连上本机"主机";四个窗口摆成田字格,每块屏幕只渲染自己该看的画面。

画面里那个挤满丧尸的停车场,就是你们今晚并肩跑酷的战场。同一套流程在《无主之地2》《异形丛生:反应下降》身上也成立,变的只是每个游戏适配脚本的细节,脚本全部放在 Master/Nucleus.Coop.App/games/ 目录,想给新游戏加适配可以照着抄。

Nucleus Co-Op 翻车排查表:五个最常见的跟头

症状根因(一句)处置
游戏启动后直接闪退定制的 xinput1_3.dll 注入被杀软判定为可疑行为给游戏目录和 Nucleus 目录都加杀毒白名单
第二个实例起不来游戏带单例互斥锁(如hl2_singleton_mutex),只允许一个进程活着检查该游戏适配脚本的Game.KillMutex字段是否覆盖到这把锁
手柄插上没反应非 XInput 手柄没做协议翻译,游戏只认标准手柄协议先在 x360ce 里把手柄映射成标准 XInput,再回 Nucleus 分配
一局打完,配置乱了进程被强杀,备份恢复流程没走完就断电了打完从程序内正常结束,让存档写回流程跑完再关
扫描不到任何游戏游戏库路径没加,或程序放在需要管理员权限的目录设置里补库路径,把程序挪到普通用户目录
两个 Nucleus 同时跑,配置错乱两个程序实例在抢同一个数据目录只保留一个实例,另一个彻底退出

🔍 通用原则:排查顺序和启动顺序正好相反——先看输入映射,再看适配脚本字段,最后看杀软和权限,基本能兜住九成问题。

你的配置能带几个人

档位建议玩法取舍建议
入门级(双核、内存吃紧)稳定双人分屏720p 全低特效,关掉后台一切多余程序
进阶级(四核、8GB 上下)三人或四人同屏1080p 中低画质;游戏吃资源时先降到三开
高手级(六核以上、16GB+)放心四人,优化好的可以挑战更多1080p 高画质,挂着语音软件也不慌

🎮 判断标准很朴素:哪个窗口开始掉帧,就是 CPU 或显存先撑不住了——少开一人、降一档画质,别硬顶。


回到那个周五晚:朋友推门进来拎着两只手柄,你不用再对着图标面面相觑。下一步很简单:翻开 games 目录对照一遍你的游戏库,把在列的标题挑出来排进周末。你的游戏库里,有哪一款正等着被解锁?

【免费下载链接】nucleuscoopStarts multiple instances of a game for split-screen multiplayer gaming!项目地址: https://gitcode.com/gh_mirrors/nu/nucleuscoop

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询