Как установить FiveM сервер на Linux: артефакты, systemd и ufw

Запустите FiveM сервер на Ubuntu или Debian: загрузите артефакт, распакуйте его, запустите run.sh с txAdmin или server.cfg, держите его живым с screen или systemd, откройте порты с ufw.

У вас есть Linux VPS (Ubuntu или Debian) и вы хотите FiveM сервер на нём. Процесс короткий: получите файлы сервера, запустите их, держите их работающими, и откройте порты. Это руководство охватывает каждый шаг с командами которые вы можете копировать.

Перед тем как начать

Вам нужен ключ лицензии с portal.cfx.re, смотрите ошибка ключа лицензии если вы ещё не сделали. Установите инструменты, которые вы будете использовать:

bash
sudo apt update
sudo apt install -y wget git xz-utils screen

Создайте отдельного пользователя, чтобы сервер не запускался как root:

bash
sudo adduser fivem
sudo su - fivem

Всё ниже делается как этот пользователь.

Загрузите артефакт

Серверная программа ("артефакты") для Linux поступает из Cfx.re:

text
https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/

Откройте эту страницу, выберите рекомендуемую сборку, и скопируйте ссылку на fx.tar.xz. Затем:

bash
mkdir -p ~/fivem/server
cd ~/fivem/server
wget https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/<build>/fx.tar.xz
tar xf fx.tar.xz
rm fx.tar.xz

Замените <build> на путь, который вы скопировали. После распаковки вы должны увидеть run.sh в папке.

Получите данные сервера

"Данные сервера" это место где ваш server.cfg и ваши ресурсы живут. Базовые ресурсы Cfx.re находятся на GitHub:

bash
cd ~/fivem
git clone https://github.com/citizenfx/cfx-server-data.git server-data

Создайте конфиг в server-data/server.cfg:

cfg
endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120"

sv_hostname "My FiveM server"
sv_maxclients 32
sv_licenseKey "cfxk_your_key_here"

ensure mapmanager
ensure chat
ensure spawnmanager
ensure sessionmanager
ensure basic-gamemode
ensure hardcap

Запустите его: txAdmin или обычный

С txAdmin (рекомендуется). Запустите run.sh без аргументов. txAdmin запускается, выводит PIN и веб-адрес, и вы завершаете установку в браузере на порту 40120:

bash
cd ~/fivem/server
bash run.sh

txAdmin держит свои данные в папке txData, обычно в папке из которой вы его запустили, поэтому всегда запускайте его оттуда же. На панели вы можете использовать рецепт чтобы развернуть базовый сервер, или указать на папку server-data, которую вы клонировали.

Без txAdmin. Запустите из папки server-data и передайте конфиг:

bash
cd ~/fivem/server-data
bash ../server/run.sh +exec server.cfg

Вы получите обычную консоль в вашем терминале. Нажмите Ctrl+C чтобы остановить её.

Если позже вы потеряете пароль txAdmin, смотрите txAdmin забыл пароль.

Держите его работающим с screen

Быстрый способ держать сервер живым после того как вы отключитесь от SSH это screen:

bash
screen -S fivem
cd ~/fivem/server
bash run.sh

Отсоедините с Ctrl+A, затем D. Сервер продолжает работать. Присоедините позже:

bash
screen -r fivem

Это работает, но ничто не перезапустит сервер если машина перезагружается или процесс умирает.

Держите его работающим с systemd

Systemd сервис запускает сервер при загрузке и перезапускает его после краша. Создайте файл как root (или с sudo):

bash
sudo nano /etc/systemd/system/fivem.service
ini
[Unit]
Description=FiveM server
After=network.target

[Service]
Type=simple
User=fivem
WorkingDirectory=/home/fivem/fivem/server
ExecStart=/bin/bash /home/fivem/fivem/server/run.sh
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

Это запускает txAdmin, который управляет игровым сервером. Затем включите и запустите его:

bash
sudo systemctl daemon-reload
sudo systemctl enable fivem
sudo systemctl start fivem

Полезные команды:

bash
sudo systemctl status fivem
sudo journalctl -u fivem -f
sudo systemctl restart fivem

Строка journalctl показывает живой вывод, где вы читаете PIN txAdmin при первом запуске.

Совет: с systemd нет интерактивной консоли. Запустите его с txAdmin и используйте живую консоль txAdmin, вот почему стоит предпочесть txAdmin на Linux.

Откройте порты с ufw

bash
sudo ufw allow OpenSSH
sudo ufw allow 30120/tcp
sudo ufw allow 30120/udp
sudo ufw allow 40120/tcp
sudo ufw enable

Разрешите SSH перед тем как вы включите ufw, или вы себя заблокируете. Правило 40120 это для txAdmin: если вы управляете сервером только с VPS через SSH туннель, вы можете его пропустить. Также проверьте панель собственного брандмауэра вашего хостинг провайдера. Полная проверка сети, включая тестирование с F8 connect, находится в FiveM сервер не показывается: port forwarding и брандмауэр.

Обновление позже

Чтобы обновить, остановите сервис, замените содержимое ~/fivem/server новым артефактом, и запустите его снова. Ваши txData и server-data остаются на месте. Детали находятся в обновление FiveM сервер артефактов.

Контрольный список

Симптом Решение
Нет run.sh после загрузки Распакуйте с tar xf fx.tar.xz внутри папки сервера
Нужна панель txAdmin Запустите bash run.sh без аргументов, откройте порт 40120
Запустите без txAdmin bash ../server/run.sh +exec server.cfg из server-data
Сервер останавливается когда SSH закрывается Используйте screen -S fivem или systemd сервис
Должен запускаться при загрузке systemctl enable fivem
Игроки не могут подключиться Разрешите 30120 tcp и udp в ufw и в брандмауэре хоста

Короткие ответы

Как я могу запустить FiveM сервер на Linux?

Загрузите Linux артефакт с runtime.fivem.net, распакуйте его с tar xf fx.tar.xz, и запустите run.sh. Запустите без аргументов для txAdmin, или с +exec server.cfg чтобы запустить сервер прямо.

Как я могу держать FiveM сервер работающим после того как я закрою SSH?

Запустите его внутри screen или tmux, или лучше, как systemd сервис, который запускается при загрузке и перезапускается после краша.

Должен ли я запускать FiveM как root?

Нет. Создайте обычного пользователя для него. Это ограничивает урон если ресурс скомпрометирован, и сам txAdmin вас предупредит когда он запущен как root.

Скрипты без этой проблемы

Mic PhoneСкладной телефон, который раскладывается в планшет и работает и на настоящем телефоне игрока.Смотреть скрипт →Advanced BoostingУгон машин на заказ через планшет: контракты от класса D до S+, команды и живая очередь.Смотреть скрипт →Crypto MiningКупите склад, соберите фермы по деталям и майните монеты на живом рынке.Смотреть скрипт →

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