Запуск сервера Rage MP на linux (vps/vds)

Lev Angel

Developer
Команда форума
Скриптер
GTAV.PS4.1080P.120.jpg
Поскольку хостингов которые предоставляют возможность запустить у себя Rage MP сервер очень мало, то можно довольно дешево арендовать виртуальную linux машину и развернуть на ней свой сервер.
В качестве операционной системы рекомендуется использовать Ubuntu (версии начиная с 18.04) или Debian (10+).
В этом уроке мы будем использовать Ubuntu 20.04. Для теста я установил ее через Virtualbox на своем ПК. По сути аналогичная система будет работать и на VPS/VDS серверах с аналогичной ОС.


1. Заходим на сервер. Пользователь должен иметь привилегии для выполнения команды sudo.

2. Устанавливаем необходимую зависимость libstdc++6. Для этого добавляем в систему нужный репозиторий и устанавливаем эту библиотеку:
Bash:
sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
sudo apt update && sudo apt install libstdc++6

3. Скачиваем и распаковываем дистрибутив сервера:
Bash:
wget https://cdn.rage.mp/lin/ragemp-srv-037.tar.gz
tar -xzf ragemp-srv-037.tar.gz
1590226069858.png
4. Заходим с папку сервера. Нужно сделать бинарник сервера исполняемым:
Bash:
cd ragemp-srv
chmod +x server

5. Все готово. Теперь можем запускать наш сервер:
Bash:
./server
server_run.jpg

Теперь к серверу можно подключиться по его внешнему IP адресу.

Источник: wiki
 
Последнее редактирование:

EvaCrystal

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

Lev Angel

Developer
Команда форума
Скриптер
@EvaCrystal для разработки лучше использовать локальный сервер. Он устанавливается вместе с клиентом rage mp в папке server-files. И подключаться соответственно к локальному адресу ip. Дополнительно ничего устанавливать и настраивать не нужно.
 

EvaCrystal

Trainee
@EvaCrystal для разработки лучше использовать локальный сервер. Он устанавливается вместе с клиентом rage mp в папке server-files. И подключаться соответственно к локальному адресу ip. Дополнительно ничего устанавливать и настраивать не нужно.
Спасибо за ответ. Но, что делать после того, как сделаешь тестовый скрипт на C#, когда после компиляции, и запуска самого сервера. Как после этого запустить саму игру, и чтобы она подключилась к моему локальному серверу? Если запускать updater.exe, то запускается программа со списком онлайн серверов. И как я понимаю, моего то там нет.
 

EvaCrystal

Trainee
У меня еще вот такой вопрос, вроде бы настроились все файлики, но при запуске сервера вот такое выдает.
Снимок15.PNG
 

Lev Angel

Developer
Команда форума
Скриптер
В клиенте есть кнопочка Direct connect
1600173733243.png
Там указываешь свой ip и порт сервера. По-умолчанию это будет 127.0.0.1:22005
 

Lev Angel

Developer
Команда форума
Скриптер
Если ты используешь C# то его нужно включить в настройках сервера (по-умолчанию отключено). В папке сервера в файле conf.json поменять
Код:
"csharp" : "disabled"
на
Код:
"csharp" : true

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

test

Junior Developer
Если ты используешь C# то его нужно включить в настройках сервера (по-умолчанию отключено). В папке сервера в файле conf.json поменять
Код:
"csharp" : "disabled"
на
Код:
"csharp" : true

По ошибке. Похоже что-то в коде твоих скриптов. Я с шарпом не работал, с этим особо не подскажу ничего толкового. Начни с чего-то простого. Просто запусти голый сервер и убедись что он работает. Потом какой-то простой скрипт добавь.
а как сделать, чтобы при закрытии терминала сервер не выключался на vps?)
 

EvaCrystal

Trainee
Если ты используешь C# то его нужно включить в настройках сервера (по-умолчанию отключено). В папке сервера в файле conf.json поменять
Код:
"csharp" : "disabled"
на
Код:
"csharp" : true

