RE:NODE

Návody11 min čtení

Artifacty FiveM: bezpečná aktualizace FXServeru

Jak fungují artifacty serveru FiveM: doporučené a nejnovější buildy, kde je stáhnout, aktualizace na Linuxu a Windows, txAdmin a čistý návrat ke starší verzi.

2 čtenáři

„Artifacty“ serveru FiveM jsou buildy FXServeru, které Cfx.re publikuje na runtime.fivem.net/artifacts/fivem/, jeden seznam pro Linux a jeden pro Windows, a každý označuje doporučený build a novější volitelný. Provozuj doporučený build, aktualizuj, když se posune nebo když framework či escrowed resource žádá něco novějšího, a vždy aktualizuj tak, že nový build dáš vedle starého, ne přes něj, takže návrat zpět je přejmenování složky. txAdmin je součástí artifactu, takže se aktualizuje s ním. Složka server-data, tvoje databáze a vlastní datová složka txAdminu jsou to, co zálohuješ před každou aktualizací - program je jednorázový. Tento návod vysvětluje, jaká čtyři oddělená čísla verzí na serveru FiveM existují, jak číst seznam artifactů, postup aktualizace na obou platformách, testování a co dělat, když build něco rozbije.

Čtyři verze, které se vyvíjejí nezávisle#

„Aktualizovat server“ znamená různé věci podle toho, kdo to říká. Server FiveM má čtyři vrstvy, každou s vlastní verzí a vlastním rozvrhem:

VrstvaKde se nastavujeKdo ji vydává
Build FXServeru (artifact)Program, který spouštíšCfx.re, často několikrát týdně
txAdminSoučást artifactuVydává se spolu s artifacty
Build hrysv_enforceGameBuild v server.cfgAktualizace GTA od Rockstaru, přebírané Cfx.re
Framework a resourcesTvoje složka resourcesKaždý projekt nebo tvůrce

Tento článek je o prvních dvou. Build hry připíná, na které aktualizaci GTA Online musí klienti být, a řeší ho server.cfg pro FiveM vysvětleně. Aktualizace frameworku jsou samostatná disciplína, kterou pokrývá porovnání frameworků pro FiveM. Důvod držet ty čtyři ve své hlavě odděleně je, že většina příběhů „aktualizace mi rozbila server“ je o dvou z nich změněných ve stejný večer, a nikdo nepozná, která to způsobila.

Klient FiveM u hráče se aktualizuje sám a není svázaný s buildem tvého serveru. Když Rockstar záplatuje GTA V, klient je někdy pro všechny rozbitý, dokud to Cfx.re nedožene; tvůj server s tím nemá nic společného a nic, co aktualizuješ, to neopraví.

Čtení seznamu artifactů#

Index artifactů má dvě cesty:

code
Linux:   https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/Windows: https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/

Každá stránka uvádí buildy podle čísla, nejnovější první, a zvýrazňuje dva z nich:

  • Latest recommended. Build, který Cfx.re považuje za stabilní pro produkci. Tohle provozuješ.
  • Latest optional. Novější, s opravami a funkcemi, které neprošly tak velkou zátěží. Spusť ho na testovacím serveru, pokud potřebuješ něco, co obsahuje.

Všechno pod nimi je starší. Buildy hluboko za doporučeným dostávají v konzoli varování a Cfx.re v minulosti přestalo podporovat buildy dost staré na to, aby byly bezpečnostním nebo kompatibilitním problémem, takže ani „nikdy neaktualizovat“ není strategie. Číslo buildu se vypíše při startu serveru:

code
FXServer-master SERVER v1.0.0.12345 linux

Poznamenej si ho před každou aktualizací. „Na jakém buildu jsme byli, když to naposledy fungovalo“ je první otázka při každém návratu zpět a nikdo si to nepamatuje.

Cfx.re publikuje changelogy buildů serveru na svém fóru a v dokumentaci. Projdi je pro rozsah mezi svým buildem a cílovým: změny nativ, které tvoje resources používají, chování OneSync a zvýšení verze txAdminu jsou řádky, na kterých záleží.

