Näin yhdistät tietokannan FiveM-palvelimeesi
Jokainen vakavasti otettava roleplay-framework FiveM:ssä säilyttää datansa MySQL:ssä: hahmot, työt, ajoneuvot, inventaariot ja pankkitilit. DoomHostingin FiveM-palvelimeen kuuluu MySQL-tietokantapaikka, jonka luot itse paneelin Tietokannat-välilehdellä, ja yhdistäminen vie yhden rivin server.cfg-tiedostossa. Tässä oppaassa käydään läpi tietokannan luonti, oxmysql:n odottaman connection stringin kasaaminen, rivin lisääminen asetuksiin ja ESX- tai QBCore-skeeman tuonti.
Mitä tarvitset
- FiveM-palvelin DoomHostingilla, joka jo käynnistyy. Jos se ei vielä lähde käyntiin, aseta ensin lisenssiavain: näin hankit FiveM-lisenssiavaimen.
- oxmysql, se resource, jota jokainen moderni framework käyttää MySQL-yhteyteen. Sekä ESX että QBCore toimittavat sen mukanaan.
- MySQL-asiakasohjelma koneellesi, jos aiot tuoda frameworkin skeeman. HeidiSQL (Windows) ja DBeaver (kaikki alustat) ovat ilmaisia.
Luo tietokanta paneelissa
- Avaa pelipalvelimesi ja klikkaa FiveM-palvelintasi.
- Avaa osiovalikosta kohdan Lisäasetukset alta Tietokannat.
- Klikkaa Uusi tietokanta, kirjoita lyhyt nimi (vain kirjaimia, numeroita ja alaviivoja) ja vahvista.
Luomme tietokannan ja sitä vastaavan käyttäjän, jolle generoidaan salasana. Nimi saa automaattisesti etuliitteen, joten esx-nimisestä tietokannasta tulee jotain tyyliin s1708_esx, ja käyttäjä näyttää tältä: u1708_esxdemo.

Rivillä on kolme tunnuskenttää. Osoite on tietokannan osoite portteineen, Käyttäjätunnus on generoitu käyttäjä ja Salasana on piilossa, kunnes klikkaat silmäkuvaketta. Klikkaa kenttää, niin arvo kopioituu. Oikealla on kaksi painiketta: Uusi salasana vaihtaa salasanan (kaikki vanhaa käyttävä lakkaa toimimasta välittömästi), ja roskakorikuvake poistaa tietokannan ja kaiken sen datan pysyvästi.

Kortin otsikko laskee paikkasi, esimerkiksi 1/1 tietokantaa käytössä. Yksi paikka riittää tavalliseen ESX- tai QBCore-kokoonpanoon, koska framework ja kaikki sen päällä pyörivät resourcet jakavat saman tietokannan. Ota yhteyttä tukeen, jos kokoonpanosi todella tarvitsee toisen.
Hanki connection string
oxmysql lukee yhtä convaria, mysql_connection_string, ja hyväksyy kaksi muotoa:
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"
Poimi neljä arvoa suoraan Tietokannat-välilehdeltä: käyttäjä kohdasta Käyttäjätunnus, salasana kohdasta Salasana, tietokannan nimi rivin otsikosta ja osoite kohdasta Osoite. Osoite-kentässä on jo portti mukana muodossa osoite:portti. URI-muodossa liität sen sellaisenaan @-merkin perään. Avain ja arvo -muodossa jaat sen kaksoispisteen kohdalta: osoite kenttään host= ja portti kenttään port=.
Käytä jälkimmäistä muotoa. Generoimissamme salasanoissa on kirjaimia ja numeroita sekä merkkejä joukosta ! @ = . + ^, ja oxmysql:n dokumentaatio listaa merkit ; , / ? : @ & = + $ # varatuiksi connection stringin sisällä. Salasana, jossa on @, = tai +, rikkoo mysql://-URI:n huomaamatta: jäsennin lukee osan salasanastasi isäntänimeksi ja yhteys epäonnistuu täysin kelvollisilla tunnuksilla. Muodossa user=...;password=... tätä ansaa ei ole.
Lisää se server.cfg-tiedostoon
- Avaa Tiedostot-välilehti ja klikkaa
server.cfg, niin pääset muokkaamaan sitä selaimessa. - Sijoita connection string kaikkien resource-rivien yläpuolelle ja käynnistä oxmysql ennen frameworkia:
set mysql_connection_string "user=u1708_esxdemo;password=YourPassword;host=203.0.113.10;port=3306;database=s1708_esx"
ensure oxmysql
ensure es_extended
- Tallenna tiedosto ja käynnistä palvelin uudelleen paneelin yläreunasta. Convarit luetaan kerran käynnistyksessä, joten muokkaus ei tee mitään ennen uudelleenkäynnistystä.