По ошибке. Похоже что-то в коде твоих скриптов. Я с шарпом не работал, с этим особо не подскажу ничего толкового. Начни с чего-то простого. Просто запусти голый сервер и убедись что он работает. Потом какой-то простой скрипт добавь.
Он запускается, в папке сервера в файле conf.json. Стоят такие записи
JSON:
{
    "maxplayers" : 100,
    "name" : "RAGE:MP Unofficial server",
    "gamemode" : "freeroam",
    "stream-distance" : 500.0,
    "announce" : false,
    "csharp" : "enabled",
    "port": 22005
}
В файле settings.xml
XML:
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <acl_enabled>true</acl_enabled>
  <log_console>true</log_console>
  <log_chat>true</log_chat>
    <resource src="gtarpmodes" />
</config>
В файле meta.xml ссылка на dll который получается при компилировании.
XML:
<meta>
  <info name="gtarpmodes" type="script" />
  <script scr="bin/Debug/netcoreapp3.1/gtarpmode.dll"/>
</meta>
И еще такой вопрос, какой версии подключать gtanetworkapi 0.3.7 или 1.1?
 

Lev Angel

Developer
Команда форума
Скриптер
а как сделать, чтобы при закрытии терминала сервер не выключался на vps?)
Есть несколько способов:
1. Добавить сервер rage mp в сервисы ОС. Запустить как сервис и он тогда не будет привязан к твоей сессии. Можно почитать на вики: https://wiki.rage.mp/index.php?titl...aunching_the_server_as_a_daemon_.28systemd.29

2. При помощи утилиты screen https://wiki.rage.mp/index.php?title=Getting_Started_with_Server#Installing_screen_.28Optional.29
 

Lev Angel

Developer
Команда форума
Скриптер
Пробовала так запускать, игра не запускается.
Возможно это из-за ошибок которые были в консоле. Может брандмауэр windows блокирует подключение (попробуй его отключить временно для теста).
На другие сервера вообще подключается нормально?

И еще такой вопрос, какой версии подключать gtanetworkapi 0.3.7 или 1.1?
Попробуй поискать туториалы как настроить окружение для разработки с C#. Только желательно что-то не очень древнее.
Я находил вот этот плейлист где чувак настраивает и все показывает (правда на английском). Может поможет ;)
 

test

Junior Developer
Есть несколько способов:
1. Добавить сервер rage mp в сервисы ОС. Запустить как сервис и он тогда не будет привязан к твоей сессии. Можно почитать на вики: https://wiki.rage.mp/index.php?titl...aunching_the_server_as_a_daemon_.28systemd.29

2. При помощи утилиты screen https://wiki.rage.mp/index.php?title=Getting_Started_with_Server#Installing_screen_.28Optional.29
а как правильно скрин установить?) а то тут написано такая команда
screen -dmS GTASERVER -L bash -c 'cd ~/srv && ./server' &
ее куда вписывать в папку с сервером или просто в саму впс?
 

EvaCrystal

Trainee
Возможно это из-за ошибок которые были в консоле. Может брандмауэр windows блокирует подключение (попробуй его отключить временно для теста).
На другие сервера вообще подключается нормально?


Попробуй поискать туториалы как настроить окружение для разработки с C#. Только желательно что-то не очень древнее.
Я находил вот этот плейлист где чувак настраивает и все показывает (правда на английском). Может поможет ;)
Я как раз по этим видео и настраивала все. Но, все равно сервер запускается, но с теми сообщениями. А игра сама нет. На другие проекты все заходит, ну те которые в онлайне из списка. На сколько я понимаю, когда запускаешь файл ragemp-server.exe то запускается сам сервер. Потом на сколько я понимаю, надо запустить файл updater.exe...он запускает, свое приложение, со списком онлайн серверов, через директ я вписываю 127.0.0.1 и порт 22005, затем запускается изображения с надписью внизу Loading game и желтая полоска туда-сюда летает, затем запускается SocialClub, а вот после него все тупо закрывается и все. Даже смотря те видео которые выдали и которые я сама находила. Там у человека игра запускается. У меня же нет.
 

Lev Angel

Developer
Команда форума
Скриптер
@EvaCrystal попробуй переустановить rage. Потом запусти чистый сервер без каких-то скриптов и настроек. Таким образом ты проверишь, а вообще у тебя нормально работает локальный сервер или нет. Если с сервером все ок и ты на пустой сервер подключаешься нормально, то тогда пробуй уже свой мод подключать и играть с настройками.
Иногда переустановка реально помогает.
 

