Jak podłączyć bazę danych do serwera FiveM
Każdy sensowny framework roleplay na FiveM trzyma swoje dane w MySQL: postacie, prace, pojazdy, ekwipunek, konta bankowe. Twój serwer FiveM w DoomHosting ma miejsce na bazę MySQL, którą tworzysz sam w zakładce Bazy danych w panelu, a do podłączenia wystarczy jedna linia w server.cfg. Ten poradnik pokazuje, jak utworzyć bazę, złożyć connection string oczekiwany przez oxmysql, gdzie wpisać tę linię i jak zaimportować schemat ESX lub QBCore.
Co będzie potrzebne
- Serwer FiveM w DoomHosting, który już się uruchamia. Jeśli jeszcze nie startuje, najpierw ustaw klucz licencyjny: jak uzyskać klucz licencyjny FiveM.
- oxmysql, czyli resource, przez który każdy nowoczesny framework rozmawia z MySQL. ESX i QBCore dostarczają go razem ze sobą.
- Klient MySQL na komputerze, jeśli planujesz import schematu frameworka. HeidiSQL (Windows) i DBeaver (wszystkie systemy) są darmowe.
Utwórz bazę danych w panelu
- Otwórz swoje serwery gier i kliknij swój serwer FiveM.
- W nawigacji sekcji, w grupie Zaawansowane, otwórz Bazy danych.
- Kliknij Nowa baza danych, wpisz krótką nazwę (tylko litery, cyfry i podkreślenia) i zatwierdź.
Tworzymy bazę oraz pasującego użytkownika z wygenerowanym hasłem. Nazwa automatycznie dostaje prefiks, więc baza nazwana esx kończy jako coś w rodzaju s1708_esx, a użytkownik wygląda jak u1708_esxdemo.

Wiersz pokazuje pięć przycisków z danymi dostępowymi: Nazwa bazy danych, Host, Port, Nazwa użytkownika i Hasło, przy czym to ostatnie jest ukryte, dopóki nie klikniesz ikony oka. Kliknięcie dowolnego z nich kopiuje wartość. Po prawej są dwa przyciski: Nowe hasło zmienia hasło (wszystko, co nadal używa starego, natychmiast przestaje działać), a kosz usuwa bazę i wszystkie jej dane bezpowrotnie.

