最近在使用 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
网卡列表的顺序吗?或者可以影响到这排序的方法?
1
imoru 2023-06-20 10:32:42 +08:00
可以试试修改这个虚拟网卡的 InterfaceMetric
Set-NetIPInterface -InterfaceIndex 这里换成虚拟网卡的 ifIndex -InterfaceMetric 15 |
2
exqibao OP @imoru 修改"接口越点数"不行,这个似乎影响某些局域网游戏广播房间信息的出口网卡。这个也是有改的,平时都改成 5 的。
|
3
evemoo 2023-07-10 00:02:28 +08:00
https://bugxia.com/3269.html
有个 forcebind 功能 |
4
exqibao OP @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 。 这样设置就一定能加入游戏。 |
5
evemoo 2023-07-10 16:05:19 +08:00 1
@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 ,效果也不错。 |