Kdy aktualizovat#

Aktualizace pro aktualizaci stojí večer a riskuje rozbitý víkend. Důvody, které stojí za to:

  • Doporučený build se posunul a ty jsi o několik pozadu. Drž se do pár týdnů od doporučeného; když se příliš zpozdíš, z jedné malé aktualizace se stane velká.
  • Vyžaduje to resource. Aktuální knihovny a frameworky uvádějí minimální build serveru - resources od Overextended jsou v tom přísné - a escrowed resources potřebují k validaci přiměřeně aktuální build.
  • Oprava, kterou potřebuješ. Pád nebo chyba synchronizace uvedená v changelogu, která odpovídá tomu, co vidíš.
  • Bezpečnostní oprava. Přečti si oznámení a aktualizuj rychle.

A důvody, které to nejsou: příspěvek na fóru tvrdící, že nejnovější volitelný build je rychlejší, nebo nová funkce, kterou nevyužiješ.

Aktualizace programu#

Postup je v principu všude stejný - nový build vedle starého, čistě zastavit, vyměnit, spustit, starý ponechat, dokud se nový neosvědčí - a liší se jen příkazy.

Na Linuxu

Obvyklé uspořádání drží program odděleně od dat, takže program lze vyměnit celý:

code
/home/fivem/  server/          the artifact - replaced on update  server-data/     resources, server.cfg - backed up, never replaced  txData/          txAdmin's settings, admins, players, bans

Aktualizace se starým buildem ponechaným vedle nového:

bash
$ cd /home/fivem$ wget -O fx.tar.xz "https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/<build>/fx.tar.xz"$ mkdir server-new && tar xf fx.tar.xz -C server-new# stop the server cleanly here, then:$ mv server server-old && mv server-new server$ cd server-data && bash ../server/run.sh +exec server.cfg

Přesný odkaz ke stažení vezmi ze stránky s artifacty; každý build má vlastní název složky. Pokud se nový build chová špatně, zastav ho a vrať názvy složek. server-old smaž až poté, co nový build přečkal celý večer se skutečnými hráči.

Pokud server spouštíš přes txAdmin, spusť run.sh bez +exec jako dříve; txAdmin najde svou datovou složku a spustí FXServer s tvou konfigurací.

Na Windows

Artifact pro Windows je archiv server.7z obsahující FXServer.exe a jeho soubory. Postup je v duchu stejný: rozbal nový build do nové složky, zastav server, starou složku přejmenuj stranou, novou přejmenuj na její místo a spusť ho stejným zástupcem nebo dávkovým souborem. Nikdy nerozbaluj nový build přes běžící; soubory, které se používají, se nenahradí a skončíš se směsí dvou buildů, která selhává podivnými způsoby.

Na hostingu s panelem

Na panelu založeném na Pterodactylu leží artifact v souborech serveru a stahuje ho instalační skript. Egg pro FiveM obvykle zpřístupňuje build ke spuštění jako proměnnou na záložce Startup - pole verze, které přijímá číslo buildu nebo klíčové slovo jako recommended - a krok instalace nebo aktualizace ho stáhne. Podívej se na záložku Startup na svém serveru, co nabízí, než cokoli předpokládáš.

Na RE:NODE si před změnou buildu udělej zálohu z panelu; obnova je jedno tlačítko a zálohy jsou uložené mimo stroj, takže záchranná síť nestojí nic. Zálohu lze také zamknout, aby ji plánovaná rotace nesmazala, a to tu, kterou jsi pořídil před aktualizací. Databáze žije ve vlastním slotu, takže ji zálohuj zvlášť - celý postup je v článku databáze FiveM a oxmysql.

txAdmin napříč aktualizacemi#

