RE:NODE

Průvodce txAdminem: admini, restarty, bany a zálohy

Text: Tým RE:NODE
18 min čtení


txAdmin je webový panel zabudovaný v každém artefaktu FXServeru: spusť server bez +exec server.cfg, otevři port 40120, zadej PIN vypsaný v konzoli a máš master účet, který ovládá server, jeho restarty, databázi hráčů i adminy. Většina serverů tím končí a využívá z něj desetinu. O tom, jestli komunita kolem FiveM přežije první rok, rozhodují ty nudné části: admin účty s úzkými oprávněními, plán restartů s upozorněními, bany, které sedí na hardware a ne jen na jména, zálohovaná složka txData a webový panel, který není otevřený celému internetu se slabým heslem.

Tento průvodce počítá s tím, že server už existuje. Získání licenčního klíče, instalace FXServeru a psaní server.cfg najdeš v článku jak nastavit FiveM server s txAdminem. Tady jde o samotný txAdmin, stránku po stránce, s nastaveními, na kterých záleží, a s chybami, které lidi stály jejich seznam banů.

Co txAdmin je a kam patří#

txAdmin není resource ani samostatný program. Od začátku roku 2020 se dodává uvnitř FXServeru, a když FXServer startuje bez konfigurace ke spuštění, spustí místo ní txAdmin, který pak FXServer odstartuje jako podřízený proces s tvou konfigurací. Právě to je smysl celého uspořádání: txAdmin stojí mimo herní server, takže pozná, že se server zasekl nebo spadl, zabije ho, znovu ho spustí a vede si záznam o každém hráči napříč restarty.

Co všechno umí, v jednom seznamu:

  • Nasazuje servery z receptů, včetně kompletní instalace frameworku s databází.
  • Restartuje server podle plánu s upozorněními ve hře a automaticky po pádu nebo zaseknutí.
  • Vede vlastní databázi hráčů, a to jako soubor, ne v MySQL, s identifikátory, odehraným časem, poznámkami, varováními a bany.
  • Whitelistuje podle členství na Discordu, role na Discordu, schválené licence nebo jen pro adminy.
  • Provozuje Discord bota s živým stavovým embedem a příkazem pro whitelist.
  • Ukazuje živou konzoli, grafy CPU a paměti, graf délky ticku a log aktivity serveru.
  • Nabízí menu ve hře (/tx) pro adminy: NoClip, teleport, spectate, freeze, heal, nástroje pro vozidla, bany a varování.
  • Upravuje `server.cfg` v prohlížeči, s validátorem.

Nenahrazuje oprávnění ACE. Admin v txAdminu řídí webový panel a menu ve hře; ACE řídí příkazy a resources ve hře. Jsou to dva oddělené systémy a průvodce oprávněními přes Discord vysvětluje, jak je propojit.

První spuštění, PIN a master účet#

Při prvním startu txAdmin vytvoří svou datovou složku, naváže se na TCP 40120 a vypíše čtyřmístný PIN a adresu k otevření:

code
[txAdmin] Use the PIN below to register:[txAdmin]     1234[txAdmin] Open http://203.0.113.10:40120/ in your browser.

PIN je jediné, co stojí mezi světem a vlastnictvím tvého serveru, dokud neexistuje účet. Kdokoli, kdo se dostane na port 40120 a přečte ten PIN, může převzít master účet, takže registraci udělej hned a nenechávej čerstvý server přes noc na úvodní obrazovce.

Registrace nabízí dvě cesty: propojit účet Cfx.re (ten, který používáš na fóru a v keymasteru), nebo vytvořit uživatelské jméno a heslo. Pro master účet je lepší propojení s Cfx.re, protože txAdmin tím dostane i tvůj identifikátor FiveM, který menu ve hře potřebuje, aby tě poznalo. Záložní heslo můžeš k účtu nastavit i dodatečně.

Účet vytvořený tady je master. Je právě jeden. Má všechna oprávnění, ostatní admini ho nemohou odstranit a je to jediný účet, který smí upravovat oprávnění ostatních adminů, aniž by sám měl all_permissions nebo manage.admins. Ber ho jako root heslo: jeden člověk, silné přihlašovací údaje, nikdy sdílené.

Po registraci přijde průvodce nastavením. Pojmenuješ server a vybereš typ nasazení: oblíbený recept, URL vzdáleného receptu, vlastní vložený recept, nebo existující data serveru (složku server-data, kterou už máš). Přesné popisky se napříč verzemi měnily, ale tyto čtyři cesty zůstaly stabilní. U existujícího serveru ukaž na složku a na její server.cfg a txAdmin to od té chvíle převezme.

Ztracený master účet

Pokud se ztratí heslo k masteru a není propojený žádný účet Cfx.re, bývá obnova drsná. Zastav server, smaž txData/admins.json (kopii si nech) a spusť ho znovu; txAdmin nenajde žádné adminy, vypíše nový PIN a ty zaregistruješ nový master. S tím souborem zmizí všechny ostatní admin účty, takže je potom vytvoříš znovu. Server nejdřív zastav: txAdmin drží seznam adminů v paměti a zapisuje ho zpět, takže úpravy souboru za běhu se přepíšou. Hlášení na fóru Cfx.re naznačují, že se to nechovalo ve všech verzích stejně, takže pokud to nefunguje, jak je popsáno, zkontroluj aktuální dokumentaci txAdminu.

Admini a oprávnění#

Každý moderátor by měl mít vlastní účet v txAdminu. Sdílená přihlášení ničí to, v čem je txAdmin opravdu dobrý: log akcí, který říká, kdo koho zabanoval, kdo restartoval server v sobotu ve 21:00 a kdo spustil příkaz v konzoli.

Adminy vytváří na stránce Admins master nebo kdokoli s manage.admins. Každý účet dostane jméno, volitelně propojené ID Cfx.re a Discordu a sadu oprávnění. ID oprávnění tak, jak je txAdmin ukládá:

OprávněníUmožňuje
all_permissionsVše; přebíjí ostatní
manage.adminsVytvářet, upravovat a mazat adminy
settings.viewČíst nastavení (tokeny skryté)
settings.writeMěnit nastavení
console.viewČíst živou konzoli
console.writePosílat příkazy do konzole
control.serverSpustit, zastavit a restartovat
commands.resourcesSpouštět a zastavovat resources
server.cfg.editorČíst a zapisovat server.cfg
announcementPosílat oznámení
txadmin.log.viewČíst log akcí txAdminu
server.log.viewČíst log aktivity serveru

A oprávnění pro hráče a menu:

OprávněníUmožňuje
players.warn / players.kickVarovat nebo vyhodit
players.banBanovat a odbanovat
players.whitelistSchvalovat žádosti o whitelist
players.direct_messageNapsat hráči zprávu
players.spectate / players.freezeSledovat nebo zmrazit
players.teleportTeleportovat sebe nebo ostatní
players.healVyléčit sebe nebo všechny
players.playermodeNoClip, god mode, super jump
players.trollTroll menu
players.remove_idsOdebrat hráči ID nebo HWID
menu.vehicleVytvářet a opravovat vozidla
menu.clear_areaResetovat oblast světa
menu.viewidsZobrazit ID hráčů ve hře

Oprávnění se ukládají do txData/admins.json. Rozumné rozdělení pro roleplay server:

  • Zkušební moderátoři: players.warn, players.kick, players.direct_message, players.spectate, menu.viewids. Stačí na vyřešení problému v danou chvíli, nestačí na vytvoření trvalého.
  • Moderátoři: vše výše plus players.ban, players.whitelist, players.freeze, players.teleport, players.heal, players.playermode a server.log.view, aby si mohli před zásahem ověřit, co se stalo.
  • Administrátoři: vše výše plus control.server, commands.resources, announcement, console.view a settings.view.
  • Vývojáři: console.view, console.write, commands.resources, server.cfg.editor. Vývojáři jen zřídka potřebují někoho banovat.

