====== NotBlood ====== С недавних пор ([[ https://github.com/clipmove/NotBlood/commit/06779d55e8342f06763b4c78300bae6a941f9cc6 | 1 ]], [[ https://github.com/clipmove/NotBlood/commit/4c6e319cddf262e8ccea7e51f223a63019290b49 | 2 ]]) пользователи Yggdrasil могут играть по сети NotBlood редакции движка [[ https://github.com/clipmove/NotBlood | clipmove ]], используя стек IPv6. ===== Скриншоты ===== {{:yggdrasil:games:notblood.webp?640|}} ===== Установка ===== Зависимости: sudo dnf install g++ nasm mesa-libGL-devel SDL2-devel alsa-lib-devel libvpx-devel gtk2-devel flac flac-devel Сборка: git clone https://github.com/clipmove/NotBlood.git cd NotBlood make HAVE_GTK2=0 * [[ https://wiki.eduke32.com/wiki/Building_EDuke32_on_Linux | другие опции сборки ]] В корне будет создан бинарник **notblood**. ===== Игровые наборы ===== Для запуска игры, потребуются игровые наборы: в частности файлы, которые располагаются в общей с **notblood** директории: * BLOOD.INI * BLOOD.RFF * BLOOD000.DEM, ..., BLOOD003.DEM (optional) * CP01.MAP, ..., CP09.MAP (optional, Cryptic Passage) * CPART07.AR_ (optional, Cryptic Passage) * CPART15.AR_ (optional, Cryptic Passage) * CPBB01.MAP, ..., CPBB04.MAP (optional, Cryptic Passage) * CPSL.MAP (optional, Cryptic Passage) * CRYPTIC.INI (optional, Cryptic Passage) * CRYPTIC.SMK (optional, Cryptic Passage) * CRYPTIC.WAV (optional, Cryptic Passage) * GUI.RFF * SOUNDS.RFF * SURFACE.DAT * TILES000.ART, ..., TILES017.ART * VOXEL.DAT При наличии игры в формате .exe извлечь файлы можно утилитой **innoextract**: sudo dnf install innoextract innoextract /path/to/game.exe ===== Запуск ===== Запуск игры осуществляется файлом **notblood**. Если игровые наборы расположены отдельно, указать путь к директории можно аргументом -game_dir: notblood -game_dir=/path/to/data Все доступные [[ https://wiki.eduke32.com/wiki/Command_line_options | опции запуска ]]: notblood -help Подключение к игровому серверу: notblood -client 201:b8dc:421d:4b4d:add6:af78:f9d6:f18c -port 23513 * указание псевдонима /etc/hosts - не работает! ===== Flatpak ===== В сети Radicle (Git) имеется готовый манифест для сборки all-in-one, в котором также "локально" прозеркалированы все зависимости: rad:z4PJFeN7hLR94wVzFuKXzM5HCDmez * ''rad:z2QnERwRUVeEEG9dDZVNFdzRDawYt'' - снимок репозитория движка (коммит на момент написания: ''4c6e319cddf262e8ccea7e51f223a63019290b49'') * ''rad:z3wYG4MbwEyhyoRa72h2mgdR66vCm'' - игровой набор (на базе ''btih:F80B76DC92368FCD163E1AAFA97181DA97CBC9F5'') На его примере, можно легко создать собственную сборку для любой платформы: app-id: ps.clipmove.NotBlood runtime: org.freedesktop.Platform runtime-version: &runtime-version '24.08' sdk: org.freedesktop.Sdk command: run.sh separate-locales: false sdk-extensions: - org.freedesktop.Sdk.Compat.i386 - org.freedesktop.Sdk.Extension.toolchain-i386 finish-args: - --allow=devel - --allow=multiarch - --device=all - --persist=.config - --share=ipc - --share=network - --socket=pulseaudio - --socket=wayland - --socket=x11 add-extensions: org.freedesktop.Platform.Compat.i386: directory: lib/i386-linux-gnu version: *runtime-version org.freedesktop.Platform.Compat.i386.Debug: directory: lib/debug/lib/i386-linux-gnu version: *runtime-version no-autodownload: true x-compat-i386-opts: &compat-i386-opts prepend-pkg-config-path: /app/lib32/pkgconfig:/usr/lib/i386-linux-gnu/pkgconfig ldflags: -L/app/lib32 prepend-path: /usr/lib/sdk/toolchain-i386/bin env: CC: i686-unknown-linux-gnu-gcc CXX: i686-unknown-linux-gnu-g++ CFLAGS: "-O2 -g" CXXFLAGS: "-O2 -g" libdir: /app/lib32 no-debuginfo: true modules: - name: bundle-setup buildsystem: simple build-commands: - | mkdir -p /app/bin mkdir -p /app/data mkdir -p /app/share/applications mkdir -p /app/share/icons/hicolor/16x16/apps mkdir -p /app/share/icons/hicolor/32x32/apps mkdir -p /app/share/icons/hicolor/48x48/apps mkdir -p /app/share/icons/hicolor/64x64/apps mkdir -p /app/share/icons/hicolor/128x128/apps mkdir -p /app/share/icons/hicolor/192x192/apps mkdir -p /app/share/icons/hicolor/256x256/apps install -m 0644 ./ps.clipmove.NotBlood.desktop /app/share/applications install -m 0755 ./run.sh /app/bin cleanup: - ./.git - ./.gitignore - ./*.desktop - ./*.md - ./*.sh - ./*.yml sources: - type: dir path: ./ - name: asset buildsystem: simple build-commands: - | install -m 0644 ./*.AR_ /app/data install -m 0644 ./*.ART /app/data install -m 0644 ./*.DAT /app/data install -m 0644 ./*.DEM /app/data install -m 0644 ./*.INI /app/data install -m 0644 ./*.MAP /app/data install -m 0644 ./*.RFF /app/data install -m 0644 ./*.SMK /app/data install -m 0644 ./*.WAV /app/data install -m 0644 ./logo/notblood/16.png /app/share/icons/hicolor/16x16/apps/ps.clipmove.NotBlood.png install -m 0644 ./logo/notblood/32.png /app/share/icons/hicolor/32x32/apps/ps.clipmove.NotBlood.png install -m 0644 ./logo/notblood/48.png /app/share/icons/hicolor/48x48/apps/ps.clipmove.NotBlood.png install -m 0644 ./logo/notblood/64.png /app/share/icons/hicolor/64x64/apps/ps.clipmove.NotBlood.png install -m 0644 ./logo/notblood/128.png /app/share/icons/hicolor/128x128/apps/ps.clipmove.NotBlood.png install -m 0644 ./logo/notblood/192.png /app/share/icons/hicolor/192x192/apps/ps.clipmove.NotBlood.png install -m 0644 ./logo/notblood/256.png /app/share/icons/hicolor/256x256/apps/ps.clipmove.NotBlood.png cleanup: - ./*.AR_ - ./*.ART - ./*.DAT - ./*.DEM - ./*.INI - ./*.MAP - ./*.RFF - ./*.SMK - ./*.WAV - ./.git - ./.gitignore - ./.ico - ./*.md - ./logo sources: - type: git url: rad://z3wYG4MbwEyhyoRa72h2mgdR66vCm branch: master - name: engine buildsystem: simple build-options: *compat-i386-opts build-commands: - | sed -i 's/-D_FORTIFY_SOURCE=[0-9]//g' Common.mak make HAVE_GTK2=0 install -m 0755 ./notblood /app/bin cleanup: - ./_clang-format - ./.appveyor.yml - ./.git - ./.github - ./.gitignore - ./.vscode - ./*.log - ./*.mak - ./*.md - ./*.pk3 - ./GNUmakefile - ./obj - ./package - ./platform - ./source sources: - type: git url: rad://z2QnERwRUVeEEG9dDZVNFdzRDawYt branch: master * в манифесте можно указать альтернативные источники данных (rad:) или использовать для клонирования классический Веб-прокси git, например [[ https://app.radicle.xyz/nodes/iris.radicle.xyz/rad%3Az4PJFeN7hLR94wVzFuKXzM5HCDmez | iris]] Для сборки Flatpak, потребуются следующие зависимости: sudo dnf install flatpak flatpak-builder Пример сборки с установкой в простарстве --user: flatpak-builder --force-clean build \ --install-deps-from=flathub \ --install \ --repo=repo \ --user \ ps.clipmove.NotBlood.yml Для создания файла .flatpak: flatpak build-bundle repo NotBlood.flatpak ps.clipmove.NotBlood * см. файл NotBlood.flatpak (~28 Мб) В отличии от системной версии, файлы игрового профиля будут доступны по адресу: ~/.var/app/ps.clipmove.NotBlood В случае ошибки: Can't find 32-bit runtime extension. Try running 'flatpak install org.freedesktop.Platform.Compat.i386//25.08' flatpak install --user flathub org.freedesktop.Platform.Compat.i386 Для запуска сетевой игры в CLI: flatpak run ps.clipmove.NotBlood -client 200:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx -port 23513 * в данной редакции поддерживаются дополнительные аргумены DEBUG (слева) и опции запуска (справа) ===== Игровые сервера ===== * [201:b8dc:421d:4b4d:add6:af78:f9d6:f18c]:23513 * [201:f044:ca34:9cc9:2946:ad06:6f2d:5c4e]:23513 ===== Ссылки ===== [[ https://www.youtube.com/watch?v=NaPQ5WNNSuU | Видео с примером установки в Windows ]] ([[ http://[201:1592:3bff:105:b35f:c25b:4d3:c056]/uploads/86/f7/86f7c64eb54f7dc6839da0ff8232232649fe7533.webm | ygg ]]) \\ [[ http://[200:8622:7a28:83ed:64b5:9254:8804:daa3]/g/thread/26.html#81 | Тема на OctoChan ]] \\ [[ http://[202:68d0:f0d5:b88d:1d1a:555e:2f6b:3148]/d/182-zbirka-notblood-z-pidkliucenniam-do-serveriv-ipv6 | Тема на UANA ]] \\ ~~DISCUSSION~~