Как сделать сервер в самп: Как создать свой сервер в SAMP

Содержание

Multiplayer #1 — Самый неактуальный туториал / Хабр

Предисловие

Когда появилась идея написать свой сервер, это было страшно. Нет какой-то понятной статьи, не всегда понятно, что гуглить. Эта статья написана специально для таких новичков чтобы хоть немного осветить эту тему и дать вектор развития в этой области.

Глава 1: Дистрибутив

Работать будем с версией 0.3.7, так как она самая последняя и стабильная. Переходим на sa-mp.com, ищем с левой стороны раздел Navigation, под ним кнопку Downloads. После перехода нас будут интересовать два нижних раздела. «SA-MP Windows Server Download» и «SA-MP Linux Server Download»..

Есть вероятность, что после нажатия на ссылку, скачивание не начнётся. Тогда просто скопируйте адрес ссылок и вставьте их в строку поиска браузера.

В архиве находится ряд файлов и папок. Пройдёмся по основным:

  • filterscripts — подключаемые скрипты. вы можете выносить отдельные участки кода в отдельные файлы. если они автономны и не участвуют в основном моде, их можно вынести сюда

  • gamemodes — игровые режимы сервера. Здесь будет находиться главный файл нашего мода

  • include — подключаемые из кода мода файлы.

  • pawno — папка, имеющая в себе редактор IDE pawno и собственную папку includes. Настоятельно рекомендую использовать её. Отсюда легче подключать файлы

  • scriptfiles — хранилище. здесь расположены конфигурационные файлы скрптов.

  • samp-server.exe (Windows) — исполняемый файл, запускающий сервер

  • server.cfg — конфигурационный файл сервера

Глава 2: Конфигурация сервера и первый запуск

server.cfg как было сказано ранее — файл конфигурации сервера. Здесь подключаются моды, фильтерскрипты, плагины; устанавливаются название сервера, порт, язык, вебсайт и многое другое.

Значение всех его полей описано в файле server-readme.txt. Вот его перевод:

После того, как конфигурация будет завершена, запустите samp-server.exe для запуска серверного процесса

  • hostname (String) — указывает имя хоста, отображаемое в браузере серверов.

  • port (int) — указывает порт для прослушивания. Этот порт используется для игровых соединений, соединений rcon и для запросов.

  • maxplayers (int) — указывает максимальное количество игроков на сервере

  • announce (int 1/0) — добавляет ваш сервер в список серверов «Интернет» в браузере SA:MP. Вкл. (1) или Выкл. (0).

  • weburl (String) — указывает URL-адрес, отображаемый в обозревателе серверов, который связан с сервером.

  • gamemode0 — gamemode15 (String + int) — задает параметры ротации. Первый параметр задает имя игрового режима. Во-вторых, количество повторений. Вы можете использовать gamemode0 для указания первого игрового режима, gamemode1 для указания второго и т. д.

И вот, о чём в readme не написали:

  • rcon_password (String) — пароль админа сервера. ввод этого пароля при подключении в игру даёт игроку статус админа.

  • filtersripts (String[]) — через пробел описанные названия скриптов из папки filterscripts, которые будут запущены при запуске сервера

  • plugins (String[]) — список включенных плагинов (обязательно указывать форматы . so или .dll в зависимости от ОС сервера)

  • lanmode (int 0/1) — определяет возможность подключения к серверу только из локальной сети (1) или извне (0)

  • language (String) — устанавливает язык сервера (влияет только на отображение в браузере серверов)

После завершения конфигурации, запускаем файл samp-server.exe, смотрим в красивую консоль и..

Глава 2.1: Первое подключение

Я буду считать, что читатели этой статьи знакомы с SAMP и его интерфейсом. В поле IP прямого подключения или добавления сервера в Favorites вводим такой адрес:

[Local IP]:[Port]

И можем подключаться! (по умолчанию там уже стоит игровой мод grandlarc)

Глава 3: Pawn.. Pawno?

Pawn это простой Си-подобный язык программирования. Даже на википедии в спектре использований этого языка SAMP стоит на первом месте. В интернете информация по чистому языку и использованию в программировании игровых режимов. О хороших IDE и редакторах кода можете забыть. Для VS Code ещё можно накатить плагины поддержки Pawn, но он не так удобен как стандартный редактор кода, который лежит в дистрибутиве сервера в папке pawno. В подробности языка и его особенности углубляться не будем. Поверхностное представление того, с чем мы имеем дело можно сложить по статье на википедии.

