Как установить FiveM сервер на Linux: артефакты, systemd и ufw
Запустите FiveM сервер на Ubuntu или Debian: загрузите артефакт, распакуйте его, запустите run.sh с txAdmin или server.cfg, держите его живым с screen или systemd, откройте порты с ufw.
У вас есть Linux VPS (Ubuntu или Debian) и вы хотите FiveM сервер на нём. Процесс короткий: получите файлы сервера, запустите их, держите их работающими, и откройте порты. Это руководство охватывает каждый шаг с командами которые вы можете копировать.
Перед тем как начать
Вам нужен ключ лицензии с portal.cfx.re, смотрите ошибка ключа лицензии если вы ещё не сделали. Установите инструменты, которые вы будете использовать:
sudo apt update
sudo apt install -y wget git xz-utils screenСоздайте отдельного пользователя, чтобы сервер не запускался как root:
sudo adduser fivem
sudo su - fivemВсё ниже делается как этот пользователь.
Загрузите артефакт
Серверная программа ("артефакты") для Linux поступает из Cfx.re:
https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/Откройте эту страницу, выберите рекомендуемую сборку, и скопируйте ссылку на fx.tar.xz. Затем:
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:
cd ~/fivem
git clone https://github.com/citizenfx/cfx-server-data.git server-dataСоздайте конфиг в server-data/server.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:
cd ~/fivem/server
bash run.shtxAdmin держит свои данные в папке txData, обычно в папке из которой вы его запустили, поэтому всегда запускайте его оттуда же. На панели вы можете использовать рецепт чтобы развернуть базовый сервер, или указать на папку server-data, которую вы клонировали.
Без txAdmin. Запустите из папки server-data и передайте конфиг:
cd ~/fivem/server-data
bash ../server/run.sh +exec server.cfgВы получите обычную консоль в вашем терминале. Нажмите Ctrl+C чтобы остановить её.
Если позже вы потеряете пароль txAdmin, смотрите txAdmin забыл пароль.
Держите его работающим с screen
Быстрый способ держать сервер живым после того как вы отключитесь от SSH это screen:
screen -S fivem
cd ~/fivem/server
bash run.shОтсоедините с Ctrl+A, затем D. Сервер продолжает работать. Присоедините позже:
screen -r fivemЭто работает, но ничто не перезапустит сервер если машина перезагружается или процесс умирает.
Держите его работающим с systemd
Systemd сервис запускает сервер при загрузке и перезапускает его после краша. Создайте файл как root (или с sudo):
sudo nano /etc/systemd/system/fivem.service[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, который управляет игровым сервером. Затем включите и запустите его:
sudo systemctl daemon-reload
sudo systemctl enable fivem
sudo systemctl start fivemПолезные команды:
sudo systemctl status fivem
sudo journalctl -u fivem -f
sudo systemctl restart fivemСтрока journalctl показывает живой вывод, где вы читаете PIN txAdmin при первом запуске.
Совет: с systemd нет интерактивной консоли. Запустите его с txAdmin и используйте живую консоль txAdmin, вот почему стоит предпочесть txAdmin на Linux.
Откройте порты с ufw
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Купите склад, соберите фермы по деталям и майните монеты на живом рынке.Смотреть скрипт →