[远程组网] [异地局域网玩游戏] 相关问题请教

340 天前
 mawen0726

因为比较高配的服务器用的自家的宽带,只有公网 ipv6 ,没有 ipv4 。之前联机都是游戏内支持自定义 ip+端口,然后通过轻量云服务器搭建的 frp 做端口转发实现联机。

最近玩新的游戏,非生物因子,这游戏没有提供控制台直输命令自定义 ip+端口(可能是我没找到),只能在游戏内提供的大厅找房间或者局域网游玩。

最开始尝试过 frp 端口转发无效,然后尝试 openvpn

openvpn 的方案是在高配服务启动的 openvpn 服务+云服务器的 frp 端口转发实现,通过异地机器的内网 ip 访问 nginx 成功,但是游戏内找不到服务器。

然后尝试 zerotier ,也是同样的可以通过分配的组网 ip 访问到 nginx ,但是局域网游戏还是找不到

目前这个游戏服务器是在 docker 搭建的,最开始用的 bridger 的网络模式,朋友 1 (服务器在他家)通过局域网是能找到的,朋友 2 、3 、4 包括我都找不到。后面我将容器的网络改成了 host 模式,一样无果。

后面搜索到一个相关的问题,linux 游戏开服务但是 windows 搜不到,但是对网络知识实在欠缺,看的不是太懂,模仿尝试了一下并没有效果。

后面为了排除 linux 和 windows 之间的问题,尝试过 windows 开服务器,但是另一端的人局域网也搜不到房间。

然后开始怀疑游戏的局域网搜索方式,用 wireshark 抓包,也没什么效果 - -

希望大神指导下,折腾好久

3719 次点击
所在节点    宽带症候群
47 条回复
mawen0726
339 天前
@CczYa
暂时放弃了 openvpn 的方案了,感觉没有 zerotier 优雅
昨晚在 win 系统用 wireshark 抓包 zerotier 网卡的数据,一直没有抓到,不知道为什么。
刚刚瞎捣鼓了一下,现在 wireshark 抓到了数据,确实找局域网游戏走的 255.255.255.255 。
在服务器端,用 iftop 也监听到 win 打过来的流量了,但是不知道还是不行
https://img.erpweb.eu.org/imgs/2024/07/849bab70ca737522.png
mawen0726
339 天前
@tediorelee 弄成功了,可以去看看我第一个贴条


@HoverCHN 应该就是 windows 广播用 255.255.255.255 的问题了,本身没有路由让 255.255.255.255 到 zerotier 的网卡,WinIPBroadcast 安装之后给每个网卡都加了这一条路由貌似就可以了,然后就是 docker 的网络模式问题了
ragnaroks
339 天前
简而言之,虚拟局域网的优先级不够高,(使用系统默认实现的)广播没(正确)发出去,zerotier 文档中也提到这个问题 https://docs.zerotier.com/windows-lan-game/,如果是用家里机器开服务端,可以用虚拟机开,并在虚拟机里面装 zerotier 即可避免此类问题,可能需要配置宿主机到虚拟机的端口 1 比 1 映射( host:27015 => virt:27015 )。
ragnaroks
339 天前
很久以前贪便宜弄了一堆云桌面开 csgo 的服务端就遇到过这个问题,只能使用 windows7 不说出口 IP 几十分钟变一次
mawen0726
338 天前
@ragnaroks
确实是 zerotier 文档有哦,当时去查看过 zerotier 的文档,想着这档事不归它管...
allenby
338 天前
估计是用的广播包,得要支持广播才行,还得看这个游戏需不需要无 nat 到 pc
tediorelee
338 天前
@mawen0726 学习了,已收藏

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

https://ex.noerr.eu.org/t/1057700

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

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

© 2021 V2EX