Nagłówek karty liczy Twoje miejsca, na przykład 1 z 1 baz danych w użyciu. Jedno miejsce wystarcza na normalną instalację ESX lub QBCore, bo framework i wszystkie jego resources korzystają z tej samej bazy. Napisz do supportu, jeśli Twoja konfiguracja naprawdę potrzebuje drugiej.
Co wpisać w którym polu
Krok konfiguracji w txAdmin, HeidiSQL, DBeaver i większość instalatorów frameworków pytają o te same pięć wartości, każdą w osobnym polu. Zakładka Bazy danych pokazuje je jako pięć osobnych przycisków kopiowania dokładnie w tej kolejności, więc skopiuj każdą do pola o odpowiadającej nazwie.
| Pole w narzędziu | Co wklejasz | Z którego przycisku |
|---|---|---|
| Host, Server lub Hostname / IP | 203.0.113.10 |
Host, sam adres, bez portu na końcu |
| Port | 3306 |
Port |
| Username lub User | u1708_esxdemo |
Nazwa użytkownika |
| Password | wygenerowane hasło | Hasło, po kliknięciu ikony oka |
| Database lub Database name | s1708_esx |
Nazwa bazy danych |
Trzy z nich wpisuje się z pamięci zamiast skopiować i wszystkie trzy zawodzą:
localhostnigdy nie jest hostem. Twoja baza danych działa na naszym serwerze baz danych, a nie w kontenerze serwera gry, więclocalhostkieruje framework na maszynę, na której nie ma MySQL. Użyj adresu z przycisku Host.rootnigdy nie jest nazwą użytkownika. Dostajesz własnego użytkownika o nazwieui numerze Twojego serwera. Współdzielony serwer baz danych nie ma loginu root do rozdania, więcrootzostanie odrzucony przy każdym haśle.- Nazwa bazy danych to ta, którą utworzyliśmy, a nie wymyślona przez Ciebie. Ma prefiks,
s1708_esx, a instalator proponujący własną nazwę proponuje bazę, która nie istnieje. Skopiuj przycisk Nazwa bazy danych.
Jeśli narzędzie nie ma osobnego pola Port, tylko jedno pole adresu, to właśnie tam port ma trafić: 203.0.113.10:3306, adres i port razem.
Złóż swój connection string
Nie musisz składać go ręcznie. Na serwerze FiveM zakładka Bazy danych pokazuje gotową linię dla Twojej pierwszej bazy pod listą, z przyciskiem kopiowania i ikoną oka, która odsłania w niej hasło. Skopiuj ją i przejdź od razu do następnej sekcji.
Jeśli wolisz napisać ją sam: oxmysql czyta jedną convar, mysql_connection_string, i przyjmuje dwa formaty:
set mysql_connection_string "mysql://u1708_esxdemo:[email protected]:3306/s1708_esx"
set mysql_connection_string "user=u1708_esxdemo;password=YourPassword;host=203.0.113.10;port=3306;database=s1708_esx"
Każda wartość pochodzi z własnego przycisku w zakładce Bazy danych: user= z Nazwa użytkownika, password= z Hasło, host= z Host, port= z Port i database= z Nazwa bazy danych. Po drodze nic nie trzeba dzielić ani poprawiać.
Użyj drugiego formatu. Generowane przez nas hasła mieszają litery i cyfry ze znakami ze zbioru ! @ = . + ^, a oxmysql wymienia ; , / ? : @ & = + $ # jako znaki zarezerwowane w connection stringu. Hasło z @, = lub + po cichu psuje format mysql://: parser czyta część hasła jako nazwę hosta, a połączenie kończy się błędem przy danych, które są całkowicie poprawne. Forma user=...;password=... nie ma tej pułapki.
Dodaj to do server.cfg
- Otwórz zakładkę Pliki i kliknij
server.cfg, aby edytować go w przeglądarce. - Umieść connection string powyżej wszystkich linii z resources, a oxmysql uruchom przed frameworkiem:
set mysql_connection_string "user=u1708_esxdemo;password=YourPassword;host=203.0.113.10;port=3306;database=s1708_esx"
ensure oxmysql
ensure es_extended
- Zapisz plik, a potem zrestartuj serwer na górze panelu. Convary są czytane tylko przy starcie, więc zmiana nic nie da, dopóki serwer się nie zrestartuje.

