4.1/5 - (15 голосов)

Несомненно, ГТА Сан Андреас в свое время стал хитом и до сих пор является тем, о чем можно вспоминать с улыбкой и даже ностальгировать с желанием снова перепройти эту игру. И не секретом для многих является то, что в этом ГТА был мультиплеер, но он не был реализован самими разработчиками. Но благо нашлись умельцы, которые смогли спрограммировать и теперь мы с вами можем узнать как создать свой сервер в ГТА САМП (Сан Андреас Мультиплеер).

Содержание

Требования

Для создания сервера в ГТА САМП версии 0.3.7 вам потребуется следующее:

  • Сервер на Linux (в моем случае 64x Debian 7) с доступом к нему по SSH, установленную библиотеку libstdc++ 6 и SSH клиент (тот же PuTTY).
  • Полноценный интернет доступ (полный сервер на 100 игроков использует примерно 4 Мбит выгрузки).
  • Открытый UDP порт (7777 по-умолчанию).

Подготовка среды и скачивание сервера САМП

Из расходов безопасности мы создадим нового пользователя для поднятия сервера:

adduser samp

Придумываем пароль, остальные поля можно оставить пустыми. Зайдем под новым пользователем и перейдем в домашнюю директорию:

su samp
cd /home/samp

Самп скачать сервер

Скачать готовый сервер самп 0.3.7 linux можно по этой ссылке. Там выберем нужную нам ОС и приступаем к скачиванию и распаковке архива:

wget http://files.sa-mp.com/samp037svr_R2-1.tar.gz
tar -zxf samp03*.tar.gz
cd samp03

Настройка сервера САМП

Самп сервер кфг

После того как вы скачали и распаковали архив, переходим в папку с установленным сервером. Теперь нам потребуется использовать текстовой редактор типа Nano для редактирования server.cfg. Нам потребуется сменить несколько переменных тем самым настроив сервер под себя.

ПараметрПо-умолчаниюОписание
echoExecuting Server Config…Это то, что отобразиться в консоле после запуска самп сервера и загрузки файла server.cfg.
lanmode0Устаревший параметр, не имеет никакого эффекта.
maxplayers50Устанавливает максимальное количество игроков. Максимум 1000, минимум 1.
announce0Устанавливает оповещение для глобального SA-MP списка серверов. 1 – включает, 0 – отключает.
query1Позволяет делать запросы к серверу. Если отключено, информация о сервере не отобразиться в браузере серверов.
port7777Порт, через который игроки смогут подсоединиться к серверу.
hostnameGameHub.ru ServerИмя сервера.
gamemode(n) (N) (t)gamemode0 grandlarc 1Устанавливает гейммод на сервер. (n) это номер гейммода, (N) имя гейммода*, и (t) это количество времени, через которое будет включен следующий гейммод.

* Имя гейммода должно совпадать с названием .amx файла в папке gamemodes.

weburlwww.gmhb.ruУказывает на сайт сервера.
rcon_passwordgmhbУстанавливает пароль для удаленного управления по rcon. Сервер не запуститься, пока не будет сменен со стандартного “changeme”.
filterscripts (N)Файлскрипт, это скрипты, которые запускаются в фоновом режиме вашего гейммода и добавляют дополнительный функционал без редактирования самого мода. Они очень полезны если необходимо что-то добавить сразу для нескольких гейммодов. Чтобы они заработали, нужно добавить соответствующий скрипт (.amx) в папку filterscripts. (N) означает имя скрипта (название файла .amx). Если вы хотите загрузить сразу несколько скриптов, напишите их через пробел, например: filterscripts script1 script2.
plugins (N)Позволяет загружать плагины, которые улучшают гейммода и файлскрипты. (N) это имя плагина (в системах Linux расширение файла должно быть .so). Для загрузки нескольких плагинов перечислите их через пробел, например: plugins plugin1 plugin2.
password (p)Позволяет установить пароль на ваш самп сервер.
mapname (m)San AndreasИмя карты которая загрузиться.
languageEnglishОпределяет язык, который будет использоваться на сервере и по которому игроки смогут отфильтровывать сервера.
bindЗаставляет сервер использовать определенный ИП адрес. Полезно в случаях с несколькими сетевыми картами.
rcon1Если 0 – Rcon отключен.
maxnpc0Максимальное количество ботов на сервере.
timestamp1Включает/Отключает timestamp.
logqueries00 отключить, 1 включить. Сохраняет все запросы игроков к серверу. Особенно полезно во время DDoS атак.
logtimeformat[%H:%M:%S]Позволяет вам сконфигурировать формат timestamp. Сам формат основан на функции strftime с C/C++. Например:

