server.cfg
描述
server.cfg
是用于配置 SA-MP 服务器各项参数的配置文件- 该文件是服务器的必要组成部分,必须与服务器应用程序 (samp-server.exe) 位于同一目录
控制台配置
设置项 | 类型 | 默认值 | 只读属性 | 规则 | 作用说明 |
---|---|---|---|---|---|
echo | string | Executing Server Config... | 是 | 否 | 当执行 server.cfg 时 samp-server.exe 在服务器控制台输出的内容。完全无需修改此值,因为只有您自己能看到控制台 |
rcon_password | string | changeme | 否 | 否 | 用于管理服务器和使用远程控制台(RCON)的密码。必须确保将其更改为难以破解的密码,以防止他人控制您的服务器。如果 RCON 密码保持为 changeme,服务器将无法启动! |
rcon | bool | 1 | 否 | 否 | 切换是否使用远程控制台功能。设置为 1 启用或 0 禁用 |
脚本配置
设置项 | 类型 | 默认值 | 只读属性 | 规则 | 作用说明 |
---|---|---|---|---|---|
gamemode(n) (N) (t) | string | gamemode0 grandlarc 1 | 否 | 否 | 指定服务器应使用的游戏模式文件:(n) 表示游戏模式编号,(N) 表示不带 .amx 扩展名的游戏模式名称,(t) 表示在切换到下一个游戏模式之前应运行该游戏模式的次数 |
filterscripts (N) | string | 是 | 否 | 指定服务器应使用的滤镜脚本文件。多个滤镜脚本需用空格分隔(例如:filterscripts script1 script2)。滤镜脚本是在游戏模式后台运行的脚本,用于在不修改游戏模式的情况下为服务器添加额外功能,特别适用于需要在多个游戏模式间共享特性 | |
plugins (N) | string | 是 | 否 | 指定服务器应使用的插件文件。Windows 系统使用不带 .dll 扩展名的插件名称,Linux 系统需要 .so 扩展名。多个插件需用空格分隔(例如:plugins plugin1 plugin2)。插件用于增强游戏模式和滤镜脚本的功能 |
服务器浏览器配置
设置项 | 类型 | 默认值 | 只读属性 | 规则 | 作用说明 |
---|---|---|---|---|---|
announce | bool | 1 | 否 | 否 | 控制是否向 SA-MP 主列表公告服务器。设置为 1 启用或 0 禁用 |
query | bool | 1 | 否 | 否 | 控制是否在服务器浏览器中显示服务器信息。设置为 0 时玩家仍可加入服务器,但服务器浏览器将不显示任何信息 |
hostname | string | SA-MP Server | 否 | 否 | 在服务器浏览器和玩家连接服务器时显示的服务器名称 |
language | string | 否 | 否 | 在服务器浏览器中显示的语言标识。玩家可通过此选项在服务器浏览器中按语言筛选服务器。 注意: 此服务器变量在 0.3.7 版本添加,旧版本无效 | |
mapname | string | San Andreas | 否 | 是 | 在服务器浏览器中显示的地图名称,可自定义(例如:My Stunt Map) |
gamemodetext | string | Unknown | 否 | 否 | 在服务器浏览器中显示的游戏模式名称。使用 SetGameModeText 具有相同效果并会覆盖此处的设置。若需多个游戏模式显示不同名称,请使用该函数 |
weather | string* | 10 | 否 | 是 | 服务器使用的全局天气设置,同时显示在服务器浏览器中。在 server.cfg 中使用此设置将导致服务器启动时崩溃,请改用 SetWeather |
worldtime | string* | 12:00 | 否 | 是 | 服务器使用的全局时间设置,同时显示在服务器浏览器中。在 server.cfg 中设置此值无效,请改用 SetWorldTime |
gravity | string* | 0.008 | 否 | 否 | 服务器使用的全局重力设置。在 server.cfg 中使用此设置将导致服务器启动时崩溃,请改用 SetGravity |
weburl | string | www.open.mp | 否 | 是 | 玩家可访问的服务器信息网站 |
version | string | 是 | 是 | 服务器使用的 SA-MP 版本,显示在服务器浏览器中。在 server.cfg 中设置此值无效 | |
maxplayers | int | 50 | 是 | 否 | 服务器最大玩家容量(范围 1-1000) |
password | string | 否 | 否 | 服务器锁定密码。设置后只有知道密码的玩家可以加入 |
[*] 部分设置项的实际类型可能与标注类型不符
网络配置
设置项 | 类型 | 默认值 | 只读属性 | 规则 | 作用说明 |
---|---|---|---|---|---|
sleep | int | 5 | 否 | 否 | 主 SA-MP 和 RakNet 网络线程在每个同步周期内的空闲休眠时间(毫秒)。较高值降低服务器处理负载但降低同步质量,较低值增加服务器负载但提升同步质量。除非玩家数量极高且遇到服务器 FPS 稳定性问题,否则不建议修改 |
lanmode | bool | 0 | 否 | 否 | 已弃用参数,无实际效果 |
bind | string | 是 | 否 | 服务器强制使用的 IP 地址。必须与服务器网卡分配的 IP 地址匹配,适用于在同一端口运行多个服务器 | |
port | int | 8192 | 是 | 否 | 服务器使用的端口号。需进行端口转发才能让外部玩家加入 |
conncookies | int* | 1 | 否 | 否 | 切换 0.3.7 连接验证系统。设置为 1 启用或 0 禁用 注意: 此服务器变量在 0.3.7 R2 版本添加,旧版本无效 |
cookielogging | int* | 0 | 否 | 否 | 切换是否记录新连接玩家请求的连接验证信息。设置为 1 启用或 0 禁用 注意: 此服务器变量在 0.3.7 R2 版本添加,旧版本无效 |
connseedtime | int | 300000 | 否 | 否 | 连接验证种子值的更新间隔(毫秒) 注意: 此服务器变量在 0.3.7 版本添加,旧版本无效 |
minconnectiontime | int | 0 | 否 | 否 | 服务器在接受新连接前的最小等待时间(毫秒)。除非服务器遭受连接洪水攻击,否则不建议修改 |
messageslimit | int | 500 | 否 | 否 | 用户每秒可发送的最大消息数量 |
messageholelimit | int | 3000 | 否 | 否 | 防御拒绝服务攻击(DoS)的网络层设置 |
ackslimit | int | 3000 | 否 | 否 | (功能说明待补充) |
playertimeout | int | 10000 | 否 | 否 | 玩家无数据发送时的超时时间(毫秒) |
mtu | int | 576 | 是 | 否 | 最大传输单元设置 注意: 此服务器变量在 0.3.8 版本添加,旧版本无效 |
[*] 部分设置项的实际类型可能与标注类型不符
日志配置
设置项 | 类型 | 默认值 | 只读属性 | 规则 | 作用说明 |
---|---|---|---|---|---|
output | bool | 0 | 否 | 否 | 切换是否在服务器控制台复制日志消息(包括脚本的 print/printf 输出和插件的 logprintf 输出)。此选项仅在 Linux 服务器生效 |
timestamp | bool | 1 | 否 | 否 | 切换是否在每条控制台消息前添加时间戳 |
logtimeformat | string | [%H:%M:%S] | 是 | 否 | 时间戳格式字符串,基于 C/C++ 的 strftime 格式: [%H:%M:%S] 仅显示时间(默认格式) [%d/%m/%Y %H:%M:%S] 显示日期(日/月/年)和时间 |
logqueries | bool | 0 | 否 | 否 | 切换是否记录玩家发送给服务器的所有查询请求。在防御 DDoS 攻击时非常有用 |
chatlogging | int* | 1 | 否 | 否 | 切换是否在服务器控制台显示玩家聊天内容。若已有其他聊天记录方案,可禁用此功能以减少日志膨胀 |
db_logging | int* | 0 | 否 | 否 | 记录 sqlite db_* 函数错误到服务器控制台 注意: 此服务器变量在 0.3.7 R2 版本添加,旧版本无效 |
db_log_queries | int* | 0 | 否 | 否 | 记录所有 sqlite db_query 调用(包含查询语句) 注意: 此服务器变量在 0.3.7 R2 版本添加,旧版本无效 |
[*] 部分设置项的实际类型可能与标注类型不符
客户端配置
设置项 | 类型 | 默认值 | 只读属性 | 规则 | 作用说明 |
---|---|---|---|---|---|
onfoot_rate* | int | 30 | 是 | 否 | 玩家步行状态时向服务器发送新数据的更新间隔(毫秒) |
incar_rate | int | 30 | 是 | 否 | 玩家在车辆内时向服务器发送新数据的更新间隔(毫秒) |
weapon_rate | int | 30 | 是 | 否 | 玩家使用武器时向服务器发送新数据的更新间隔(毫秒) |
stream_distance* | float | 200.0 | 否 | 否 | 玩家在 X,Y 平面上流式加载服务器实体的距离(范围 50.0-400.0)。较高值使玩家能在更远距离看到实体,但会增加客户端处理负担和带宽消耗 |
stream_rate* | int | 1000 | 否 | 否 | 重新检测实体流式加载条件的时间间隔(500-5000 毫秒)。较低值会增加服务器处理负载,因为需要更频繁地为每个玩家重新检查流式加载条件 |
[*] 降低 onfoot_rate、incar_rate 和 weapon_rate 的值可提升同步性能,但会增加带宽消耗
NPC 配置
设置项 | 类型 | 默认值 | 只读属性 | 规则 | 作用说明 |
---|---|---|---|---|---|
maxnpc | int | 0 | 否 | 否 | 服务器可容纳的 NPC 最大数量(占用玩家槽位) |
延迟补偿
设置项 | 类型 | 默认值 | 只读属性 | 规则 | 作用说明 |
---|---|---|---|---|---|
lagcompmode | int | 1 | 是 | 否 | 0: 完全禁用延迟补偿 1: 完全启用延迟补偿 2: 仅启用位置补偿(不补偿玩家旋转) |
lagcomp | string | On | 是 | 是 | 根据 lagcompmode 设置自动显示为 On 或 Off |
自定义模型
设置项 | 类型 | 默认值 | 只读属性 | 规则 | 作用说明 |
---|---|---|---|---|---|
useartwork | bool | 0 | 是 | 否 | 切换是否使用 models 文件夹中的自定义模型 注意: 此服务器变量在 0.3.8 版本添加,旧版本无效 |
artwork | string | No | 是 | 是 | 根据 useartwork 设置自动显示为 No 或 Yes |
artpath | string | models | 是 | 否 | 自定义模型存储路径 注意: 此服务器变量在 0.3.8 版本添加,旧版本无效 |
其他配置
设置项 | 类型 | 默认值 | 只读属性 | 规则 | 作用说明 |
---|---|---|---|---|---|
myriad | bool | 0 | 否 | 否 | 历史遗留参数(原用于兼容 2008 年前的 Myriad Islands MOD) |
nosign | string | 是 | 否 | 历史遗留参数(无实际作用) |
注意事项
- 只读属性:通过
/rcon varlist
标记为 Read-only 的参数不可在运行时修改,其他参数可通过 SendRconCommand 临时修改 - 规则属性:标记为 Rule 的参数会显示在服务器浏览器的规则栏
- 脚本路径支持相对路径写法(例如:"../gamemodes/mymode")