Hoe stel je txAdmin in op je FiveM-server

Je server wordt gedeployd met txAdmin dat draait en de gameserver bewust tegengehouden. Vijf stappen in de wizard brengen hem online, en één daarvan, de databaseverbinding, is waar bijna iedereen stopt, omdat de velden achter een knop verborgen zijn. De knop en de waarden staan op deze pagina.

Eerst: een offline server is hier normaal

Een verse FiveM-deploy start alleen txAdmin en verder niets. De gamepoort blijft bewust stil totdat je het admin-account hebt geclaimd, een licentiesleutel hebt toegevoegd en een serverbuild hebt gekozen, omdat een FiveM-server zonder die drie niet kan starten. Dus de eerste paar minuten na het deployen is het dashboard dat de server als nog niet accepterend spelers toont de verwachte staat en geen storing.

Het dashboard zegt het al: de servertegel wordt oranje met Actie vereist: rond de installatie af in txAdmin, en als je erop klikt krijg je de txAdmin-link en de PIN die hieronder wordt beschreven. Niets op deze pagina vereist een supportticket.

De vijf stappen

1. Open txAdmin

Je hoeft geen adres te zoeken. In je dashboard opent de oranje banner op de servertegel een paneel met een Open txAdmin-knop, en dezelfde knop staat op het tabblad Players zodra je op Manage klikt. Hij verwijst naar het eigen txAdmin-domein van je server, dat blijft werken na een failover omdat het altijd resolvet naar de instantie die momenteel primary is. Daarom linken we ernaar in plaats van een node-IP af te drukken: een IP is correct tot de dag dat hij dat niet meer is.

2. Claim het admin-account met de PIN

Bij de eerste keer opstarten vraagt txAdmin om een PIN die hij alleen naar de serverconsole print, en vraagt je daarna een hoofdbeheerdersgebruikersnaam en wachtwoord voor het paneel zelf aan te maken. Op een managed server zie je die console normaal gesproken niet, dus het dashboard leest de PIN uit het containerlogboek en toont hem in hetzelfde paneel als de txAdmin-knop, klaar om te kopiëren.

De master admin-login is niet je Flux-account, niet je Cfx.re-account en niet het databasewachtwoord. Het is een derde inloggegeven, het is de weg terug naar je paneel, en niemand kan het voor je resetten. Bewaar het voordat je verder gaat. Als de PIN verlopen is tegen de tijd dat je hem gebruikt, herstart je de server vanuit het dashboard en wordt er een nieuwe afgedrukt.

3. Kies een serverbuild

De wizard biedt daarna een recipe of een bestaande server aan. Een recipe zoals qbcore, qbox of ESX downloadt het framework, zijn resources en zijn SQL-schema en importeert het schema in je database, wat de snelste route naar een werkende roleplayserver is. Kies er een en txAdmin toont die op een scherm genaamd Stap 1: recipe controleren. Ga door, en je komt bij Stap 2: invoerparameters, waar de volgende twee stappen gebeuren.

4. Voeg je cfx.re-licentiesleutel toe

Het eerste veld op Input Parameters is Serverregistratiesleutel. Genereer er gratis een op portal.cfx.re en plak de cfxk_-waarde. De sleutel is uitgegeven aan je account en niet aan ons, en dat is de reden dat de server van jou is om te verhuizen; de deployment zet NO_LICENSE_KEY=1 zodat hij hier wordt aangeleverd en niet in de app wordt ingebakken. Als je de sleutel ooit opnieuw genereert, kun je hem later wijzigen zonder de wizard opnieuw te doorlopen: het is een veld in het tabblad Server Settings van het beheerpaneel.

5. Open de databaseopties en verbind de database

Dit is de stap die de meeste supporttickets oplevert, omdat de databasevelden verborgen zijn. Direct onder de sleutel staat een grijze knop, Databaseopties tonen/verbergen (geavanceerd). Klik erop. Pas dan verschijnen de velden Database Host, Port, Username, Password en Name. Als je de knop overslaat, draait het recipe met de standaardwaarden van txAdmin en mislukt de databaseverbinding.

De velden zijn vooraf ingevuld, met localhost als host en 3306 als poort. Die standaardwaarden kloppen niet op deze server. Vervang wat er in elk veld staat door deze waarden:

VeldWaarde
Hostoperator
Port3307
Usernameroot
PasswordMYSQL_ROOT_PASSWORD
Databasefivem

Host is de sync-operator en niet de databasecontainer, het wachtwoord is het wachtwoord dat je bij het deployen hebt gekozen, en de database zelf wordt leeg voor je aangemaakt voordat de server start.

Het wachtwoord staat in het beheerpaneel onder Deploy-instellingen, als MYSQL_ROOT_PASSWORD, met een onthul-knop en een kopieerknop. Het paneel drukt ook deze vier vaste waarden af op een kaartje ernaast, zodat je ze rechtstreeks in txAdmin kunt kopiëren zonder hier terug te komen.

Twee gokken zijn het noemen waard omdat beide fout zijn en beide juist lijken. Host is niet localhost: txAdmin en de database zijn aparte containers. Host is ook niet mariadb, ook al is er een component met die naam. Alles gaat via de operator, en die repliceert elke schrijfactie naar de andere instanties; rechtstreeks naar één MariaDB schrijven zou je stad laten desyncen en die verloren laten gaan bij een failover.

Voer dan het recipe uit. txAdmin downloadt de FiveM-artifact, importeert het schema, schrijft server.cfg en start de server, en je dashboard wordt binnen een paar minuten groen. Als je in plaats van een recipe een bestaande server hebt gekozen, zijn er geen databasevelden in te vullen: stel de verbinding in je server.cfg in, zoals hieronder in de vragen wordt getoond.

Als txAdmin meldt dat het niet kan verbinden

Controleer eerst de host en de poort, want localhost en mariadb zijn de gebruikelijke gokken en geen van beide werkt. Als die kloppen, is het een wachtwoordfout. De database wordt ingericht met MYSQL_ROOT_PASSWORD en de operator authenticeert met DB_INIT_PASS, en die twee moeten identiek zijn, anders kan de database hoe dan ook niet initialiseren. Het paneel houdt ze daarvoor aan elkaar gekoppeld: het bewerken van de ene herschrijft de andere, en het veld is als gekoppeld gemarkeerd, zodat het gedrag er niet uitziet als een formulier dat je invoer weigert. Wat je in txAdmin typt moet precies die waarde zijn.

Later weer inloggen

Na de wizard is txAdmin het dagelijkse paneel: live console, resources, bans, de CFG-editor en geplande herstarts. Dezelfde knop Open txAdmin brengt je er naartoe, en je logt in met het hoofdbeheerdersaccount uit stap 2. Het dashboard houdt de laag eronder bij: herstarts en redeploys, de bestandsbrowser, hardware, de databasegezondheid over nodes heen en backups.

Nog niet gedeployd?

txAdmin op een eigen adres, de database aangemaakt en verbonden voordat de eerste resource laadt, en beide poorten gepubliceerd zonder firewall die je moet aanraken. Eerste week gratis als je Flux-account nieuw is.

Veelgestelde vragen

Wat vul ik in bij de txAdmin-databaseinstellingen?

Klik eerst op Databaseopties tonen/verbergen (geavanceerd) op het scherm Input Parameters, onder de registratiesleutel, want de velden zijn verborgen totdat je dat doet. Vervang daarna de vooraf ingevulde waarden door host operator, poort 3307, gebruikersnaam root, database fivem, en het MYSQL_ROOT_PASSWORD dat je bij het deployen hebt gekozen. txAdmin vindt de operator niet zelf. Het wachtwoord wordt onthuld en gekopieerd vanuit Deploy-instellingen in het beheerpaneel.