§  logtimeformat [%H:%M:%S] — (по-умолчанию) Будет отображать только время.

§  logtimeformat [%d/%m/%Y %H:%M:%S] – Будет отображать дату в формате день/месяц/год и время в формате час:минута:секунда.

output0Включает/Отключает отображение сообщений в консоли сервера. Если отключено, сообщения сохраняются только в лог.
gamemodetextUnknownУстанавливает текст гейммода.
chatlogging1Включает/отключает сохранения чата игроков в лог.
lagcompmode1§  0: Убирает компенсацию лагов.

§  1: Включает компенсацию лагов.

§  2: Включает только позиционную компенсацию лагов.

playertimeout10000Время в миллисекундах, после чего у игрока наступит таймаут в случае, если он не отправил никакой информации серверу.
minconnectiontime0Время в миллисекундах, которое сервер ожидает для другого входящего подключения.

Добавление Gamemodes для Samp

Возможно вам захочеться добавить другой гейммод, в отличии от того что идет с САМП в комплекте. Для этого существует специальная страница с gamemodes для samp. Для того, чтобы добавить тот что вам понравился на сервер, скачайте .amx файл гейммода и поместите его в кореньсервера/gamemodes папку, отредактируйте файл server.cfg и подключите вновь добавленный gamemode только без расширения .amx. Тоже самое касается и filescripts.

Запуск сервера

Для запуска с директории скачанного архива достаточно выполнить команду:

./samp03svr

Самп сервер старт

Ваш сервер успешно стартует. Чтобы заставить его работать в фоновом режиме создадим скрипт запуска:

nano checksamp.sh:

#!/bin/sh
PROCESS_COUNT=$(ps -fu root | grep samp03svr | grep -v grep | wc -l)
case $PROCESS_COUNT in
0) /home/samp/samp03svr &
;;
1) #OK, program is already running once
;;
*) #OK, program is already multiple times
;;
esac

Отредактируем кронтаб нашего пользователя добавив туда этот скрипт:

crontab -u samp -e:

*/1 * * * * /home/samp/checksamp.sh >/dev/null 2>&1

Ркон команды Самп

Напишите cmdlist для получения всего списка команд (или, varlist для переменных), например в чате игры (‘/rcon cmdlist’). Квадратные скобки [ ] не должны указываться, они для подсвечивания элементов.

  • /rcon cmdlist — Отображает список всех команд.
  • /rcon varlist — Отображает список всех переменных.
  • /rcon exit — Выключает сервер.
  • /rcon echo [текст] — Отображает [текст] в консоле сервера (НЕ в консоле клиентской части).
  • /rcon hostname [имя] — меня название сервера (например: /rcon hostname GmHb.ru).
  • /rcon gamemodetext [имя] — меняет имя гейммода (например: /rcon gamemodetext my gamemode).
  • /rcon mapname [имя] — меняет имя карты (например: /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] — Меняет гейммод на указанный (например: для игры в sftdm: /rcon changemode sftdm).
  • /rcon gmx — Загрузит следующий gamemode указанный в server.cfg.
  • /rcon reloadbans — перезагружает файл samp.ban где хранятся забаненные IP адреса. Должен быть использовано после анбана.
  • /rcon reloadlog — перезагружает server_log.txt.
  • /rcon say — отображает сообщение игрокам в клиентской консоли (например: /rcon say Приффки будет отображено как * Admin: Приффки).
  • /rcon players — Отображает игроков подключенных к серверу (в с их именами, пингом, ИП).
  • /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 [url сервера] — Меняет URL сервера в глобальном списке самп.
  • /rcon unloadfs — Выгружает указанный файлскрипт (например: /rcon unloadfs adminfs).
  • /rcon reloadfs — Перезагружает указанный filterscript (например: /rcon reloadfs adminfs).
  • /rcon rcon_password [ПАРОЛЬ] — Меняет рконь пароль самп сервера.
  • /rcon password [пароль] — Устанавливает/сбрасывает пароль сервера.
  • /rcon messageslimit [количество] — Устанавливает количество сообщений в секунду, которые клиент отправляет серверу (по-умолчанию 500).
  • /rcon playertimeout [лимит в мс] — Устанавливает время в миллисекундах, в течении которых игрок должен отправить пакет серверу перед тем как произойдет таймаут (по-умолчанию 1000).
  • /rcon language [язык] — Меняет язык сервера (например: /rcon language English). Отображается в браузере серверов.

Заключение

Надеюсь данная статья помогла вам в вопросе «Как создать свой сервер в гта самп». Если у вас по прежнему остались какие-то вопросы, замечания или предложения — буду рад их услышать в комментариях. Stay tuned.