Открываем Pawncc.exe, млева сверху ищем пустой белый лист, нажимаем на него и перед нашим взором предстаёт «чистый» лист шаблона мода..

Итак.. да, абсолютно всё здесь находится в одном файле. Прописано множество методов, которые будут вызываться при происхождении на клиенте или сервере какого-то события. игрок подключился, игрок вышел, игрок сел в машину игрок вылез иж машины, игрок выбирает класс, игрок умер, игрок зареспавнился, игрок игрок игрок..

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

вы можете создавать внешние .inc файлы и подключать их через #include. файлы создавайте в папке pawno/include. да, кажется, что это просто дистрибутив редактора кода, но здесь лежат даже главные файлы кода сервера. так как отсюда их можно подключать, указав в include тмя файла. если вы будете подключать свои файлы из папки include в корне сервера, вам будет необходимо указать относительный путь до этой папки из дирректории pawn/include (.. /.. /include/file.inc)

Глава 3.1: Компиляция, подключение, запуск

После того, как режим был прописан и готов к встраиванию на сервер, сохраняем его в папку mods и жмём на зелёную стрелку. Если компиляция прошла успешно, необходимо указать название файла мода в server.cfg и цифру 1 в поле gamemode0 пример

gamemode0 mymode 1

Запускаем сервер и наслаждаемся своим творением!

Эпилог

Тут наверное стоит рассказать про коммьюнити. Все сервера предпочитают сохранять свой исходный код в тайне, не делятся скомпилированными результатами. Форумы уже заглохли, часто это просто зеркало другого форума, и если возникнет проблема, то решение может искаться очень долго. Активных чатов и бесед нет, документация не весьма удобная. Даже если нашли какой-то отличный плагин, даже довольно крупный и в обиходе на серверах.. Скорее всего будет трудно найти информацию о нём кроме оригинального сообщения на форуме. Но чёрт! это очень интересная и затягивающая тема, в которой мне понравилось разбираться. Если вам будет интересно узнать подробнее о создании сервера (Сторонние плагины, инклады, маппинг) проявите фидбек под этим постом. В этом посте я попытался только дать вектор развития и хоть как-то осветить эту тему комплексно. Спасибо за то, что прочитали этот туториал!

Ссылки и полезности

Ниже приведены ссылки на форумы и разделы документации, которые будут полезны во время работы над сервером.

  • Официальная документация по скриптингу

  • Список всех функций

  • SAMP раздел на форуме Pawn Wiki

  • Русская документация (неполная)

  • Pawn. CMD — Удобный командный процессор (о нём позже)

Установка сервера SA-MP (Linux) на Debian и Ubuntu

Описание

San Andreas Multiplayer (сокращённо SA-MP) — многопользовательская модификация для видеоигры Grand Theft Auto: San Andreas в версии для IBM PC-совместимых компьютеров. Разрабатывается командой любителей Grand Theft Auto, работающей в своё свободное время над San Andreas Multiplayer в качестве увлечения Ссылка на основную статью в ru.wikipedia.org

Предварительные действия:

Данная инструкция проверена на Debian 7 и Ubuntu 12.04

Заказ виртуального сервера
  • Зайдите на https://billing.unlim24.com/register.php и зарегистрируйтесь.
  • Закажите виртуальный сервер с тарифным планом не меньше VM-Разгон ;(размещение игровых серверов разрешено только на Виртуализации KVM).
  • Зайдите в Панель -> Товары/Услуги -> Виртуальные серверы -> Выбирайте сервер одним кликом мыши -> Для перехода в ISPmanager нажмите на кнопку «Переход в панель управления сервером».
Создание пользователя на сервере
  • ISPmanager -> Учетные записи -> Пользователи -> Нажмите кнопку «Создать»
  • Создайте пользователя с правами доступа SSH — «Доступ к shell» Подробней о разделе «Пользователи» в ISPmanager.

Настройка SA-MP

1. Зайдите под этим пользователем на SSH и создайте директорию

sa-mp в домашней директории пользователя командой:

mkdir sa-mp

2. Загрузите на сервер программное обеспечение следующей командой:

wget http://files.sa-mp.com/samp037svr_R2-1.tar.gz

3. Распакуйте архив:

tar -xzf samp037svr_R2-1.tar.gz -C sa-mp

