Перейти к основному содержимому

Управление сервером

Изменения игрового режима​

Запуска стороннего/загруженного из интернета режима​

  • Откройте папку с файлами сервера
  • Скопируйте загруженные файлы с расширением .amx в папку gamemodes
  • Используйте RCON команду для переключения на новый режим (2.1)
  • Как альтернативу, вы можете использовать этот мод, как дополнительный для переключения (2.3)

Использование подгружаемых скриптов/фильтрскриптов (Filterscripts)​

Шаги точно такие же, как и с модом, но если отличия:

  • Поместите файл с расширением .amx в папку filterscripts
  • Добавьте путь к фильтрскрипту без расширения .amx в pawn.side_scripts в config.json:
{
"pawn": {
"side_scripts": [
"filterscripts/scriptname"
]
}
}

Установка пароля​

  • Если вы хотите установить на сервер пароль, чтобы войти могли только доверенные люди, добавьте следующую строку в config.json:
{
"password": "whatever"
}
  • Это сделает ваш сервер защищённым с помощью пароль, где 'whatever' будет паролем, необходимым, для входа на сервер, всё логично. Вы можете изменить пароль на любой, какой вздумается.
  • Пароль так же можно изменить через RCON прямо во время работы сервера с помощью команды /rcon password whatever или password whatever, используя консоль сервера или удалённую консоль.
  • Убрать вход по паролю можно, установив 0 в качестве пароля любым из вышеуказанных способов.

Использование RCON​

Авторизация​

Вы можете авторизоваться, как RCON администратор, при помощи команды /rcon login password в игре, или используя удалённую консоль (rcon).

Для авторизации в RCON используйте значение rcon.password из config.json.

Блокировка пользователей​

bans.json​

bans.json это файл, располагающейся в папку с сервером и содержащий в себе список блокировок, он содержит следующую информацию:

  • IP
  • Дата блокировки
  • Время блокировки
  • Имя игрока
  • Причина блокировки (см. BanEx)

Чтобы заблокировать пользователя, добавьте объект в JSON-массив по примеру:

[
{"address": "IP_ПОЛЬЗОВАТЕЛЯ", "player": "НИК", "reason": "ПРИЧИНА БЛОКИРОВКИ", "time": "2009-05-28T13:37:00+0000"}
]

Где IP_ПОЛЬЗОВАТЕЛЯ это IP адрес, который вы хотите заблокировать.

Функция Ban()​

Функция Ban используется для аналогичного метода блокировки, но из самого скрипта. Функция BanEx добавляет к параметрам причину блокировки:

[
{"address": "13.37.13.37", "player": "Читер", "reason": "INGAME BAN", "time": "2009-05-28T13:37:00+0000"}
]
Блокировка через RCON​

Чтобы заблокировать пользователя, используя полномочия RCON администратора, необходимо использовать команду ban (Как блокировать по IP, смотрите далее).

Пример использования:

# В игре:
/rcon ban ID_ИГРОКА

# Консоль:
ban ID_ИГРОКА
banip​

Чтобы заблокировать определённый IP адрес, используя полномочия RCON администратора, необходимо использовать команду banip.

Пример использования:

# В игре:
/rcon banip IP

# Консоль:
banip IP

Разблокировка​

Есть 2 способа разблокировать заблокированного пользователя.

  • Удалить соответствующий объект из bans.json
  • Использовать RCON команду unbanip

bans.json​

bans.json это файл, располагающейся в папку с сервером и содержащий в себе список блокировок, он содержит следующую информацию:

  • IP
  • Дата блокировки
  • Время блокировки
  • Имя игрока
  • Причина блокировки (см. BanEx)

Например:

[
{"address": "127.8.57.32", "player": "NONE", "reason": "IP BAN", "time": "2009-06-13T13:37:00+0000"},
{"address": "13.37.13.37", "player": "Kalcor", "reason": "INGAME BAN", "time": "2009-05-28T13:37:00+0000"}
]

Чтобы разблокировать данных пользователей, удалите нужные объекты из файла и используйте RCON команду reloadbans, чтобы обновить список блокировок, не перезапуская сервер.

unbanip​

RCON команда unbanip используется для разблокировки IP адреса (/rcon unbanip IP_АДРЕС в игре или unbanip IP_АДРЕС в консоли).

Пример:

[
{"address": "13.37.13.37", "player": "Kalcon", "reason": "INGAME BAN", "time": "2009-05-28T13:37:00+0000"}
]
# В игре:
/rcon unbanip 13.37.13.37

# Консоль
unbanip 13.37.13.37

reloadbans​

Как было указано ранее, файл bans.json содержит в себе список блокировок. Содержимое этого файла считывается лишь при запуске сервера, однако, если вы хотите обновить список во время работы сервера, используйте RCON команду reloadbans

RCON команды​

Введите cmdlist, чтобы получить список со всеми доступными RCON командами:

КомандаОписание
/rcon cmdlistВыводит список команд.
/rcon varlistВыводит список текущих серверных переменных.
/rcon exitПрекращает работу сервера.
/rcon echo [text]Выводит текст, указанный в [text] в консоль сервера.
/rcon hostname [name]Изменяет название сервера в поиске (пример: /rcon hostname my server).
/rcon gamemodetext [name]Изменяет название режима сервера в поиске (пример: /rcon gamemodetext my gamemode).
/rcon mapname [name]Изменяет название карты сервера в поиске (пример: /rcon mapname San Andreas).
/rcon exec [filename]Выполняет файл, содержащий настройки, как в server.cfg (пример: /rcon exec blah.cfg).
/rcon kick [ID]Кикает игрока с указанным ID (пример: /rcon kick 2).
/rcon ban [ID]Блокирует ID (пример: /rcon ban 2).
/rcon changemode [mode]Изменяет загруженный игровой мод (пример: /rcon changemode new_v2).
/rcon gmxЗагрузит следующий игровой мод, указанный в config.json.
/rcon reloadbansОбновляет список блокировок из файла bans.json.
/rcon reloadlogПерезагружает файл log.txt. Нет видимого эффекта.
/rcon sayОтправить сообщение в чат на сервере из RCON (_пример: /rcon say привет всем выведет всем в чат Admin: привет всем).
/rcon playersВыводит список игроков на сервере (с их именами, IP и пингом).
/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Загружает указанный filterscript (пример: /rcon loadfs adminfs).
/rcon weburl [server url]Изменяет веб-адрес сервера в лаунчере
/rcon unloadfsВыгружает указанный filterscript (пример: /rcon unloadfs adminfs).
/rcon reloadfsПерезагружает указанный filterscript (пример: /rcon reloadfs adminfs).
/rcon rcon\_password [PASSWORD]Меняет пароль RCON администраторов
/rcon password [password]Устанавливает/снимает пароль сервера
/rcon messageslimit [count]Устанавливает лимит сообщений, отправляемых клиентом в секунду. (по умолчанию 500)
/rcon ackslimit [count]Устанавливает лимит подтверждений (acks), отправляемых клиентом в секунду (по умолчанию 3000)
/rcon messageholelimit [count]Устанавливает лимит 'messagehole', отправляемых клиентом в секунду (по умолчанию 3000)
/rcon playertimeout [limit m/s]Устанавливает количество миллисекунд, после которых игрок будет отключен, если не отправляет никаких пакетов. (по умолчанию 1000)
/rcon language [language]Изменяет текст языка сервера в лаунчере (пример: /rcon language Русский).

Первые 4 вышеприведённых команды для 0.3z R2 были сделаны для противодействия атакам на серверы SA-MP, вызывающие фризы и сбои. Поэтому, используйте их на своём сервере. Значения по умолчанию должны быть корректными для большинства серверов, однако, если вы замечаете ложные кики из-за этого, просто повысьте значения, пока невинные игроки не были исключены/заблокированы. Подробнее здесь.

Коллбэки и функции​

Следующие коллбэки и функции могут быть полезными, так как относятся к содержимому данной статьи.

Коллбэки​

  • OnRconLoginAttempt: Вызывается, когда совершается попытка авторизации RCON администратора.

Функции​

  • IsPlayerAdmin: Проверяет, авторизован-ли пользователь, как RCON администратор.

  • SendRconCommand: Отправляет любую из вышеприведённых RCON команд прямо из скрипта.