撰写了文章 更新于 2021-12-13 00:20:03
Unity + Steam 多人游戏解决方案
【2021更新】: 此文章年代久远,插件已经停止维护,需要Steam多人联机解决方案的特性可以参考Mirror, 更成熟的支持Steam联机的解决方案
由于最近游戏重制,研究了一下Unity+Steam的多人游戏系统
发现Unity引擎 连接 Steam 的Matchmaking和多人游戏系统 有一下几种方法
- UNET + NAT穿透 然后使用 Steam Matchmaking 传输玩家IP地址
- 自己搭服务器 然后使用 Steam Matchmaking 传输玩家IP地址
- 用Steam给的P2P传输功能
第一种方法貌似是比较普遍的解决方案,虽然网上NAT穿透库很多但是我一个也没成功...
Assetstore 上面有一个NAT Traversal插件 也没有效果...
由于独立开发没有足够资金架设服务器,所以没有采用第二种方法
最后才把目光投向了Steam自带的对等网络服务。
但是我发现Steam的对等网络竟然只给了Byte包的传输....
于是乎我拉着 @ Fangxm
花了一周的自习课基于Steam的对等网络写了一套轻量级网络传输系统
目前实现的功能:
数据自动同步(Auto Sync)
远程过程调用协议(RPC)
动画同步 (Sync Animator)
当然内置Steam的大厅匹配(Matchmaking)
这个网络系统仍然在测试阶段,过一阵子会上 Unity Asset Store
但是,这不是一个广告
因为,这个插件
对所有国内的Steam独立游戏开发者免费
只要获得了Steam的Appid 的独立游戏开发者我都会免费提供这个插件(私信我即可)
当然我也可以将大家邀请到这个插件的GitHub私人库一起完善这个系统
目录
back 1年前
发布
帕斯卡 1年前
为什么要使用“开源”和“商业”之间的一种“小团体模式”来维护这个项目呢?
发布
Relinke 1年前
这是值得尊敬的工作!
发布
老猎人 1年前
发布
小少爷 1年前
发布
杠杆原理 1年前
发布