Dwóch rzeczy nie ruszaj. Nasz start przy każdym bootowaniu przepisuje linie endpoint_add_tcp i endpoint_add_udp na przydzielony Ci port, więc ich edycja nie ma sensu. I traktuj server.cfg jak plik z sekretami: leży w nim teraz hasło do bazy obok klucza licencyjnego, więc nigdy nie wklejaj go na kanał supportu na Discordzie bez zamazania obu.
Jeśli włączyłeś txAdmin przyciskiem Włącz txAdmin w Przeglądzie, FXServer nie wykonuje już /home/container/server.cfg bezpośrednio. txAdmin przejmuje start i uruchamia serwer z własnego folderu danych /home/container/txData, więc edytuj ten server.cfg, który leży tam w folderze wdrożenia, albo skorzystaj z edytora CFG wbudowanego w txAdmin. Do panelu webowego wchodzisz przez Otwórz txAdmin w Przeglądzie.
Zainstaluj oxmysql
Najpierw zajrzyj do resources. Recipes ESX i QBCore prawie zawsze zawierają już oxmysql, a druga kopia daje konflikt nazw resources, nie szybszy serwer.
Jeśli go brakuje, pobierz najnowszy release z repozytorium oxmysql, rozpakuj go i wgraj folder oxmysql do katalogu resources z zakładki Pliki. Potem dodaj ensure oxmysql powyżej resources frameworka, jak wyżej. Jeśli w Twojej konfiguracji nadal leżą mysql-async lub ghmattimysql, usuń je: oxmysql udostępnia ich exporty, a uruchomienie obu daje zdublowane query handlery.
Dokumentacja oxmysql opisuje resztę, w tym set mysql_debug true, które wypisuje każde zapytanie w konsoli, oraz set mysql_slow_query_warning 150 do oznaczania wolnych zapytań.
Uwagi o ESX i QBCore
Oba frameworki pytają bazę przez oxmysql, więc jeden connection string obsługuje i framework, i wszystkie resources na nim. Czego żaden z nich nie zrobi za Ciebie, to utworzenie tabel. Te importujesz sam:
- Zainstaluj HeidiSQL lub DBeaver na komputerze.
- Utwórz nowe połączenie MySQL lub MariaDB z adresem i portem z pola Host oraz Nazwa użytkownika i Hasło z zakładki Bazy danych. Tworzony przez nas użytkownik może łączyć się z dowolnego adresu, więc klient na Twoim domowym łączu zadziała bez dodatkowej konfiguracji.
- Wybierz swoją bazę, otwórz plik
.sqlframeworka i wykonaj go.
Dla ESX to plik SQL z es_extended plus to, co dorzuca każdy addon. Zobacz dokumentację ESX. Dla QBCore najpierw importujesz dump z qb-core, a potem pliki poszczególnych resources, tak jak opisuje dokumentacja QBCore. Zaimportuj schemat przed pierwszym startem z włączonym frameworkiem, inaczej konsola zapełni się błędami o brakujących tabelach.
Jedna rzecz warta uwagi przy kopiach zapasowych: kopie z panelu archiwizują pliki serwera, a nie bazę MySQL. Przed dużą aktualizacją frameworka albo wipe'em wyeksportuj dump .sql swoim klientem.
Częste problemy
Failed to connect albo odmowa dostępu przy starcie. W dziewięciu przypadkach na dziesięć w stringu nadal jest localhost. W kontenerze gry nie działa żaden serwer MySQL, więc hostem musi być adres z zakładki Bazy danych.
Access denied for user root. Na serwerze baz danych nie ma loginu root. Skopiuj przycisk Nazwa użytkownika, który daje Ci u i numer Twojego serwera.
Port trafił tam dwa razy. Narzędzie z własnym polem Port oczekuje w polu hosta samego adresu. Wklejenie tam 203.0.113.10:3306 zostawia port w obu miejscach i nic się nie łączy.
Unknown database. Nazwa w konfiguracji nie jest tą, którą utworzyliśmy. txAdmin i instalatory frameworków proponują własną nazwę bazy, a taka baza nie istnieje. Skopiuj zamiast tego przycisk Nazwa bazy danych.
Dane są poprawne, a logowanie i tak się nie udaje. Hasło zawiera @, = lub +, a Ty używasz formatu mysql://. Przejdź na formę user=...;password=...;host=.... Kliknięcie Nowe hasło też może dać czystsze hasło, ale drugi format to pewne rozwiązanie.
Resources startują, zanim convar zostanie ustawiony. oxmysql łączy się w chwili uruchomienia, więc linia set mysql_connection_string musi stać powyżej ensure oxmysql. Używaj set, nie sets ani setr: te rozsyłają wartość do każdego łączącego się gracza.
Po zmianie w konfiguracji nic się nie zmieniło. Zrestartuj serwer. Działający serwer nigdy nie czyta server.cfg ponownie.
Błędy o nieznanych tabelach lub kolumnach. Połączenie działa, ale schemat nigdy nie został zaimportowany albo trafił do złej bazy. Sprawdź w HeidiSQL, że tabele leżą w Twojej bazie z prefiksem, a nie w drugiej, utworzonej ręcznie.
Edytowałeś server.cfg, ale txAdmin jest włączony. txAdmin uruchamia własną kopię w /home/container/txData. Edytuj tę, bo plik, który zmieniłeś, po prostu nigdy nie zostanie odczytany.
Zakładka Bazy danych mówi, że bazy są niedostępne. Twój serwer nie ma miejsca na bazę danych. Napisz do supportu, sprawdzimy usługę.
Następne kroki
Twój framework ma teraz gdzie trzymać dane. Jeśli wciąż jesteś w trakcie konfiguracji, poradnik o kluczu licencyjnym znajdziesz tutaj: jak uzyskać klucz licencyjny FiveM. Wszystkie szczegóły planów, sprzętu i cen są na stronie hosting serwerów FiveM.