Dvě oprávnění vyžadují opatrnost. console.write je prakticky plná kontrola: konzole serveru umí zastavit resources, měnit convary a spustit cokoli, co resource zpřístupní jako příkaz. server.cfg.editor umí změnit licenční klíč, připojovací řetězec k databázi i seznam ACE, takže může komukoli přidělit oprávnění ve hře. Tato dvě dej lidem, kterým bys svěřil i master heslo. players.troll je zábava zhruba týden a pak se z něj stane předmět stížnosti; většina seriózních serverů ho nechává vypnuté všem.

Aby menu ve hře fungovalo, musí mít účet admina propojený identifikátor Discordu nebo Cfx.re. Bez něj /tx pro dotyčného nedělá nic, což je zdaleka nejčastější hlášení typu „menu je rozbité“. Obecný argument pro úzký přístup je stejný jako v článku subusery a nejmenší oprávnění.

Recepty a deployer#

Recept je soubor YAML, který deployeru říká, jak server postavit: co stáhnout, kam to dát, jaké SQL spustit a co zapsat do server.cfg. Oblíbené recepty v průvodci nastavením (cfx-default, ESX, QBCore a další) jsou udržované ve veřejném repozitáři a vlastní recept si můžeš napsat pro server, který často stavíš znovu.

recipe.yaml
$engine: 3$minFxVersion: 5181$onesync: onname: Longship baseversion: 1.0.0author: Longship staffdescription: Default resources plus our own core pack.tasks:  - action: download_github    src: https://github.com/citizenfx/cfx-server-data    subpath: resources    dest: ./resources/[cfx-default]  - action: download_file    url: https://example.com/longship-core.zip    path: ./tmp/core.zip  - action: unzip    src: ./tmp/core.zip    dest: ./resources/[core]  - action: connect_database  - action: query_database    file: ./resources/[core]/install.sql  - action: write_file    file: ./server.cfg    data: |      endpoint_add_tcp "{{serverEndpoints}}"      endpoint_add_udp "{{serverEndpoints}}"      sv_maxclients {{maxClients}}      sv_licenseKey "{{svLicense}}"      set mysql_connection_string "{{dbConnectionString}}"      ensure [cfx-default]      ensure [core]  - action: remove_path    path: ./tmp

Hodnoty $engine, $minFxVersion a čísla buildů výše jsou ilustrační; aktuální hodnoty vezmi z dokumentace receptů v repozitáři txAdminu. Akce úloh jsou pevná sada: download_github, download_file, unzip, move_path, copy_path, remove_path, ensure_dir, write_file, replace_string, connect_database, query_database a load_vars. Proměnné jako {{svLicense}}, {{dbConnectionString}}, {{serverEndpoints}} a {{maxClients}} se doplňují z toho, co zadáš do deployeru.

Recepty jsou uzavřené ve složce nasazení, takže recept nemůže přepsat admins.json ani nic jiného mimo ni. To omezuje škody, ale recept od cizího člověka z toho bezpečným nedělá: pořád stahuje a spouští všechny resources, které uvede, a ty běží s plným přístupem na straně serveru. Cizí recept si před nasazením přečti stejně, jako bys četl resource. Recept je výchozí bod, ne volba frameworku; o tom, který chceš, rozhodneš v porovnání frameworků.

Pokud nasazení selže v půlce, obvyklými příčinami jsou limit požadavků na GitHubu (recepty s mnoha úlohami download_github by měly zafixovat ref), databáze, ke které se deployer nedostane, nebo odkaz ke stažení, který se přesunul. Log deployeru pojmenuje selhanou úlohu; odstraň příčinu a nasaď znovu do prázdné složky.

Živá konzole a log serveru#

Stránka Live Console je výstup samotného FXServeru v prohlížeči s příkazovým řádkem, historií a hledáním. Cokoli, co můžeš napsat do terminálu FXServeru, funguje i tady: ensure myresource restartuje jeden resource, refresh načte novou složku s resourcem, status ukáže připojené hráče. Každý odeslaný příkaz se zapíše do logu akcí k adminovi, který ho poslal.

Log serveru je jiná stránka a jiná věc: časová osa připojení, odpojení, úmrtí, chatu, explozí a akcí adminů. Když se někdo odvolává proti banu, tady zjistíš, co se před banem stalo, a proto se vyplatí dát server.log.view moderátorům, kteří bany udělují.

Graf výkonu na dashboardu ukazuje, jak dlouho trvá hlavnímu vláknu serveru jeden tick, po intervalech, vedle počtu hráčů. Je to nejrychlejší způsob, jak rozeznat problém s resourcem od problému s kapacitou, což je podrobně v průvodci resmonem a výkonem. Obecnou dovednost vybrat z šumu důležité řádky popisuje článek čtení konzole.

Plánované restarty a zpracování pádů#

FXServer a frameworky nad ním nejsou stavěné na to, aby běžely týdny. Paměť roste, počty entit se rozjíždějí a restart každých pár hodin je na každém vytíženém roleplay serveru běžná praxe. Nastavení Restarter v txAdminu bere seznam časů ve 24hodinovém formátu HH:MM:

code
Restart schedule: 06:00, 14:00, 22:00

Časy jsou v časovém pásmu hostitelského stroje, které u pronajatého serveru často není tvoje. Než plánu uvěříš, zkontroluj hodiny zobrazené na dashboardu txAdminu. Před každým plánovaným restartem txAdmin oznámí restart ve hře 30, 15, 10, 5, 4, 3, 2 a 1 minutu předem a ve stejných okamžicích spustí událost txAdmin:events:scheduledRestart s hodnotou secondsRemaining. Frameworky a inventářové resources na tuto událost a na txAdmin:events:serverShuttingDown poslouchají a před koncem procesu uloží data hráčů, a proto je restart přes txAdmin bezpečný a zabití zvenčí ne.

lua
AddEventHandler('txAdmin:events:scheduledRestart', function(data)  if data.secondsRemaining == 60 then    -- zbývá minuta: ulož všechny hned    TriggerEvent('longship:saveAllPlayers')  endend)

Admin může z dashboardu přeskočit nejbližší plánovaný restart, když se akce protáhne; přeskočení se oznámí přes txAdmin:events:scheduledRestartSkipped. Časy restartů vol kolem špičky, ne uprostřed ní. Jak je zvolit, rozebírá článek plány restartů, které pomáhají.

Zpracování pádů je automatické. Pokud FXServer skončí, txAdmin ho spustí znovu. Pokud server přestane odpovídat (hlavní vlákno zablokované, heartbeat tichý), txAdmin ho po časovém limitu zabije a restartuje. Pokud se server opakovaně restartuje kvůli zaseknutí, limit nezvyšuj: něco blokuje hlavní vlákno na celé sekundy a opravou je to najít profilováním.

Na RE:NODE umí záložka Schedules v panelu spouštět zálohy a power akce podle výrazu cron. U FiveM nech restarty na txAdminu a plán z panelu použij pro noční zálohu, načasovanou pár minut po restartu txAdminu, kdy je databáze v klidu.

Hráči, varování a bany#

txAdmin eviduje každého hráče, který se připojí, ke každému identifikátoru, který klient nabídne: license, discord, fivem, steam (pokud běží Steam), live, xbl a IP adresa. Eviduje také hardwarové tokeny (HWID), které se mění hůř než jakýkoli účet. Databáze hráčů je soubor uvnitř txData, ne MySQL, takže funguje bez jakékoli databáze a přežije výměnu frameworku.

Kliknutí na hráče otevře jeho záznam: odehraný čas, první a poslední spatření, všechny identifikátory, poznámky od staffu a historii varování a banů. Poznámky jsou podceňované: „ústně varován kvůli VDM, 14. 10.“ v poznámce zabrání tomu, aby se stejný rozhovor vedl čtyřikrát se čtyřmi různými moderátory.

Varování se hráči zobrazí na obrazovce jako celoplošné překrytí, které musí potvrdit, a uloží se do jeho záznamu. Jsou správným nástrojem pro první prohřešek, protože hráč nemůže tvrdit, že je neviděl. Pokud je hráč offline, varování se zobrazí při jeho příštím připojení.

Bany mají důvod a délku: jednu z předvoleb, vlastní délku, nebo trvalý ban. Ban se váže na identifikátory a, pokud je v nastavení banů zapnuté banování podle HWID, i na hardwarové tokeny, takže zabanovaný hráč, který si založí nový účet Rockstar a Discord, je stejně zachycen. Novější verze umožňují ukládat šablony banů (dvojice důvod a délka, například „Combat logging, 2 dny“), aby moderátoři uplatňovali stejné pravidlo stejným způsobem. Každý ban dostane ID akce, které hráč vidí ve zprávě o odmítnutí, a právě to ID cituje v odvolání.

Bany se ruší ze záznamu hráče nebo ze stránky historie a zrušení se zapíše k adminovi, který ho provedl. Pokud ban zasáhl nevinného člověka, který sdílí domácnost nebo hardware se zabanovaným, umožní players.remove_ids zkušenému adminovi odebrat ze záznamu konkrétní identifikátor nebo HWID, místo aby odbanoval původního hráče.

txAdmin umí také čistit vlastní databázi: hráče neaktivní dlouhou dobu a staré záznamy varování, banů a whitelistu, v nastavení databáze. Na serveru s desítkami tisíc náhodných návštěvníků to udrží soubor i vyhledávání hráčů rychlé. Čištění maže záznamy navždy, takže nejdřív udělej zálohu. K odhalování podvodníků, ne k jejich trestání po faktu, viz možnosti anticheatu pro FiveM.

Režimy whitelistu a Discord bot#

Režimy whitelistu jsou Disabled, Admin-only, Discord server member, Discord server roles a Approved license. Najdeš je v nastavení správy hráčů a jejich zprovoznění s rolemi na Discordu, včetně tokenu bota, ID serveru (guild) a members intentu, krok za krokem popisuje průvodce whitelistem přes Discord pro FiveM. Dvě věci, které sem stojí za doplnění:

  • Admin-only je tvůj přepínač údržby. Zapni ho před aktualizací nebo opravou databáze; už připojení hráči zůstanou, noví se dozvědí, že server je zavřený. Potom ho přepni zpět, protože se na to snadno zapomene.
  • Approved license vytvoří žádost s krátkým ID, když se zkusí připojit neznámý hráč. Admini s players.whitelist ji schválí na stránce Whitelist nebo přes Discord bota. Někoho můžeš také předschválit před jeho prvním připojením.

Discord bot dělá tři věci, jakmile je v Settings, Discord Bot nastavený jeho token a guild. Posílá stavový embed, který se aktualizuje jednou za minutu s počtem hráčů, uptime a dalším plánovaným restartem: napiš /status add do kanálu, kde ho chceš mít, a dej tam botovi oprávnění Send Messages. Přijímá příkaz pro whitelist ke schvalování hráčů z Discordu. A umí vyhledat informace o hráči. Obsah embedu a jeho tlačítka (až pět, obvykle „Connect“ a „Rules“) se upravují jako JSON na téže stránce nastavení. txAdmin ten JSON při ukládání neověřuje, takže pokud se embed přestane aktualizovat, hledej chybu na stránce System Logs. Více o botech obecně je v článku Discord boti pro správu herních serverů.

txData: co v ní je a jak ji zálohovat#

Všechno, co txAdmin ví, žije v jedné složce, txData, oddělené jak od artefaktu, tak od tvých server-data:

code
txData/  admins.json          admin accounts and their permissions  default/             the server profile    config.json        txAdmin settings (restarter, bot, whitelist...)    data/              player database, bans, warnings, whitelist    logs/              txAdmin, server and FXServer logs

