商店
主页
探索队列
愿望单
点数商店
新闻
排行榜
社区
主页
讨论
创意工坊
市场
实况直播
关于
客服
安装 Steam
登录
|
语言
繁體中文(繁体中文)
日本語(日语)
한국어(韩语)
ไทย(泰语)
български(保加利亚语)
Čeština(捷克语)
Dansk(丹麦语)
Deutsch(德语)
English(英语)
Español-España(西班牙语 - 西班牙)
Español - Latinoamérica(西班牙语 - 拉丁美洲)
Ελληνικά(希腊语)
Français(法语)
Italiano(意大利语)
Bahasa Indonesia(印度尼西亚语)
Magyar(匈牙利语)
Nederlands(荷兰语)
Norsk(挪威语)
Polski(波兰语)
Português(葡萄牙语 - 葡萄牙)
Português-Brasil(葡萄牙语 - 巴西)
Română(罗马尼亚语)
Русский(俄语)
Suomi(芬兰语)
Svenska(瑞典语)
Türkçe(土耳其语)
Tiếng Việt(越南语)
Українська(乌克兰语)
报告翻译问题
商店页面
Stellaris
全部
讨论
截图
艺术作品
实况直播
视频
创意工坊
新闻
指南
评测
全部
讨论
截图
艺术作品
实况直播
视频
创意工坊
新闻
指南
评测
Stellaris
商店页面
Stellaris
> 指南
> Codexvn 的指南
由于违反《Steam 社区及内容指引》,该物品已被移除。该物品仅对您可见。如果您认为自己的物品被误删了,请联系 Steam 客服。
此物品与 Stellaris 不兼容。想知道为什么此物品不能在 Stellaris 中使用,请查看指导页面。
评价数不足
Steam的P2P联机优化
由 Codexvn 制作
Steam的P2P联机优化
奖励
收藏
已收藏
取消收藏
分享
该物品已添加至您的收藏夹。
创建者
Codexvn
离线
类型: 多人游戏Languages: 简体中文
发表于
更新日期
2024 年 12 月 5 日 下午 11:06
2025 年 9 月 2 日 上午 7:00
352
不重复访客数
6
当前收藏人数
指南索引
总览
P2P实现的原理
检查Steam是否真的使用了P2P
优化思路
相关链接
更新日志
留言
P2P实现的原理
Steam 数据报中继https://partner.steamgames.com/doc/features/multiplayer/steamdatagramrelay?l=schinesehttps://partner.steamgames.com/doc/api/ISteamNetworkingSockets#CreateListenSocketP2Phttps://partner.steamgames.com/doc/api/ISteamNetworkingSockets#ConnectP2PSteam的SDK中提供了可以直接用于P2P的接口,游戏只需要实现接口就实现P2P连接Steam中的对等网络及共享IP 地址https://help.steampowered.com/zh/faqs/view/1433-AD20-F11D-B71E参考这篇文章介绍 使用中继进行对等连接在建立直接连接时,视防火墙配置而定,NAT 遍历不一定总能成功。 如果失败,玩家就需要利用中继来和彼此交流。 每个玩家的防火墙都将接收来自中继的数据包。 (这篇文章很好地详细描述了这一流程。) 使用中继不需要和另一玩家分享您的 IP 地址,这是其好处之一。 通常,只有在无法建立直接连接的情况下,才会使用中继作为最后的方案,因为这项服务开销相对较大。 在这种情况下,即使不可能建立直接连接,双方也已经相互交换了 IP 地址,因此还是有可能发生 DoS 攻击。 如果一方或双方对等端拒绝分享 IP 地址,那么就不可能建立直接连接,NAT 遍历将会请求使用中继。 双方对等端必须都分享其 IP 地址,才能建立直接连接。使用 Steam 网络 API 的游戏又如何呢?如果游戏使用了最新的网络 API(ISteamNetworkingSockets 和 ISteamNetworkingMessages),那么流量将会通过 Steam 数据报中继(SDR)进行中继。这是 Valve 遍布全球的主干和中继网络,您可以决定何时允许某款应用分享您的 IP 地址。 在 “Steam”/“设置”/“游戏中”/“Steam 网络”中,有可以控制何时分享您 IP 地址的选项: 从不永不和任何玩家分享您的 IP。 永远中继对等流量。 始终始终允许应用和所有玩家分享您的 IP。 如果另一玩家也分享了其地址,则可能会建立直接连接; 否则,进行中继。 默认除非出现必须避免 Ping 时间过长的情况,否则此选项不会分享您的 IP 地址。 仅限好友仅与您好友列表中的用户分享您的 IP。 也就是说如果相互之间允许IP分享,Steam会自动检测NAT,如果NAT能够打通那么就会直接建立P2P连接,否则会使用服务器进行中继。
检查Steam是否真的使用了P2P
在这一步,我们使用了Easytier进行了组网,使用NetLimiter检查进程所连接的IP和端口,P社的Stellaris进行验证开启共享IPSteam -> 设置 -> 游戏中 -> Steam网络 -> 分享IP改为始终不太确定是不是实时生效,所以这一步改完了之后再把Steam退掉组网后进入游戏,加入房间 这一步需要注意,一定要先组网并验证相互之间已经连接成功,然后再开Steam然后进游戏使用NetLimiter检查进程所连接的IP和端口10.144.6.xxx是N2N组网后的虚拟内网网段可以看到确实是走了内网,同时在同步存档的时候可以观察到内网的大流量,不过是Steam建立了链接,推测是群星使用了Steam的SDK后由Steam转发了流量
优化思路
已经确定Steam的P2P可以走虚拟局域网,接下来就是优化组网的效果 可以阿里云的按量计费机器,2H2G,100Mbps带宽的流量,同时支持停机不计费和定时释放实例。会赠送20G的免费流量,按照6H小时开一把群星来算的话,6H*0.11/H+免费流量,费用很低,而且在用完之后可以停掉实例,后续使用的时候再开。 有时候就算P2P打通隧道,但是由于跨省结算的原因,可能会导致UDP不稳,此时可以考虑强制走中继模式来提升稳定性,个人是推荐直接走中继模式
相关链接
https://github.com/EasyTier/Easytier https://easytier.cn/
更新日志
2025-09-02 将N2N换成了更易用且性能更高的Easytier
5 条留言
<
>
Codexvn
[作者]
2025 年 9 月 2 日 上午 6:49
@8080 这个功能是起什么作用的?我发现界面上没有东西
Codexvn
[作者]
2025 年 9 月 2 日 上午 6:49
@uʍoi radmin没试过zerotier不太推荐,因为没法强制中继,p2p由于qos的原因大概率效果不会特别好,就算自己搭建plant如果打通了p2p反而有可能是坏效果EasyTier我比较推荐,使用简单而且性能也高这个教程我后续会更新成EasyTier,不再推荐n2n
umoi
2025 年 9 月 1 日 下午 9:01
radmin zerotier这类软件会有帮助吗
isanybodythere
2025 年 1 月 6 日 下午 8:56
谢谢你对我帮助很大
8080
2024 年 12 月 22 日 上午 9:54
如果游戏是通过steam匹配的话直接在库界面按ctrl+\即可查看连接详情
<
>
分享至您的 Steam 动态推送通知
链接:
您需要登录或创建新帐户来执行该操作。
登录
创建帐户
取消
更新
© Valve Corporation。保留所有权利。所有商标均为其在美国及其它国家/地区的各自持有者所有。 本网站上部分地理空间数据由 geonames.org 提供。
隐私政策
| 法律信息
| 无障碍
| Steam 订户协议
| Cookie
查看移动版网站