RE:NODE

Server BeamMP na Linuxu: instalace, služba systemd a firewall ufw

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


BeamMP-Server na Linuxu je jeden předkompilovaný binární soubor pro každou distribuci - ne balíček a ne nic, co by instaloval SteamCMD. Stáhni soubor, který odpovídá tvému vydání a procesoru - BeamMP-Server.ubuntu.24.04.x86_64, BeamMP-Server.debian.12.x86_64 a tak dále - nainstaluj jedinou knihovnu, kterou ke svému běhu potřebuje, liblua5.3-0, nastav mu právo spuštění a jednou ho spusť. Vedle sebe si zapíše výchozí ServerConfig.toml a zastaví se, protože auth klíč je prázdný. Vlož klíč z BeamMP Keymasteru, spusť server znovu pod vyhrazeným uživatelem přes unit systemd, otevři 30814 pro TCP i UDP a za minutu dvě je server ve veřejném seznamu. Aktualizace je výměna toho jednoho souboru.

To je celá práce a na čerstvém stroji zabere deset minut. Zbytek tohoto článku jsou detaily, které rozhodují o tom, jestli bude všechno fungovat i po příštím restartu, po příští záplatě BeamNG a ve chvíli, kdy se na to bude muset podívat někdo jiný. Co patří dovnitř ServerConfig.toml - mapy, MaxCars, mody, význam jednotlivých klíčů - popisuje průvodce BeamMP serverem; tento článek se věnuje linuxové stránce provozu.

Co potřebuješ, než začneš#

BeamMP server je malý nativní program v C++. Nesimuluje vozidla, jen přeposílá jejich stav, takže málo zatěžuje CPU a paměť a hodně odchozí propustnost. Spustí ho jakýkoli současný VDS nebo VPS; důležité je, aby operační systém byl takový, pro který projekt sestavuje binárky.

ZdrojMinimumPohodlně
RAM1 GB volné2 GB volné pro 10-20 hráčů
CPU1 jádro2 jádra, pokud Lua pluginy dělají skutečnou práci
Disk100 MB plus modyVelikost balíku modů krát dvě
SíťTCP a UDP 30814Dobrá odchozí linka, nízká latence

Řádek o disku není překlep. Binárka serveru má pár desítek megabajtů; roste složka Resources/Client se zipy modů a kopie posledního funkčního setu modů pro návrat ji zdvojnásobí. Skutečným omezením je propustnost: každá aktualizace vozidla jde ke všem klientům a každý, kdo se připojí, stáhne celý balík klientských modů.

Dále potřebuješ:

  • Podporovanou distribuci. V době psaní jsou oficiální vydání sestavená pro Debian 12, Debian 13, Ubuntu 22.04 a Ubuntu 24.04, každé v x86_64 i arm64. Cokoli jiného znamená sestavení ze zdrojových kódů.
  • sudo na stroji, abys mohl nainstalovat knihovnu, vytvořit uživatele a zapsat soubor unitu.
  • Auth klíč z BeamMP Keymasteru, vázaný na tvůj vlastní účet BeamMP. Bez něj se server nespustí. Jak ho získat, je v průvodci BeamMP serverem.

Pokud je stroj úplně nový, udělej základy dřív, než na něj dáš jakýkoli herní server - přihlášení bez roota, klíče SSH, aktualizace. Provedou tě jimi první hodina na novém VDS a klíče SSH a zabezpečení. Pokud ještě váháš, jestli vůbec provozovat vlastní linuxový stroj, volba mezi VDS a herním panelem je poctivé srovnání.

Výběr správné binárky#

BeamMP publikuje jeden soubor pro každou distribuci, vydání a architekturu na stránce vydání BeamMP-Server na GitHubu. Ve vydáních v3.9 se linuxové soubory jmenují takto:

code
BeamMP-Server.debian.12.x86_64BeamMP-Server.debian.12.arm64BeamMP-Server.debian.13.x86_64BeamMP-Server.debian.13.arm64BeamMP-Server.ubuntu.22.04.x86_64BeamMP-Server.ubuntu.22.04.arm64BeamMP-Server.ubuntu.24.04.x86_64BeamMP-Server.ubuntu.24.04.arm64

Vedle nich leží odpovídající soubory debuginfo.*. Jsou to ladicí symboly pro hlášení pádů a ke spuštění nepotřebuješ nic z nich. BeamMP-Server.exe je sestavení pro Windows.

