Как запустить samp на linux

Обновлено: 05.07.2024

First off, go to the SA-MP download page and find the URL for the Linux Server. Then use wget followed by the URL to download the SA-MP Server to your server. Then, extract the files from the archive. You might want to cd to the directory where you want to install the server, e.g /home/user

Configuring your server

Once you have the files downloaded and extracted browse to the folder where you just installed the server (usually by typing cd /home/user/samp03. Next use your favorite Linux text editor eg: Pico or Nano, edit server.cfg and change the hostname, RCON password, etc - more info is on the server.cfg help and on the Advanced Server Controls page.

Adding Gamemodes/Filterscripts to your server

Maybe you want to run another gamemode than the example gamemodes shipped with SA-MP. In the Script showroom you can find tons of script you might want to run on your server. To add them to your server, just download the desired .amx file to your <server root>\gamemodes directory, and edit your server.cfg to run this gamemmode by changing one of those gamemode<number> lines with the files name, excluding the ".amx".

This works nearly the same way with filterscripts. You also can find them in the scripting showroom. To have them on your server just copy the filterscript file to the filterscripts directory and add an entry for the file without the ".amx" at the end of the line beginning with "filterscripts" in your server.cfg.

Running your server

Once you have server.cfg configured the way you want it, simply run the server by using one of the three described ways below. Each way has a description below the picture. I've picked the three most popular ways of starting your server, a small SSH script to keep your server running can be found at the bottom of this page.

NOTE: Be sure you set permissions for samp03svr and announce if you want to run an internet server! If you don't do this, you'll get a permission denied error. To set permissions, execute chmod 700 * in the SA:MP server directory. It's NOT a good idea to run the server (or any other program for that matter) under root.

Image:Samp_ssh.jpg

The first method uses the nohup command to keep the server running. nohup is a Linux command that starts a program, which will ignore any SIGHUP signals - disconnect signals. This means that the server will continue running after you close the SSH window you've opened before. The ampersand (&) at the end of the command means that the server has to run in the background, so you can continue to execute commands, even after you've started the SA-MP server.

A detailed log can be found in the file nohup.out, which will be created in the directory where you execute the command (/home/gta in this case). nohup is installed on most Linux servers.

Method two allows the SA-MP Server process to run in the background. The advantage of this is that you can continue to work in the shell-environment, so you won't have to open another window. On some Linux servers, the process will continue to run after the SSH window is closed, but this is not always the case.

There are no log files or whatsoever created. The shell will return the PID of the process just started, 9251 in the example above. This method is supported by all Linux servers.


Method three

This method is the original described one, and most likely the easiest to understand. The server will be running on top, so all errors will be directly visible as output (e.g. segmentation faults). But keep in mind that normal output, as you have on the Windows Server, is not visible on the Linux server.

The server will be shutdown after the window is closed. This method might be the best for scripting and/or debugging purposes, since it's very clear.


NOTE: If you get an error saying libstdc++ 6 cannot be found, then you have to download it on your server.

Keeping the Server Online

With limited anti-crash options available in the SA-MP Server, there is a large possibility of receiving Segmentation Faults or any other error generated by your (Pawn) gamemode. This will shutdown the server, and you'll have to start it up yourself again.

Method 1

All you need to use the program below is a Linux environment, and the possibility to use cron. This program will check if the samp03svr process is running, and if it isn't, start it up again. You'll need to install the following crontab:

Help about using crontab can be found here.

checksamp.sh:

Make sure that you have to correct paths set up, the script won't work if you haven't. The script is currently unable to handle multiple SA-MP Servers on the same machine, but works perfectly when there is only one running/needed. You need to chmod the checksamp.sh file to 0755 (+x)!

Method 2

If you don't want to use crontab and if you want to have server log saved to a separate directory on server crash you can use this script.

To keep your server online using this script, first you need to stop your server and then execute it with this command:

This method will bring your server back up whenever it crashes or when the RCON exit command is issued. It will also save the server log into a separate directory.

Method 3

You can also restart the server using this pair of shell scripts. Assumed is that the server is located in the /home/sampsvr directory.

Script number 1 startgtaserver.sh:

This one goes near the server binary.

Second script, named gtaserver.sh:

Place the script in /usr/local/bin/.

Just change paths in both scripts to yours, then you can start your server by typing gtaserver start, stop server by typing gtaserver stop, and finally restart it by typing gtaserver restart. Make sure the scripts are executable.

Если вас когда-либо посещала идея установки SAMP на операционную систему под управлением Linux, то возможно Вы сталкивались с проблемой запуска игры, созданной под OC Windows на совершенно отличной операционной системе. Известно, что Linux не способен запускать такие игры, как GTA San Andreas, но это не значит, что их нельзя установить. В этом гайде мы разберём то, как без особого труда установить на свой Linux GTA San Andreas, поставить на неё SAMP и установить различные модификации для игры. Данный гайд подойдет для любых Linux систем, основанных на дистрибутиве Ubuntu. Для установки игры мы будем использовать PlayOnLinux и плагин PlayOnLinux Vault.

Шаг первый. Подготовка Linux к установке GTA San Andreas.
Чтобы в будущем не столкнуться с какими-либо проблемами при установке и запуске GTA San Andreas, стоит подготовить систему заранее. Обновите все драйвера, которые могут повлиять на работоспособность игры. Это можно сделать при помощи менеджера драйверов: на каждом дистрибутиве Linux он свой - нужно поискать. Также через менеджер языков стоит скачать русскую локализацию под две кодировки: UTF-8 и CP1251 (Windows-1251). После этого установите последнюю версию PlayOnLinux с официального сайта, через менеджер приложений вашего Linux, либо любым другим возможным способом. Теперь перезагрузите ваш компьютер.

Шаг второй. Настройка PlayOnLinux.
Теперь нам нужно установить правильную версию Wine, чтобы не испытывать проблем во время запуска и процесса игры. Откройте вкладку "Утилиты", потом нажмите на кнопку "Управление версиями Wine". В списке доступных версий Wine найдите версию 3.2 и при помощи кнопки со стрелкой вправо установите её. Перезапустите POL.

Шаг третий. Установка SAMP с помощью плагина POL Vault.
Для начала Вам нужно будет скачать специальных архив , который хранит в себе следующие вещи: GTA:SA (без сюжетной линии), SAMP 0.3.7-R1, CLEO 4.3, SF 5.4.1 Final, MoonLoader 0.27-preview3, SL 2.0 Localization. Поместите его в любое удобное для вас место и направляйтесь в PlayOnLinux. Найдите вкладку "Плагины", откройте её и найдите там плагин "PlayOnLinux Vault". Запустите этот плагин и нажмите кнопку "Далее". В списке выберите вариант "Restore an applications. " и нажмите "Далее". Нажмите на кнопку "Просмотр" и укажите файл, который вы скачали ранее. Далее следуйте указаниям плагина и дождитесь окончания импорта игры в PlayOnLinux.

Шаг четвертый. Настройка оболочки Wine.
Когда SAMP импортировался в PlayOnLinux, вы увидите его в списке игр и приложений. Выделите его мышкой, после этого слева нажмите на кнопку "Настроить". Перейдите во вкладку "Wine" и нажмите на кнопку "Настроить Wine". Откройте вкладку "Графика" и установите нужное вам расширение экрана. Не рекомендуется выставлять полноэкранный режим, так как игра может зависнуть и вам придётся перезагружать компьютер. Ставьте такое разрешение, чтобы в крайнем случае Вы могли закрыть окно при помощи PlayOnLinux. Кстати, сделать это можно во вкладке "Wine", нажав на кнопку "Завершить процессы". Настроив разрешение, сохраняйте изменения и закрывайте окно. Теперь перейдите во вкладку "Основные" окна PlayOnLinux и укажите в поле "Версия Wine" ту версию, что мы устанавливали во втором шаге.

Шаг пятый. Запуск игры.
Теперь, когда вы всё настроили, можете запускать SAMP. Выделите мышкой SAMP в списке игр и нажмите кнопку "Запуск". Если всё настроено правильно, у вас должен появиться клиент SAMP. Добавляем сервер, указываем свой ник и запускаем игру. Можете наслаждаться игрой в SAMP на Linux OC.

Вам нужен сервер Linux с доступом к shell'у, доступ по ftp, libstdc++5 или libstdc++6, и SSH-клиент, такой как Putty для соединения с сервером.

Поднятие сервера

Загрузка файлов

Настройка вашего сервера

После того, как вы скачали файлы, откройте их вашим любимым SSH-клиентом и залогиньтесь. Переместитесь в папку, куда вы установили сервер (например, я использую /home/daniel/sampsvr - ваша папка может быть другой), введя cd /your/directoy/sampsvr. Используя ваш любимый текстовый редактор, например, Pico или Nano, отредактируйте server.cfg и измените hostname (имя сервера), RCON password (пароль на RCON) и др., более подробную информацию вы можете найти в справке по server.cfg и на странице Продвинутое управление сервером. Если вы отредактировали ваш линуксовский конфигурационный файл в Windows, то прежде чем запустить сервер, введите "dos2unix server.cfg", иначе у вас будут проблемы с rcon.

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

После того, как вы сконфигурировали server.cfg должным образом, просто запустите сервер одним из следующих способов. Каждый способ имеет описание под картинкой. Я покажу три наиболее популярных способа запуска сервера. Небольшой SSH-скрипт для поддержания работоспособности вашего сервера может быть найден внизу этой страницы.

ПРИМЕЧАНИЕ: Убедитесь, что вы установили разрешения для samp022svr и укажите, если вы хотите запустить интернет-сервер! Если вы не сделаете этого, то получите ошибку запрета разрешений.

Image:Samp_ssh.jpg

Способ первый

В первом способе используется команда nohup command для поддержания работоспособности сервера. nohup - это команда Linux, запускающая программу, которая будет игнорировать сигналы SIGHUP - сигналы отключения. Это означает, что сервер будет продолжать работать после того, как вы закроете ранее открытое окно SSH. Амперсанд & в конце команды означает, что сервер должен работать в фоновом режиме, таким образом вы можете продолжать выполнение команд даже после запуска сервера SA-MP.

Подробный лог может быть найден в файле nohup.out, который будет создан в папке, где вы выполнили команду (в данном случае "/home/gta"). Nohup установлен на большинстве Linux-серверов.


Способ второй

Второй метод позволяет процессу сервера SA-MP идти в фоновом режиме. Преимущество состоит в том, что вы можете продолжать работу в shell-среде, таким образом вам не нужно открывать другое окно. На некоторых Linux-серверах процесс будет выполняться до тех пор, пока окно SSH не закроется, но не во всех случаях.

Здесь нет лог-файлов и прочих других. Shell вернет PID стартовавшего процесса, 9251 на примере выше. Этот метод поддерживается всеми Linux-серверами.


Способ третий

Этот метод самый оригинальный и наиболее легкий для понимания. Сервер будет работать на виду, и все ошибки будут выводится прямо на экран (например, segmentation faults). Но имейте в виду, что нормальный вывод, который есть в Windows-сервере, не будет виден на Linux-сервере.

Сервер выключится после при закрытии окна. Этот метод лучше всего подходит для написания скриптов и/или в целях отладки, т.к. он вполне ясный.


ПРИМЕЧАНИЕ: Если вы скачали версию libstdc++6 с сайта SA:MP и получили ошибку о том, что libstdc++6 не может быть найден, просто скачайте версию libstdc++5 с веб-сайта SA:MP и используйте ее. Описанный выше сервер выдает "libstdc++6 cannot be found", и на скриншоте он запущен с использованием libstdc++5.

Поддержка работоспособности сервера

С небольшим количеством опций против выхода сервера из строя (anti-crash options) есть большая вероятность получения ошибок "Segmentation Fault" и любых других ошибок, сгенерированных вашим режимом игры. Это приведет к завершению работы сервера и Вам придется самим его снова запустить. Все, что вам нужно для использования ниже описанной программы, это среда Linux и возможность использования cron'a. Эта программа проверит, запущен ли процесс samp01b, и если это не так, запустит его вновь. Вам нужно установить следующий crontab:

*/5 * * * * /путь/к/samp/checksamp.sh

Убедитесь, что у вас правильно выставлены все пути, иначе скрипт не будет работать. На данный момент скрипт не может обрабатывать несколько серверов SA-MP на одной машине, зато превосходно работает, когда только один запущен. Требуется с помощью chmod установить права/разрешения на файл checksamp.sh в 0755 (+x)!

Вы также можете перезапустить сервер при помощи этой пары shell-скриптов (спасибо Noosferatu (пост по теме))

Скрипт номер 1 startgtaserver.sh:


Он работает непосредственно с исполняемым кодом сервера

Второй скрипт, названный gtaserver.sh:

этот запускается из /usr/local/bin

Только измените пути в обоих скриптах на ваши, и после этого Вы можете запустить Ваш сервер, введя

остановить сервер, введя

и, наконец, перезапустить его, введя

Ошибка при запуске "No such file or directory"

Проблема возникает при запуске samp`а на платформе x64. Для того что бы запустить сервер необходимо установить в вашу систему нужные библиотеки.


Тема создана для тех кто не любит Windows, но любит САМП. Поскольку столкнулась с тем что мало информации есть по даной теме, решила написать ее здесь.

Данный способ был протестирован и установлен на Fedora 29, но так же должно подойти и на другие дистрибутивы.

Подготовка Лутрис
1) Переходим на ссылку lutris (это как лаунчер для игр, но нам он нужен как менеджер префиксов Wine)
2) После чего устанавливаем любую игру с wine для того что бы создались директории, библиотеки и т.д.
* Например Hearthstone.
3) Возможно придется в ручную поставить некоторые библиотеки в зависимости от вашего дистрибутива и оборудования.

Установка GTA: San Andreas
1) Для начала скачиваем образ gta:sa
* Открываем его
2) В лутрисе выбираем игру которую установили в подготовительном этапе (Например Hearthstone) нажимаем ПКМ на иконку игры и выбираем Run EXE inside wine prefix
3) В диалоговом окне выбираем setup.exe нашей гта
* Рекомендую скопировать установленную ГТА с винды в директорию где установлен Hearthstone.
4) Для запуска ГТА подмениваем выполняемый файл в Лутрис
* В меню лутрис нажимаем ПКМ на иконку игры и выбираем Configure
* Переходим на вкладку game options
* меняем .exe игры которую устанавливали на gta_sa.exe
5) GTA SA установлено, для проверки запустите

4.jpg

Установка клиента SA-MP
Совет: я сделала две копии гта: одну для одиночки, другую для мультиплеера.
1) Скачиваем клиент сампа
2) В меню лутрис нажимаем ПКМ на иконку гта са и выбираем Run EXE inside wine prefix
3) В диалоговом окне выбираем клиент сампа и устанавливаем в папку с игрой
4) В меню лутрис нажимаем ПКМ на иконку гта са и выбираем Configure
5) Переходим на вкладку game options
меняем gta_sa.exe на samp.exe
Биндер:
что бы не запускать еще одну программу через WINE советую поставить LUA биндер.
Кириллица:
самый простой вариант перевести систему на русский язык, так же можно поставить префикс wine:
* в меню лутрис нажимаем ПКМ на иконку гта са и выбираем Configure => System options => добавляем переменную (см. спойлер)

Моды/скрипты:
Клео и lua скрипты устанавливаются непосредственно в директорию.
А для замены скинов я использую Modloader.

Открытые проблемы:
- при сворачивании игра зависает
- лаги во время больших скоплений людей, помогает команда /nvisibility
- мелкий фриз при смене языка в игре

Если есть вопросы или идеи как дополнить тему пишите: Mariolla
Тех. консультант: Mask

Читайте также: