ESX ja QBCore tallentavat kaiken MySQL-tietokantaan: hahmot, inventaariot, rahat, ajoneuvot ja työt. Ilman toimivaa tietokantaa ne eivät käynnisty lainkaan. Hyvä uutinen on, että koko yhteys on yksi rivi server.cfg-tiedostossa, ja se kootaan viidestä arvosta, jotka paneeli jo näyttää sinulle. Näin täytät sen ja tuot kehyksen taulut tietokantaan.
Mitä tarvitset
- FiveM-palvelimesi pelipaneelissa
- oxmysql
resources-kansiossa (ESX ja QBCore joko sisältävät sen tai vaativat sen) - Kehyksesi mukana tulleet SQL-tiedostot, jos et asenna txAdmin-reseptillä
Vaihe 1: luo tietokanta
Avaa palvelimesi pelipaneelissa ja valitse valikosta Tietokannat. Napsauta Uusi tietokanta, kirjoita lyhyt nimi, kuten qbcore tai esx (vain kirjaimia, numeroita ja alaviivoja), ja vahvista.
Paneeli lisää nimeen etuliitteen, joten qbcore muuttuu esimerkiksi muotoon s1234_qbcore. Tietokannan käyttäjä saa saman etuliitteen, joten ne näyttävät lähes samanlaisilta. Niiden sekoittaminen keskenään on klassinen virhe.
Jos näet vain ilmoituksen Tietokannat eivät käytettävissä, palvelimella ei ole tietokantapaikkaa. Ota yhteyttä tukisivun kautta, niin selvitämme asian.
Vaihe 2: sijoita paneelin kentät yhteysmerkkijonoon
Jokainen listan tietokanta näyttää viisi arvoa, ja jokaisella on oma kopiointipainike. Ne sijoittuvat näin:
| Paneelin kenttä | URI-muodossa | key=value-muodossa |
|---|---|---|
| Tietokannan nimi | /-merkin jälkeen |
database= |
| Host | @- ja :-merkkien välissä |
host= |
| Portti | :-merkin jälkeen |
port= |
| Käyttäjänimi | ennen :-merkkiä |
user= |
| Salasana | :- ja @-merkkien välissä |
password= |
Näillä neljällä säännöllä vältät ongelmat:
- Host on pelkkä osoite. Paneeli näyttää portin omassa kentässään. Älä liitä hostin paikalle muotoa
osoite:3306, muuten portti päätyy merkkijonoon kahdesti. - Ei koskaan
localhosttai127.0.0.1. Tietokantasi toimii erillisellä tietokantapalvelimellamme eikä pelipalvelimen sisällä. Ohjeissa käytetäänlocalhost-osoitetta, koska niissä oletetaan MySQL:n pyörivän samalla koneella kuin FXServer. - Ei koskaan
root. Vain paneelin näyttämällä käyttäjänimellä voi kirjautua. - Käytä tarkkaa nimeä etuliitteineen. Asennusohjelmat ehdottavat nimiä kuten
es_extendedtaiqbcore, joita tililläsi ei ole. Kopioi Tietokannan nimi paneelista.
Vaihe 3: lisää rivi server.cfg-tiedostoon
Nopea tapa
FiveM-palvelimella Tietokannat-välilehti näyttää listan alla ylimääräisen kortin nimeltä oxmysql yhteysmerkkijono. Siinä on valmis set mysql_connection_string "..." -rivi ensimmäiselle tietokannallesi, ja se on siinä muodossa, joka välittää salasanasi turvallisesti. Käytä kortin kopiointipainiketta: se kopioi oikean salasanan, vaikka näytöllä näkyisi vain pisteitä.
Käsin kirjoittaminen
oxmysql hyväksyy kaksi muotoa. URI-muoto näyttää tältä:
set mysql_connection_string "mysql://KAYTTAJANIMI:SALASANA@HOST:PORTTI/TIETOKANTA?charset=utf8mb4"
key=value-muoto sisältää täsmälleen samat tiedot:
set mysql_connection_string "user=KAYTTAJANIMI;password=SALASANA;host=HOST;port=PORTTI;database=TIETOKANTA;charset=utf8mb4"
Korvaa jokainen paikkamerkki taulukon vastaavalla arvolla. charset=utf8mb4 on vapaaehtoinen, mutta pidä se mukana, jotta pelaajanimet, joissa on ä, ö tai muita erikoismerkkejä, tallentuvat oikein.
Missä server.cfg on ja mihin rivi kuuluu
Avaa Tiedostot-välilehti. Oletusasennuksessa server.cfg on pääkansiossa resources-kansion vieressä, ja palvelin lataa sen jokaisella käynnistyksellä.
Järjestyksellä on väliä. oxmysql lukee asetuksen kerran, heti käynnistyessään, joten tiedoston on näytettävä ylhäältä alas tältä:
set mysql_connection_string "..."
ensure oxmysql
ensure es_extended
Ensin yhteysmerkkijono, sitten ensure oxmysql ja sen jälkeen kehyksesi (QBCoressa qb-core eikä es_extended). Jos rivi on ensure oxmysql -rivin alapuolella, se luetaan liian myöhään.
Jos olet ottanut txAdminin käyttöön palvelinsivusi painikkeella Ota txAdmin käyttöön, palvelin ei enää lataa tätä tiedostoa. txAdmin käynnistää palvelimen silloin oman server data -kansionsa server.cfg-tiedostolla. Napsauta Avaa txAdmin ja lisää rivi sen CFG Editorissa, muuten muutos ei koskaan päädy käynnissä olevalle palvelimelle.
Vaihe 4: käynnistä uudelleen ja tarkista konsoli
Käynnistä palvelin uudelleen paneelista. Täysi uudelleenkäynnistys on pakollinen, koska asetus luetaan vain palvelimen käynnistyessä. Pelkän oxmysql-resurssin uudelleenkäynnistys ei riitä.
Seuraa Konsoli-välilehteä käynnistyksen aikana. Kun kaikki toimii, oxmysql ilmoittaa yhteyden muodostuneen ja kertoo tietokantapalvelimen version, ja kehyksesi latautuu ilman SQL-virheitä. Kun jokin on vialla, virhe näkyy muutamassa sekunnissa ja vastaa jotakin alla olevista tapauksista.
ESX:n tai QBCoren SQL-tiedostojen tuonti
Kehys olettaa, että sen taulut ovat jo olemassa, joten SQL-tiedostot on tuotava kerran.
txAdmin-reseptillä. txAdminin recipe deployer kysyy tietokannan tietoja asennuksen aikana. Syötä paneelista host, portti, käyttäjänimi ja salasana, ja vaihda ehdotettu tietokannan nimi omaan etuliitteelliseen nimeesi. Sen jälkeen deployer ajaa SQL-tiedostot ja kirjoittaa yhteysmerkkijonon puolestasi.
Käsin. Paneelissa ei ole omaa SQL-tuontityökalua, joten käytä MySQL-asiakasohjelmaa omalla tietokoneellasi. Sekä HeidiSQL että DBeaver toimivat: luo MySQL-yhteys paneelin viidellä arvolla ja aja sitten .sql-tiedosto tietokantaasi. Komentoriviltä se näyttää tältä:
mysql -h HOST -P PORTTI -u KAYTTAJANIMI -p TIETOKANTA < es_extended.sql
Avaa SQL-tiedosto tekstieditorissa ennen tuontia. Jotkin kehysten tiedostot alkavat riveillä CREATE DATABASE ja USE, jotka viittaavat niiden omaan tietokannan nimeen. Poista nämä rivit, muuten tuonti yrittää käyttää tietokantaa, johon sinulla ei ole oikeuksia, ja epäonnistuu.
Tuo ensin kehyksen päätiedosto ja sen jälkeen kunkin lisäresurssin mukana tulevat SQL-tiedostot.
Vianmääritys
Access denied for user. Käyttäjänimi tai salasana ei täsmää. Yleensä syynä on kirjoitusvirhe, salasana, joka on vaihdettu Uusi salasana -painikkeella asetusten kirjoittamisen jälkeen, tai erikoismerkit, jotka rikkovat rivin. Kaikki vaihtoehdot käydään läpi ohjeessa oxmysql Access denied -virheen korjaus.
connect ECONNREFUSED tai ETIMEDOUT. oxmysql ei tavoita tietokantaa, joten kyse on osoiteongelmasta eikä salasanaongelmasta. Käytä paneelin hostia äläkä localhost- tai 127.0.0.1-osoitetta, ja tarkista, että portti on oikein ja esiintyy vain kerran.
Unknown database. Tietokannan nimestä puuttuu etuliite, tai käyttäjänimi on päätynyt tietokannan nimen paikalle. Kopioi Tietokannan nimi paneelista uudelleen.
Erikoismerkit salasanassa. Monet ohjeet neuvovat URL-koodaamaan symbolit URI-muodossa, jolloin @ muuttuu muotoon %40. oxmysqlin kanssa näin ei pidä tehdä: se ei pura koodausta, joten %40 lähetetään osana salasanaa ja kirjautuminen epäonnistuu. Liitä salasana täsmälleen sellaisenaan tai kopioi rivi kortilta, joka käyttää jo muotoa, johon salasanasi sopii. Jos kortilla näkyy sen sijaan varoitus, napsauta Luo uusi salasana.
Table doesn't exist. oxmysql saa yhteyden, mutta ESX tai QBCore ilmoittaa puuttuvista tauluista. SQL-tiedostoja ei ole tuotu, tai ne ovat päätyneet toiseen tietokantaan. Tuo ne yllä kuvatulla tavalla.
Eilen se vielä toimi. Joku on napsauttanut tietokannan Uusi salasana -painiketta. Vanha salasana lakkaa toimimasta heti, joten kopioi uusi rivi server.cfg-tiedostoon ja käynnistä palvelin uudelleen.
Etkö pääse eteenpäin? Avaa tukipyyntö tukisivulta ja kerro palvelimesi nimi sekä konsolin virheilmoitus ilman salasanaa. Etsitkö vielä palvelinta? Tutustu FiveM-palvelinpaketteihimme.