RakNet

关注
义项:网络游戏引擎
RakNet

RakNet 是一套跨平台的开源 C++ 游戏网络引擎(网络中间件),由美国加利福尼亚州科斯塔梅萨的 Jenkins 软件公司开发,主要用于为多人游戏提供网络通信支持[1][2]。它基于 UDP 传输,提供可靠传输、对象复制、远程过程调用、语音聊天、自动补丁与安全连接等功能,被 Unity、Mojang、索尼在线娱乐等企业授权使用[3]。2014 年 7 月,Oculus VR 收购 RakNet 并将其以修改版 BSD 许可证开源[4]。

百科 图文
目录
  1. 定义
  2. 原理
  3. 发展历程
  4. 应用
  5. 局限
  6. 参见

定义

RakNet 是一套面向游戏的网络中间件,以 C++ 编写,后续也提供 C# 支持,用于在客户端与服务器之间建立并管理联网通信[2][5]。它属于跨平台、开源的网络引擎,可在不同操作系统与游戏主机上运行,开发者把它集成进项目,即可获得较为完整的联网功能[2]。

作为中间件,它的定位是节省开发者自行实现底层网络逻辑的时间,把数据包收发、连接维护、对象同步等常规工作封装为可直接调用的接口[2]。

原理

RakNet 建立在 UDP 传输协议之上,而不是直接使用 TCP[2]。UDP 本身不保证送达顺序与到达率,因此 RakNet 在 UDP 之上自行实现可靠传输、排序与拥塞控制,使数据既保留低延迟特性,又能在需要时获得可靠投递[2][6]。其早期版本只提供每秒最多 30 个数据报的可靠 UDP 功能,之后能力不断扩展[2]。

引擎提供对象复制与远程过程调用两类核心机制:前者把服务器端的游戏对象状态同步到各客户端,后者允许一端调用另一端上的函数[7]。它还包含打补丁、安全连接、语音聊天与实时 SQL 日志等功能,并通过 NAT 穿透帮助位于不同内网的玩家建立连接[8]。

发展历程

RakNet 由 Kevin Jenkins 编写,最初源于其所在团队为单人游戏加入联网功能的需求[2]。1.0 版本面向 PC 以站点许可证方式出售,定价 2000 美元,特点是文档详尽、易于上手;为吸引独立开发者,作者还发布了受 GPL 约束的免费精简版本,Linux 与 Mac 支持由社区补充[2]。约 2008 年起,RakNet 由个人项目转为商业化经营[2]。

2010 年至 2011 年间,RakNet 陆续加入 PlayStation 3 与 Xbox 360 平台支持,并与 Trinigy 的 Vision Engine、Terminal Reality 的 Infernal Engine 等引擎展开集成合作[9][4]。同期,NetDevil 将其用于《LEGO Universe》,Bigpoint 与 Slant Six Games 等也选择 RakNet 4[4]。

2014 年 7 月 7 日,Oculus VR 宣布收购 RakNet,并于当天以修改版 BSD 许可证将其开源,源代码托管在 Oculus 的 GitHub 仓库中,交易金额未披露[4][1]。此后 RakNet 不再提供商业授权,改为面向社区免费开放[2]。

应用

RakNet 的主要用途是多人游戏的联网部分,既被独立开发者采用,也被大型工作室用于商业项目[1]。授权使用其技术的企业包括 Unity、Havok、Mojang 与索尼在线娱乐,相关作品涉及《Minecraft》《LEGO Universe》等[3][1]。

在游戏引擎侧,RakNet 被集成进 Unity 的二进制代码中,Unity 采用的是 3.731 版本[10]。Trinigy 曾把 RakNet 4 免费纳入其 Vision Engine[4]。除游戏外,该引擎也被用于虚拟现实等需要实时网络通信的领域[1]。

局限

RakNet 的商业授权模式在扩张上存在限制。作者在回顾中称,尽管加入了 PS3 与 Xbox 360 支持,向大型工作室的销售增幅仅约 25%,不少新游戏启动画面展示的是其他中间件而非 RakNet[2]。市场营销方面的投入也未能带来预期效果,作者自述外包营销团队在数月内没有产生实质成果[2]。

2013 年 GameSpy 停止授权后,作者曾试图以 MasterServer2 与 Lobby3 替代其匹配服务,但开发过程中更换底层存储方案,后来认为这一决定并不合适[2]。随着 2014 年被收购并开源,RakNet 停止以许可证形式销售,原有商业客户只能通过原有渠道获取支持,新用户则需自行使用开源版本[2]。

参见

  • UDP —— RakNet 建立其上的传输层协议。

  • TCP —— 与 UDP 相对的传输协议,RakNet 刻意避开了它。

  • Unity —— 集成 RakNet 的游戏引擎之一。

  • Oculus VR —— 2014 年收购 RakNet 并将其开源的公司。

  • 网络中间件 —— RakNet 所属的软件类别。

  • 对象复制 —— RakNet 用于同步游戏状态的机制。

参考资料

  1. computerworld.com 上的网页 [引用日期2026-10-14]
  2. RakNet - Multiplayer game network engine [引用日期2026-10-14]
  3. Oculus VR Acquires Raknet Before Facebook Deal Closes [引用日期2026-10-14]
  4. RakNet | See You Online [引用日期2026-10-14]
  5. Oculus Acquires RakNet Middleware & Open-Sources It [引用日期2026-10-14]
  6. a cross-platform C++ game networking engine | OGRE Wiki [引用日期2026-10-14]
  7. Oculus acquires game networking engine RakNet [引用日期2026-10-14]
  8. 'raknet' tag wiki [引用日期2026-10-14]
  9. RakNet Multiplayer Network Engine Adds PlayStation 3 Support [引用日期2026-10-14]
  10. C# and Unity Manual [引用日期2026-10-14]
词条评价
词条统计

浏览次数:2 次

阅读量:0 次 · 阅读完成量:0 次

最近更新:2026-10-13T18:51:30Z

历史版本

本条目引用的词条
UDP Kevin Jenkins GPL Unity TCP Oculus VR 网络中间件 对象复制