---
title: "config.json | open.mp"
description: "open.mp 服务器配置文件。"
canonical: https://omp.itsneufox.com/zh-CN/docs/server/config.json
language: zh-CN
---

# config.json

## 描述

-   `config.json`是用于配置 open.mp 服务器各项参数的配置文件
-   你仍然可以在 open.mp 服务器中使用 [server.cfg](https://omp.itsneufox.com/zh-CN/docs/server/server.cfg) 文件，但建议使用 config.json，因为它有更多设置！

  

* * *

  

技巧

你可以简单地将你的 server.cfg 转换为 config.json。

在服务器目录中打开命令提示符，输入以下命令，然后按回车：

```bash
# Windows
omp-server --dump-config

# Linux
./omp-server --dump-config
```

**注意：** 如果目录中有 config.json 文件，你可能需要在执行上述命令前删除它。

  

技巧

要生成默认的 config.json，请输入以下命令：

```bash
# Windows
omp-server --default-config

# Linux
./omp-server --default-config
```

* * *

## 服务器身份

### 主机名

| 键 | 类型 | 默认值 | 只读 | 规则 | 效果 |
| --- | --- | --- | --- | --- | --- |
| name | string | open.mp server | ❌ | ❌ | 将在服务器浏览器中以及玩家连接到服务器时显示的名称。 |

### 语言

| 键 | 类型 | 默认值 | 只读 | 规则 | 效果 |
| --- | --- | --- | --- | --- | --- |
| language | string |  | ❌ | ❌ | 服务器浏览器中显示的语言。玩家可以在服务器浏览器中按语言筛选服务器。 |

### 公告

| 键 | 类型 | 默认值 | 只读 | 规则 | 效果 |
| --- | --- | --- | --- | --- | --- |
| announce | bool | true | ❌ | ❌ | 切换是否向 open.mp 主列表公告服务器。设为 '**true**' 启用，'**false**' 禁用。 |

### 网站 URL

| 键 | 类型 | 默认值 | 只读 | 规则 | 效果 |
| --- | --- | --- | --- | --- | --- |
| website | string | open.mp | ✅ | ✅ | 玩家可以访问以获取有关服务器更多信息的网站。 |

### Discord

| 键 | 类型 | 默认值 | 只读 | 规则 | 效果 |
| --- | --- | --- | --- | --- | --- |
| discord.invite | string | [https://discord.gg/samp](https://discord.gg/samp) | ❌ | ❌ | 在 omp 启动器中显示的服务器 Discord 地址。 |

### 横幅

| 键 | 类型 | 默认值 | 只读 | 规则 | 效果 |
| --- | --- | --- | --- | --- | --- |
| banners.light | string |  | ❌ | ❌ | 在 omp 启动器中显示的服务器浅色横幅 URL 地址。 |
| banners.dark | string |  | ❌ | ❌ | 在 omp 启动器中显示的服务器深色横幅 URL 地址。 |

### 服务器徽标

| 键 | 类型 | 默认值 | 只读 | 规则 | 效果 |
| --- | --- | --- | --- | --- | --- |
| logo | string |  | ❌ | ❌ | 在 omp 启动器和 Discord 状态中显示的服务器徽标 URL 地址。 |

## 连接与网络

### 网络

| 键 | 类型 | 默认值 | 只读 | 规则 | 效果 |
| --- | --- | --- | --- | --- | --- |
| network.acks\_limit | int | 3000 | ❌ | ❌ |  |
| network.aiming\_sync\_rate\* | int | 30 | ✅ | ❌ | 客户端在射击武器时应向服务器更新新数据的毫秒数。 |
| network.allow\_037\_clients | bool | true | ❌ | ❌ | 切换是否允许使用 0.3.7 客户端的玩家加入服务器。 |
| network.use\_omp\_encryption | bool | false | ❌ | ❌ | 切换 open.mp 数据包加密以提供额外保护（默认协议仍可同时工作）。 |
| network.bind | string |  | ✅ | ❌ | 服务器应使用的 IP 地址。服务器将强制使用此 IP 地址，而不是自动选择空闲的 IP 地址。此 IP 地址必须与服务器上网卡分配的地址之一匹配。这对于在同一台机器上的同一端口运行多个服务器非常有用。 |
| network.cookie\_reseed\_time | int | 300000 | ❌ | ❌ | 连接 Cookie 种子值更新的毫秒数。 |
| network.grace\_period | int | 5000 | ❌ | ❌ | 这是服务器启动后允许来自同一 IP 的无限连接的宽限期，主要用于 NPC。  
默认：5 秒 |
| network.http\_threads | int | 50 | ❌ | ❌ |  |
| network.in\_vehicle\_sync\_rate\* | int | 30 | ✅ | ❌ | 客户端在车辆内时应向服务器更新新数据的毫秒数。 |
| network.limits\_ban\_time | int | 60000 | ❌ | ❌ | 设置达到错误连接数据包限制（当达到 acks/消息限制时）的 raknet 封禁时间（毫秒）。 |
| network.message\_hole\_limit | int | 3000 | ❌ | ❌ | 用于处理 DoS 攻击的网络级别设置。 |
| network.messages\_limit | int | 500 | ❌ | ❌ | 用户每秒可以发送的最大消息数。 |
| network.minimum\_connection\_time | int | 0 | ❌ | ❌ | 服务器在接受另一个传入连接之前将等待的毫秒数。除非你的服务器受到连接洪水攻击，否则不建议使用此变量。 |
| network.mtu | int | 576 | ✅ | ❌ | 保持默认值，如果你不知道这是什么，你真的不需要也不应该更改它，因为如果你不知道，那么你的服务器上没有任何东西需要更高的 MTU，但如果你仍然感兴趣：[https://zh.wikipedia.org/wiki/%E6%9C%80%E5%A4%A7%E4%BC%A0%E8%BE%93%E5%8D%95%E5%85%83](https://zh.wikipedia.org/wiki/%E6%9C%80%E5%A4%A7%E4%BC%A0%E8%BE%93%E5%8D%95%E5%85%83) |
| network.multiplier | int | 10 | ❌ | ❌ |  |
| network.on\_foot\_sync\_rate\* | int | 30 | ✅ | ❌ | 客户端在步行时应向服务器更新新数据的毫秒数。 |
| network.player\_marker\_sync\_rate | int | 2500 | ✅ | ❌ | 客户端在移动时应向服务器更新新数据的毫秒数。 |
| network.player\_timeout | int | 10000 | ❌ | ❌ | 玩家在未向服务器发送任何数据后超时的毫秒数。 |
| network.port | int | 7777 | ✅ | ❌ | 服务器应使用的端口。你需要[端口转发](https://portforward.com)才能让玩家从你的局域网外部加入你的服务器。 |
| network.public\_addr | string |  | ✅ | ❌ | 运行服务器的某些机器可能具有不同的 IP，此设置用于在 `bind` 配置中设置的地址不同时设置一个新地址。此配置变量仅用于 DL 服务器，因为在 open.mp 中，它将托管一个用于下载模型的 Web 服务器。 |
| network.stream\_radius | float | 200.0 | ❌ | ❌ | 玩家将在 X,Y 平面上流式加载服务器实体的距离。最大值为 **400.0**，最小值为 **50.0**。较高的值使玩家可以在更远的距离看到服务器实体，但需要更多的客户端处理能力和潜在的更多带宽。 |
| network.stream\_rate | int | 1000 | ❌ | ❌ | 为每个玩家重新测试服务器实体流式加载前的毫秒数。最大值为 **5000**，最小值为 **500**。较低的值会增加服务器处理量，因为它必须更频繁地为每个玩家重新检查流式条件。 |
| network.time\_sync\_rate | int | 30000 | ❌ | ❌ | 玩家游戏时间更新的速率（毫秒）。 |
| network.use\_lan\_mode | bool | false | ❌ | ❌ | 已弃用的变量，无效。 |

> \[\*\] 降低 `aiming_sync_rate`、`in_vehicle_sync_rate` 和 `on_foot_sync_rate` 的值会提高同步性能，但会使用更多带宽。

### 服务器锁定

| 键 | 类型 | 默认值 | 只读 | 规则 | 效果 |
| --- | --- | --- | --- | --- | --- |
| password | string |  | ❌ | ❌ | 用于锁定服务器的密码。使用此密码后，只有知道此密码的玩家才能加入服务器。 |

### 查询服务器信息

| 键 | 类型 | 默认值 | 只读 | 规则 | 效果 |
| --- | --- | --- | --- | --- | --- |
| enable\_query | bool | true | ❌ | ❌ | 切换是否应在服务器浏览器中显示服务器信息。设为 '**true**' 启用或 '**false**' 禁用。玩家仍然可以加入已禁用查询的服务器，但服务器浏览器将不显示任何信息。 |

## 玩家与 NPC

### 玩家和 NPC 限制

| 键 | 类型 | 默认值 | 只读 | 规则 | 效果 |
| --- | --- | --- | --- | --- | --- |
| max\_bots | int | 0 | ❌ | ❌ | 你的服务器可以容纳的 NPC 最大数量。通过更改此数字，你可以改变有多少玩家插槽可由 NPC 使用。 |
| max\_players | int | 50 | ✅ | ❌ | 你的服务器可以容纳的玩家最大数量。通过更改此数字，你可以改变可以进入服务器的玩家数量。最大为 1000，最小为 1。 |

### NPC 更新速率

| 键 | 类型 | 默认值 | 只读 | 规则 | 效果 |
| --- | --- | --- | --- | --- | --- |
| npc.aiming\_sync\_rate | int | network.aiming\_sync\_rate | ❌ | ❌ | NPC 瞄准同步速率（毫秒）。如果未设置，则默认为 network.aiming\_sync\_rate。 |
| npc.in\_vehicle\_sync\_rate | int | network.in\_vehicle\_sync\_rate | ❌ | ❌ | NPC 车辆内同步速率（毫秒）。如果未设置，则默认为 network.in\_vehicle\_sync\_rate。 |
| npc.on\_foot\_sync\_rate | int | network.on\_foot\_sync\_rate | ❌ | ❌ | NPC 步行同步速率（毫秒）。如果未设置，则默认为 network.on\_foot\_sync\_rate。 |
| npc.process\_update\_rate | int | 50 | ❌ | ❌ | 通用 NPC 处理更新速率（毫秒）。 |

### NPC 同步跳过更新限制

| 键 | 类型 | 默认值 | 只读 | 规则 | 效果 |
| --- | --- | --- | --- | --- | --- |
| npc.aim\_sync\_skip\_update\_limit | int | 15 | ❌ | ❌ | 空闲 NPC 在瞄准时跳过的同步更新次数，超过此限制后强制同步。 |
| npc.in\_vehicle\_sync\_skip\_update\_limit | int | 15 | ❌ | ❌ | 空闲 NPC 在车辆内跳过的同步更新次数，超过此限制后强制同步。 |
| npc.on\_foot\_sync\_skip\_update\_limit | int | 15 | ❌ | ❌ | 空闲 NPC 在步行时跳过的同步更新次数，超过此限制后强制同步。 |

## 游戏设置

| 键 | 类型 | 默认值 | 只读 | 规则 | 效果 |
| --- | --- | --- | --- | --- | --- |
| game.allow\_interior\_weapons | bool | true | ❌ | ❌ | 切换是否允许在室内使用武器。'**true**' 允许在室内使用武器，'**false**' 禁用。 |
| game.chat\_radius | float | 200.0 | ❌ | ❌ | 设置聊天的半径限制。只有距离玩家一定距离内的玩家才能在聊天中看到他们的消息。同时改变玩家在地图上看到其他玩家的距离。 |
| game.death\_drop\_amount | int | 0 | ❌ | ❌ |  |
| game.gravity | float | 0.008 | ❌ | ✅ | 服务器使用的全局重力。 |
| game.group\_player\_objects | bool | false | ❌ | ❌ | 在 SA:MP 中，每个玩家物体和全局物体共享一个 ID 池。如果一个 ID 被"分配"给玩家，每个玩家都可以拥有一个具有该 ID 的唯一物体，但如果你创建了最大数量的全局物体，那么你就无法再创建任何每个玩家物体。  
如果启用了玩家物体分组，服务器将尝试查找另一个玩家已使用的玩家物体插槽。 |
| game.lag\_compensation\_mode | int | 1 | ✅ | ✅ | **0**：完全禁用延迟补偿。  
  
**1**：完全启用延迟补偿。  
  
**2**：仅启用位置延迟补偿。这意味着玩家旋转将不会进行延迟补偿。 |
| game.map | string |  | ❌ | ✅ | 服务器浏览器中显示的地图名称。可以是任何内容，例如 My Stunt Map。 |
| game.mode | string |  | ❌ | ❌ | 服务器浏览器中显示的模式。使用 [SetGameModeText](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/SetGameModeText) 具有相同的效果，并覆盖 config.json 中使用的值。如果你有多个需要不同游戏模式文本的游戏模式，请使用此函数。 |
| game.nametag\_draw\_radius | float | 70.0 | ❌ | ❌ | 设置显示玩家名称的最大距离。 |
| game.player\_marker\_draw\_radius | float | 250.0 | ❌ | ❌ | 为所有玩家设置标记半径。 |
| game.player\_marker\_mode | int | 1 | ❌ | ❌ | **0**：标记模式关闭  
  
**1**：标记模式全局  
  
**2**：标记模式流式  
  
[标记模式](https://omp.itsneufox.com/zh-CN/docs/scripting/resources/markermodes) |
| game.time | int | 12 | ❌ | ✅ | 服务器使用的全局世界时间，并将在服务器浏览器中显示。 |
| game.use\_all\_animations | bool | false | ✅ | ❌ | 允许使用某些版本中缺失的动画。'**true**' 启用所有动画，'**false**' 禁用。 |
| game.use\_chat\_radius | bool | false | ❌ | ❌ | 启用/禁用聊天半径。 |
| game.use\_entry\_exit\_markers | bool | true | ✅ | ❌ | 启用/禁用游戏中所有的室内入口和出口（门处的黄色箭头）。 |
| game.use\_instagib | bool | false | ❌ | ❌ | instagib 是一个旧的配置变量，在 sa-mp 客户端中已不可用，名称可能来自 Quake 游戏，instagib 基本上是瞬间击杀或一击必杀，在游戏中启用一击必杀功能（目前不可用，因为 sa-mp 在客户端移除了此功能） |
| game.use\_manual\_engine\_and\_lights | bool | false | ❌ | ❌ | 控制车辆引擎和灯光。**false**：防止游戏在玩家进入/退出车辆时自动打开/关闭引擎，以及在天黑时自动打开前灯。 |
| game.use\_nametag\_los | bool | true | ❌ | ❌ | 切换玩家上方名称标签、生命条和护甲条的视线（Line-Of-Sight）。 |
| game.use\_nametags | bool | true | ❌ | ❌ | 切换玩家上方名称标签、生命条和护甲条的绘制。 |
| game.use\_player\_marker\_draw\_radius | bool | false | ❌ | ❌ | 切换玩家标记（雷达上的光点）。 |
| game.use\_player\_ped\_anims | bool | false | ❌ | ❌ | 使用标准玩家行走动画（CJ 皮肤的动画）而不是每个皮肤的自定义动画（例如滑板皮肤的滑行动画）。 |
| game.use\_stunt\_bonuses | bool | true | ❌ | ❌ | 为所有玩家启用或禁用特技奖励。如果启用，玩家在车辆中表演特技（例如翘轮）时将获得金钱奖励。 |
| game.use\_vehicle\_friendly\_fire | bool | false | ❌ | ❌ | 为团队车辆启用友军伤害。玩家将无法损坏队友的车辆。 |
| game.use\_zone\_names | bool | false | ❌ | ❌ | 允许开启区域名称，例如玩家进入区域时屏幕右下角显示的 "Vinewood" 或 "Doherty" 文本。 |
| game.validate\_animations | bool | true | ❌ | ❌ | 验证玩家的动画。 |
| game.vehicle\_respawn\_time | int | 10000 | ❌ | ❌ | 设置车辆重生时间（毫秒）。（默认 10 秒） |
| game.weather | int | 10 | ❌ | ✅ | 服务器使用的全局天气，并将在服务器浏览器中显示。 |

## 聊天

| 键 | 类型 | 默认值 | 只读 | 规则 | 效果 |
| --- | --- | --- | --- | --- | --- |
| chat\_input\_filter | bool | true | ❌ | ❌ | 切换聊天输入过滤器。禁用它以在聊天中使用像 % 这样的字符。你也可以使用 [ToggleChatTextReplacement](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/ToggleChatTextReplacement) 函数。 |

## 自定义模型（艺术作品）

| 键 | 类型 | 默认值 | 只读 | 规则 | 效果 |
| --- | --- | --- | --- | --- | --- |
| artwork.cdn | string |  | ✅ | ❌ | 远程模型服务器的 http 地址。 |
| artwork.enable | bool | true | ✅ | ✅ | 切换服务器是否使用 /models 文件夹中的自定义模型。设为 '**true**' 启用或 '**false**' 禁用。 |
| artwork.models\_path | string | models | ✅ | ❌ | 自定义模型所在的路径。 |
| artwork.port | int | 7777 | ✅ | ❌ |  |
| artwork.web\_server\_bind | string |  | ✅ | ❌ |  |

## Pawn

| 键 | 类型 | 默认值 | 只读 | 规则 | 效果 |
| --- | --- | --- | --- | --- | --- |
| pawn.legacy\_plugins | list, string | \[\] | ✅ | ❌ | /plugins 文件夹中的 .dll 或 .so 文件，服务器应将其作为插件运行。插件是旨在增强游戏模式和滤镜脚本的脚本。  
示例：`["mysql", "streamer"]` |
| pawn.main\_scripts | list, string | \["test 1"\] | ✅ | ❌ | /gamemodes 文件夹中的 .amx 文件，服务器应将其作为游戏模式运行。 |
| pawn.side\_scripts | list, string | \[\] | ✅ | ❌ | /filterscripts 文件夹中的 .amx 文件，服务器应将其作为滤镜脚本运行。滤镜脚本是在游戏模式后台运行的脚本。它们用于向服务器添加额外功能而无需编辑游戏模式。如果你想将特定属性应用于多个游戏模式，这将非常有用。  
示例：`["filterscripts/Race_System"]` |

## RCON

| 键 | 类型 | 默认值 | 只读 | 规则 | 效果 |
| --- | --- | --- | --- | --- | --- |
| rcon.allow\_teleport | bool | false | ✅ | ❌ | 确定 RCON 管理员在设置路径点时是否会被传送至该处。设为 '**true**' 启用或 '**false**' 禁用。 |
| rcon.enable | bool | false | ✅ | ❌ | 切换是否应使用[远程控制台](https://omp.itsneufox.com/zh-CN/docs/server/RemoteConsole)功能。设为 '**true**' 启用或 '**false**' 禁用。 |
| rcon.password | string | changeme | ❌ | ❌ | 用于管理服务器和使用远程控制台（rcon）的密码。你必须确保将其更改为难以破解的密码，以免他人控制你的服务器。如果 RCON 密码是 changeme，你的服务器将无法启动！ |

## 日志记录

| 键 | 类型 | 默认值 | 只读 | 规则 | 效果 |
| --- | --- | --- | --- | --- | --- |
| logging.enable | bool | true | ❌ | ❌ | 启用/禁用日志记录。 |
| logging.file | string | log.txt | ✅ | ❌ | 保存服务器日志的路径和文件名。 |
| logging.log\_chat | bool | true | ❌ | ❌ | 切换是否应在服务器控制台中显示玩家聊天。有助于防止日志变得臃肿，或者如果你有另一个脚本化的聊天记录解决方案。设为 '**true**' 启用或 '**false**' 禁用。 |
| logging.log\_connection\_messages | bool | true | ❌ | ❌ | 启用/禁用玩家和 NPC 加入消息。 |
| logging.log\_cookies | bool | false | ❌ | ❌ | 切换记录新连接玩家请求的连接 Cookie。设为 '**true**' 启用或 '**false**' 禁用。 |
| logging.log\_deaths | bool | true | ❌ | ❌ | 切换是否应在服务器控制台中显示玩家死亡。设为 '**true**' 启用或 '**false**' 禁用。 |
| logging.log\_queries | bool | false | ❌ | ❌ | 切换是否应记录玩家发送到服务器的所有查询。设为 '**true**' 启用或 '**false**' 禁用。这在 DDoS 攻击期间非常有用。 |
| logging.log\_sqlite | bool | false | ❌ | ❌ | 在服务器控制台中记录 sqlite DB\_\* 函数错误。 |
| logging.log\_sqlite\_queries | bool | false | ❌ | ❌ | 记录所有 sqlite DB\_Query 调用，包括查询字符串。 |
| logging.timestamp\_format | string | \[%Y-%m-%dT%H:%M:%S%z\] | ✅ | ❌ | 应使用的时间戳格式。该格式基于 C/C++ 中的 [strftime](http://cplusplus.com/reference/ctime/strftime/) 格式。以下是一些示例：  
  
**\[%H:%M:%S\]** 仅显示时间。  
  
**\[%d/%m/%Y %H:%M:%S\]** 这将以 dd/mm/yyyy 格式显示日期，后跟 hour:minute:second 格式的时间。 |
| logging.use\_prefix | bool | true | ❌ | ❌ | 切换是否应在每条控制台消息中打印前缀，例如 `[Info]`。设为 '**true**' 启用或 '**false**' 禁用。 |
| logging.use\_timestamp | bool | true | ❌ | ❌ | 切换是否应在每条控制台消息中打印时间戳。设为 '**true**' 启用或 '**false**' 禁用。 |

## 性能

### 休眠与时钟周期

| 键 | 类型 | 默认值 | 只读 | 规则 | 效果 |
| --- | --- | --- | --- | --- | --- |
| sleep | float | 5.0 | ❌ | ❌ | 主 open.mp 和 raknet 网络线程在每个同步周期内将"休眠"空闲的毫秒数。较高的值会降低服务器处理量，但会降低同步质量。较低的值会增加服务器处理量，但会提高同步质量。除非你的玩家数量非常高并且服务器 FPS 稳定性有问题，否则不建议更改此值。 |
| use\_dyn\_ticks | bool | true | ✅ | ❌ | dynticks 配置基本上是为了通过使用更多 CPU 来弥补任何下降，从而将服务器的时钟周期保持在恒定计数。  
它是使用提供的 sleep 值计算的，因此如果 sleep 为 5，则恒定时钟周期计数为 1000 / 5 = 200 ticks/秒。  
open.mp 根据每个时钟周期的代码执行时间动态修改内部 sleep 值，只是为了将其稳定在 200 ticks，较低的 sleep 意味着更多的 CPU 使用（如果服务器代码编写良好，则差异不大） |

* * *

## 环境变量扩展

`config.json` 字符串可以使用 `${VAR}` 从环境变量中提取值。服务器在启动期间解析它们，open.mp 内部没有 .env 解析器，因此请确保环境已预先填充（shell `export`、Docker `env_file`、systemd `Environment=` 等）。

**示例：**

```json
{
  "password": "${SERVER_PASSWORD}",
  "logging": {
    "enable": "${LOG_TOGGLE}:-true" // 这默认为 true
  },
  "banners": {
    "dark": "${BANNER_DARK}:-", // 这默认为横幅上无图像
    "light": "${BANNER_LIGHT}"
  }
}
```

-   `${VAR}` 默认变量语法
-   `${VAR:-default}` 在变量缺失时提供回退值
-   `$${VAR}` 转义以在配置中将 `${VAR}` 保留为文本

  

备注

-   标记为"只读"的值在运行时无法更改。所有其他值可以通过将它们传递给 [SendRconCommand](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/SendRconCommand) 或通过服务器控制台（临时）更改。
    
-   标记为"规则"的值显示在服务器浏览器的"规则"部分中。