Přesné uspořádání uvnitř složky profilu se mezi hlavními verzemi změnilo, takže strom ber jako orientaci a podívej se na svou vlastní kopii. Důležité je, že celá složka tvoří jeden celek: zálohuj ji pohromadě, obnovuj ji pohromadě.

Právě výchozí umístění je detail, který lidem vzal jejich seznam banů. Od txAdminu 8 je výchozí ../txData vzhledem k FXServeru na Windows (vedle složky artefaktu) a ../../../txData od binárky FXServeru na Linuxu, což skončí uvnitř rozbalené složky artefaktu. Pokud na Linuxu aktualizuješ tak, že tu složku celou nahradíš, txData zmizí s ní. Buď ji přesuň a ukaž na nové místo txAdminu pomocí proměnné prostředí TXHOST_DATA_PATH, nebo ji před každou aktualizací zkopíruj pryč.

NastaveníVýchozíÚčel
TXHOST_DATA_PATHviz výšeKde leží txData
TXHOST_TXA_PORT40120Webový port txAdminu
TXHOST_INTERFACE0.0.0.0Adresa, na kterou se txAdmin naváže

Tyto proměnné prostředí přišly v txAdminu 8 a nahrazují starší spouštěcí convary +set txDataPath, +set txAdminPort a +set txAdminInterface, které zatím fungují, ale jsou zastaralé. Pokud jsou nastavené obě varianty, vyhrává hodnota s TXHOST_.

Záloha, která má smysl, má tři části: txData, server-data a databázi. Udělej všechny tři před každou aktualizací artefaktu, protože novější txAdmin může svá data migrovat způsobem, který starší nepřečte; samotný postup aktualizace je v průvodci artefakty. Server zastav, nebo alespoň nezálohuj během restartu, aby config.json a databáze hráčů nebyly zachyceny při zápisu. Pak jednu obnov, aspoň jednou, na testovací kopii - záloha, kterou nikdo neobnovil, je hypotéza, jak říká článek zálohy, které se opravdu obnoví.

Na RE:NODE zálohy z panelu pokrývají soubory celého serveru včetně txData, ukládají se mimo stroj, jdou zamknout, aby je rotace nikdy nesmazala před aktualizací, a obnovují se jedním tlačítkem. Databáze je ve vlastním slotu a potřebuje vlastní export.

Zabezpečení webového panelu#

Webové rozhraní txAdminu je obyčejné HTTP na 40120 a ve výchozím stavu se naváže na všechna rozhraní. Webový panel, který umí spouštět příkazy v konzoli, je lákavý cíl a internet je plný skenerů, které číslo toho portu znají.

  • Používej přihlášení přes Cfx.re nebo dlouhá, jedinečná hesla. txAdmin nemá vlastní TOTP, takže účet Cfx.re se zapnutým dvoufázovým ověřením je nejsilnější dostupné přihlášení pro každého admina.
  • Omez port. Pokud ovládáš firewall, povol 40120 jen z adres, které používá tvůj staff, nebo naváž txAdmin na 127.0.0.1 pomocí TXHOST_INTERFACE a připojuj se přes SSH tunel. SSH tunely a přesměrování portů ukazují jednořádkový příkaz a pravidla firewallu, na kterých záleží pokrývají zbytek.
  • Pokud musí být veřejný, dej před něj HTTPS. Reverzní proxy s certifikátem zabrání tomu, aby hesla putovala sítí v čitelné podobě. Co dělá reverzní proxy vysvětluje nastavení.
  • Nikdy nepřesouvej txAdmin na `30120`. Stejně to odmítne; herní port patří FXServeru.
  • Čisti adminy. Když moderátor odejde, smaž jeho účet ještě týž den. Jeho role na Discordu a jeho skupina ACE jsou oddělené, takže odeber i ty.
  • Čti log akcí. Týdenní pohled na to, kdo spouštěl příkazy v konzoli, odhalí chyby i napadené účty.
  • Udržuj FXServer aktuální. Bezpečnostní opravy txAdminu přicházejí uvnitř artefaktů, takže server o tři měsíce pozadu je o tři měsíce pozadu i v panelu.

Stejné uvažování platí pro starší konzoli RCON: rcon_password nech nenastavené, protože txAdmin dělá všechno, co umí RCON, lepším kanálem. Obecný případ shrnuje článek bezpečné používání RCON.

Na RE:NODE jsou plány FiveM dodávané se dvěma přidělenými porty a další lze přidat na záložce Network, když txAdmin potřebuje port pro sebe. Subuseři hostingového panelu jsou samostatná vrstva: moderátorovi dej přístup jen k txAdminu a přístup do panelu (soubory, SFTP, zálohy) nech lidem, kteří by jinak potřebovali master účet.

Řešení problémů#

PIN se nikdy neobjeví. Server startuje s +exec server.cfg, což txAdmin úplně přeskočí. Odeber to ze spouštěcího příkazu. Pokud už txData obsahuje admina, PIN také není: txAdmin jde rovnou na přihlašovací stránku.

Stránka txAdminu se nenačte. TCP 40120 není zvenčí dostupný, nebo je txAdmin navázaný na 127.0.0.1. Zkontroluj adresu vypsanou při startu a otestuj port z jiné sítě.

Menu ve hře nic nedělá. Účet admina nemá propojený identifikátor Discordu ani Cfx.re, nebo identifikátor nesedí s tím, který klient posílá. V záznamu hráče zkontroluj identifikátory, se kterými se skutečně připojuje.

Nastavení a admini po aktualizaci zmizeli. txAdmin čte jinou, prázdnou txData, obvykle proto, že se na Linuxu nahradila složka artefaktu. Obnov složku nebo na ni nasměruj TXHOST_DATA_PATH.

Plánované restarty se dějí ve špatnou hodinu. Časové pásmo hostitele se liší od tvého. Přepočítej časy podle hodin, které txAdmin ukazuje.

Zabanovaný hráč je zpátky pod novým jménem. Banování podle HWID je vypnuté, nebo hráč změnil hardware. Zapni párování HWID v nastavení banů a v jeho záznamu zkontroluj překrývající se identifikátory.

Discord embed se přestal aktualizovat. JSON embedu je neplatný, nebo bot ztratil oprávnění Send Messages v tom kanálu. Chybu pojmenuje stránka System Logs.

FAQ#

Jaký port txAdmin používá?

Ve výchozím stavu TCP 40120. Změníš ho proměnnou prostředí TXHOST_TXA_PORT v txAdminu 8 a novějším, nebo starším convarem txAdminPort u dřívějších verzí. Nemůže sdílet 30120 s hrou.

Kolik master účtů může txAdmin mít?

Jeden. Ostatním adminům lze přidělit all_permissions, což dává všechny akce, ale master účet je jedinečný a právě na něm závisí obnova. Přihlašovací údaje nech u jednoho člověka a ve správci hesel.

Potřebuje txAdmin MySQL?

Ne. Jeho databáze hráčů, bany, varování a whitelist jsou uložené v souborech uvnitř txData. Tvůj framework si svou databázi stále potřebuje; txAdmin ji nepoužívá.

Sdílejí se bany z txAdminu mezi servery?

Automaticky ne. Každý profil txData si vede vlastní databázi hráčů, takže ban udělený na jednom serveru ten druhý nevidí, pokud nepoužiješ externí systém banů nebo ho nezadáš znovu podle identifikátoru.

Je bezpečné dát moderátorům přístup ke konzoli?

Přístup do konzole jen pro čtení, console.view, je pro většinu staffu v pořádku. console.write umožňuje spustit jakýkoli příkaz serveru včetně zastavení resources, takže ho dej jen lidem, kterým bys svěřil master účet.

Co se stane s neuloženými daty hráčů při restartu přes txAdmin?

txAdmin nejdřív upozorní hráče a spustí události restartu a vypnutí, takže framework, který na ně poslouchá, uloží všechny. Proces zabitý mimo txAdmin žádné upozornění nedostane a vše, co ještě není uložené, se ztratí.