txAdmin je součástí artifactu, takže nový build často přináší nový txAdmin. Svá data drží mimo artifact - nastavení, účty adminů, databázi hráčů, bany, varování, schválení whitelistu - ve složce txData (nebo na místě nastaveném panelem či startovacím skriptem). Na tu složku se snadno zapomene a bolí ztratit ji: její ztráta znamená ztrátu seznamu banů a účtů adminů.

  • Zálohuj `txData` před každou aktualizací, spolu se server-data.
  • Počítej s migracemi jedním směrem. Novější txAdmin může při prvním startu aktualizovat svá uložená data. Návrat ke staršímu buildu poté může způsobit, že je txAdmin nedokáže přečíst, takže při návratu zpět obnov i zálohu txData.
  • Přečti si poznámky k vydání txAdminu, když se změní jeho hlavní verze. Nastavení se přesouvají mezi stránkami a občas mění význam; nastavení whitelistu přes Discord je nedávný příklad, který řeší whitelist a oprávnění přes Discord ve FiveM.

Testování před produkcí#

Nejbezpečnější aktualizace je ta, kterou někdo jiný otestoval na tvém přesném seznamu resources. Tím někým je druhý server.

  1. Vystav druhý licenční klíč ze stejného účtu Cfx.re. Escrowed resources vlastněné tím účtem běží na obou klíčích, jak vysvětluje escrow a licencování assetů ve FiveM.
  2. Zkopíruj `server-data` na testovací server a nasměruj ho na kopii databáze, nikdy ne na tu ostrou.
  3. Spusť tam nový build. Nastartuj ho, přečti konzoli od začátku kvůli chybám, připoj se a projdi části, které hráči používají: tvorbu postavy, inventář, práci, garáž, obchod.
  4. Profiluj ho. Změna buildu může změnit výkon. Porovnej profil s ostrým serverem při podobné zátěži, jak popisuje výkon serveru FiveM.
  5. Teprve potom aktualizuj produkci, v klidné hodině, se starou složkou ponechanou.

Pro malý server může být testovacím během ostrý server v 6 ráno s whitelistem txAdminu nastaveným na jen adminy na hodinu. Není to tak dobré jako druhý server, ale je to daleko lepší než aktualizovat ve špičce a zjistit to pod očima šedesáti lidí.

Co sledovat první večer

Aktualizace, která čistě nastartuje, může pod zátěží stejně selhat. Během prvního rušného večera na novém buildu sleduj:

  • Hitch warningy v konzoli. Build, který změnil chování synchronizace nebo sítě, se tu projeví první, jako zasekávání vláken server, sync nebo network, které předtím nebylo.
  • Graf ticků v txAdminu. Porovnej tvar s předchozím večerem. Nový ocas pomalých ticků při stejném počtu hráčů je build nebo resource, který na něj reaguje.
  • Paměť v průběhu relace. Únik zavedený buildem roste pomalu; zkontroluj graf na začátku a na konci večera.
  • Hlášení hráčů o konkrétních akcích. „Zmizelo mi auto“, „obchod mi nevzal peníze“ - to ukazuje na změny OneSync nebo nativ, které se projeví jen se skutečnými hráči dělajícími skutečné věci.

Pokud se cokoli z toho pohne, starý build máš pořád vedle nového. Návrat po jednom špatném večeru stojí deset minut; žít týden se špatným buildem v naději, že se to uklidní, stojí trpělivost komunity.

Kontrolní seznam aktualizace#

  1. Poznamenej si aktuální číslo buildu z úvodního řádku.
  2. Přečti changelog mezi ním a cílem.
  3. Oznam okno údržby; nastav whitelist txAdminu na jen adminy, pokud chceš server zavřít, zatímco testuješ.
  4. Zastav server čistě, aby framework uložil data hráčů.
  5. Zálohuj server-data, txData a databázi. Zálohu zamkni, pokud to panel umožňuje.
  6. Dej nový build vedle starého a vyměň.
  7. Spusť a čti konzoli od prvního řádku po poslední resource.
  8. Připoj se a otestuj cesty, které hráči používají nejvíc.
  9. Znovu server otevři; sleduj konzoli a graf ticků v txAdminu během prvního rušného večera.
  10. Starý build odstraň po několika dnech bez problémů.

Měň jednu vrstvu naráz. Pokud má aktualizaci i framework, udělej ji jiný den. Když se pak něco rozbije, víš, která změna to způsobila.

Návrat ke starší verzi#

Když nový build něco rozbije a ty to nedokážeš opravit za pár minut:

  1. Zastav server.
  2. Vrať složky zpět: server se stane názvem nového buildu, server-old se stane server.
  3. Pokud txAdmin migroval svá data, obnov txData ze zálohy před aktualizací.
  4. Pokud na novém buildu chvíli byli hráči, rozhodni o databázi: obnova ztratí všechno od té doby, ponechání je obvykle v pořádku, protože schéma databáze patří frameworku, ne FXServeru.
  5. Spusť, ověř, že úvodní řádek ukazuje číslo starého buildu, a znovu otevři.

Pak zjisti proč, než to zkusíš znovu. Hledej ve výstupu konzole z neúspěšného buildu první chybu, ne poslední; přečti changelog pro nativy, které selhávající resource používá; zeptej se autora resource s číslem buildu v ruce. Obecnou verzi tohohle napříč hrami najdeš v článku co dělat, když aktualizace modu něco rozbije.

Řešení potíží po aktualizaci#

Resource se nespustí a hlásí chyby o chybějící funkci nebo nativu. Resource spoléhá na chování, které se změnilo, nebo vyžaduje novější build, než jsi nainstaloval. Zkontroluj jeho uvedený minimální build.

Escrowed resources se nenačtou. Build je na escrow příliš starý, nebo aktualizace časově splynula se změnou klíče. Spusť doporučený build a zkontroluj klíč.

txAdmin nenaběhne nebo ztratil nastavení. Ukazuje na jinou datovou složku, nebo data migrovala novější verze a ty jsi se vrátil, aniž bys obnovil txData.

Server nastartuje, hráči se připojí a synchronizace je horší. Změna chování OneSync. Porovnej se starým buildem na testovacím serveru a nahlas to s čísly buildů.

Hráči se po aktualizaci nemohou připojit, ale server vypadá v pořádku. Obvykle to s artifactem nesouvisí: změnil se build hry vynucovaný v server.cfg, nebo resource selhává při průchodu připojením. Čti konzoli, zatímco se někdo připojuje.

FAQ#

Co jsou artifacty serveru FiveM?

Jsou to buildy FXServeru publikované Cfx.re, jeden seznam pro Linux a jeden pro Windows. Každý build je kompletní program serveru s přibaleným txAdminem. Tvoje resources a konfigurace žijí odděleně a nejsou součástí artifactu.

Mám použít doporučený, nebo nejnovější build FiveM?

Doporučený pro jakýkoli ostrý server. Novější volitelné buildy jsou na testování oprav a funkcí, než se stanou doporučenými. Použij je jen tehdy, když potřebuješ něco, co obsahují, a nejdřív otestuj.

Jak často mám aktualizovat FXServer?

Dost často na to, aby ses držel do pár týdnů od doporučeného buildu, a kdykoli to vyžaduje resource, na kterém závisíš. Nemá smysl aktualizovat na každý build, jakmile se objeví.

Smaže aktualizace serveru moje resources?

Ne, pokud držíš artifact a server-data v oddělených složkách, jak je zvykem. Artifact se nahradí; tvoje resources, server.cfg a databáze se nedotknou. Přesto je zálohuj.

Aktualizuje aktualizace FXServeru i txAdmin?

Ano. txAdmin je součástí artifactu. Jeho datová složka aktualizaci přežije, ale novější txAdmin může data migrovat způsobem, který starší nepřečte, takže ji před aktualizací zálohuj.


Komentáře

Zcela anonymně: žádný účet, žádný e-mail, žádné cookie. Ukládáme jen jméno, které napíšeš, text a čas - nic dalšího. Počet odkazů je omezený a značkování se nevykresluje.

0/2000