跳到主要内容

控制服务器

更改游戏模式​

运行自定义/下载的游戏模式​

  • 打开你安装服务器的目录(例如:/Rockstar Games/GTA San Andreas/server)
  • 将下载/编译的 .amx 文件放入服务器安装目录中的 gamemodes 文件夹
  • 使用 RCON 更改模式。
  • 或者,你可以将新模式添加到轮换队列中。

使用滤镜脚本​

与运行自定义游戏模式相同,除了:

  • 将 .amx 文件放入名为 filterscripts 的文件夹中
  • 在 config.json 的 pawn.side_scripts 中添加不含 .amx 扩展名的脚本路径:
{
"pawn": {
"side_scripts": [
"filterscripts/scriptname"
]
}
}

为服务器设置密码​

  • 如果你想添加密码,只有你的朋友可以加入,请在 config.json 中添加以下内容:
{
"password": "whatever"
}
  • 这将使你的服务器受密码保护,密码设置为 'whatever' —— 你可以将其更改为你想要的任何内容。
  • 你也可以在游戏中使用 /rcon password whatever 更改密码。
  • 你可以通过使用 /rcon password 0 或重启服务器来移除密码。

使用 RCON​

登录​

你可以在游戏内通过输入 /rcon login whatever 登录,也可以在游戏外使用 远程控制台 中的 RCON 模式登录。

RCON 密码是你在 config.json 中设置的 rcon.password 值。

添加封禁​

封禁是指阻止一个 IP 连接到服务器。

bans.json​

bans.json 是用于存储封禁信息的文件,包括以下内容:

  • IP
  • 日期
  • 时间
  • 名称(人名)
  • 原因(参见 BanEx)

要添加封禁,只需向 JSON 数组添加如下对象:

[
{"address": "IP_HERE", "player": "PLAYER", "reason": "封禁原因", "time": "2009-05-28T13:37:00+0000"}
]

其中 IP_HERE 是你想要封禁的 IP 地址。这种方法要比使用 RCON 命令 banip 花更长时间, 所以建议使用 RCON banip.

Ban() 函数​

Ban 函数可用于从脚本中封禁玩家。BanEx 函数将添加一个可选的原因,如下所示:

[
{"address": "13.37.13.37", "player": "作弊者", "reason": "游戏内封禁", "time": "2009-05-28T13:37:00+0000"}
]
RCON 封禁命令​

RCON 封禁命令通过在游戏中输入 /rcon ban 或在控制台中输入 "ban" 来执行,用于封禁服务器上的特定玩家,要封禁 IP 请参见下一节。

只需输入:

# 游戏内:
/rcon ban 玩家ID

# 控制台:
ban 玩家ID
banip​

RCON banip 命令通过在游戏中输入 /rcon banip 或在控制台中输入 "banip" 来执行,用于封禁特定 IP 地址,要封禁服务器上的玩家 ID,请参见上一节。支持通配符进行范围封禁。

只需输入:

# 游戏内:
/rcon banip IP

# 控制台:
banip IP

移除封禁​

一旦某人被封禁,有两种方法可以解封。

  • 从 bans.json 中移除
  • 使用 RCON unbanip 命令

bans.json​

bans.json 可以在你的 open.mp 服务器目录中找到,它包含以下信息的对象:

  • IP
  • 日期
  • 时间
  • 名称(人名)
  • 原因(参见 BanEx)

示例:

[
{"address": "127.8.57.32", "player": "无", "reason": "IP 封禁", "time": "2009-06-13T13:37:00+0000"},
{"address": "13.37.13.37", "player": "Kyeman", "reason": "游戏内封禁", "time": "2009-05-28T13:37:00+0000"}
]

要解封,只需移除该对象,然后执行 RCON reloadbans 命令使服务器重新读取 bans.json。

unbanip​

RCON unbanip 命令可以在游戏内或服务器控制台(黑框)中使用。要解封 IP,只需在游戏内输入 /rcon unbanip IP_HERE 或在控制台中输入 unbanip IP_HERE。

示例:

