跳到主要内容

open.mp 服务器

托管你自己的《侠盗猎车手:圣安地列斯》多人联机服务器。

v1.5.8.3079最新

发布于 December 17, 2025

亮点

  • 内置的、完全可由服务器控制的NPC(非玩家角色)功能
  • 新增C API / C API SDK,并增强了Pawn与SDK之间的互操作性
  • 通过更强的同步验证检查,实现了显著的网络性能提升
  • 升级至OpenSSL 3.0.13
查看完整更新日志

变更内容

核心功能

  • 引入了作为内置服务器功能的完全可控NPC,无需外部NPC插件,从而实现更深层的服务器端AI和自动化。
  • 新增了C API和C API SDK,允许开发者将open.mp直接与原生代码和外部工具集成。
  • 新增了从open.mp C++ SDK调用Pawn原生函数的能力,显著提升了脚本与原生模块之间的互操作性。

网络与性能

  • 实现了显著的网络性能提升,带来了更快的同步和更流畅的游戏体验。
  • 添加了多项同步验证检查,以防止无效数据、欺骗性的状态和畸形的网络数据包。
  • 现在会根据客户端版本的最大允许值来验证MTU(最大传输单元),防止配置错误和系统不稳定。

平台与兼容性

  • OpenSSL从1.1.1升级至3.0.13,正式弃用了对旧版Linux发行版的支持,确保了对现代系统的妥善支持。
  • config.json添加了环境变量支持,使容器化部署、CI/CD流程和生产环境部署更加灵活方便。

NPC与游戏性改进

  • NPC的ID分配现在采用从高到低的顺序,防止冲突并提高可预测性。
  • 弃用了ConnectNPC函数,推荐使用新的内置NPC系统。
  • 强制火车在创建时使用4个连续的ID,修复了长期存在的游戏不一致性问题。
  • 修复了火车乘客的同步问题。

稳定性与错误修复

  • 修复了一个关于重生数据的棘手问题。
  • 修复了与踢出玩家相关的延迟问题。
  • 修复了在服务器重启期间检查列表中与游戏区域相关的崩溃问题。
  • 修复了玩家在观战后状态被随机设置为None的问题。
  • 修复了Linux服务器关闭时stdin被锁定的问题。
  • 修复了chatlogging配置变量不影响死亡信息的问题。
  • 移除了旧的Fixes组件,因其不稳定、冗余且功能已被新系统取代。
  • 针对Pawn原生函数进行了多次小修复,提高了正确性和可用性。

文档与社区

按合并的拉取请求整理的更新日志

新贡献者

完整更新日志https://github.com/openmultiplayer/open.mp/compare/v1.4.0.2779...v1.5.8.3079

* DynSSL 版本要求你的 Linux 发行版中已安装 libssl。

v1.4.0.2779

发布于 January 12, 2025

亮点

  • 为受支持的客户端提供的可选 open.mp 协议加密
  • 递归加载组件,并改进了 Linux 链接器的行为
  • 修复了车辆和物体相关的多处崩溃与同步问题
  • 新增用于检测 open.mp 客户端的原生函数 `IsPlayerUsingOmp`
查看完整更新日志

变更内容

  • 实现了用于 open.mp 启动器的加密协议,需先在 config.json 中启用(network.use_omp_encryption)。
  • 修复了在移动客户端上使用 SetPlayerSkin 的一个小问题。
  • 新增了相机模式的有效性检查。
  • 修复了 Windows 系统中 GetTickCount 的返回值。
  • 修复了在某些事件和 Pawn 回调中销毁车辆时导致的崩溃。
  • 禁用了 AMX 运行时的动态 DLL 加载功能,尤其适用于从 CompuPhase 网站安装了默认 Pawn 的用户。
  • 修复了 GetVehicleLandingGearState 返回值反转的问题。
  • 修复了玩家离开服务器后,其信息仍会随机保留在启动器玩家列表中的问题。
  • 为拖车和拖车同步添加了更多的有效性检查。
  • 支持递归加载文件夹中的组件。
  • 在 Linux 系统上,优先加载以 $ 开头的组件,并使用 RTLD_GLOBAL 标志加载它们。
  • 修复了与移动物体相关的崩溃问题。
  • 修复了玩家车辆数据在 OnPlayerDeath 事件被调用前被重置的问题。
  • 新增了通过原生函数 IsPlayerUsingOmp 检测玩家是否使用 open.mp 客户端的功能。

按合并的拉取请求整理的更新日志

新贡献者

完整更新日志https://github.com/openmultiplayer/open.mp/compare/v1.3.1.2744...v1.4.0.2779

* DynSSL 版本要求你的 Linux 发行版中已安装 libssl。

所有发布均为开源。从源代码编译,或直接从 GitHub 下载。