gemlog/public/uk/notblood-multiplayer-with-ipv6-support.gmi
2026-03-02 20:36:03 +02:00

143 lines
No EOL
5.5 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Збірка NotBlood з підключенням до серверів IPv6
Вперше наткнувся на ініціативу запуску цієї гри в Geminispace і оскільки гайдів по типу Халфи:
=> http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:games:half_life_on_xash3d
на цю тему я не побачив (або не там шукав) вирішив зробити такий, тим паче що сервер там - Yggdrasil.
По суті, для цієї гри створено реверс-рушій NBlood:
=> https://github.com/NBlood/NBlood
Але я буду користуватись модом NotBlood, який є його форком з ~2k комітів поверху, на момент допису:
=> https://github.com/clipmove/NotBlood
## Збірка
В мережі є спільна для усіх рушіїв цього типу документація:
=> https://wiki.eduke32.com/wiki/Building_EDuke32_on_Linux
З неї згодяться такі залежності:
``` bash
sudo dnf install g++ nasm mesa-libGL-devel SDL2-devel alsa-lib-devel libvpx-devel gtk2-devel flac flac-devel
```
* `gtk2-devel` потрібен, якщо збірка з `HAVE_GTK2=1` (стандартно) - цей компонент використовується в лаунчері GUI; згодом я його вимкнув, тому даний пакет можна пропустити
На сусідньому ресурсі, є тема:
=> http://[200:8622:7a28:83ed:64b5:9254:8804:daa3]/g/thread/26.html#81
З неї, нам знадобиться наступний патч для підтримки адрес IPv6 (UPD. вже не потрібен):
> Кароче, анон:
> В /NotBlood/source/blood/src/osdcmd.cpp
>
> Ищешь
>
> { "net_address","sets network address used for multiplayer", (void *)zNetAddressBuffer, CVAR_STRING|CVAR_FUNCPTR, 0, 16 },
>
>
> Правишь 16 на 128
>
> { "net_address","sets network address used for multiplayer", (void *)zNetAddressBuffer, CVAR_STRING|CVAR_FUNCPTR, 0, 128 },
>
> В /NotBlood/source/blood/src/network.cpp
>
> в двух местах правишь char ipaddr[32]; на char ipaddr[128];
>
> Компиляешь.
>
> После этого NotBlood воспринимает прописанный в ~/.config/notblood/notblood_cvars.cfg длинный адрес и способен к нему коннектиться, проверено.
На Fedora 43, мені довелось тільки вимкнути HAVE_GTK2 (1 by default)
``` bash
make HAVE_GTK2=0
```
* інакше буде помилка типу `GLib-GObject-CRITICAL .. cannot register existing type 'GdkDisplayManager'`
## Ігрові набори
Тут є пара не офіційних референсів:
=> https://rutracker.org/forum/viewtopic.php?t=5498167
=> https://archive.org/details/blood-gt-interactive-software-1997disc-1
Але я шукатиму для себе білу (або найбільш біляву) версію.
UPD. видача з гугла, сумісність поки не перевірено:
=> https://store.steampowered.com/app/3884520/Blood_Refreshed_Supply/
=> https://www.gog.com/en/game/blood_refreshed_supply
=> https://store.epicgames.com/en-US/p/blood-refreshed-supply-f8bb7c
В залежності від способу отримання, файли вказані в README (https://github.com/clipmove/NotBlood#installing) копіюються до теки з бінарником `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`:
``` bash
sudo dnf install innoextract
innoextract /path/to/game.exe
```
Ігрові набори як правило розпаковуються до теки `app`, їх можна додатково перевірити антивірусом:
``` bash
clamscan -r app
```
Після чого шукаємо потрібні залежності, наприклад командою:
``` bash
find app -name "VOXEL.DAT"
```
* і т.д. по списку
## Запуск
Гру можна запускати з користувацькими аргументами:
=> https://wiki.eduke32.com/wiki/Command_line_options
Наприклад, може стати в нагоді вибірковий шлях до ігрових наборів:
``` bash
notblood -game_dir=/path/to/data
```
Всі доступні команди, можна переглянути командою:
``` bash
notblood -help
```
## Сервери
* [201:f044:ca34:9cc9:2946:ad06:6f2d:5c4e]:23513
## Radicle/Git
* rad:z2QnERwRUVeEEG9dDZVNFdzRDawYt - знімок репозиторію рушія
* rad:z3wYG4MbwEyhyoRa72h2mgdR66vCm - мінімальний ігровий набір (для збірки Flatpak)
## Посилання
=> https://www.youtube.com/watch?v=NaPQ5WNNSuU HOW TO PLAY BLOOD MULTIPLAYER IN 2025!
### Дивіться також
=> gemini://bbs.geminispace.org/u/baran/38701 Тред на BBS