Jak skonfigurować serwer FiveM na Linuksie: artifacts, systemd i ufw

Uruchamiaj serwer FiveM na Ubuntu lub Debian: pobierz artifact, rozpakuj go, uruchom run.sh z txAdmin lub server.cfg, utrzymuj go przy życiu za pomocą screen lub systemd, otwórz porty za pomocą ufw.

Masz Linux VPS (Ubuntu lub Debian) i chcesz serwer FiveM na nim. Proces jest krótki: pobierz pliki serwera, uruchom je, utrzymuj je uruchomione, i otwórz porty. Ten przewodnik obejmuje każdy krok z poleceniami, które możesz skopiować.

Zanim zaczniesz

Potrzebujesz klucza licencji z portal.cfx.re, zobacz błąd klucza licencji jeśli jeszcze go nie zrobiłeś. Zainstaluj narzędzia, które będziesz używać:

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

Utwórz oddzielnego użytkownika, aby serwer nie działał jako root:

bash
sudo adduser fivem
sudo su - fivem

Wszystko poniżej jest wykonane jako ten użytkownik.

Pobierz artifact

Program serwera ("artifacts") dla Linuksa pochodzi z Cfx.re:

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

Otwórz tę stronę, wybierz rekomendowaną kompilację i skopiuj link do fx.tar.xz. Następnie:

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

Zamień <build> ścieżką, którą skopiowałeś. Po rozpakowaniu powinieneś widzieć run.sh w folderze.

Pobierz dane serwera

"Dane serwera" to miejsce, gdzie znajduje się Twoja server.cfg i Twoje zasoby. Zasoby bazowe Cfx.re są na GitHub:

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

Utwórz konfigurację w 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

Uruchom go: txAdmin lub zwykły

Z txAdmin (rekomendowane). Uruchom run.sh bez argumentów. txAdmin się uruchamia, drukuje PIN i adres sieciowy, a Ty dokończysz konfigurację w przeglądarce na porcie 40120:

bash
cd ~/fivem/server
bash run.sh

txAdmin przechowuje swoje dane w folderze txData, zwykle w folderze, z którego go uruchomiłeś, więc zawsze uruchamiaj go z tego samego miejsca. W panelu możesz użyć przepisu do wdrożenia serwera bazowego, lub wskazać na folder server-data, który sklonowałeś.

Bez txAdmin. Uruchom z folderu server-data i przekaż konfigurację:

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

Dostajesz zwykłą konsolę w swoim terminalu. Naciśnij Ctrl+C, aby ją zatrzymać.

Jeśli później zapomniałeś swojego hasła txAdmin, zobacz txAdmin zapomniałem hasła.

Utrzymuj go uruchomionym za pomocą screen

Szybki sposób na utrzymanie serwera przy życiu po odłączeniu się od SSH to screen:

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

Odłącz się za pomocą Ctrl+A, następnie D. Serwer działa dalej. Podłącz się ponownie później:

bash
screen -r fivem

To działa, ale nic nie restartuje serwera, jeśli maszyna się restartuje lub proces umiera.

Utrzymuj go uruchomionym za pomocą systemd

Usługa systemd uruchamia serwer przy bootowaniu i restartuje go po awarii. Utwórz plik jako root (lub z 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

To uruchamia txAdmin, który zarządza samym serwerem gry. Następnie włącz i uruchom go:

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

Przydatne polecenia:

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

Linia journalctl pokazuje na żywo dane wyjściowe, gdzie przeczytasz PIN txAdmin przy pierwszym uruchomieniu.

Wskazówka: z systemd nie ma interaktywnej konsoli. Uruchom go z txAdmin i używaj żywej konsoli txAdmin, co jest powodem, aby preferować txAdmin na Linuksie.

Otwórz porty za pomocą ufw

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

Zezwól na SSH zanim włączysz ufw, lub się zablokujesz. Reguła 40120 to dla txAdmin: jeśli zarządzasz serwerem tylko z VPS przez tunel SSH, możesz ją pominąć. Również sprawdzaj vlastny panel firewall'a dostawcy hostingu. Pełne sprawdzenie sieci, łącznie z testowaniem z F8 connect, znajduje się w FiveM server not showing: port forwarding and firewall.

Aktualizowanie później

Aby zaktualizować, zatrzymaj usługę, zamień zawartość ~/fivem/server nowym artefaktem i uruchom go ponownie. Twoje txData i server-data pozostają w miejscu. Szczegóły znajdują się w updating FiveM server artifacts.

Checklist

Objaw Rozwiązanie
Nie ma run.sh po pobraniu Rozpakuj z tar xf fx.tar.xz w folderze serwera
Potrzebujesz panelu txAdmin Uruchom bash run.sh bez argumentów, otwórz port 40120
Uruchom bez txAdmin bash ../server/run.sh +exec server.cfg z server-data
Serwer zatrzymuje się, gdy SSH się zamyka Użyj screen -S fivem lub usługi systemd
Powinnien się uruchomić przy bootowaniu systemctl enable fivem
Gracze nie mogą się połączyć Zezwól na 30120 tcp i udp w ufw i w firewall'u hosta

Szybkie odpowiedzi

Jak uruchomić serwer FiveM na Linuksie?

Pobierz artefakt Linux z runtime.fivem.net, rozpakuj go z tar xf fx.tar.xz i uruchom run.sh. Uruchom go bez argumentów dla txAdmin, lub z +exec server.cfg aby uruchomić serwer bezpośrednio.

Jak utrzymać serwer FiveM uruchomiony po zamknięciu SSH?

Uruchom go w screen lub tmux, lub lepiej, jako usługę systemd, która się uruchamia przy bootowaniu i restartuje się po awarii.

Czy powinienem uruchomić FiveM jako root?

Nie. Utwórz normalnego użytkownika dla niego. Ogranicza to szkodę, jeśli zasób zostanie kompromitowany, a sam txAdmin ostrzeże Cię, gdy działa jako root.

Skrypty bez tego problemu

Mic PhoneSkładany telefon, który rozkłada się w tablet i działa też na prawdziwym telefonie gracza.Zobacz skrypt →Advanced BoostingBoosting pojazdów z tabletu: kontrakty od klasy D do S+, ekipy i kolejka na żywo.Zobacz skrypt →Crypto MiningKup magazyn, składaj koparki część po części i kop monety na żywym rynku.Zobacz skrypt →

Czytaj dalej