跳到主要内容

server.cfg

描述

  • server.cfg 是用于配置 SA-MP 服务器各项参数的配置文件
  • 该文件是服务器的必要组成部分,必须与服务器应用程序 (samp-server.exe) 位于同一目录

控制台配置

设置项类型默认值只读属性规则作用说明
echostringExecuting Server Config...当执行 server.cfg 时 samp-server.exe 在服务器控制台输出的内容。完全无需修改此值,因为只有您自己能看到控制台
rcon_passwordstringchangeme用于管理服务器和使用远程控制台(RCON)的密码。必须确保将其更改为难以破解的密码,以防止他人控制您的服务器。如果 RCON 密码保持为 changeme,服务器将无法启动!
rconbool1切换是否使用远程控制台功能。设置为 1 启用或 0 禁用

脚本配置

设置项类型默认值只读属性规则作用说明
gamemode(n) (N) (t)stringgamemode0 grandlarc 1指定服务器应使用的游戏模式文件:(n) 表示游戏模式编号,(N) 表示不带 .amx 扩展名的游戏模式名称,(t) 表示在切换到下一个游戏模式之前应运行该游戏模式的次数
filterscripts (N)string指定服务器应使用的滤镜脚本文件。多个滤镜脚本需用空格分隔(例如:filterscripts script1 script2)。滤镜脚本是在游戏模式后台运行的脚本,用于在不修改游戏模式的情况下为服务器添加额外功能,特别适用于需要在多个游戏模式间共享特性
plugins (N)string指定服务器应使用的插件文件。Windows 系统使用不带 .dll 扩展名的插件名称,Linux 系统需要 .so 扩展名。多个插件需用空格分隔(例如:plugins plugin1 plugin2)。插件用于增强游戏模式和滤镜脚本的功能

服务器浏览器配置

设置项类型默认值只读属性规则作用说明
announcebool1控制是否向 SA-MP 主列表公告服务器。设置为 1 启用或 0 禁用
querybool1控制是否在服务器浏览器中显示服务器信息。设置为 0 时玩家仍可加入服务器,但服务器浏览器将不显示任何信息
hostnamestringSA-MP Server在服务器浏览器和玩家连接服务器时显示的服务器名称
languagestring在服务器浏览器中显示的语言标识。玩家可通过此选项在服务器浏览器中按语言筛选服务器。

注意: 此服务器变量在 0.3.7 版本添加,旧版本无效
mapnamestringSan Andreas在服务器浏览器中显示的地图名称,可自定义(例如:My Stunt Map)
gamemodetextstringUnknown在服务器浏览器中显示的游戏模式名称。使用 SetGameModeText 具有相同效果并会覆盖此处的设置。若需多个游戏模式显示不同名称,请使用该函数
weatherstring*10服务器使用的全局天气设置,同时显示在服务器浏览器中。在 server.cfg 中使用此设置将导致服务器启动时崩溃,请改用 SetWeather
worldtimestring*12:00服务器使用的全局时间设置,同时显示在服务器浏览器中。在 server.cfg 中设置此值无效,请改用 SetWorldTime
gravitystring*0.008服务器使用的全局重力设置。在 server.cfg 中使用此设置将导致服务器启动时崩溃,请改用 SetGravity
weburlstringwww.open.mp玩家可访问的服务器信息网站
versionstring服务器使用的 SA-MP 版本,显示在服务器浏览器中。在 server.cfg 中设置此值无效
maxplayersint50服务器最大玩家容量(范围 1-1000)
passwordstring服务器锁定密码。设置后只有知道密码的玩家可以加入

[*] 部分设置项的实际类型可能与标注类型不符

网络配置

设置项类型默认值只读属性规则作用说明
sleepint5主 SA-MP 和 RakNet 网络线程在每个同步周期内的空闲休眠时间(毫秒)。较高值降低服务器处理负载但降低同步质量,较低值增加服务器负载但提升同步质量。除非玩家数量极高且遇到服务器 FPS 稳定性问题,否则不建议修改
lanmodebool0已弃用参数,无实际效果
bindstring服务器强制使用的 IP 地址。必须与服务器网卡分配的 IP 地址匹配,适用于在同一端口运行多个服务器
portint8192服务器使用的端口号。需进行端口转发才能让外部玩家加入
conncookiesint*1切换 0.3.7 连接验证系统。设置为 1 启用或 0 禁用

注意: 此服务器变量在 0.3.7 R2 版本添加,旧版本无效
cookieloggingint*0切换是否记录新连接玩家请求的连接验证信息。设置为 1 启用或 0 禁用

注意: 此服务器变量在 0.3.7 R2 版本添加,旧版本无效
connseedtimeint300000连接验证种子值的更新间隔(毫秒)

注意: 此服务器变量在 0.3.7 版本添加,旧版本无效
minconnectiontimeint0服务器在接受新连接前的最小等待时间(毫秒)。除非服务器遭受连接洪水攻击,否则不建议修改
messageslimitint500用户每秒可发送的最大消息数量
messageholelimitint3000防御拒绝服务攻击(DoS)的网络层设置
ackslimitint3000(功能说明待补充)
playertimeoutint10000玩家无数据发送时的超时时间(毫秒)
mtuint576最大传输单元设置

注意: 此服务器变量在 0.3.8 版本添加,旧版本无效

[*] 部分设置项的实际类型可能与标注类型不符

日志配置

设置项类型默认值只读属性规则作用说明
outputbool0切换是否在服务器控制台复制日志消息(包括脚本的 print/printf 输出和插件的 logprintf 输出)。此选项仅在 Linux 服务器生效
timestampbool1切换是否在每条控制台消息前添加时间戳
logtimeformatstring[%H:%M:%S]时间戳格式字符串,基于 C/C++ 的 strftime 格式:

[%H:%M:%S] 仅显示时间(默认格式)
[%d/%m/%Y %H:%M:%S] 显示日期(日/月/年)和时间
logqueriesbool0切换是否记录玩家发送给服务器的所有查询请求。在防御 DDoS 攻击时非常有用
chatloggingint*1切换是否在服务器控制台显示玩家聊天内容。若已有其他聊天记录方案,可禁用此功能以减少日志膨胀
db_loggingint*0记录 sqlite db_* 函数错误到服务器控制台

注意: 此服务器变量在 0.3.7 R2 版本添加,旧版本无效
db_log_queriesint*0记录所有 sqlite db_query 调用(包含查询语句)

注意: 此服务器变量在 0.3.7 R2 版本添加,旧版本无效

[*] 部分设置项的实际类型可能与标注类型不符

客户端配置

设置项类型默认值只读属性规则作用说明
onfoot_rate*int30玩家步行状态时向服务器发送新数据的更新间隔(毫秒)
incar_rateint30玩家在车辆内时向服务器发送新数据的更新间隔(毫秒)
weapon_rateint30玩家使用武器时向服务器发送新数据的更新间隔(毫秒)
stream_distance*float200.0玩家在 X,Y 平面上流式加载服务器实体的距离(范围 50.0-400.0)。较高值使玩家能在更远距离看到实体,但会增加客户端处理负担和带宽消耗
stream_rate*int1000重新检测实体流式加载条件的时间间隔(500-5000 毫秒)。较低值会增加服务器处理负载,因为需要更频繁地为每个玩家重新检查流式加载条件

[*] 降低 onfoot_rate、incar_rate 和 weapon_rate 的值可提升同步性能,但会增加带宽消耗

NPC 配置

设置项类型默认值只读属性规则作用说明
maxnpcint0服务器可容纳的 NPC 最大数量(占用玩家槽位)

延迟补偿

设置项类型默认值只读属性规则作用说明
lagcompmodeint10: 完全禁用延迟补偿
1: 完全启用延迟补偿
2: 仅启用位置补偿(不补偿玩家旋转)
lagcompstringOn根据 lagcompmode 设置自动显示为 OnOff

自定义模型

设置项类型默认值只读属性规则作用说明
useartworkbool0切换是否使用 models 文件夹中的自定义模型

注意: 此服务器变量在 0.3.8 版本添加,旧版本无效
artworkstringNo根据 useartwork 设置自动显示为 NoYes
artpathstringmodels自定义模型存储路径

注意: 此服务器变量在 0.3.8 版本添加,旧版本无效

其他配置

设置项类型默认值只读属性规则作用说明
myriadbool0历史遗留参数(原用于兼容 2008 年前的 Myriad Islands MOD)
nosignstring历史遗留参数(无实际作用)

注意事项

  • 只读属性:通过 /rcon varlist 标记为 Read-only 的参数不可在运行时修改,其他参数可通过 SendRconCommand 临时修改
  • 规则属性:标记为 Rule 的参数会显示在服务器浏览器的规则栏
  • 脚本路径支持相对路径写法(例如:"../gamemodes/mymode")