server.cfg wyjaśniony: każda linia FiveM server.cfg, jedna po drugiej

Co robi każda linia w FiveM server.cfg: endpoints, sv_hostname, projectName, tags, locale, icon, sv_maxclients, license key, OneSync, ensure, ACE i exec.

Otworzyłeś server.cfg i widzisz mur linii skopiowanych z przepisu. Ten przewodnik przechodzi przez linie, które znajdziesz na większości serwerów, w kolejności, w jakiej zwykle się pojawiają, z krótkim wyjaśnieniem i linkiem do dłuższego przewodnika.

Endpoints

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

To adres i port, na którym serwer nasłuchuje. 0.0.0.0 oznacza każdy interfejs sieciowy, a 30120 to port domyślny. Gracze łączą się za pośrednictwem UDP i używają TCP do HTTP i serwera proxy txAdmin, więc otwierasz oba na zaporze. W txAdmin interfejs i port są zwykle zarządzane dla Ciebie, a ustawienia txAdmin mogą się skarżyć, jeśli się nie zgadzają. Jeśli gracze nie mogą dołączyć z zewnątrz, zobacz przekierowanie portów.

Nazwa i oferta

cfg
sv_hostname "My Server"
sets sv_projectName "My Server"
sets sv_projectDesc "A friendly roleplay server"
sets tags "roleplay, esx, english"
sets locale "en-US"
load_server_icon myLogo.png
  • sv_hostname to starsza nazwa serwera.
  • sv_projectName i sv_projectDesc to nazwa i opis na liście serwerów. Forma sets je publikuje.
  • tags to słowa kluczowe, które ludzie filtrują, a locale to język.
  • load_server_icon ładuje mały PNG z folderu serwera.

Kolory, bannery i rozmiar ikony są opisane w server icon, banner i tags.

Gracze

cfg
sv_maxclients 48

Liczba slotów dla graczy. Przekroczenie 48 wymaga OneSync i tier'u obsługi na stronie Cfx.re. Szczegóły znajdują się w OneSync i limit graczy.

Klucze

cfg
sv_licenseKey "cfxk_xxxxxxxxxxxxxxxxxxxx_xxxxx"
set steam_webApiKey "none"

sv_licenseKey to klucz z Portalu Cfx.re i serwer bez ważnego nie uruchomi się. Zobacz błąd server license key. steam_webApiKey jest potrzebny tylko jeśli chcesz identyfikatorów Steam, a none jest akceptowany, gdy go nie potrzebujesz. Obie linie to tajemnice: nie udostępniaj swojego server.cfg na zrzutach ekranu.

Baza danych

cfg
set mysql_connection_string "mysql://user:password@localhost/dbname?charset=utf8mb4"

Ciąg połączenia, który czyta oxmysql. Nieprawidłowe wartości dają błędy z oxmysql connection error. Użyj set, a nie setr lub sets, aby hasło pozostało na serwerze.

OneSync i game build

cfg
set onesync on
sv_enforceGameBuild 3258

onesync on włącza OneSync, który jest standardem dla nowoczesnych serwerów i wymagany do wielu slotów. sv_enforceGameBuild zmusza klientów do używania build'u gry, a samochody DLC, ubrania i mapy potrzebują niedawnego. Numery build'ów i co odblokowują są w sv_enforceGameBuild i DLC. Użyj numeru build'u obsługiwanego przez Twoje artefakty, a nie tylko tego z przykładu.

Zasoby: ensure

cfg
ensure oxmysql
ensure ox_lib
ensure es_extended
ensure [standalone]

Każdy ensure uruchamia zasób lub cały folder w nawiasach. Kolejność ma znaczenie: bazy danych, biblioteki i framework najpierw. Zobacz server.cfg ensure order. Jeśli jeden nie powiedzie się, couldn't start resource wyjaśnia komunikat.

Uprawnienia: add_ace i add_principal

cfg
add_ace group.admin command allow
add_principal identifier.fivem:1234567 group.admin

add_ace daje uprawnienie do grupy, tutaj każdy polecenia. add_principal umieszcza gracza (poprzez identyfikator) w tej grupie. Zamień identyfikator na swój. Pełne wyjaśnienie, wraz z różnicą między ACE a własnymi grupami Twojego framework'u, jest w ACE permissions.

Dołączanie innych plików: exec

cfg
exec permissions.cfg
exec resources.cfg

exec uruchamia inny plik cfg tak, jakby jego linie były tutaj. Podzielenie uprawnień lub zasobów na ich własne pliki utrzymuje server.cfg czytelnym i możesz zachować tajemnice w jednym pliku, który nigdy nie udostępniasz.

Przykład minimalny

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

sv_licenseKey "cfxk_..."
sv_hostname "My Server"
sets sv_projectName "My Server"
sets sv_projectDesc "A friendly roleplay server"
sets tags "roleplay"
sets locale "en-US"
load_server_icon myLogo.png
sv_maxclients 48
set onesync on
set mysql_connection_string "mysql://user:password@localhost/dbname?charset=utf8mb4"

ensure oxmysql
ensure ox_lib
ensure es_extended

Ostrzeżenie: błąd w linii nie zawsze zatrzymuje serwer. Błędnie napisana zmienna (convar) jest tworzona w ciszy i nic nie robi. Gdy ustawienie wydaje się ignorowane, najpierw sprawdź pisownię.

Lista kontrolna

Objaw Rozwiązanie
Gracze nie mogą dołączyć z zewnątrz Otwórz TCP i UDP na porcie, zobacz przekierowanie portów
Serwer nie uruchomi się Sprawdź sv_licenseKey
Nazwa lub tagi się nie wyświetlają Użyj sets, zrestartuj i czekaj na odświeżenie listy
Ponad 48 slotów odrzucono Włącz OneSync i sprawdź tier Cfx.re
Błędy bazy danych Sprawdź mysql_connection_string
Brakuje treści DLC Podnieś sv_enforceGameBuild
Nie jesteś adminem Napraw add_principal z twoim identyfikatorem

Szybkie odpowiedzi

Gdzie znajduje się server.cfg?

W folderze danych serwera, obok folderu resources. W txAdmin możesz go również otworzyć i edytować ze strony CFG Editor w panelu internetowym.

Czy muszę zrestartować serwer po edycji server.cfg?

Tak. Plik jest odczytywany przy starcie serwera. Zrestartuj serwer, aby zmiany w endpoints, convars i uprawnieniach weszły w życie. Nowe linie ensure można również uruchomić w konsoli na żywo.

Jaka jest różnica między set, sets i setr?

set tworzy convar, który może czytać tylko serwer. sets publikuje go również w ofercie serwera. setr replikuje go również do klientów, więc nigdy nie umieszczaj tajemnic w setr lub sets.

Skrypty bez tego problemu

Shop CreatorZbuduj sklep w niecałą minutę — właściciele, pracownicy, sejfy i napady w zestawie.Zobacz skrypt →Mic PhoneSkładany telefon, który rozkłada się w tablet i działa też na prawdziwym telefonie gracza.Zobacz skrypt →

Czytaj dalej