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ć:
sudo apt update
sudo apt install -y wget git xz-utils screenUtwórz oddzielnego użytkownika, aby serwer nie działał jako root:
sudo adduser fivem
sudo su - fivemWszystko poniżej jest wykonane jako ten użytkownik.
Pobierz artifact
Program serwera ("artifacts") dla Linuksa pochodzi z Cfx.re:
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:
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.xzZamień <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:
cd ~/fivem
git clone https://github.com/citizenfx/cfx-server-data.git server-dataUtwórz konfigurację w 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 hardcapUruchom 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:
cd ~/fivem/server
bash run.shtxAdmin 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ę:
cd ~/fivem/server-data
bash ../server/run.sh +exec server.cfgDostajesz 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:
screen -S fivem
cd ~/fivem/server
bash run.shOdłącz się za pomocą Ctrl+A, następnie D. Serwer działa dalej. Podłącz się ponownie później:
screen -r fivemTo 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):
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.targetTo uruchamia txAdmin, który zarządza samym serwerem gry. Następnie włącz i uruchom go:
sudo systemctl daemon-reload
sudo systemctl enable fivem
sudo systemctl start fivemPrzydatne polecenia:
sudo systemctl status fivem
sudo journalctl -u fivem -f
sudo systemctl restart fivemLinia 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
sudo ufw allow OpenSSH
sudo ufw allow 30120/tcp
sudo ufw allow 30120/udp
sudo ufw allow 40120/tcp
sudo ufw enableZezwó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 →