Несомненно, ГТА Сан Андреас в свое время стал хитом и до сих пор является тем, о чем можно вспоминать с улыбкой и даже ностальгировать с желанием снова перепройти эту игру. И не секретом для многих является то, что в этом ГТА был мультиплеер, но он не был реализован самими разработчиками. Но благо нашлись умельцы, которые смогли спрограммировать и теперь мы с вами можем узнать как создать свой сервер в ГТА САМП (Сан Андреас Мультиплеер).
Содержание
Требования
Для создания сервера в ГТА САМП версии 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. Нам потребуется сменить несколько переменных тем самым настроив сервер под себя.
Параметр | По-умолчанию | Описание |
---|---|---|
echo | Executing Server Config… | Это то, что отобразиться в консоле после запуска самп сервера и загрузки файла server.cfg. |
lanmode | 0 | Устаревший параметр, не имеет никакого эффекта. |
maxplayers | 50 | Устанавливает максимальное количество игроков. Максимум 1000, минимум 1. |
announce | 0 | Устанавливает оповещение для глобального SA-MP списка серверов. 1 – включает, 0 – отключает. |
query | 1 | Позволяет делать запросы к серверу. Если отключено, информация о сервере не отобразиться в браузере серверов. |
port | 7777 | Порт, через который игроки смогут подсоединиться к серверу. |
hostname | GameHub.ru Server | Имя сервера. |
gamemode(n) (N) (t) | gamemode0 grandlarc 1 | Устанавливает гейммод на сервер. (n) это номер гейммода, (N) имя гейммода*, и (t) это количество времени, через которое будет включен следующий гейммод. * Имя гейммода должно совпадать с названием .amx файла в папке gamemodes. |
weburl | www.gmhb.ru | Указывает на сайт сервера. |
rcon_password | gmhb | Устанавливает пароль для удаленного управления по 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 | Имя карты которая загрузиться. |
language | English | Определяет язык, который будет использоваться на сервере и по которому игроки смогут отфильтровывать сервера. |
bind | Заставляет сервер использовать определенный ИП адрес. Полезно в случаях с несколькими сетевыми картами. | |
rcon | 1 | Если 0 – Rcon отключен. |
maxnpc | 0 | Максимальное количество ботов на сервере. |
timestamp | 1 | Включает/Отключает timestamp. |
logqueries | 0 | 0 отключить, 1 включить. Сохраняет все запросы игроков к серверу. Особенно полезно во время DDoS атак. |
logtimeformat | [%H:%M:%S] | Позволяет вам сконфигурировать формат timestamp. Сам формат основан на функции strftime с C/C++. Например: § logtimeformat [%H:%M:%S] — (по-умолчанию) Будет отображать только время. § logtimeformat [%d/%m/%Y %H:%M:%S] – Будет отображать дату в формате день/месяц/год и время в формате час:минута:секунда. |
output | 0 | Включает/Отключает отображение сообщений в консоли сервера. Если отключено, сообщения сохраняются только в лог. |
gamemodetext | Unknown | Устанавливает текст гейммода. |
chatlogging | 1 | Включает/отключает сохранения чата игроков в лог. |
lagcompmode | 1 | § 0: Убирает компенсацию лагов. § 1: Включает компенсацию лагов. § 2: Включает только позиционную компенсацию лагов. |
playertimeout | 10000 | Время в миллисекундах, после чего у игрока наступит таймаут в случае, если он не отправил никакой информации серверу. |
minconnectiontime | 0 | Время в миллисекундах, которое сервер ожидает для другого входящего подключения. |
Добавление 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.