由于最近游戏重制,研究了一下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私人库一起完善这个系统