doom2d.org
https://www.doom2d.org/forum/

Обсуждение работы GNU/Linux сборок.
https://www.doom2d.org/forum/viewtopic.php?f=38&t=2919
Page 1 of 1

Author:  FoxFromPripyat [ 22 Dec 2021, 17:54 ]
Post subject:  Обсуждение работы GNU/Linux сборок.

Собственно, сабж.
Для новичков и просто ленивых до сборки простого бинарника людей я собираю отдельные тарболлы и так, как неизвестна ситуация с работоспособностью бинарей везде, где есть линукс и можно запускать нормально игры, то необходимо собирать максимум информации. Прежде чем сломя голову бежать орать в эту тему или в чат после неудачных попыток запуска бинарников, читайте весь этот пост.
Для работы требуются: sdl2 (SDL2, libsdl2 и тд), xmp, libgme, opus, opusfile, libvorbis, mpg123, openal, libmodplug, enet (libenet), miniupnpc (кроме x86).

Скачать можно по следующим ссылкам (так же используются и на сайте):
x86 (x32):
http://deadsoftware.ru/files/terminalhash/d2df-linux-i386.tar.gz
https://files.terminalcorner.ru/~terminalhash/doom2d-packages/d2df-linux-i386.tar.gz

x86_64 (x64):
http://deadsoftware.ru/files/terminalhash/d2df-linux-amd64.tar.gz
https://files.terminalcorner.ru/~terminalhash/doom2d-packages/d2df-linux-amd64.tar.gz

Сборка на основе ветки renders_updated:
https://deadsoftware.ru/files/terminalhash/d2df_newrenders-linux64-pack.tar.gz
https://files.terminalcorner.ru/~terminalhash/doom2d-packages/d2df_newrenders-linux64-pack.tar.gz

Архивы подписаны личным ключом, взять подписи можно по следующим ссылкам:
x86 (x32):
http://deadsoftware.ru/files/terminalhash/d2df-linux-i386.tar.gz.sig
https://files.terminalcorner.ru/~terminalhash/doom2d-packages/d2df-linux-i386.tar.gz.sig

x86_64 (x64):
http://deadsoftware.ru/files/terminalhash/d2df-linux-amd64.tar.gz.sig
https://files.terminalcorner.ru/~terminalhash/doom2d-packages/d2df-linux-amd64.tar.gz.sig

Сборка на основе ветки renders_updated:
https://deadsoftware.ru/files/terminalhash/d2df_newrenders-linux64-pack.tar.gz.sig
https://files.terminalcorner.ru/~terminalhash/doom2d-packages/d2df_newrenders-linux64-pack.tar.gz.sig

Проверяется при помощи команды:
Code:
gpg --verify archive.tar.gz.sig

За место archive подставить имя проверяемого архива. sig-файл должен находиться рядом с проверяемым файлом.

Как правильно оформить репорт:
1. Сама игра может упасть как при запуске, так и при некоторой продолжительной работе, поэтому в начале всегда пишем предпринимаемые действия при запуске и то, чего вы делаете после (если игру удалось нормально запустить и она не вылетает). Желательно по существу и без флуда.
2. В спойлер прикрепить последние ~30-50 строчек из лога Doom2DF.log, а то и прикрепить сам файл - чтобы разобраться не только мне, как мантайнеру тарболлов, так и разработчикам в случае чего. ТОЛЬКО НЕ ЗАПУСКАЙТЕ ИГРУ ПОСЛЕ ВЫЛЕТА, ЛОГИ САМОСТОЯТЕЛЬНО НЕ СОХРАНЯЮТСЯ ПОД РАЗНЫМИ ИМЕНАМИ!
3. В конце оставить вывод команды uname -a и если там нет названия вашего дистрибутива - написать его отдельно и полностью. Если запускается из под терминала - то и вводимую команду.
Флуд, оффтоп и прочее будет пропускаться мимо глаз, неграмотные репорты и требования работы будут удаляться из темы.

Установка:
Самым первым шагом к полноценной установке тарболла является установка зависимостей. Под практически каждый дистрибутив требуется писать название либ по-разному, поэтому я приведу некоторые команды для установки оных под спойлером ниже.

DEB-based дистрибутивы:
sudo apt install libenet7 libvorbis0a libopus0 libopusfile0 xmp libxmp4 libgme0 libmodplug1 libopenal4 libsdl2-2.0 mpg123


Mageia:
sudo dnf install libenet7 libsdl2.0_0 openal libvorbis0 libopus0 libopusfile0 libgme0 libxmp4


Void Linux:
sudo xbps-install -S xmp libenet SDL2 libopenal libmodplug libvorbis opus opusfile libgme libmpg123


Pacman-ориентированные дистрибутивы (Arch, Artix, Manjaro, etc.):
sudo pacman -S libgme opus opusfile libvorbis mpg123 openal enet libmodplug sdl2

xmp в стандартных репах нет, устанавливаем из AUR через свой любимый aur-помощник.


