Skip to forum content

You are not logged in. Please login or register.


forums.pvpgn.pro → [RU] Research & Development → Двоичные пакеты и стандартные пути

Pages 1

You must login or register to post a reply

RSS topic feed

Posts: 9

1 (edited by DragonZX 02.01.2017 14:41)

Topic: Двоичные пакеты и стандартные пути

Дорогие друзья, прошу разьяснить, в чем проблема собрать двоичные пакеты для различных систем? Тогда отпадет бешеное количество вопросов о компиляции. В принципе, могу мейнтейнить основные серверные платформы (все равно себе собирать).
Кроме того, почему такая странная структура каталогов? На некоторых системах /bin вообще является ссылкой на /usr/bin, что может привести к непредвиденным проблемам. Оригинальный пакет складывал все бинарники в /usr

2

Re: Двоичные пакеты и стандартные пути

Ни у кого не было опыта создания пакетов. Если у вас такой опыт есть, то это было бы очень кстати! Название пакета "pvpgn-pro". Текущая стабильная версия 1.99.7.1 https://github.com/pvpgn/pvpgn-server/releases

На github один человек тоже хотел добавить пакеты, но дело с тех пор не сдвинулось https://github.com/pvpgn/pvpgn-server/p … t-51715739

Он же в последний раз изменял пути для инсталляции в unix https://github.com/pvpgn/pvpgn-server/issues/73
Разве сейчас установка происходит не в /usr/local/pvpgn/bin?

Do not ask for support in PM.

3

Re: Двоичные пакеты и стандартные пути

Так все же зависит от префикса, и судя по выгрузке в папку он их пишет в зависимости от политики дистрибутива, потому как CMAKE_INSTALL_PREFIX похоже не всегда по умолчанию /usr/local/
Да и не во всех дистрибутивах это идеалогически верно.
Можете ткнуть носом в официальный мануал по сборке? А то Тут есть вещи с которыми я принципиально не согласен.

Вопрос второй. Для Diablo 2 так исходники и не раздобыли? Очень грустно запускать его под Wine, однажды я плюнул на это дело.

4

Re: Двоичные пакеты и стандартные пути

Вам стоит создать pull request с изменениями, которые исправляют этот префикс, чтобы во всех системах он был одинаковым.  Можно сослаться на предыдущий pr, чтобы было более понятно относительно чего делаются изменения.

Для разных систем краткий процесс сборки в Readme внизу на https://github.com/pvpgn/pvpgn-server

DragonZX wrote:

А то Тут есть вещи с которыми я принципиально не согласен.

Там мануал для старой версии 1.99, но в частично он подходит и для новой. С чем именно вы не согласны?

Do not ask for support in PM.

5 (edited by DragonZX 03.01.2017 01:33)

Re: Двоичные пакеты и стандартные пути

HarpyWar wrote:

Там мануал для старой версии 1.99, но в частично он подходит и для новой. С чем именно вы не согласны?

Ну как минимум
1. Git-trunk - для избранных, лучше wget-ить tar.gz архив последнего стабильного релиза, а так есть шанс нарваться на нерабочий срез, да и пакет git с кучей служебной информации простым смертным обычно не нужен.
2. Сборку лучше производить в /tmp/ на мой взгляд, чтобы не засорять систему (а уж в /home - так вообще ни за что - отдача при копировании пользовательских настроек замучает).
3. В ссылке которую я привел есть создание папки build (c cmake я впервые, может и нужна, хотя на мой взгляд, ну собралось бы куда-нибудь на худой конец), а вот в официальном мануале конфигурируется из директории выше, а про создание папки рядом - ни слова, ни вообще ни про один каталог, будут же в домашнем собирать.

6

Re: Двоичные пакеты и стандартные пути

Со многим соглашусь. Текст размещался во времена когда у меня был начальный опыт в Linux, и проект недавно переехал на git, хотелось использовать все новые возможности сервера при каждом новом изменении в репозитории.
Тогда в Linux я делал по аналогии с построением в Windows, и папку build с кэшем проще было удалить, когда она явно была указана. Иначе, если в например, cmake выдает ошибку, и в исходниках затем это поправить, то кэш по-прежнему будет отдавать эту ошибку, пока папку build не очистить. Возможно, cmake clean или cmake rebuild_cache очищают этот кэш ничуть не хуже smile.