[
{"address": "13.37.13.37", "player": "Kyeman", "reason": "游戏内封禁", "time": "2009-05-28T13:37:00+0000"}
]
# 游戏内:
/rcon unbanip 13.37.13.37

# 控制台:
unbanip 13.37.13.37

要解封,只需使用 unbanip 命令。

reloadbans​

bans.json 是一个存储当前被封禁 IP 信息的文件。该文件在服务器启动时读取,因此如果你通过编辑文件解封了一个 IP/人,你必须输入 RCON reloadbans 命令使服务器重新读取 bans.json 并允许他们加入服务器。

RCON 命令​

输入 cmdlist 查看命令(或 varlist 查看变量),在游戏内使用 RCON(/rcon cmdlist)。

以下是你可以作为管理员使用的功能:

命令说明
/rcon cmdlist显示命令列表。
/rcon varlist显示当前变量列表。
/rcon exit关闭服务器。
/rcon echo [文本]在服务器控制台中显示 [文本](非游戏内客户端控制台)。
/rcon hostname [名称]更改主机名文本(示例:/rcon hostname 我的服务器)。
/rcon gamemodetext [名称]更改游戏模式文本(示例:/rcon gamemodetext 我的游戏模式)。
/rcon mapname [名称]更改地图名称文本(示例:/rcon mapname 圣安地列斯)。
/rcon exec [文件名]执行包含服务器配置的文件(示例:/rcon exec blah.cfg)。
/rcon kick [ID]踢出指定 ID 的玩家(示例:/rcon kick 2)。
/rcon ban [ID]封禁指定 ID 的玩家(示例:/rcon ban 2)。
/rcon changemode [模式]此命令将当前游戏模式更改为指定模式(示例:如果你想玩 sftdm:/rcon changemode sftdm)。
/rcon gmx将加载 config.json 中的下一个游戏模式。
/rcon reloadbans重新加载存储被封禁 IP 地址的 bans.json 文件。通过编辑文件解封 IP 地址后应使用此命令。
/rcon reloadlog重新加载 log.txt。适用于自动日志轮换。可以通过向服务器发送 SIGUSR1 信号触发(仅限 Linux 服务器)。
/rcon say向玩家显示消息到客户端控制台(示例:/rcon say 你好 将显示为 管理员:你好)。
/rcon players显示服务器中的玩家(包括他们的名字、IP 和 ping)。
/rcon banip [IP]封禁指定 IP(示例:/rcon banip 127.0.0.1)。
/rcon unbanip [IP]解封指定 IP(示例:/rcon unbanip 127.0.0.1)。
/rcon gravity更改重力(示例:/rcon gravity 0.008)。
/rcon weather [ID]更改天气(示例:/rcon weather 1)。
/rcon loadfs加载指定滤镜脚本(示例:/rcon loadfs adminfs)。
/rcon weburl [服务器 URL]更改主列表/SA-MP 客户端中的服务器 URL
/rcon unloadfs卸载指定滤镜脚本(示例:/rcon unloadfs adminfs)。
/rcon reloadfs重新加载指定滤镜脚本(示例:/rcon reloadfs adminfs)。
/rcon rcon\_password [whatever]更改 RCON 密码
/rcon password [whatever]设置/重置服务器密码
/rcon messageslimit [数量]更改客户端每秒发送到服务器的消息数量。(默认 500)
/rcon ackslimit [数量]更改 acks 限制(默认 3000)
/rcon messageholelimit [数量]更改消息空洞限制(默认 3000)
/rcon playertimeout [限制毫秒]更改玩家在不发送任何数据包时的超时时间(默认 1000)。
/rcon language [语言]更改服务器语言(示例:/rcon language 英语)。在服务器浏览器中显示。

上述四个限制/计数参数专门用于防范可能通过冻结或崩溃方式攻击 SA-MP 服务器的各类工具。因此,请根据你的服务器实际需求进行配置。系统默认值已预设为安全基准,若发现存在误踢正常玩家的情况,请立即适当调高相关数值阈值以避免良性玩家遭受影响。

相关回调和函数​

以下回调和函数可能有用,因为它们以某种方式与本文相关。

回调​

函数​