Lev Angel

Developer
Команда форума
Скриптер
@test сначало нужно установить саму утилиту screen. Зависит от того какая у тебя ОС, например в убунте и дебиане устанавливается через apt
Bash:
sudo apt install screen
Дальше уже запускаешь сервер rage через screen. Команды выполняются в треминале твоего vps сервера. В примере на вики
Bash:
screen -dmS GTASERVER -L bash -c 'cd ~/srv && ./server' &
где GTASERVER - просто название для сессии screen в которой будет работать сервер
cd ~/srv && ./server - это уже команда запуска сервера. Здесь в примере сервак лежит в папке srv домашней папки пользователя. Если взять туториал из первого поста в этой теме, то там команда для запуска будет приблизительно такая (у нас там сервер лежит в папке ragemp-srv:
Bash:
screen -dmS GTASERVER -L bash -c 'cd ~/ragemp-srv && ./server' &
 

EvaCrystal

Trainee
@EvaCrystal попробуй переустановить rage. Потом запусти чистый сервер без каких-то скриптов и настроек. Таким образом ты проверишь, а вообще у тебя нормально работает локальный сервер или нет. Если с сервером все ок и ты на пустой сервер подключаешься нормально, то тогда пробуй уже свой мод подключать и играть с настройками.
Иногда переустановка реально помогает.
Без подключения скриптов, загрузилось. Странное поведение. И главное, что не правильно в конфигурационных файла?
 

Lev Angel

Developer
Команда форума
Скриптер
Без подключения скриптов, загрузилось. Странное поведение. И главное, что не правильно в конфигурационных файла?
Согласен, странно. Но не забывай что рейдж еще активно пилится и нельзя его назвать очень стабильным. Логично было бы показать какой-то сообщение об ошибке, а не просто закрыть игру. Имеем то, что имеем:)

Пробуй теперь по шагам добавлять свои настройки и скрипты. И после каждого изменения проверяй - крашится или нет. В какой-то момент игра начнет крашится и ты будешь знать после чего.
Ну и как вариант может вообще не будет крашится теперь, если переустановка помогла :)
 
  • Like
Реакции: test

test

Junior Developer
@test сначало нужно установить саму утилиту screen. Зависит от того какая у тебя ОС, например в убунте и дебиане устанавливается через apt
Bash:
sudo apt install screen
Дальше уже запускаешь сервер rage через screen. Команды выполняются в треминале твоего vps сервера. В примере на вики
Bash:
screen -dmS GTASERVER -L bash -c 'cd ~/srv && ./server' &
где GTASERVER - просто название для сессии screen в которой будет работать сервер
cd ~/srv && ./server - это уже команда запуска сервера. Здесь в примере сервак лежит в папке srv домашней папки пользователя. Если взять туториал из первого поста в этой теме, то там команда для запуска будет приблизительно такая (у нас там сервер лежит в папке ragemp-srv:
Bash:
screen -dmS GTASERVER -L bash -c 'cd ~/ragemp-srv && ./server' &
Спасибо большое :)
 

EvaCrystal

Trainee
Согласен, странно. Но не забывай что рейдж еще активно пилится и нельзя его назвать очень стабильным. Логично было бы показать какой-то сообщение об ошибке, а не просто закрыть игру. Имеем то, что имеем:)

Пробуй теперь по шагам добавлять свои настройки и скрипты. И после каждого изменения проверяй - крашится или нет. В какой-то момент игра начнет крашится и ты будешь знать после чего.
Ну и как вариант может вообще не будет крашится теперь, если переустановка помогла :)
Вроде все работает, разобралась. Оказывается в новой версии сервера, нет объекта Client, а есть Playear. Из-за этого оно и ругалось.
Теперь еще один вопрос, попыталась установить соединение с бд, для этого установила OpenServer, там MariaDB устанавливается. Затем через nuget установила MySQL.Data, но как оказалось компилятор пишет такое сообщение:

Код:
"Could not load file or assembly System.Security.Permissions, Version = 4.0.2.0, Culture = neutral, PublicKeyToken = cc7b13ffcd2ddd51". The required file could not be found.
Вопрос, как мне произвести соединение с бд?
 
Яндекс.Метрика
Верх