С недавних пор ( 1 , 2 ) пользователи Yggdrasil могут играть по сети NotBlood редакции движка clipmove , используя стек IPv6.
Зависимости:
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
В корне будет создан бинарник notblood.
Для запуска игры, потребуются игровые наборы: в частности файлы, которые располагаются в общей с notblood директории:
При наличии игры в формате .exe извлечь файлы можно утилитой innoextract:
sudo dnf install innoextract innoextract /path/to/game.exe
Запуск игры осуществляется файлом notblood. Если игровые наборы расположены отдельно, указать путь к директории можно аргументом -game_dir:
notblood -game_dir=/path/to/data
Все доступные опции запуска :
notblood -help
Подключение к игровому серверу:
notblood -client 201:b8dc:421d:4b4d:add6:af78:f9d6:f18c -port 23513
В сети 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
Для сборки 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
В отличии от системной версии, файлы игрового профиля будут доступны по адресу:
~/.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