Второй шаг - уже, собственно, работа с тарболлом.
Разницы как копировать особо нет - вы можете расположить всё в одной папке, например, у себя в домашней директории и запускать так. Но если вы хотите получить рабочие пункты меню, то или копируйте как указано, или изменяйте desktop-файлы, а именно директорию в команде запуска на ту, куда вы закинули ДФ.

1. Распаковываешь архив;
2. Пихаешь содержимое папки usr - в /usr;
3. Пихаешь содержимое папки home/doom2df - в ~/.doom2df (/home/<username>/.doom2df).
4. ...
5. PROFIT!
Причина в такой структуре потому, что редактор банально не научен искать файлы по всей файловой системе, а только возле себя. Куда бинарник положишь - там он и будет искать необходимые ему файлы.


Changelog:

[14.03.23]
-- Обновлены тарболлы до свежих коммитов.

[11.03.23]
-- Обновлены тарболлы: слегка поменял маны.

[08.03.23]
-- Обновлены оба тарболла: добавлены ещё маны (как на англицком, так и на русском), собирается теперь с сдл миксером и miniupnpc (окромя х86).

[01.03.23]
-- Обновлены оба тарболла до свежайших коммитов.

[27.02.23 16:44]
-- Обновлен х86 тарболл до свежайших коммитов.

[27.02.23]
-- Обновлен х86_64 тарболл до свежайших коммитов.

[24.03.22 -- 25.03.22]
-- Обновлены оба тарболла до свежайших коммитов.

[7.03.22]
-- Обновлены оба тарболла до свежайших коммитов.

[13.01.22]
-- Обновлены 32х бинарники на основе последних изменений (повышение протокола и тд).

[25.12.21]
-- Обновлены 64х бинарники на основе последних изменений [на то число] (повышение протокола и тд).

[14.07.21]
-- Обновлены 64х бинарники на основе последних коммитов.

[7.06.21]
-- Обновлены 32х бинарники на основе последних коммитов.

[4.06.21]
-- Обновлен архив с 32х сборкой - реструктурирован, добавлены README.

[9.05.21]
-- Обновлены сборки на основе последних коммитов.

[1.05.2021]
-- Добавлена x64 сборка.

[25.04.2021]
-- Обновлены бинарники - убрал mpg123 из поставки, ибо в Mageia он кривой.
-- Привёл ресурсы в порядок, теперь добавленные карты точно работают.
-- Обновил ман - добавил возможные пути расположения ресурсов, ссылки.

[10.04.2021]
-- Запакован мануал, чтобы через команду man он отображался, заодно маленько обновлен.
-- Обновлены бинарники игры в связи с последними коммитами.

[8.04.2021 18:26]
-- Обновлен FAIL.wad.
-- Выпилен anthill.wad.
-- Добавлен franken.dfz.
-- Editor перемещён в usr/bin, туда же добавлен специальный скрипт для правильного открытия редактора.
-- В честь пункта выше обновлен desktop-файл для редактора.

[8.04.2021]
-- Точно выпилен LSD (вчера недоглядел).
-- Добавлен небольшой man со всеми имеющимися командами (кроме специфических).

[7.04.2021]
-- Оставил в поставке модели TerminalHash и SovietPony.
-- Обновил CTF2_NFK, PrikolSoft_CTF.
-- Залил DarkLab, CTF1_NFK.
-- Безжалостно выпилил LSD(ЛАГИИИИИИИИИИ), DOOM2D_v.1.888, dm_damage (ибо дубликат), damned (неотточено).
-- Переместил MA в просто вады.


FAQ:

1. Почему редактор невозможно запустить, например, из /usr/bin?
Он банально не научен читать файлы по всей файловой системе и так же не может создать лог в специально отведённых для того папках, из-за чего вы будете наблюдать только падения при попытке запустить. Эксперименты со скриптами не дают никаких успехов - редактор игнорирует такие ухищрения (либо что-то я делаю не так).

Вопрос неактуален, редактор запускается из /usr/bin при помощи спец-скрипта.

2. В чём сложность сделать Appimage?
В его ненужности.

3. А в пакетировании?
SPEC-файл для rpm есть в репозитории игры, но мякотка в том, что он заточен под Mageia, а пока что времени для корректировки спека у меня не особо нет, чтобы сделать его универсальным или хотя бы сделать вариации. Под deb-пакеты пока всё в процессе.
Мантайнерством заниматься у меня нет возможности и к тому же это крайне осложнено поставляемыми ресурсами (там есть ресурсы из Doom/Doom II), поэтому пакетов под свои системы можно не ждать. Да и бестолку ждать.

4. У меня старые версии либ, что делать?
Перейти на дистр, который предоставляет свежие версии, либо поставить из сторонней репы свежак, либо собирать бинарники самому. У меня не такой обширный парк устройств, чтобы я мог учесть такой момент и собрать на дистрибутиве с протухшими либами, всё собирается на домашних машинах с более-менее свежими версиями библиотек.

5. Игра не запускается! Выдаёт ошибку "WAD GAME not found in data directories."
Внимательно перечитывайте инструкцию, а именно шаг копирования ресурсов. Расположить можно в две директории - /usr/lib/share/doom2df и /home/<учётная-запись>/.doom2df, если вы скопировали бинарник в /usr/bin. Если всё равно не работает, то здесь я абсолютно бессилен.