Dva příkazy ti řeknou, který soubor je tvůj:

bash
$ grep -E '^(ID|VERSION_ID)=' /etc/os-releaseID=ubuntuVERSION_ID="24.04"$ uname -mx86_64

ID a VERSION_ID určují distribuci a vydání; uname -m architekturu. x86_64 je běžný hardware Intel a AMD. aarch64 je 64bitové ARM - instance Ampere v cloudu, Raspberry Pi 4 nebo 5 s 64bitovým systémem - a odpovídá souboru arm64.

Binárky jsou sestavené proti systémovým knihovnám konkrétního vydání, proto je jedna pro každou distribuci, a ne jedna pro celý Linux. Nesedící soubor obvykle při startu selže se stížností na chybějící nebo příliš starý symbol GLIBC či GLIBCXX. Na průběžném vydání, jako je Ubuntu 24.10 nebo 25.04, často funguje sestavení pro nejbližší starší LTS, ale nikdo to neslibuje; pokud selže, přejdi na podporované vydání nebo sestav server ze zdrojů. Fedora, Arch a Alpine jsou území sestavování ze zdrojů - README uvádí závislosti pro build a pro ARM je potřeba nejdřív exportovat VCPKG_FORCE_SYSTEM_BINARIES=1.

Instalace závislosti a vyhrazený uživatel#

Binárka vydání se linkuje se systémovou knihovnou Lua 5.3, kterou minimální serverové image nemají. Na Debianu a Ubuntu je to jediný balíček:

bash
$ sudo apt update$ sudo apt install liblua5.3-0 ca-certificates curl

ca-certificates a curl tu jsou pro stažení binárky a pro vlastní HTTPS volání serveru na backend BeamMP; obojí je na většině image už nainstalované. Když knihovnu Lua vynecháš, server okamžitě skončí s chybou error while loading shared libraries: liblua5.3.so.0: cannot open shared object file. Příkaz ldd spuštěný na binárku vypíše všechny knihovny, které potřebuje, a chybějící označí not found - je to nejrychlejší kontrola dřív, než začneš hledat chybu jinde.

Dál vytvoř uživatele, který vlastní server a nic jiného. Dokumentace BeamMP sama říká, ať server nespouštíš jako root, přes sudo ani pod svým osobním účtem, a důvod je obvyklý: Lua pluginy běží s oprávněními serveru, takže zlý nebo nedbalý plugin běžící jako root ovládne celý stroj.

bash
$ sudo useradd --system --create-home --home-dir /opt/beammp \    --shell /usr/sbin/nologin beammp

Systémový účet bez přihlašovacího shellu se nedá použít k přihlášení přes SSH a vše, co server zapisuje, skončí v /opt/beammp. Chceš-li v tom adresáři pracovat jako ten uživatel, dej před příkazy sudo -u beammp, nebo použij sudo -u beammp -s /bin/bash pro shell.

Stažení a první spuštění#

Stáhni binárku rovnou do adresáře serveru. Cesta latest/download na GitHubu vždy vede na nejnovější vydání, takže příkaz níže číslo verze nepotřebuje - změň jen název souboru podle své distribuce:

bash
$ cd /opt/beammp$ sudo -u beammp curl -fL -o BeamMP-Server \    https://github.com/BeamMP/BeamMP-Server/releases/latest/download/BeamMP-Server.ubuntu.24.04.x86_64$ sudo -u beammp chmod +x BeamMP-Server$ sudo -u beammp ./BeamMP-Server --version

Uložení pod prostým názvem BeamMP-Server místo dlouhého názvu vydání je záměrné. Unit systemd i jakýkoli skript pro aktualizaci pak míří na jednu pevnou cestu a aktualizace je výměna souboru, ne úprava unitu.

--version vypíše verzi a skončí, čímž ověří, že se binárka i její knihovny načtou. Další přepínače, které server přijímá, jsou --help, --config=/path/to/ServerConfig.toml a --working-directory=/path/to/folder. Nebudeš je potřebovat, pokud server spouštíš z jeho vlastního adresáře, což dělá unit níže.

Teď první skutečné spuštění:

bash
$ cd /opt/beammp$ sudo -u beammp ./BeamMP-Server

Server vytvoří své soubory, vypíše úvodní řádky a postěžuje si, že chybí auth klíč. Pokud neskončil sám, zastav ho pomocí Ctrl+C. Adresář teď vypadá takto:

code
/opt/beammp/  BeamMP-Server  ServerConfig.toml  Server.log  Resources/    Client/    Server/

Otevři ServerConfig.toml, vlož svůj klíč do AuthKey, nastav Name a nech Port = 30814, pokud nemáš důvod ho měnit:

bash
$ sudo -u beammp nano /opt/beammp/ServerConfig.toml
ServerConfig.toml (řádky, na které sáhnout nejdřív)
[General]Port = 30814AuthKey = "paste-your-keymaster-key-here"Name = "Linux test server"Private = trueMaxPlayers = 8MaxCars = 2

Private = true drží server při testování mimo veřejný seznam; připojuješ se přímo na adresu. Spusť ./BeamMP-Server ještě jednou ručně. Zdravý start zůstane běžet a nevypíše žádné řádky [ERROR]; řádky [WARN] stojí za přečtení, ale málokdy jsou fatální. Ctrl+C požádá server o čisté ukončení - spustí událost Lua onShutdown a dá pluginům pár sekund na dokončení - a opakované stisknutí vynutí okamžitý konec. Jakmile to funguje interaktivně, předej ho systemd.

Soubor generuje binárka a na tom záleží: klíče, které daná verze zapisuje, jsou klíče, které čte. Zkopírovat ServerConfig.toml ze starého příspěvku na fóru do nového serveru funguje pro [General], ale sekce jako [Misc] (připomínky aktualizací) a volitelný blok HTTP se podle verze liší. Když si nejsi jistý, nech server vygenerovat nový soubor a přenes do něj své hodnoty.

Služba systemd pro BeamMP#

Server spuštěný v relaci SSH zemře s relací a ten spuštěný v tmux zemře s restartem. Soubor unitu vyřeší obojí a výstup uloží do žurnálu. Služby systemd pro tvoje aplikace vysvětlují každou direktivu; tohle je verze pro BeamMP:

/etc/systemd/system/beammp.service
[Unit]Description=BeamMP serverWants=network-online.targetAfter=network-online.target[Service]Type=simpleUser=beammpGroup=beammpWorkingDirectory=/opt/beammpExecStart=/opt/beammp/BeamMP-ServerKillSignal=SIGINTTimeoutStopSec=30Restart=on-failureRestartSec=10NoNewPrivileges=trueProtectSystem=fullPrivateTmp=true[Install]WantedBy=multi-user.target

Řádky specifické pro tento server:

  • `WorkingDirectory=/opt/beammp`. Server hledá ServerConfig.toml a složku Resources relativně k místu, odkud běží. Bez tohoto řádku by se spustil v /, nenašel by konfiguraci a pokusil by se zapsat novou tam, kde nemá oprávnění.
  • `After=network-online.target`. Server při startu kontaktuje backend BeamMP, aby ověřil klíč. Start dřív, než síť naběhne, vyvolá při každém bootu matoucí selhání autentizace.
  • `KillSignal=SIGINT`. Stejný signál jako Ctrl+C, což je cesta k ukončení, kterou server dokumentuje. Díky němu pluginy stihnou své obslužné funkce onShutdown. TimeoutStopSec=30 určuje, jak dlouho systemd čeká, než to vzdá a proces zabije.
  • `Restart=on-failure` restartuje po pádu, ale ne po záměrném zastavení. RestartSec=10 brání tomu, aby rozbitá konfigurace restartovala server v těsné smyčce - když je klíč špatně, server selže, počká, selže znovu a narazí na limit startů systemd, což je přesně to, co chceš.

Tři zpevňující řádky jsou levné. NoNewPrivileges brání čemukoli, co server spustí, získat další oprávnění, ProtectSystem=full zpřístupní /usr, /boot a /etc serveru jen pro čtení a PrivateTmp mu dá vlastní /tmp. Server zapisuje jen do svého pracovního adresáře, takže mu žádný z nich nepřekáží.

Načti a spusť:

bash
$ sudo systemctl daemon-reload$ sudo systemctl enable --now beammp$ systemctl status beammp

enable --now spustí službu okamžitě i při každém bootu. Po každé úpravě unitu spusť daemon-reload znovu, než službu restartuješ, jinak systemd dál používá starou verzi.

Jeden kompromis, o kterém je dobré vědět: konzole BeamMP přijímá příkazy - list, kick <name> [reason], say <message>, status, lua, exit - ale jen v interaktivním terminálu. Pod systemd žádný terminál připojený není, takže každodenní moderace jde přes pluginy Lua nebo administrátorské nástroje ve hře. Pokud konzoli potřebuješ občas, zastav službu a spusť binárku ručně jako uživatel beammp. Pokud ji potřebuješ pořád, je možné spouštět server v tmux z unitu, ale vrátí to většinu toho, co měl unit odstranit; většina majitelů serverů nakonec skončí u pluginu. Pluginy Lua pro BeamMP a závody ukazuje, jak se tvoří chatové příkazy.

Otevření portu 30814 pomocí ufw#

BeamMP používá jedno číslo portu na dvou protokolech: TCP pro navázání spojení a stahování modů, UDP pro stav vozidel. Otevři jen TCP a hráči se připojí, načtou mapu a pak tam stojí se všemi ostatními auty zmrzlými, protože proud stavu nikdy nedorazí.

Pokud ufw ještě není zapnuté, povol SSH dřív, než ho zapneš, jinak se zamkneš venku:

bash
$ sudo ufw allow OpenSSH$ sudo ufw allow 30814/tcp comment 'BeamMP'$ sudo ufw allow 30814/udp comment 'BeamMP'$ sudo ufw enable$ sudo ufw status verbose

Dvě pravidla místo ufw allow 30814 bez protokolu, což by také fungovalo, ale později se hůř čte. Komentář comment se zobrazí ve ufw status a ušetří ti hádání, k čemu port byl, za půl roku. Pokud jsi v konfiguraci změnil Port, použij nové číslo v obou pravidlech. Server také naváže odchozí HTTPS spojení na backend BeamMP kvůli autentizaci a seznamu serverů; výchozí politika ufw odchozí provoz povoluje, takže není co přidávat, pokud jsi ji nezpřísnil. Průvodce firewallem UFW pokrývá výchozí politiky, pořadí pravidel a past s Dockerem naplno.

ufw je jen firewall na samotném stroji. Mnoho poskytovatelů cloudu má před instancí i síťový firewall nebo bezpečnostní skupinu a ta potřebuje stejná dvě pravidla. Pokud server odpovídá ze samotného stroje, ale ne zvenku, je obvyklým důvodem právě tahle vnější vrstva. Porty herních serverů vysvětleně dává obecný obrázek.

Ověření, že server poslouchá na obou protokolech:

bash
$ sudo ss -tulpn | grep 30814

Měl bys vidět jeden řádek tcp ve stavu LISTEN a jeden řádek udp, oba patřící procesu BeamMP-Server. Pokud se objeví jen jeden, server na druhém protokolu neposlouchá a žádné pravidlo firewallu nepomůže - zkontroluj nastavení IP v konfiguraci, které má být :: nebo 0.0.0.0 pro všechny adresy.

30814HTTPS venHráčiBeamMP launcherufwTCP a UDP 30814beammp.serviceuživatel beammp/opt/beammpconfig, ResourcesBeamMP backendauth a seznam
Jak vypadá funkční instalace BeamMP na Linuxu

Logy: journalctl a Server.log#

Logy končí na dvou místech a obě se hodí.

Žurnál obsahuje vše, co server vypisuje do konzole, s časovými značkami a událostmi služby, jako jsou pády a restarty:

bash
$ journalctl -u beammp -f$ journalctl -u beammp --since "1 hour ago"$ journalctl -u beammp -b -p warning

-f sleduje živě, --since zúží časové okno, -b omezí výpis na aktuální boot. V žurnálu také vidíš pohled systemd na věc - "Main process exited, code=exited, status=1/FAILURE", "Start request repeated too quickly" - což vlastní log serveru říct neumí.

Server.log v pracovním adresáři je vlastní soubor serveru. Při každém startu server přejmenuje předchozí na Server.old.log a začne nový Server.log, takže máš vždy aktuální běh a ten před ním, a nic víc. Pokud server spadl a restartoval se, důkazy z doby před pádem jsou v Server.old.log. Pokud se restartoval dvakrát, důkazy jsou pryč. To je hlavní důvod spoléhat se na žurnál pro historii: uchovává každý běh a rotuje podle velikosti, ne podle restartu.

LogChat = true v konfiguraci zapisuje chat do logu, což je nejlevnější důkaz pro moderaci. Debug = true log zdaleka rozšíří; zapni ho při hledání problému a potom vypni, protože rychle roste.

Pokud žurnál na malém VDS příliš naroste, omez ho v /etc/systemd/journald.conf pomocí SystemMaxUse= a restartuj systemd-journald. Článek Linuxové příkazy pro správce serverů obsahuje zbytek nástrojů pro čtení logů - grep, tail, less - až budeš ručně procházet Server.log.

Aktualizace BeamMP-Server#

Vydání BeamMP následují aktualizace BeamNG.drive a klient s novějším protokolem se může odmítnout připojit ke starému serveru. Aktualizace bývají potřeba během pár dnů po záplatě hry, což je přesně ve chvíli, kdy chtějí všichni hrát, takže se vyplatí mít postup hladký.

Aktualizace je: zastavit, zálohovat, vyměnit binárku, spustit.

bash
$ sudo systemctl stop beammp$ cd /opt/beammp$ sudo -u beammp cp BeamMP-Server BeamMP-Server.previous$ sudo -u beammp cp ServerConfig.toml ServerConfig.toml.bak$ sudo -u beammp curl -fL -o BeamMP-Server \    https://github.com/BeamMP/BeamMP-Server/releases/latest/download/BeamMP-Server.ubuntu.24.04.x86_64$ sudo -u beammp chmod +x BeamMP-Server$ sudo -u beammp ./BeamMP-Server --version$ sudo systemctl start beammp$ journalctl -u beammp -f

Kopie .previous je tvůj návrat: pokud nová verze dělá potíže, zastav službu, vrať starou binárku a spusť znovu. curl -f způsobí, že neúspěšné stažení skončí chybou, místo aby se chybová stránka GitHubu uložila jako binárka serveru, a --version před startem zachytí vadný soubor dřív, než ho zkusí spustit systemd.

Před aktualizací napříč hlavní verzí si přečti poznámky k vydání. Signatury API Lua se mezi hlavními verzemi už měnily a plugin, který fungoval na staré verzi, může na nové selhat tiše - server nastartuje, plugin nedělá nic. Sekce [Misc] v nedávných konfiguracích má klíče ImScaredOfUpdates a UpdateReminderTime, které řídí připomínku aktualizace, kterou server vypisuje; řídí zprávu, ne samotnou aktualizaci. BeamMP se neaktualizuje samo a to je dobře - ty rozhoduješ, kdy se funkční server změní.

Odolej pokušení dát příkaz ke stažení do cronu. Automatická aktualizace, která přistane uprostřed hry, nebo taková, která stáhne vydání, na které nejsou tvoje pluginy připravené, stojí víc než dvě minuty, které zabere ruční verze. Pokud je server tak vytížený, že na načasování aktualizace záleží, oznam okno, aktualizuj a před opětovným otevřením vyzkoušej přímé připojení. Co dělat, když aktualizace modu něco rozbije je obecná disciplína.

Zálohy, které stojí za to

V BeamMP neexistuje uložený svět, takže zálohy jsou malé a snadno se zanedbají. Co si znovu nestáhneš, je ServerConfig.toml, vše pod Resources/Server (tvoje pluginy a data, která ukládají) a přesná sada zipů modů v Resources/Client, které spolu právě fungují. Pokrývá to noční tar adresáře /opt/beammp bez binárky, zkopírovaný mimo stroj. Zálohy, které opravdu obnoví vysvětlují, proč mimo stroj není volitelné.

Řešení potíží na Linuxu#

`error while loading shared libraries: liblua5.3.so.0`. Chybí závislost za běhu. sudo apt install liblua5.3-0 a zkus to znovu. Na distribuci mimo Debian nainstaluj knihovnu Lua 5.3 své distribuce nebo sestav server ze zdrojů.

Chyby `version 'GLIBC_2.xx' not found` nebo `GLIBCXX`. Stáhl jsi binárku pro novější distribuci, než jakou provozuješ. Zkontroluj /etc/os-release a stáhni odpovídající soubor.

`Exec format error`. Neshoda architektury - binárka arm64 na x86_64 nebo naopak. Zkontroluj uname -m.

`Permission denied` při spuštění. Soubor není spustitelný, nebo adresář nepatří uživateli, který ho spouští. chmod +x BeamMP-Server a sudo chown -R beammp:beammp /opt/beammp.

Služba selže s hláškou "Start request repeated too quickly". Server při každém startu skončí a systemd to přestal zkoušet. Skutečný důvod je o pár řádků výš v journalctl -u beammp - téměř vždy auth klíč nebo syntaktická chyba v TOML. Oprav to, pak sudo systemctl reset-failed beammp a spusť znovu.

Server nastartuje ručně, ale ne jako služba. Obvykle chybí nebo je špatně WorkingDirectory, takže služba nenajde konfiguraci, nebo soubory vytvořil root při ručním spuštění a uživatel beammp do nich nemůže zapisovat. ls -l /opt/beammp ukáže, o co jde; druhý případ spraví chown.

Běží, ale hráči se nemohou připojit. Zkontroluj ss -tulpn pro oba protokoly, pak ufw status, pak firewall poskytovatele. Vyzkoušej přímé připojení zvenku, než začneš podezírat seznam serverů.

Address already in use. Port 30814 drží něco jiného - často kopie, kterou jsi spustil ručně v jiném terminálu a zapomněl na ni. ss -tulpn | grep 30814 ten proces pojmenuje.

Server je zabit bez chyby. Na malém VDS to bývá OOM killer jádra, obvykle kvůli něčemu jinému na stroji. journalctl -k | grep -i oom to potvrdí. Linuxový swap a OOM killer vysvětluje, co s tím.

Provoz na RE:NODE#

Vše výše platí pro jakýkoli linuxový stroj, který ovládáš, včetně řady VDS s i9-9900K, která se připravuje ručně do 24 hodin a je rozumným domovem, pokud chceš BeamMP provozovat vedle dalších vlastních služeb.

Pokud chceš jen server BeamMP, herní řada BeamMP udělá linuxovou část za tebe: server se vytvoří, jakmile platba projde, port se přidělí na obou protokolech, ServerConfig.toml se upravuje v prohlížečovém správci souborů a balíky modů se nahrávají přes SFTP. Je to jedna z her, které potřebují tvé vlastní přihlašovací údaje, takže instalace čeká na záložce Setup, dokud nevložíš svůj klíč z Keymasteru. Při dosažení limitu paměti se kontejner zastaví a čistě restartuje, místo aby byl nechán swapovat, a server, který opakovaně padá, vyvolá upozornění a tiket. Oproti VDS se vzdáváš přístupu root a volby distribuce, což u BeamMP málokdy vadí.

FAQ#

Který soubor BeamMP-Server mám stáhnout pro Ubuntu 24.04?

BeamMP-Server.ubuntu.24.04.x86_64 na běžném hardwaru Intel nebo AMD, nebo BeamMP-Server.ubuntu.24.04.arm64 na ARM. Která varianta je tvoje, ti řekne uname -m; aarch64 znamená soubor arm64.

Běží BeamMP na Linuxu bez Wine?

Ano. BeamMP-Server je nativní linuxový program s oficiálními sestaveními pro Debian a Ubuntu. BeamNG.drive potřebují jen hráči, server ho nikdy nespouští.

Proč server po prvním spuštění hned skončí?

Protože právě zapsal výchozí ServerConfig.toml s prázdným AuthKey. Přidej klíč z Keymasteru a spusť ho znovu. Pokud stále končí, řádek v logu napoví, jestli je to klíč, nebo syntaxe TOML.

Můžu na jednom stroji provozovat víc serverů BeamMP?

Ano. Dej každému vlastní adresář, vlastní Port v konfiguraci, vlastní auth klíč, vlastní soubor unitu a vlastní dvojici pravidel firewallu. Rozložení popisuje více herních serverů na jednom VDS.

Mám pro administrátorské příkazy použít konzoli, nebo Lua?

Pod systemd konzole není k ničemu připojená, takže v praxi kicky, bany a oznámení řeší pluginy Lua. Konzoli si nech na ruční testování.

Aktualizuje se BeamMP-Server sám?

Ne. Může ti připomenout, že existuje novější verze, ale výměna binárky je tvoje práce. Je to zastavení, stažení a spuštění a vyplatí se to dělat ručně.