Касательно git clone, здесь вопрос скорее в том, что в master ветку должны выкладываться только стабильные релизы, а остальная разработка должна вестись в бранчах. Можно создать issue на github, чтобы обсудить это с мэйнтейнерами.

DragonZX wrote:

Вопрос второй. Для Diablo 2 так исходники и не раздобыли? Очень грустно запускать его под Wine, однажды я плюнул на это дело.

Мне кажется, полных исходников никогда и не было. Так как там в любом случае вызываются функции dll под win32 из оригинальной игры. То есть серверная часть уже фактически была написана близзардами в клиенте игры (который есть только под Windows). А D2GS позволяет запускать сервер вместе с PvPGN и добавлять какую-то дополнительную обработку на игровые события. То есть на Linux его в любом случае не получилось бы полностью портировать.

Do not ask for support in PM.

7

Re: Двоичные пакеты и стандартные пути

HarpyWar wrote:

Мне кажется, полных исходников никогда и не было. Так как там в любом случае вызываются функции dll под win32 из оригинальной игры. То есть серверная часть уже фактически была написана близзардами в клиенте игры (который есть только под Windows). А D2GS позволяет запускать сервер вместе с PvPGN и добавлять какую-то дополнительную обработку на игровые события. То есть на Linux его в любом случае не получилось бы полностью портировать.

Вот тут в истории несколько не так. Насколько помню, изначально PVPGN поддерживал первые версии D2, до того, как вышел какой-то патч (кажется 1.09d), после чего стал необходим вот такой костыль (может просто не реверсили). D2 доступен для windows и MacOS (X), то есть реально запустить на Darwin, Который по сути POSIX (Просто мысли, отметаем пока за отсутствием практической пользы). Если верить википедии для игры недавно еще один патч выпустили, надо бы потестить (по сути тоже план действий чтобы не забыть). То есть надо выяснить что в этом патче изменилось.
BTW, pvpgn support все еще требуются или как-то иначе?

Добавлено: 03.01.2017 18:26

W: pvpgn: binary-without-manpage usr/bin/bncdb
W: pvpgn: binary-without-manpage usr/bin/sha1hash

Второй файл вообще зачем? В первой версии пакета оставлю, но не unix-way, тем более сейчас везде используется sha2 (512) Кстати маны вообще не копируются в скомпилированную папку

Кроме того /var/pvpgn - плохая идея, есть политически верный каталог /var/lib/pvpgn

8

Re: Двоичные пакеты и стандартные пути

Действительно, для Mac тоже есть клиент. Получается, теоретически можно перенести и на Linux, но вся текущая работа уже сделана под Windows.
Файлы pvpgn-support теперь включены в репозиторий, раньше их скачивали отдельно.

DragonZX wrote:

Второй файл вообще зачем? В первой версии пакета оставлю, но не unix-way, тем более сейчас везде используется sha2 (512) Кстати маны вообще не копируются в скомпилированную папку
Кроме того /var/pvpgn - плохая идея, есть политически верный каталог /var/lib/pvpgn

sha1hash создает не обычный sha1, но broken x-sha, который используется для хеширования пароля во всех играх, который PvPGN поддерживает. Это отдельная утилита, как и все остальные, которые там есть. Для работы сервера необходимы только bnetd, d2cs и d2dbs.

В вопросе организации структуры каталогов в Linux я не совсем компетентен, как уже говорил ранее, для этого лучше создать отдельное обсуждение на github, или продолжить существующее.

Do not ask for support in PM.

9 (edited by DragonZX 16.01.2017 01:33)

Re: Двоичные пакеты и стандартные пути

Спасибо, продолжил тикеты. Тестовый пакет для Debian Jessie готов, не факт что совсем всё правильно, сейчас подправлю для Ubuntu Xenial. Демон собран так, чтбы запускать под пользователем pvpgn:pvpgn

UPD: Обновил пакет так, что теперь встанет и на Xenial - убрал из пакета libmysqlclient зависимость, так как mariadb зависит от libmariadbclient

Posts: 9

Pages 1

You must login or register to post a reply

Who now at forum

Currently view post: 0 guests, 0 registered users

forums.pvpgn.pro → [RU] Research & Development → Двоичные пакеты и стандартные пути