一台电脑四人同屏?Nucleus Co-Op 分屏开黑从安装到实战的完整指南
【免费下载链接】nucleuscoopStarts multiple instances of a game for split-screen multiplayer gaming!项目地址: https://gitcode.com/gh_mirrors/nu/nucleuscoop
周六,兄弟拎着第二个手柄上门,你点开《求生之路2》,它一脸无辜——这游戏天生不支持同一台电脑两人玩。装好 Nucleus Co-Op 之后,这种场面就翻篇了:一台电脑、多份游戏实例、每人一个画面、各握一个手柄。本文带你从拉代码走到四人开黑成功,顺便把新手最容易摔的坑一次说清。
本地分屏工具 Nucleus Co-Op 是什么、能干什么
一句话定位:Nucleus Co-Op 是面向 Windows 的免费开源本地分屏工具,专治"想在一台电脑上多人开黑、但游戏原生不支持同屏"的局面。它的活法是把同一款游戏启动多份,再管好每一份的存档、设置和手柄。具体到你手里,意味着这几件事:
- 同一台电脑多开游戏实例:不用给每个朋友再掏钱买一份游戏,也不用折腾虚拟机(技术上叫多实例并行)。
- 每个玩家的配置、存档互不干扰:你调分辨率不会把别人窗口搞变形,各自有独立的配置目录。
- 手柄按窗口单独分配:1 号手柄的输入只进 1 号窗口,谁的动作都不会串到谁的角色上(靠定制的 xinput 动态库实现,后文细讲)。
- 兼容杂牌手柄:项目里集成了 x360ce 这套映射体系,第三方手柄也能"翻译"成标准 XInput 设备。
- 开局前自动备份存档:放心拿多人局试邪道打法,结束能恢复原样。
- 每个游戏一份适配脚本:选项、流程都是按游戏定制的,脚本躺在项目的 games 目录里。
工作原理大白话:多开实例、手柄映射与存档备份是怎么做的
每人一间独立房间。想象游戏是一栋公寓楼:游戏本体(贴图、模型)是共用的公共区,但 Nucleus 给每个玩家单开一间房,房内私有的水电——你的配置、你的存档——各住各的。技术真相:它并不复制整个游戏,而是用符号链接(symlink)给每个实例搭一条指向公共文件的"捷径",再把配置类的文件单独圈出来、每份实例各配一套,谁改不到谁的。
每根手柄配一个专属译员。把手柄理解成打电话:Windows 默认只接通"1 号线路",其余手柄全在空等。Nucleus 给每个实例塞进去一份定制的 xinput1_3.dll,它只听特定编号手柄的话——效果就是 1 号手柄的声音只传进 1 号窗口。如果你的手柄不是标准 XInput 设备,还可以先拿 x360ce 做一次按键映射再交给它分配。
存档先收进保险柜再动手。开局前程序会把你原来的存档自动备份一份,等这局结束再写回原位。你折腾得再凶,原来的进度还是原来的进度。
先把"只能开一份"的锁撬掉。不少游戏(L4D2 就有两个)在系统里挂了一把互斥锁(mutex),同一时间只许自己一个进程活着。适配脚本里专门有KillMutex字段来点名处理它,第二份实例这才起得来。
从拉代码到开出第一局的完整步骤
- 拉代码:把仓库克隆到本地,得到完整源码。
- 编译:用 Visual Studio 打开
Master/NucleusCoop.sln,选 Release 配置编译整个解决方案,依赖包会自动还原。 - 运行主程序
Nucleus.Coop.App:程序会扫描你机器上装的游戏,并拉取每个游戏对应的 handler(适配脚本)。 - 选游戏、定玩家数、分手柄,点开始:窗口摆放、存档备份、进程管理,接下来全自动。
# 拉取 Nucleus Co-Op 源码 git clone https://gitcode.com/gh_mirrors/nu/nucleuscoop # 然后用 Visual Studio 打开 Master/NucleusCoop.sln, # Release 编译后运行 Nucleus.Coop.App💡 首次运行需要联网拉取游戏适配包;扫描不到游戏就去设置里补一下游戏库路径;也别把程序装进需要管理员权限的目录,省得后面处处要提权。
实战跑一局:一台电脑多人开黑《求生之路2》
拿适配最成熟的 L4D2 走完全流程。在游戏列表里选中 Left 4 Dead 2,界面上会多出两个下拉框——挑战役和挑模式。这两个选项不是写死的,全读自适配脚本:
Game.AddOption("Map", "The map the game will use", "MapID", listMaps); Game.AddOption("Game Mode", "The game mode", "GameMode", listGameModes); Game.ExecutableName = "left4dead2.exe"; Game.MaxPlayers = 8; Game.Hook.XInputEnabled = true; Game.KillMutex = ["hl2_singleton_mutex", "steam_singleton_mutext"];这段配置在干什么?前两条是给你看的那两个下拉框,选中的地图会直接变成建图指令;ExecutableName告诉程序该启动哪个 exe;MaxPlayers是本游戏同屏上限;XInputEnabled声明接管手柄;KillMutex列出那两把会挡住第二份实例的单例锁。
流程本身很省事:选战役(比如 Dark Carnival)、选 4 人、分好手柄,点开始。1 号玩家负责建房——脚本把建图指令写进autoexec.cfg;其余三人自动执行connect连到本机"主机";四个窗口随即被摆成田字格,每块屏只渲染自己该看的画面。
《无主之地》《异形丛生:反应下降》《饥荒联机版》也是同样的套路,差别只在各自适配脚本的细节。
排障手册:本地分屏最常踩的五类故障
⚠️症状:游戏一启动就闪退。杀软把定制的 xinput1_3.dll 当威胁拦了。给游戏目录和 Nucleus 目录加白名单即可。
症状:中途断电或强杀进程,进度停在备份点。存档要等程序正常走完退出流程才写回,暴力关机只会让进度回退到开局前的备份。以后打完一局从程序里正常结束。
症状:第二个实例死活起不来。多半是单例互斥锁(mutex)没处理。翻一下该游戏的适配脚本,看KillMutex里有没有列出它的锁名。
症状:手柄插上没反应。非 XInput 设备要先在 x360ce 里做一次按键映射,把杂牌协议"翻译"成标准手柄信号,再交给 Nucleus 分配:
症状:配置错乱甚至崩溃。有人同时开了两份 Nucleus。两个实例会抢同一个数据目录,一次只跑一份就对了。
你的电脑到底带得动几人:硬件参考
| 配置档位 | 建议同屏人数 | 画质取向 |
|---|---|---|
| 入门级(双核、内存吃紧) | 稳定双人分屏 | 720p 全低,关掉后台多余程序 |
| 进阶级(四核、8GB 上下) | 三人或四人同屏 | 1080p 中低画质,重负载游戏降到三开 |
| 高手级(六核以上、16GB+) | 大胆四人开黑 | 1080p 高画质,开语音软件也不慌 |
判断原则其实很朴素:哪个窗口先掉帧,说明 CPU 或显存先撑不住了——先减一人或降一档画质,别硬顶。
🎮 回到开头那个周六:兄弟的手柄往沙发上一扔,你不用再解释"这游戏一台电脑没法玩",让他坐下选手柄就能开打。你的游戏库里,有哪几款已经躺在兼容列表里、就等着被解锁了?
【免费下载链接】nucleuscoopStarts multiple instances of a game for split-screen multiplayer gaming!项目地址: https://gitcode.com/gh_mirrors/nu/nucleuscoop
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考