4. После первого запуска у вас появится файл Server.cfg, который выглядит следующим образом:

echo Executing Server Config...
lanmode 0
maxplayers 32
port 7777
hostname Unnamed Server
gamemode0 lvdm 1
gamemode1 rivershell 1
gamemode2 area51 1
gamemode4 sftdm 1
weburl www. sa-mp.com
rcon_password <ПАРОЛЬ>

Отредактируйте его на свое усмотрение.

Запуск SA-MP

1. Перейдите в директорию sa-mp и установите права доступа на выполнение следующими командами

cd ./sa-mp/samp03/
chmod +x samp03svr

2. Запустите сервер в фоновом режиме:

./samp03svr &

Добавление сервера в мониторинг процессов (ISPmanager 4)

1. Зайдите в ISPmanager (см. выше) 2. Перейдите в ISPmanager -> Инструменты -> Сервисы 3. Добавьте новый сервис:

Название: sa-mp
Режим: самостоятельно
Имя процесса: samp03svr
Команда для запуска: cd /var/www/USERNAME/data/sa-mp/samp03/ ; ./samp03svr &
Тип сервиса: Неизвестный

4. В параметрах сервиса так же укажите галочки: «Автозагрузка» и «Мониторинг
Подробней о работе и настройке сервисов написано здесь.

Команды администратора

/rcon login - Вход в режим администратора. Необходимо для выполнения следующих команд.
/rcon changemode - Изменить игровой мод (пример: /rcon changemode lvdm)
/rcon exec - Запустить конфиг.
/rcon cmdlist - Отобразить список всех команд.
/rcon varlist - Отобразить список всех переменных.
/rcon kick - kick player по ID. Выбрасывает игрока.
/rcon ban - ban player по ID. Выбрасывает игрока перманентно.
/rcon gmx - Перезапуск сценария.
/rcon changemode - Смена текущей карты.
/rcon say - Напечатать в чате "text" от админа.
/rcon echo - Напечатать текст на стороне консоли.
/rcon reloadbans - reloads bans.
/rcon password - Установка или изменение пароля на сервер.
/rcon unbanip - Разбанить игрока.
/rcon reloadlog - Очистить журнал сервера (server_log.txt)
/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 - Загрузить определённый фильтрскрипт (пример: /rcon loadfs adminfs). /rcon unloadfs - Выгрузить с сервера определённый фильтр-скрипт (пример: /rcon unloadfs adminfs). /rcon reloadfs - Перезагрузить определённый фильтер-скрипт (пример: /rcon reloadfs adminfs). /rcon exit - Выход.

Проблемы и решения

