如何安装和更新 SourceMod 与 MetaMod

如何安装和更新 SourceMod 与 MetaMod

一篇关于如何下载、安装和更新 SourceMod 与 MetaMod 的完整指南。

July 26, 2026阅读约 6 分钟更新于 July 26, 2026
如何安装和更新 SourceMod 与 MetaMod

一篇关于如何安装和更新 MetaMod 和 SourceMod 的指南。

前提条件

  • 一台运行 Windows、Linux 或 Mac 的 SRCDS 服务器。
  • 能够访问 SRCDS 的文件系统(例如通过 FTP 或文件资源管理器)。
  • 如果你的客户端运行 Windows 而服务器运行 Linux/Mac,你需要一个文件压缩/解压工具,例如 7-ZIP。

如何安装 MetaMod

运行 SourceMod 需要先安装 MetaMod。因此,我通常会先安装 MetaMod。

  1. 在这里下载适合你操作系统的正确安装包。
  2. 使用 ZIP 或 Tar/GZIP 等工具解压下载的文件。
  3. 将解压后的 addons/ 文件夹复制到你服务器的主游戏目录中。例如在 Counter-Strike: Source 中,路径应为 /path/to/server/cstrike/。Team Fortress 2 则为 /path/to/server/tf/。

如果系统提示是否覆盖文件夹或文件,请选择“是”。安装完成后,请确认 addons/ 文件夹中存在 metamod.vdf 文件。所有近期版本的 MetaMod 都应已包含此文件,但如果没有 metamod.vdf 文件,你可以在这里生成一个。

更新

  1. 关闭你的游戏服务器(严格来说,在 Linux 上不必这样做,但服务器可能会在切换地图后崩溃)。
  2. 执行上述步骤 1 - 3。

确认安装

要确认 MetaMod 是否已安装在游戏服务器上,可以运行 meta version 命令来查看已安装的版本。如果收到“unknown command”错误,说明 MetaMod 未正确安装。

meta version
 Metamod:Source Version Information
    Metamod:Source version 1.12.0-dev+1165
    Plugin interface version: 16:14
    SourceHook version: 5:5
    Loaded As: Valve Server Plugin
    Compiled on: Dec 19 2022 17:29:31
    Built from: https://github.com/alliedmodders/metamod-source/commit/63c5c15
    Build ID: 1165:63c5c15
    http://www.metamodsource.net/

如何安装 SourceMod

请按照以下步骤安装 SourceMod。

  1. 在这里下载适合你操作系统的正确安装包。
  2. 使用 ZIP 或 Tar/GZIP 等工具解压下载的文件。
  3. 将解压后的 addons/ 和 cfg/ 文件夹复制到你服务器的主游戏目录中。例如在 Counter-Strike: Source 中,路径应为 /path/to/server/cstrike/。Team Fortress 2 则为 /path/to/server/tf/。

更新

  1. 关闭你的游戏服务器(严格来说,在 Linux 上不必这样做,但服务器可能会在切换地图后崩溃)。
  2. 按照上述步骤 1 和 2 操作。
  3. 将解压后文件中 addons/sourcemod/ 文件夹内的所有文件夹和文件(排除 configs/ 文件夹)复制到游戏服务器的 SourceMod 目录中。例如在 Counter-Strike: Source 中,路径为 /path/to/server/cstrike/addons/sourcemod/。

我们排除 configs/ 文件夹的原因是为了防止覆盖你已有的自定义配置,例如常见的 databases.cfg 文件。

确认安装

要确认 SourceMod 是否已安装在游戏服务器上,可以运行 sm version 命令来查看已安装的版本。如果收到“unknown command”错误,说明 SourceMod 未正确安装。

sm version
 SourceMod Version Information:
    SourceMod Version: 1.11.0.6926
    SourcePawn Engine: 1.11.0.6926, jit-x86 (build 1.11.0.6926)
    SourcePawn API: v1 = 5, v2 = 16
    Compiled on: Dec 20 2022 14:00:51
    Built from: https://github.com/alliedmodders/sourcemod/commit/fd63fff8
    Build ID: 6926:fd63fff8
    http://www.sourcemod.net/

使用 MetaMod 与 SourceMod 的游戏

以下是一小部分社区和模组服务器会使用 MetaMod 和 SourceMod 的游戏列表。请注意,这份列表之外还有其他游戏。

  • Half Life 2
  • Counter-Strike: Source
  • Counter-Strike: Global Offensive
  • Team Fortress 2
  • Left 4 Dead 1/2
  • Day of Defeat: Source
  • Zombie Panic: Source
  • Fistful of Frags

什么是 MetaMod (MM)?

MetaMod 是一个为 Valve 的 Half Life 2/Source 引擎设计的 C++ 插件,它使得其他插件/附加组件(例如 SourceMod)得以运行。以下是 AlliedModders 给出的完整介绍。

Quote

Metamod:Source 是一个用于 Half-Life 2 的 C++ 插件环境。它作为一个“metamod”存在于游戏与引擎之间,允许插件拦截二者之间流动的调用。它提供了一种名为 SourceHook 的机制,这是一个非常强大的库,用于拦截、覆盖和取代虚函数调用。

尽管 Valve 提供了自己的 C++ 插件环境,我们仍然发现了两个开发 Metamod:Source 的主要原因:

  1. 如果各个插件使用各自的钩子机制,就会产生冲突。集中式的 SourceHook 环境通过提供统一的入口解决了这个问题。

  2. Valve 的这一层存在一些特殊问题,例如无法完全从内存中卸载,以及糟糕的控制台和程序化控制能力。Metamod:Source 则是明确、灵活且开源的。

需要注意的是,Metamod:Source 与“Mani Admin Plugin”、“SourceMod”或“EventScripts”并不相同。它只是一个非常小的库封装层,用于加载并向 C++ 插件传递一些指针。它几乎不提供任何不必要的功能(例如玩法模组或 MySQL 支持),本身也不会带来任何开销。

Metamod:Source 采用非常宽松的开源许可证授权。你无需公开插件的源代码,因为该许可证允许商业/专有用途。(请注意,你可能仍需遵守第三方软件的许可协议,例如 Valve SDK 或其他库。)

什么是 SourceMod (SM)?

SourceMod 是 MetaMod 的一个附加组件,它允许用户和服务器所有者使用其自有的编程语言 SourcePawn 来编写/开发插件。它还附带了许多命令和工具,使服务器管理变得更加轻松。以下是 AlliedModders 给出的完整介绍。

Quote

SourceMod是适用于所有基于Half-Life 2引擎游戏的服务器修改工具。它是一个强大且高度优化的平台,用于编写插件脚本以及处理服务器管理。默认安装包附带一套基础插件,但社区中已有超过2,500个插件。

基础功能(用户)

  • 易于使用、粒度极细的权限系统(兼容SQL)

  • 高度可配置的管理菜单

  • 保留位(Reserved slots)

  • 灵活的地图管理插件(提名、投票换图等)

  • 基础命令,如踢出/封禁/击打/静音玩家、修改cvar等

  • 各类投票命令

  • 聊天刷屏防护

  • 面向用户和管理员的完善聊天触发器

  • 易于翻译

  • SourceMod经过高度优化,非常适合在不编写C++代码的情况下从Source服务器中榨取最佳性能。

脚本功能(开发者)

  • Administration - 用于开发管理系统的完整API。

  • Clients - 处理游戏内客户端信息与回调。

  • Commands - 创建、挂钩和重写客户端与服务器控制台命令。

  • ConVars - 创建、挂钩和获取控制台变量。

  • Database - 抽象化的数据库访问。

  • Engine - 访问众多Half-Life 2引擎功能,并持续新增中。

  • Entities - 修改和获取实体属性,包括按名称与按编号。

  • Events - 创建、触发和挂钩Half-Life 2的GameEvents。

  • Files - 文件系统访问。

  • IPC - 高级插件间通信,类似AMX Mod X。

  • Menus - 抽象化的菜单API,用于在各类模组间创建统一的菜单。

  • Messages - 发送和挂钩UserMessages。

  • Parsing - 高级且高度优化的文本解析。

  • Timers - 定时事件的创建。

  • Translation - 多语言短语文件查找。

是什么让SourceMod与众不同?(开发者)

  • 速度 - SourceMod的速度极快,这绝非空谈。每个插件都会被加载进内存并转换为原始CPU代码。我们非常用心地确保SourceMod中的每一个高频区域都尽可能地快。其脚本语言是静态类型的,且不需要垃圾回收。
  • API - SourceMod的大部分工作都在于尽力打磨API。每当添加任何接口或函数时,我们都会问以下问题:
  • 它是否代表一种优化的解决方案?
  • 会有人使用它吗?
  • 它有多令人困惑?
  • 它是否符合最可能的常见用法?
  • 未来是否有可能对其进行扩展?
  • 它的名称是否体现了它的功能?
  • 它的名称是否与其他类似函数保持一致?
  • 可扩展性 - SourceMod完全可扩展。SourceMod为扩展SourceMod本身以及插件的事件/原生API都提供了完整的C++ API。
  • 开源 - SourceMod及其扩展和插件均在GNU通用公共许可证下开源!

另见

结语

就是这样!现在你应该已经掌握了如何安装和更新SourceMod与MetaMod。

如果你有任何问题或反馈,请在此话题下回复!

评论 (0)

登录后即可评论。

加载中…

发现更多

帖子动态

加载中…

最近动态

加载中…
前往社区
如何安装和更新 SourceMod 与 MetaMod - Blog - The Modding Community