异地组局域网玩游戏多网卡无法加入房间问题

2023-06-20 10:12:52 +08:00
 exqibao

描述

最近在使用 n2n 联机和朋友一起玩 cod7 的打僵尸,有些人做房主可以正常游戏,有些人做房主连房间都进不去(已经排除防火墙的问题)。

在真实局域网联机是没有任何问题,谁建房都可以玩,最多就把防火墙关了。

后来发现 n2n 联机可以做房主的规律,就是在 powershell 中执行Get-NetIPInterface查看网卡信息,只要 n2n 使用的 tap 虚拟网卡比物理网卡更靠前(只关注 ipv4 的行),就能正常联机。

推测 cod7 是获取其中一张网卡的 ip 公布出去给其他人 加入房间,假如获取到 n2n 虚拟网卡的 ip 就能正常游戏,获取到物理网卡的 ip 就无法加入房间。真实局域网一张网卡可用时肯定是没问题,多张网卡时似乎是遍历Get-NetIPInterface列表第一可用网卡的 ip (列表包含物理网卡,n2n 的虚拟网卡),感觉顺序是相关的。

所以,就使用 windows-tap 里面的命令添加多张网卡,直到有 tap 网卡在Get-NetIPInterface列表比物理网卡跟靠前,再手动禁用其它 tap 网卡,然后 n2n 使用这个网卡就能正常联机游戏。

但后来又发现,有些电脑无论怎么添加虚拟网卡都是物理网卡排前面虚拟网卡排后面。

问题

大佬们,有知道什么方法可以随意修改这个Get-NetIPInterface网卡列表的顺序吗?或者可以影响到这排序的方法?

984 次点击
所在节点    问与答
5 条回复
imoru
2023-06-20 10:32:42 +08:00
可以试试修改这个虚拟网卡的 InterfaceMetric

Set-NetIPInterface -InterfaceIndex 这里换成虚拟网卡的 ifIndex -InterfaceMetric 15
exqibao
2023-06-20 10:43:49 +08:00
@imoru 修改"接口越点数"不行,这个似乎影响某些局域网游戏广播房间信息的出口网卡。这个也是有改的,平时都改成 5 的。
evemoo
2023-07-10 00:02:28 +08:00
https://bugxia.com/3269.html
有个 forcebind 功能
exqibao
2023-07-10 14:08:19 +08:00
@evemoo 这个研究过,游戏一直打不开,可能操作步骤不对。

不过,最近找到新的方法,思路就是实现房主有物理 ip 和 n2n 虚拟 ip ,现在其他人 ping 房主 n2n 虚拟 ip ,通过设置实现 ping 通房主的物理 ip 。

1. 房主打开 win10 路由转发功能 powershell -c "Set-NetIPInterface -Forwarding Enabled" ;
2. 所有人 n2n(版本 3.1.1)添加 -r 参数支持转发;
3. 其他人设置静态路由,route add 房主物理 ip mask 255.255.255.255 房主 n2n 虚拟 ip 。

这样设置就一定能加入游戏。
evemoo
2023-07-10 16:05:19 +08:00
@exqibao 搜到了 -n 参数的用法,每个客户端 route add 不太方便来着。
https://www.incert.cn/posts/5cef1c02.html#%E7%9C%9F%E2%80%A2%E7%AC%AC%E4%BA%8C%E7%A7%8D%E6%96%B9%E6%A1%88

不过我现在倒是在用 UsbEam_LanParty ,效果也不错。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/950215

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX