3.4 KiB
Soubory
Adresář obsahuje soubory se zdrojovými kódy, sestavené spustitelné aplikace a zdrojový kód pro textovou část diplomové práce. Doporučujeme použít už sestavené soubory, které jsou připravené pro "čistou" instalaci ubuntu-desktop-24.04.ova.
Sestavení
Veškeré spustitelné soubory jsou pro Linux. Už sestavené soubory jsou v adresáři build/. Zdrojové kódy jsou v adresáři src/. Projekt lze sestavit klasicky lokálně nebo kompletně přes Docker.
Lokálně
Pro standartní sestavení je potřeba Conan, CMake a moderní kompiler, jako CLang nebo GCC. Projekt využívá verzi C++23.
Conan slouží pro získání konkrétních verzí balíčků jako ProtoBuf a SDL3. Sestavení tak začíná tím, že Conan potřebné balíčky stáhne a vytvoří konfigurační soubory pro CMake. Lze použít tento příkaz, který konfigurační soubory umístí do adresáře ./build/.
$ conan install . --output-folder=build --build=missing -s build_type=Debug
Poté je potřeba adresář build/ připravit pro CMake.
$ cmake -S . -B ./build -DCMAKE_TOOLCHAIN_FILE="build/conan_toolchain.cmake" -DCMAKE_BUILD_TYPE=Debug
Nakonec lze projekt sestavit pomocí:
$ cmake --build ./build
Docker
Druhou variantou je použít Docker. V adresáři zdrojových kódů je podadresář docker/. Ten obsahuje Dockerfile pro sestavení i export spustitelných souborů. Pro sestavení nás zajímá jeho fáze builder. Sestavíme obraz tw_builder s tagem jammy pomocí příkazu:
$ docker build -f docker/Dockerfile --target builder -t tw_builder:jammy .
Pro získání sestavených souborů z Docker obrazu je nejjednodušší použít poslední fázi export Dockerfile a definovat --output. Konkrétně v tomto případě budou soubory vyexportovány do podadresáře ./dist/.
$ docker build -f docker/Dockerfile --target export --output type=local,dest=dist .
Spuštění
Pro spuštění již připravených spustitelných souborů v adresáři build/, není třeba na připravené "čisté" instalaci Ubuntu 22 nic měnit.
Server
Pro hru více hráčů je nutné mít spuštěný tw_server. Ten také najdeme v adresáři build/. Pro jeho spuštění je třeba mít nainstalovanou knihovnu libpq5. V připravené instalaci Ubuntu 22 stačí tento balíček nainstalovat.
# apt install libpq5
Server po spuštění vypíše port, který pro hráče otevřel. Příklad výstupu po spuštění:
[2026-08-05 16:28:09.874] [info] quicr-port=8101 cluster-port=8102 timescaledb=disabled
[2026-08-05 16:28:10.034] [info] Running on port: 8101
[2026-08-05 16:28:10.035] [info] ZoneClusterLink listening on port 8102
[2026-08-05 16:28:10.063] [info] Registered as zone 1 (-5000,-5000) (0,5000)
Zajímá nás řádek s Running on port.
Klient
Aplikace klienta je tw_client. Po spuštění uvidíte textové pole pro zadání adresy serveru, včetně portu. Klikněte na Connect pro připojení na server. Pokud se podaří, dostanete se do hry a uvidíte hráče jako červené kostky.
Stress-testing
V adresáři build/ je připravený i spustitelný soubor pro stress-testing, který naváže a simuluje určitý počet připojení na konkrétní server. Simulovaní hráči se i pohybují. Příklad testu pro server na 127.0.0.1:8101 s 300 simulovanými hráči.
$ ./tw_mock_client 300 127.0.0.1 8101