6. Ваша версия отстаёт на несколько коммитов!
Если это коммиты, не влияющие на протокол. не являющиеся крупными изменениями кода игры и не задевают части кода, для которых необходимо пересобирать игру (иначе оно не будет работать так, как задумано), то смысла писать это нет. Обновление происходит с появлением вынуждающих на него коммитов.


Author:  Макс [ 26 Jul 2022, 15:55 ]
Post subject:  Re: Обсуждение работы GNU/Linux сборок.

Здравствуйте
Тут старая версия, возможно её обновить?
Здравствуйте

Author:  FoxFromPripyat [ 26 Jul 2022, 21:33 ]
Post subject:  Re: Обсуждение работы GNU/Linux сборок.

cerf wrote:
Здравствуйте
Тут старая версия, возможно её обновить?
Здравствуйте

Здесь свежая версия, меняющих номер протокола коммитов не было последнее время.

Author:  ckopo [ 09 Jan 2023, 07:09 ]
Post subject:  Re: Обсуждение работы GNU/Linux сборок.

Упаковал под Nix вместе с данными, собери-и-играй.

https://github.com/chekoopa/Doom2DF-nix

Пакет с данными и полная сборка по идее идут под unfree-лицензией, и пока я не публикую это в Nixpkgs (общий репозиторий). Можно прикрутить ассеты из FreeDoom, благо, оба под GPL и выложить две версии, free и original.

Ещё одна проблемка – отсутствие стабильных ссылок на версии данных (только latest), из-за чего после обновления архива пакет перестанет собираться (нужно править хэш архива).

В остальном всё прекрасно работает.

Author:  Макс [ 13 Jan 2023, 12:29 ]
Post subject:  Re: Обсуждение работы GNU/Linux сборок.

сделай генератор пакета, чтобы хэш оставался действительным. никто не будет делать ссылок, ни стабильных, ни на версии данных. ассеты из фридума тоже никто не будет прикручивать.

Author:  Jabberwock [ 14 Jan 2023, 15:03 ]
Post subject:  Re: Обсуждение работы GNU/Linux сборок.

ckopo wrote:
Упаковал под Nix вместе с данными, собери-и-играй.

https://github.com/chekoopa/Doom2DF-nix

Спасибо. Как это можно выложить на сайте?
И что нужно сделать со ссылками на ресурсы, чтобы пакет собирался?

Ассеты из фридума использовать невозможно по многим причинам. Ассеты Doom2DF основаны на ассетах дума, но не эквивалентны им.
Я планирую перерисовать всю графику, уже начал, но это затянется надолго.

Author:  FoxFromPripyat [ 22 Jan 2023, 20:22 ]
Post subject:  Re: Обсуждение работы GNU/Linux сборок.

Jabberwock wrote:
Спасибо. Как это можно выложить на сайте?

Никак. Это нужно самостоятельно собирать на соответствующем дистрибутиве.
И по-хорошему такие вещи необходимо держать в репозитории с игрой, кому надо - соберёт соответствующий пакет.

Author:  FoxFromPripyat [ 08 Mar 2023, 16:45 ]
Post subject:  Re: Обсуждение работы GNU/Linux сборок.

На волне занятия пакетированием, всё таки решил собирать с сдл миксером и miniupnpc, так же добавил маны.
Команды изменю когда будет на это время.

Author:  FoxFromPripyat [ 15 Mar 2023, 01:37 ]
Post subject:  Re: Обсуждение работы GNU/Linux сборок.

Изменений команд не будет, тарболлы возвращены обратно к OpenAL, как звуковому драйверу.
А вот для пкгбилда для рача нужно будет подумать, потому что xmp в репах нет. Возможно его придётся таки сбыдлить отдельно и таскать с собой в репе с ДФ-пакетами.

Author:  FoxFromPripyat [ 25 Apr 2023, 10:36 ]
Post subject:  Re: Обсуждение работы GNU/Linux сборок.

Подписал архивы своим ключом и сделал отделённую подпись, в том числе и архивы с ресурсами, так же добавил ссылки на подписи и команду для проверки.

Author:  FoxFromPripyat [ 08 Aug 2023, 21:02 ]
Post subject:  Re: Обсуждение работы GNU/Linux сборок.

Исходя из репорта Wohlstand, пересобрал тарболы. Установленный бинарь редактора рекомендую удалить, он перезаписан не будет.
Суть репорта заключалась в том, что Deb-производные (конкретно Убунта) из-за наличия update-alternatives и использующих всякие различные штуки путём задействования спец-скрипта в /usr/bin, ВНЕЗАПНО могут запустить редактор карт, т.к при установке бинарников, скажем, в /usr/local/bin, он начинает считаться как редактор текста и DE вместе с терминалами будут пытаться использовать его, если ваша переменная среды EDITOR не задана. В качестве решения проблемы, бинарник редактора из editor переименован в doom2df-editor, соответственно поменялся вызов и в скрипте.

Page 1 of 1 All times are UTC + 3 hours
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/