Jak postawić serwer FiveM na VPS krok po kroku
Instrukcja instalacji FXServer na Ubuntu. Dowiedz się, jak przypisać artefakty, skonfigurować klucz Cfx.re, otworzyć port 30120 i zabezpieczyć panel txAdmin przed dostępem.
Wymagania serwera FiveM na VPS
Serwer FiveM na VPS wymaga jednego użytkownika Linux bez uprawnień roota, jednej kompilacji artefaktów z Cfx.re, jednego klucza licencyjnego oraz jednego portu otwartego zarówno dla protokołu TCP, jak i UDP. Instalacja zajmuje około dziesięciu minut. Pozostała część tego przewodnika omawia elementy decydujące o grywalności serwera: szybkość pojedynczego rdzenia CPU, pamięć RAM wymagana przez zasoby oraz panel zarządzania, który nigdy nie powinien być dostępny pod publicznym adresem IP.
Trzy wymagania wstępne są niezmienne. Pliki binarne serwera, zwane artefaktami, pochodzą z oficjalnej listy kompilacji Cfx.re. Klucz licencyjny uzyskuje się w portalu Cfx.re pod adresem portal.cfx.re, który w starszych poradnikach określany jest jako keymaster; klucz jest przypisany do adresu IP maszyny, na której jest używany. Każdy gracz łączący się z serwerem musi posiadać własną, legalną kopię GTA V (Grand Theft Auto V) na platformie Steam, Rockstar Games Launcher lub Epic Games, a także darmowe konto Cfx.re. Klient gry weryfikuje posiadanie licencji podczas uruchamiania, dlatego serwer oparty na innym rozwiązaniu nie zadziała; niniejszy dokument nie obejmuje żadnych metod obejścia tego zabezpieczenia.
Hosting serwera to zadanie odmienne od uruchamiania samej gry na tej samej maszynie, co jest kwestią czy można uruchomić samą grę na VPS i stanowi osobne zagadnienie z inną odpowiedzią.
Dlaczego wydajność pojedynczego rdzenia decyduje o płynności serwera FiveM
FXServer, plik binarny serwera FiveM, wykonuje logikę gry w jednym głównym wątku. Każdy skrypt zasobu, każdy program obsługi zdarzeń i każda aktualizacja stanu przechodzą przez tę jedną pętlę. Dodatkowe rdzenie wspomagają jądro systemu, bazę danych i stos sieciowy. Nie dzielą one jednak pętli gry. Dlatego serwer z 4 vCPU na wolnym rdzeniu będzie zacinał się pod obciążeniem, podczas gdy maszyna z 2 vCPU na szybkim rdzeniu zachowa płynność.
Odwraca to typowy nawyk przy wyborze VPS, gdzie liczba rdzeni jest głównym parametrem marketingowym. Przed opłaceniem usługi sprawdź wydajność pojedynczego rdzenia. Zacznij od modelu procesora:
lscpu | grep -E 'Model name|MHz'Następnie sprawdź opublikowany wynik wydajności jednowątkowej dla tego modelu. Rankingi PassMark single thread oraz wyniki Geekbench single-core są publicznie dostępne i oba mierzą pracę wykonywaną przez jeden rdzeń, co jest kluczową wartością w tym przypadku. Następnie zmierz parametry maszyny, którą faktycznie otrzymałeś:
sudo apt update && sudo apt install -y sysbench
sysbench cpu --cpu-max-prime=20000 --threads=1 runOdczytaj linię events per second. Uruchom to samo polecenie u dwóch różnych dostawców, aby rzetelnie ich porównać, ponieważ obciążenie jest identyczne i ograniczone do jednego rdzenia. Powtarzalny benchmark VPS pokazuje, jak utrzymać porównywalność tych wyników między różnymi maszynami.
Następnie sprawdź, czy rdzeń jest faktycznie do Twojej dyspozycji:
vmstat 1 5Ostatnia kolumna, st, to steal time: udział czasu, w którym Twój wirtualny procesor był gotowy do pracy, ale hypervisor zmusił go do oczekiwania. Stała wartość powyżej 1 lub 2 oznacza, że współdzielisz fizyczny rdzeń z obciążonymi sąsiadami, co w pętli gry natychmiast objawia się jako tzw. rubber banding. Steal time od hałaśliwego sąsiada opisuje, jak interpretować tę kolumnę i jak reagować na takie sytuacje.
Zapotrzebowanie na pamięć RAM rośnie wraz z uruchomionymi zasobami, a nie tylko z liczbą slotów. Podstawowe dane serwera od Cfx.re zajmują kilkaset megabajtów. Framework roleplay z czterdziestoma lub pięćdziesięcioma zasobami oraz bazą danych MariaDB na tej samej maszynie to zupełnie inne wymagania: 4 GB to rozsądne minimum, a 8 GB zapewnia komfort przy 32 do 64 slotach. Są to typowe wartości publikowane przez społeczność, więc traktuj je jako punkt wyjścia i monitoruj free -m pod rzeczywistym obciążeniem graczy.
Utworzenie użytkownika i instalacja zależności
Serwer należy uruchamiać jako zwykły użytkownik, nigdy jako root. Istnieją dwa powody takiej praktyki. Używanie konta root jest złym nawykiem w przypadku każdej usługi wystawionej na działanie Internetu. Ponadto artefakt Linux działa wewnątrz spakowanego systemu plików root Alpine Linux, więc pliki rozpakowane przez użytkownika root nie mogą zostać wykonane przez nikogo innego. Jest to najczęstsza przyczyna, dla której świeża instalacja nie uruchamia się.
sudo adduser --disabled-password --gecos "" fivem
sudo apt update
sudo apt install -y git xz-utils curl tcpdump
sudo -iu fivemWszystkie poniższe operacje są wykonywane jako użytkownik fivem. Pakiet xz-utils jest wymagany, ponieważ pobierany plik to archiwum .tar.xz, a git służy do sklonowania bazowych danych serwera.
Pobieranie przypiętej wersji artefaktu
Wersja dla systemu Linux znajduje się w kanale build_proot_linux na serwerze artefaktów Cfx.re. Strona pobierania serwera Cfx.re oznacza jedną wersję jako Recommended, a nowszą jako Latest. Oba oznaczenia zmieniają się wraz z publikacją nowych wydań. Należy przypiąć konkretny numerowany folder. Dzięki temu ponowna budowa serwera w przyszłym miesiącu wykorzysta ten sam plik binarny, który był testowany obecnie, a aktualizacja stanie się świadomą decyzją.
mkdir -p ~/FXServer/server
cd ~/FXServer/server
curl -fLO https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/35245-6efb47dff473c0e2a12fb50b08d74c0eb24a50d5/fx.tar.xz
tar xf fx.tar.xz
lsWersja 35245 posiadała oznaczenie Recommended podczas sprawdzania strony pobierania serwera Cfx.re w dniu 9 października 2026. Należy otworzyć tę stronę, wybrać Linux i skopiować nazwę folderu z bieżącego linku fx.tar.xz, która składa się z numeru wersji oraz skrótu commitu, a następnie wkleić ją do adresu URL. Stara lista katalogów z artefaktami, do której odwołuje się wiele poradników, obecnie przekierowuje na tę samą stronę.
Przypięta wersja ma ograniczony czas przydatności. Cfx.re wspiera artefakt Recommended do sześciu tygodni po wydaniu kolejnego, a polityka firmy stanowi, że nieobsługiwane artefakty serwera starsze niż trzy miesiące nie będą widoczne w przeglądarce serwerów. Przestarzała wersja nadal działa, ale gracze nie mogą do niej dołączyć z poziomu przeglądarki, dlatego należy zaplanować aktualizacje w kalendarzu zamiast przypinać wersję na stałe.
ls powinno teraz zawierać run.sh oraz katalog alpine. Ten katalog to klucz do działania: artefakt dla systemu Linux zawiera własny, niewielki system plików root oparty na Alpine i uruchamia serwer wewnątrz niego przy użyciu proot, narzędzia działającego w przestrzeni użytkownika, które emuluje chroot bez uprawnień root. Dzięki temu jeden plik do pobrania działa na systemach Ubuntu, Debian i Rocky bez konieczności instalacji pakietów specyficznych dla dystrybucji.
Teraz należy sklonować bazowe dane serwera, które zawierają domyślne zasoby uruchamiane przez server.cfg:
git clone https://github.com/citizenfx/cfx-server-data.git ~/FXServer/server-dataUzyskanie klucza licencyjnego i utworzenie server.cfg
Zaloguj się do portalu portal.cfx.re za pomocą konta Cfx.re i wygeneruj klucz serwera. Portal wymaga podania adresu IP maszyny, która będzie z niego korzystać; klucz jest przypisany do tego adresu. Przeniesienie serwera na nowy VPS wymaga edycji klucza w portalu, a nie tworzenia kolejnego. Zmiana wchodzi w życie natychmiast, ale FXServer weryfikuje ją ponownie dopiero po restarcie.
Utwórz plik ~/FXServer/server-data/server.cfg:
endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120"
ensure mapmanager
ensure chat
ensure spawnmanager
ensure sessionmanager
ensure basic-gamemode
ensure hardcap
sv_hostname "My FiveM server"
sv_maxclients 48
set onesync on
sv_scriptHookAllowed false
sv_licenseKey ChangeMe
add_ace group.admin command allow
add_principal identifier.fivem:1 group.adminParametr sv_maxclients przyjmuje wartość od 1 do 2048. Wartość 32 lub wyższa wymaga ustawienia onesync na on lub legacy, a wartość powyżej 64 wymaga on. OneSync to tryb synchronizacji stanu serwera, który pozwala na przekroczenie standardowego limitu slotów gry. Ustawienie 128 slotów przy wyłączonym OneSync nie zwiększa liczby miejsc, lecz powoduje odrzucenie konfiguracji przez serwer.
W polu sv_licenseKey wpisz klucz bez cudzysłowów i bez spacji na końcu. FXServer dzieli tę linię według białych znaków, więc każdy zbędny znak uniemożliwia walidację i powoduje, że serwer nie uruchamia się.
Zmienna rcon_password celowo nie znajduje się w tym pliku. RCON (zdalna konsola) jest włączany tylko wtedy, gdy zmienna ta jest zdefiniowana; usługa nasłuchuje wtedy na tym samym porcie UDP co gra. Hasło RCON na publicznym porcie to kanał zdalnego wykonywania poleceń na serwerze. Pozostaw to pole puste, chyba że istnieje konkretna potrzeba jego użycia; w takim przypadku ustaw długie i losowe hasło.
Parametr sv_scriptHookAllowed pozostaje ustawiony na false. Oficjalna dokumentacja odradza jego zmianę, ponieważ zezwolenie na używanie klientów Script Hook V naraża serwer na nadużycia ze strony klientów.
Polecenie add_principal identifier.fivem:1 nadaje uprawnienia administratora dla identyfikatora konta Cfx.re o numerze 1. Zastąp 1 własnym identyfikatorem numerycznym; w przeciwnym razie nadasz uprawnienia administratora komuś innemu, pozostając bez nich.
Uruchom serwer ręcznie po raz pierwszy:
cd ~/FXServer/server-data
bash ~/FXServer/server/run.sh +exec server.cfgZ poziomu drugiej sesji SSH sprawdź stan serwera:
curl -s http://127.0.0.1:30120/info.json | head -c 200Odpowiedź w formacie JSON zawierająca zmienne serwera i zasoby oznacza, że FXServer został poprawnie powiązany i odpowiada. Komunikat Connection refused oznacza, że serwer nie powiązał portu; w takiej sytuacji należy przeanalizować wyjście konsoli zamiast zgadywać przyczynę.
Serwer bez klucza wyświetla następujący komunikat i zatrzymuje się:
This server does not have a license key specified. Please set the sv_licenseKey console variable to a key from https://keymaster.fivem.net/.Komunikat nadal wskazuje stary adres keymaster. Adres ten prowadzi do tego samego portalu Cfx.re. Jeśli klucz jest ustawiony, a serwer nadal odmawia uruchomienia, najczęstszą przyczyną jest niezgodność adresu IP zarejestrowanego dla klucza z adresem bieżącej maszyny.
Które porty muszą być otwarte dla serwera FiveM?
Port 30120, zarówno dla protokołu TCP (transmission control protocol), jak i UDP (user datagram protocol). FiveM używa jednego numeru portu dla obu protokołów i wymaga otwarcia każdego z nich. Otwarcie wyłącznie TCP powoduje mylące objawy: http://your.ip:30120/info.json odpowiada w przeglądarce, więc serwer wydaje się działać poprawnie, podczas gdy klient gry zawiesza się na Failed to get info from server i nigdy nie nawiązuje połączenia, ponieważ zapytania klienta oraz ruch gry odbywają się przez UDP.
sudo ufw allow OpenSSH
sudo ufw allow 30120/tcp
sudo ufw allow 30120/udp
sudo ufw enable
sudo ufw status verbosePodczas konfigurowania zapory sieciowej należy utrzymywać otwartą drugą sesję SSH. Podstawy ufw dla VPS wyjaśniają politykę domyślnego odrzucania połączeń (default deny), dzięki której powyższe reguły są wystarczające.
Większość dostawców stosuje również zewnętrzną zaporę sieciową, zarządzaną z poziomu panelu klienta, a nie z poziomu powłoki systemowej. Reguła ufw nie daje gwarancji działania na tej warstwie. Jeśli TCP odpowiada z zewnątrz, a gracze nadal nie mogą się połączyć, należy monitorować ruch sieciowy podczas próby połączenia:
sudo tcpdump -ni any udp port 30120Docieranie pakietów oznacza, że zewnętrzna zapora działa poprawnie, a przyczyna błędu leży wewnątrz serwera. Brak ruchu oznacza, że urządzenie znajdujące się przed serwerem odrzuca pakiety, dlatego w następnej kolejności należy sprawdzić panel dostawcy.
Zarządzanie serwerem za pomocą txAdmin bez jego wystawiania
txAdmin jest dostarczany wewnątrz pobranego wcześniej artefaktu. Uruchom run.sh bez argumentu +exec, co spowoduje uruchomienie panelu WWW na porcie TCP 40120, a następnie wyświetlenie w konsoli adresu URL panelu oraz krótkotrwałego kodu PIN. Kod PIN służy do jednorazowego powiązania konta Cfx.re, po czym logowanie odbywa się przy użyciu utworzonego konta administratora.
txAdmin nie posiada domyślnego hasła, więc ryzyko nie wynika z zapomnianych danych uwierzytelniających. Ryzyko stanowi sama natura panelu: jest to zdalna konsola. Pozwala ona na restartowanie serwera, edycję server.cfg, wdrażanie danych serwera oraz wykonywanie poleceń z uprawnieniami użytkownika serwera. Pozostawienie portu 40120 dostępnego z Internetu udostępnia stronę logowania do wszystkich tych funkcji pod publicznym adresem, a skanery znajdują otwarte porty paneli w ciągu kilku godzin. Nie otwieraj portu 40120 w zaporze sieciowej. Uzyskaj do niego dostęp poprzez tunel SSH ze swojej maszyny:
ssh -N -L 40120:127.0.0.1:40120 fivem@YOUR_SERVER_IPNastępnie otwórz http://127.0.0.1:40120 w przeglądarce. Ruch panelu jest przesyłany wewnątrz połączenia SSH, a port pozostaje zamknięty dla wszystkich innych osób.
Przed próbą rozwiązania tego problemu w inny sposób warto poznać jedno zagrożenie. txAdmin odczytuje TXHOST_INTERFACE (domyślnie 0.0.0.0), aby zdecydować, z którym interfejsem się powiązać, a dokumentacja wyraźnie wskazuje, że ta sama wartość jest wymuszana dla FXServer. Ustawienie jej na 127.0.0.1 w celu ukrycia panelu spowoduje również powiązanie serwera gry z interfejsem loopback, co uniemożliwi graczom połączenie się z serwerem. Port panelu należy zamknąć za pomocą zapory sieciowej, a nie za pomocą tej zmiennej. Aby przenieść panel na inny port, należy ustawić TXHOST_TXA_PORT, która akceptuje dowolną wartość poza 30120. Starsza zmienna +set txAdminPort pojawia się w wielu poradnikach; dokumentacja txAdmin oznacza ją jako przestarzałą i informuje, że przestanie ona działać w przyszłej wersji.
Utrzymanie serwera w działaniu po wylogowaniu
bash run.sh kończy działanie wraz z sesją SSH. Narzędzie tmux sprawdza się podczas testów: uruchom tmux new -s fivem, wystartuj serwer, naciśnij Ctrl-b, a następnie d, aby odłączyć sesję, i użyj tmux attach -t fivem, aby do niej wrócić. Sesja tmux nie przetrwa restartu systemu, dlatego każdy istotny proces powinien być obsługiwany przez jednostkę systemd.
Utwórz /etc/systemd/system/fivem.service:
[Unit]
Description=FiveM FXServer
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=fivem
Environment=HOME=/home/fivem
WorkingDirectory=/home/fivem/FXServer/server-data
ExecStart=/bin/bash /home/fivem/FXServer/server/run.sh +exec server.cfg
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.targetsudo systemctl daemon-reload
sudo systemctl enable --now fivem
systemctl status fivem
journalctl -u fivem -fenable --now wykonuje dwa zadania: uruchamia usługę natychmiast oraz zapewnia jej start po restarcie systemu. Serwer uruchomiony ręcznie przestanie działać po kolejnej aktualizacji jądra. journalctl -u fivem -f jest teraz Twoją konsolą, ponieważ usługa systemd nie posiada terminala, w którym można wpisywać polecenia. Jeśli zarządzasz serwerem za pomocą txAdmin, usuń +exec server.cfg z ExecStart i skieruj WorkingDirectory na /home/fivem/FXServer/server, ponieważ txAdmin samodzielnie uruchamia serwer gry i przechowuje jego folder z danymi obok run.sh.
Co podlega kopii zapasowej i gdzie się znajduje
Artefaktów nie warto archiwizować, ponieważ przypisaną wersję kompilacji można pobrać ponownie w ciągu minuty. Cztery elementy należą wyłącznie do użytkownika.
~/FXServer/server-data/resources: każdy zasób zainstalowany, zakupiony lub napisany samodzielnie.server.cfg, niezależnie od lokalizacji: pełna konfiguracja serwera, w tym główni administratorzy.~/FXServer/server/txData: konfiguracja txAdmin, lista administratorów oraz logi. W przypadku artefaktów dla systemu Linux folder ten tworzony jest obokrun.sh.- Baza danych MariaDB lub MySQL, jeśli używany framework z niej korzysta. Postacie, waluta, pojazdy oraz ekwipunki znajdują się wyłącznie tam, więc kopia zapasowa zasobów bez zrzutu bazy danych przywróci pusty świat.
mkdir -p ~/backups
mysqldump -u fivem -p --single-transaction fivem_db > ~/backups/fivem-$(date +%F).sqlZrzut danych przechowywany na tym samym dysku co serwer nie jest kopią zapasową, ponieważ to właśnie dysk ulega awarii. Należy przesyłać dane poza serwer zgodnie z harmonogramem, do czego służy tworzenie kopii zapasowych restic z VPS.
Tryby awarii i komunikaty błędów
Permission denied podczas uruchamiania loadera. Serwer kończy działanie natychmiast, wyświetlając komunikat podobny do poniższego:
run.sh: line 8: /home/fivem/FXServer/server/alpine/opt/cfx-server/ld-musl-x86_64.so.1: Permission deniedSytuacja ta wynika z rozpakowania archiwum za pomocą sudo, przez co cała zawartość katalogu alpine/ należy do użytkownika root, a użytkownik fivem nie posiada uprawnień do wykonania loadera. Należy naprawić uprawnienia za pomocą sudo chown -R fivem:fivem /home/fivem/FXServer lub usunąć folder i rozpakować go ponownie jako fivem.
tar odmawia otwarcia pobranego pliku. tar (child): xz: Cannot exec: No such file or directory oznacza brak pakietu xz-utils, przez co narzędzie tar nie może zdekompresować archiwum .tar.xz. Należy zainstalować brakujący pakiet i ponowić próbę rozpakowania. Jeśli pobieranie kończy się zbyt szybko, najprawdopodobniej zapisano stronę błędu HTML jako fx.tar.xz, co powoduje, że tar zgłasza uszkodzenie archiwum.
Serwer działa, ale nikt nie może dołączyć. W pierwszej kolejności należy sprawdzić porty w następującej kolejności: regułę ufw dla protokołów TCP i UDP na porcie 30120, następnie zewnętrzny firewall dostawcy, a na końcu adres IP przypisany do klucza licencyjnego. Polecenie curl wykonane względem info.json z zewnątrz pozwala jednym ruchem odróżnić problem sieciowy od problemu z samym serwerem.
Czas ticku rośnie wraz z liczbą graczy. Panel wydajności txAdmin wyświetla czas ticku serwera. Jeśli wartość ta rośnie wraz z liczbą graczy, podczas gdy ogólne zużycie CPU pozostaje niskie, oznacza to, że jeden z zasobów wysyca główny wątek. Należy pamiętać o przeliczeniu: na maszynie z 4 vCPU, pojedynczy rdzeń obciążony w pełni jest widoczny jako około 25 procent całkowitego użycia CPU w top, co może błędnie sugerować bezczynność. Należy zatrzymywać zasoby pojedynczo i obserwować czas ticku, aby zidentyfikować ten, który generuje największe obciążenie.
Skalowanie w odniesieniu do innych serwerów gier
Grywalny serwer FiveM wymaga szybkiego pojedynczego rdzenia oraz pamięci RAM wystarczającej dla uruchomionych zasobów. Liczba slotów wynika z tych dwóch parametrów, a zwiększenie liczby vCPU nie zniweluje niskiej wydajności pojedynczego rdzenia. Wybór VPS dla serwerów gier omawia ten kompromis w kontekście zróżnicowanej floty serwerów, a uruchamianie serwera Minecraft na VPS opiera się na tych samych założeniach: główna pętla taktowania (tick loop) sprawia, że to wydajność pojedynczego rdzenia wyznacza górny limit możliwości.
FAQ
Ile procesora i pamięci RAM potrzebuje serwer FiveM?
Jeden szybki rdzeń jest ważniejszy niż kilka wolniejszych, ponieważ FXServer wykonuje logikę gry na pojedynczym głównym wątku. Porównaj opublikowany wynik wydajności jednowątkowej modelu procesora, a następnie zweryfikuj obciążenie na maszynie za pomocą sysbench cpu --threads=1 run i upewnij się, że vmstat wskazuje czas "steal time" bliski zeru. Jeśli chodzi o pamięć, podstawowe dane serwera Cfx.re zajmują kilkaset megabajtów, podczas gdy framework roleplay z czterdziestoma lub pięćdziesięcioma zasobami oraz lokalną bazą danych działa stabilnie przy 8 GB, natomiast poniżej 4 GB odczuwalny jest brak zasobów. Są to typowe wartości dla społeczności, więc monitoruj free -m w godzinach szczytu, zamiast polegać wyłącznie na szacunkach.
Czy gracze muszą posiadać GTA V, aby dołączyć do mojego serwera FiveM?
Tak. Każdy łączący się gracz musi posiadać legalną, licencjonowaną kopię GTA V na platformie Steam, Rockstar Games Launcher lub Epic Games, a także darmowe konto Cfx.re. Klient FiveM sprawdza posiadanie gry przed nawiązaniem połączenia. Nie istnieje wspierany sposób na obejście tego wymogu, a prowadzenie serwera, który próbuje to obejść, jest niezgodne z zasadami Cfx.re.
Jakie porty musi mieć otwarte serwer FiveM?
Port 30120 zarówno dla protokołu TCP, jak i UDP. Punkty końcowe HTTP, takie jak info.json oraz pobieranie zasobów, wykorzystują TCP, natomiast ruch gry klienta korzysta z UDP. Otwarcie tylko portu TCP powoduje mylącą sytuację, w której serwer odpowiada w przeglądarce, ale gracze widzą Failed to get info from server. txAdmin wymaga portu TCP 40120 i ten port powinien pozostać zamknięty dla ruchu z Internetu.
Czy bezpieczne jest pozostawienie txAdmin dostępnego na porcie 40120?
Nie. txAdmin to zdalna konsola, która pozwala na restartowanie serwera, edycję konfiguracji i wykonywanie poleceń, więc wystawiony panel to wystawiony panel sterowania całym serwerem gry. Domyślnie nie ma ustawionego hasła, ale publiczna strona logowania naraża na ataki typu brute-force, których nie można monitorować. Pozostaw port 40120 zamknięty w zaporze sieciowej i uzyskuj dostęp do panelu przez tunel SSH za pomocą ssh -N -L 40120:127.0.0.1:40120 user@server, a następnie przejdź pod adres http://127.0.0.1:40120. Nie wiąż txAdmin z adresem 127.0.0.1 za pomocą TXHOST_INTERFACE, ponieważ to ustawienie wymusza również działanie serwera gry na interfejsie loopback, przez co żaden gracz nie będzie mógł się połączyć.
Czy powinienem przypiąć wersję artefaktów, czy zawsze pobierać najnowszą zalecaną?
Przypnij numerowany folder kompilacji. Etykieta "recommended" regularnie wskazuje na nową kompilację, więc skrypt pobierający zalecaną wersję może dostarczyć inny plik binarny przy każdym ponownym wdrożeniu, przez co serwer działający wczoraj może przestać działać po redeployu z przyczyn niezwiązanych z Twoimi zmianami. Zapisz numer kompilacji i hash commita, które przetestowałeś, aktualizuj celowo i zachowaj poprzedni folder na dysku, aby móc szybko wrócić do poprzedniej wersji poprzez edycję jednej ścieżki w jednostce systemd. Nie pozwól jednak, aby przypięta wersja stała się przestarzała: polityka Cfx.re sprawia, że nieobsługiwane artefakty starsze niż trzy miesiące stają się niewidoczne w przeglądarce serwerów, więc przeprowadzaj aktualizacje wewnątrz okna wsparcia.