Waarom is mijn FiveM-server offline direct na het deployen?

Omdat het nog niet is ingesteld, en dat is bewust zo. De deployment draait zonder standaardconfiguratie en zonder licentiesleutel, dus txAdmin komt op een eigen adres online en de gamepoort blijft stil totdat je het admin-account hebt geclaimd, je cfx.re-sleutel hebt toegevoegd en een serverbuild hebt gedeployd. Hij gaat een paar minuten na het afronden van de wizard online.

Waar vind ik de txAdmin-PIN?

In je dashboard. txAdmin print hem alleen naar de serverconsole, dus het dashboard leest hem uit het containerlogboek en toont hem, klaar om te kopiëren, naast de knop Open txAdmin. Als hij is verlopen, herstart je de server en wordt er een nieuwe afgedrukt.

Kan ik in plaats daarvan rechtstreeks verbinden met MariaDB?

Nee, en het is goed om te weten waarom. Elke schrijfactie moet via de operator op poort 3307, die die vervolgens naar je andere instanties repliceert. Iets rechtstreeks naar een MariaDB-container laten wijzen schrijft naar slechts één machine, en die data verlies je de volgende keer dat de primary verandert.

Moet ik een recipe zoals qbcore of ESX gebruiken?

Nee. Een recipe is de snelste route omdat hij het SQL-schema van het framework voor je in je database importeert, maar de lege optie is er voor wie een bestaande build meeneemt. Je kunt hoe dan ook resources uploaden via de bestandsbrowser en daarna een SQL-dump importeren.

Geen enkele resource kan de database bereiken: “mysql_connection_string structure was invalid”

Je database-wachtwoord bevat een teken dat in een URL moet worden gepercent-encodeerd, zoals @, % of ^, waardoor de mysql://-string die oxmysql bouwt geen geldige URI is en niets verbindt. Je hoeft het wachtwoord niet te wijzigen of iets opnieuw te bouwen: zet in plaats daarvan de puntkomma-vorm in server.cfg, omdat die letterlijk wordt gelezen in plaats van als URL te worden ontleed. Gebruik set mysql_connection_string "server=operator;port=3307;user=root;password=YOUR_PASSWORD;database=fivem" met het wachtwoord uit Deploy-instellingen, en herstart. Servers die vanaf nu worden gedeployd krijgen een wachtwoord dat veilig is in een URL, dus dit geldt alleen voor oudere servers, en het dashboard markeert ze op de servertegel met beide oplossingen: deze, en een begeleid regenerate-and-rebuild voor een installatie zonder data die je wilt bewaren.

De recipe wordt niet afgerond: “Duplicate entry ‘1’ for key ‘PRIMARY’”

De database is al gevuld vanuit een eerdere installatie, dus de seeddata van het recipe botst met wat er staat. txAdmin’s “Delete Database” haalt dat vaak niet weg, omdat hij de sync-operator niet aanraakt. Open de server in je dashboard en gebruik de knop Reset database in de paneelkop: die leegt de database over al je nodes heen, terwijl je serverbestanden en txAdmin-instelling behouden blijven, zodat je het recipe opnieuw schoon kunt draaien. Het wist alle spelgegevens. Normaal gesproken is dit een installatie die nog niets heeft opgeslagen, maar als je wel data hebt, maak dan eerst een SQL-dump (de eigen backup van de sync-operator), want de volumebackup kan een live database niet herstellen.

Ik ben mijn txAdmin-hoofdbeheerderswachtwoord kwijt. Kun je het resetten?

Niet van onze kant: dat account leeft binnen txAdmin op je server en niet in onze facturering of ons dashboard, dus wij hebben niets om te resetten. Het is terug te halen vanaf de server zelf, en het beheerpaneel geeft je de console en de bestandsbrowser die je nodig hebt. Open een supportticket en we begeleiden je erdoorheen, want het is geen reden om opnieuw te deployen en de stad te verliezen.