Kaksi asiaa kannattaa jättää rauhaan. Käynnistyksemme kirjoittaa endpoint_add_tcp- ja endpoint_add_udp-rivit uusiksi varaamaasi porttiin joka käynnistyksellä, joten niiden muokkaaminen on turhaa. Ja käsittele server.cfg-tiedostoa salaisena: siinä on nyt tietokannan salasana lisenssiavaimen vieressä, joten älä koskaan liitä sitä Discordin tukikanavalle peittämättä molempia.
Jos otit txAdminin käyttöön Yleiskatsaus-välilehden Ota txAdmin käyttöön -painikkeesta, FXServer ei enää aja tiedostoa /home/container/server.cfg suoraan. txAdmin omistaa käynnistyksen ja ajaa palvelinta omasta datakansiostaan /home/container/txData, joten muokkaa siellä olevan deployment-kansion server.cfg-tiedostoa tai käytä txAdminin omaa CFG-editoria. Verkkopaneeliin pääset Yleiskatsaus-välilehden Avaa txAdmin -painikkeesta.
Asenna oxmysql
Tarkista ensin resources-kansio. ESX- ja QBCore-reseptit sisältävät oxmysql:n lähes aina valmiiksi, ja toinen kopio aiheuttaa resource-nimien törmäyksen eikä suinkaan nopeampaa palvelinta.
Jos se puuttuu, lataa uusin julkaisu oxmysql-repositoriosta, pura se ja siirrä oxmysql-kansio resources-hakemistoosi Tiedostot-välilehdeltä. Lisää sitten ensure oxmysql frameworkin resource-rivien yläpuolelle kuten yllä. Jos kokoonpanossasi on yhä mysql-async tai ghmattimysql, poista ne: oxmysql tarjoaa samat exportit, ja molempien ajaminen yhtä aikaa tuottaa päällekkäiset kyselykäsittelijät.
oxmysql-dokumentaatio kattaa lisäasetukset, muun muassa komennon set mysql_debug true, joka tulostaa jokaisen kyselyn konsoliin, ja komennon set mysql_slow_query_warning 150, joka merkitsee hitaat kyselyt.
ESX- ja QBCore-huomiot
Molemmat frameworkit tekevät kyselyt oxmysql:n kautta, joten yksi connection string palvelee frameworkia ja jokaista sen päällä pyörivää resourcea. Kumpikaan ei kuitenkaan luo tauluja puolestasi. Ne tuot itse:
- Asenna koneellesi HeidiSQL tai DBeaver.
- Luo uusi MySQL- tai MariaDB-yhteys käyttäen Osoite-kentän osoitetta portteineen sekä Tietokannat-välilehden Käyttäjätunnus- ja Salasana-arvoja. Luomamme käyttäjä saa yhdistää mistä tahansa osoitteesta, joten kotiyhteydessä oleva asiakasohjelma toimii ilman lisäasetuksia.
- Valitse tietokantasi, avaa frameworkin
.sql-tiedosto ja aja se.
ESX:ssä kyseessä on es_extended-SQL-tiedosto sekä se, mitä kukin lisäosa tuo mukanaan. Katso ESX-dokumentaatio. QBCoressa tuo ensin qb-core-dumppi ja sitten resource-kohtaiset tiedostot, kuten QBCore-dokumentaatiossa kerrotaan. Tuo skeema ennen ensimmäistä käynnistystä frameworkin ollessa päällä, muuten konsoli täyttyy käynnistyksessä puuttuvien taulujen virheistä.
Varmuuskopioista kannattaa tietää yksi asia: paneelin varmuuskopiot arkistoivat palvelimesi tiedostot, eivät MySQL-tietokantaa. Vie .sql-dumppi asiakasohjelmastasi ennen isoa framework-päivitystä tai wipeä.
Yleisimmät ongelmat
Failed to connect tai access denied käynnistyksessä. Yhdeksässä tapauksessa kymmenestä stringissä lukee yhä localhost. Pelikonttisi sisällä ei ole MySQL-palvelinta, joten osoitteen on oltava se, joka lukee Tietokannat-välilehdellä.
Tunnukset ovat oikein, mutta tunnistautuminen epäonnistuu silti. Salasanassa on @, = tai + ja käytät mysql://-muotoa. Vaihda muotoon user=...;password=...;host=.... Uusi salasana -painike voi myös antaa siistimmän salasanan, mutta jälkimmäinen muoto on se varma korjaus.
Resourcet käynnistyvät ennen kuin convar on asetettu. oxmysql yhdistää käynnistyessään, joten set mysql_connection_string -rivin on oltava ensure oxmysql -rivin yläpuolella. Käytä komentoa set, älä sets tai setr: ne julkaisevat arvon jokaiselle liittyvälle pelaajalle.
Mikään ei muuttunut asetusten muokkaamisen jälkeen. Käynnistä palvelin uudelleen. Käynnissä oleva palvelin ei koskaan lue server.cfg-tiedostoa uudelleen.
Unknown table- tai column-virheitä. Yhteys toimii, mutta skeemaa ei ole koskaan tuotu tai se tuotiin väärään tietokantaan. Varmista HeidiSQL:ssä, että taulut ovat etuliitteellisen tietokantasi sisällä eivätkä toisessa, jonka loit käsin.
Muokkasit server.cfg-tiedostoa, mutta txAdmin on käytössä. txAdmin ajaa omaa kopiotaan polussa /home/container/txData. Muokkaa sitä, tai muuttamaasi tiedostoa ei yksinkertaisesti lueta koskaan.
Tietokannat-välilehti sanoo, että tietokannat eivät ole käytettävissä. Palvelimellasi ei ole tietokantapaikkaa. Ota yhteyttä tukeen, niin katsomme palvelusi läpi.
Seuraavat askeleet
Frameworkillasi on nyt koti datalleen. Jos olet vielä pystyttämässä palvelinta, lisenssiavainopas löytyy täältä: näin hankit FiveM-lisenssiavaimen. Pakettien tiedot, rauta ja hinnat löytyvät FiveM-palvelimien sivulta.