1. У меня ничего не получается! ;-(

Смотрите в файле samp_log.txt, который находится в корневой директории сервера sa-mp.

2. Как правильно забанить/разбанить игрока на сервере?

Для того, чтобы забанить игрока, следует написать команду /ban IP или /ban nick, или /ban ID.

3. Как получить на сервере права администратора?

После того, как в файле Server.cfg у поле rcon_password вы установили пароль, в игре следует прописать команду

/rcon login <ПАРОЛЬ>

Если вы все сделали корректно, то появится надпись «You are logged in as admin. «
4. Как получить права администратора в моде <…>?
Для того, чтобы получить администраторские привилегии в какой-либо модификации, вам следует ознакомиться с документацией данного расширения, ибо команда может варьироваться. Но как говорят различные интернет-источники, чаще всего используется команда

/makeadmin ID <ВАШ_ID>

4.1. Второй вариант получения администраторских прав:

/setadmin ID 1

4.2. ID — 1337 это уровень администратора, так же он может быть и 1, и 2, и 3 (зависит от мода). Чтобы узнать доступные в моде уровни администратора напишите в чате одну из нижеуказанных команд:

/help
/adminhelp
/ahelp

4.3. Так же вы можете войти в директорию Scriptfiles, которая расположена в директории сервера, находите файл с именем, который совпадает с вашим логином. Откройте его для редактирования любимым текстовым редактором и в строке level=ID укажите нужный ID (см. выше).
5. Как узнать свой ID?

В игре нажмите кнопку TAB и рядом с вашим именем пользователя будет цифра. Это и есть ваш ID.

6. Сколько потребуется места на диске?

Около 100 мб. Без постоянной чистки журнального файла.

7. Какое потребление ресурсов у SA-MP?

Зависит от установленного мода и количества игроков в онлайне.

8. На запуск ./samp03svr реагирует — No such file
Для Debian нужно установить библиотеки

apt-get install lib32stdc++6

sa-mp-server · Темы GitHub · GitHub

Вот 50 публичных репозиториев соответствует этой теме…

открытыймультиплеер / открыть.mp

Звезда 235

Южные когти / образец

Спонсор Звезда 214

иккентим / СампШарп

Звезда 183

писамп / ПиСАМП

Звезда 84

БигЕТИ / SAMPLauncherNET

Звезда 70

петерсомбати / samp-node-lib

Звезда 24

GRGсервер / SAMPRacing

Звезда 13

GRGсервер / САМП

Звезда 10

Белые тигры / attdef

Звезда 9

иккентим / SampSharp-стример

Звезда 8

капитаны / samp-запрос-информация

Звезда 8

Яшас Самага / PAWN-библиотека-расширение

Звезда 6

ТШОКТ / SA-MP-PY-Панель управления

Звезда 6

Зевс2198 / Чат-приложение-для-пилотов-Life-SA-MP

Звезда 6

Paradise-Devs / pc-rpg-gamemode

Звезда 5

Зевс2198 / Система временного бана для SA-MP-серверов

Звезда 4

РейнанХС / samp-rpg-gamemode

Звезда 4

доки / инфернус-стартер

Звезда 4

Торговые войны / игровой режим

Звезда 4

Зевс2198 / Менеджер динамических карт для серверов SA-MP

Звезда 3

Улучшить эту страницу

Добавьте описание, изображение и ссылки на sa-mp-сервер страницу темы, чтобы разработчикам было легче узнать о ней.

Курировать эту тему

Добавьте эту тему в свой репозиторий

Чтобы связать ваш репозиторий с sa-mp-сервер тему, перейдите на целевую страницу репозитория и выберите «управление темами».

Узнать больше

Как установить сервер SAMP на новую машину Debian 9

В нашей предыдущей статье об установке SAMP мы узнали, как установить SAMP Server на свежий сервер CentOS 7. Теперь не все будут использовать CentOS по своим причинам. Некоторым Debian может показаться надежным из-за совместимости плагинов или по другим возможным причинам.

Grand Theft Auto San Andreas — игра от игровой компании Rockstar. Выпущенная еще в 2004 году, GTA San Andreas приобрела популярность и известность в игровом мире, и даже сегодня, более десяти лет назад, она по-прежнему нравится людям и они играют в нее ежедневно. Через год после запуска игры сторонний онлайн-интерфейс был запущен единственным разработчиком, в котором позже участвовали бета-тестеры со всего мира по мере того, как он набирал популярность. До SA:MP люди играли в MTA SA, что означает Multi Theft Auto San Andreas.

Содержание

Что такое SAMP?

SA-MP (Многопользовательская игра San Andreas) — многопользовательский мод для Grand Theft Auto San Andreas, позволяющий пользователям играть друг против друга через Интернет или локальную сеть. Чтобы подключиться к серверу SAMP через Интернет, должен быть сервер, который должен иметь активное подключение к Интернету, чтобы игроки могли подключаться с нескольких компьютеров со всего мира.

Как установить сервер SAMP на Debian 9 VPS/выделенный сервер?

В этой статье мы узнаем, как установить сервер SAMP на машину с Debian 9. Чтобы подключиться к машине, у вас должен быть SSH-клиент, для начала установленный Putty. Если вы не знаете, как подключиться к VPS, прочтите эту статью, чтобы получить правильные инструкции по подключению к VPS.

Мы будем устанавливать SAMP на машину в несколько этапов. Итак, как только вы подключились к машине, выполните следующие шаги, чтобы начать установку.

Шаг 1 — Установка и обновление необходимых пакетов для SAMP Server

На машине необходимо установить несколько пакетов. Используйте приведенные ниже команды для установки и обновления служб. Включены некоторые пакеты, которые нам понадобятся для настройки сервера позже.

 способ установки sudo
sudo apt update && apt upgrade 

Sudo используется для предоставления доступа к нашему процессу обновления пакета. Обновление и обновление может занять до 10 минут. После этого перейдите к следующему шагу по установке некоторых необходимых библиотек, используемых в работе samp03svr.

 apt install libstdc++6 wget nano 

Теперь мы установили библиотеку, wget и nano.

Разница между CentOS 7 и Debian 9 заключается в том, что Debian не позволяет запускать 32-битный файл на 64-битном сервере. Чтобы сервер работал, вам также нужно добавить поддержку 32-битной версии. Для этого используйте приведенную ниже команду.

 sudo dpkg --добавить-архитектура i386
sudo apt-получить обновление
sudo apt-get установить libc6:i386 libncurses5:i386 libstdc++6:i386
 

Шаг 2. Загрузка и настройка пакета SAMP

Теперь, когда мы установили пакеты и библиотеки, пришло время установить основной пакет SAMP. Для этого используйте следующую команду.

 wget http://files.sa-mp.com/samp037svr_R2-1.tar.gz 

Это автоматически загрузит пакет. Как видите, файл заканчивается расширением «.tar.gz», это означает, что он сжат. Чтобы распаковать, нам нужно использовать эту команду.

 tar -zxf samp037svr_R2-1.tar.gz 

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

Шаг 3. Настройка пакета сервера

Чтобы настроить загруженный пакет, нам необходимо выполнить этот шаг. Прежде всего, нам нужно получить доступ к вновь созданной папке после распаковки загруженного нами пакета. Для доступа используйте команду «cd».

 cd samp03 

Теперь, поскольку мы находимся внутри каталога пакетов SAMP, вы можете посмотреть, какие файлы там находятся. Для этого используйте эту команду.

 ls 

После этого вы увидите список файлов в каталоге. По умолчанию сервер SAMP не запустится, пока мы не изменим его пароль RCON с «changeme» ​​на что-то другое. Для этого нам нужно отредактировать и настроить файл server.cfg . Используйте указанную ниже команду для доступа к файлу server.cfg.

 nano server.cfg 

Вы увидите список конфигураций, ожидающих изменения. Вы увидите что-то вроде этого.

 эхо Выполнение конфигурации сервера...
режим 0
rcon_password сменить меня
максимальное количество игроков 50
порт 7777
имя хоста SA-MP 0.3 Сервер
gamemode0 grandlarc 1
база скриптов фильтров gl_actions gl_property gl_realtime
объявить 0
запрос 1
Веберл www. sa-mp.com
максnpc 0
onfoot_rate 40
incar_rate 40
оружие_рейт 40
stream_distance 300.0
скорость_потока 1000
 

Теперь прокрутите указатель редактирования до «rcon_password», удалите «changeme» ​​и добавьте желаемый пароль. Убедитесь, что пароль не содержит пробелов. Максимальное количество игроков может быть определено, чтобы установить максимальное количество игроков, подключенных к серверу (максимальное ограничение SAMP составляет 1000). Gamemode0 — это скрипт, который вы загрузите, чтобы предоставить своим игрокам внутриигровые функции, а filterscript действует как плагины. «объявить» означает, разрешить ли отображение сервера на вкладке «Интернет» или нет, это логическое значение, поэтому 1 означает «да», а 0 означает «нет». Запрос как есть, а для weburl укажите URL-адрес веб-сайта вашего сервера SAMP.

На самом деле вам не нужно редактировать все это, если вы этого не хотите, но просто убедитесь, что вы изменили «rcon_password changeme» ​​на «rcon_password somethingelse», где «somethingelse» — ваш пароль RCON, который можно использовать для удаленного доступа к вашему серверу. .

Шаг 4. Настройка прав доступа к файлам

Иногда файлы, загруженные с веб-сайта SAMP, блокируются из-за их предварительной настройки, поставляемой вместе с файлами. Чтобы разблокировать файл и сделать его доступным, используйте следующую команду, чтобы установить правильные разрешения для всех файлов в каталоге «samp03».

 chmod +x *
 

Теперь ваш сервер SAMP настроен. Пришло время примерить сервер.

Шаг 5. Запуск сервера

Чтобы проверить, нормально ли работает сервер, его необходимо запустить. Чтобы начать, используйте следующую команду для запуска стартового файла «samp03svr».

 ./samp03svr 

Теперь ваш сервер запущен. Используйте имя хоста или IP-адрес вашего компьютера и вставьте его в избранное вашего клиента SAMP. Вы увидите, что ваш сервер работает. Но что происходит, когда вы закрываете Putty? Ну и сервер тоже закрывается. Но почему? Это потому, что мы только что выполнили, и нам нужно сохранить его даже после того, как мы закроем Putty.

Оставить комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *