VNTVNT
首页
指南
赞助
参与开发
问答
  • 简体中文
  • English
首页
指南
赞助
参与开发
问答
  • 简体中文
  • English
  • 介绍
  • 命令行版本快速上手
  • 界面版本快速上手
  • WireGuard接入VNT
  • 进阶使用
  • 自建服务器
  • 无权限无tun模块组网
  • 局域网游戏联机
  • 性能测试

局域网游戏联机

原理

局域网游戏通过组播(或者广播)来发现其他游戏玩家,所以通常只需联通组播(或广播)即可完成局域网游戏联机

操作步骤

一、保证VNT网卡能接收组播(或广播)

在Windows上,组播(或广播)只会发送到跃点最低的网卡,所以需要确保vnt的虚拟网卡跃点比其他网卡小 使用powershell执行netsh interface ipv4 show interfaces查看各网卡跃点(输出的Met即为网卡跃点)

PS D:\> netsh interface ipv4 show interfaces

Idx     Met         MTU          状态                名称
---  ----------  ----------  ------------  ---------------------------
  1          75  4294967295  connected     Loopback Pseudo-Interface 1
  6           0        1420  connected     vnt-tun
 11          45        1500  connected     WLAN

一般来说只要让vnt在其他的会创建虚拟网卡的工具之后启动即可,保险起见可以不要开其他会创建虚拟网卡的工具

二、游戏联机

先启动VNT,完成组网之后,再启动局域网游戏,此时就能和在局域网下一样正常玩游戏了

流畅度优化:可以考虑开启VNT的数据压缩,从而降低网络压力,增加游戏流畅度

  • 在vnt启动参数增加--compressor lz4 开启压缩(具体查看数据压缩)

相关问题处理

有些局域网游戏可能会不识别组网工具的IP,这里给出处理方法,如还是不能联机请进群反馈

一、游戏识别默认网卡,导致不能组网联机

1.可能的现象

组网后能发现其他游戏用户,但是不能正常进入游戏(组播/广播通了,但是游戏数据没通)

2.排查方法

  • 使用命令netstat -ano |findstr 游戏进程id查看游戏占用的端口
  • 再使用wireshark对VNT虚拟网卡和默认网卡进行抓包,看游戏包是不是发到默认网卡去了

3. 解决方法(按顺序操作,命令都使用管理员powershell执行)

  • 步骤一: 正常启动VNT
  • 步骤二: 找到VNT网卡索引、默认网卡索引、默认网关IP

0.0.0.0路由(有相同就看跃点最低)的就是默认网卡了,此示例中网关IP是192.168.219.40

# 执行route print -4
PS D:\> route print -4
===========================================================================
接口列表
  6...........................vnt-tun Tunnel
 11...e8 c8 29 d5 26 6b ......Intel(R) Wi-Fi 6E AX11 160MHz
  1...........................Software Loopback Interface 1
 42...10 15 9d 0d a7 88 ......Hyper-V Virtual Ethernet Adapter
===========================================================================

IPv4 路由表
===========================================================================
活动路由:
网络目标        网络掩码          网关       接口   跃点数
          0.0.0.0          0.0.0.0   192.168.219.40   192.168.219.95     45
        127.0.0.0        255.0.0.0            在链路上         127.0.0.1    331

网卡的索引可以这么看,此示例VNT的网卡索引是6,默认网卡索引是11,其实用route print -4在接口列表也能看到

# 执行Get-NetIPConfiguration
PS D:\> Get-NetIPConfiguration


InterfaceAlias       : vnt-tun
InterfaceIndex       : 6
InterfaceDescription : vnt-tun Tunnel
NetProfile.Name      : vnt-tun 109
IPv4Address          : 192.168.21.2
IPv6DefaultGateway   :
IPv4DefaultGateway   :

InterfaceAlias       : WLAN
InterfaceIndex       : 11
InterfaceDescription : Intel(R) Wi-Fi 6E AX11 160MHz
NetProfile.Name      : xxx 2
IPv4Address          : 192.168.219.95
IPv6DefaultGateway   :
IPv4DefaultGateway   : 192.168.219.40
DNSServer            : 192.168.219.40
  • 步骤三: 添加路由

在vnt执行route命令,将Interface那一栏的输出都添加到默认路由

命令:route add IP mask 255.255.255.255 192.168.219.40(默认网关IP) metric 1 if 11(默认网卡索引)

特别的:也可以在vnt启动参数随便加个-i参数,例如-i 1.1.1.1/32,10.26.0.3(此参数的目的是让vnt自行绑定到默认网卡),这样一般就不用添加上面的路由了

  • 步骤四: 添加默认路由到VNT网卡

命令:route add 0.0.0.0 mask 0.0.0.0 0.0.0.0 metric 1 if 6(VNT虚拟网卡索引)

此操作是为了让游戏识别到VNT的网卡,添加路由后会断网(这也是有步骤三的原因)

  • 步骤五: 启动并进入游戏

此时会发现已经可以正常游戏了

  • 步骤六: 删除刚添加的路由

删除刚添加的默认路由:route delete 0.0.0.0 mask 0.0.0.0 0.0.0.0 metric 1 if 6,删除刚添加的这条默认路由后网络也就恢复了

删除其他添加的路由:将命令中的add改为delete再执行一遍即可,注意别删错了,添加了什么路由就删除什么路由,不要多删

一般来说游戏只会在启动或进入游戏对局时识别网卡,所以正常联机后就可以删除添加的路由了

  • 如果需要重启游戏,则再执行步骤三、四、五、六即可
Prev
无权限无tun模块组网
Next
性能测试