1

Тема: Выпуск лаунчера версии 1.2

Тихо и незаметно была подготовлена очередная версия лаунчера.

https://ttyh.ru/images/launcher-1.2.png

Из изменений стоит отметить:

  • Инструменты для сборки локальных версий

    • Настройка локального хранилища версий

    • Управление локальным хранилищем

    • Установка сборок из локального хранилища

  • Обновленный дизайн иконки и логотипа

  • Исправления мелких багов и недоработок

Главным изменением в этой версии является разработка инструментария для подготовки локальных версий, который, как я и обещал, наконец-то появился в лаунчере. Для этого было решено сделать графический интерфейс к ttyhstore — программе для управления хранилищем версий, которую мы используем на своих серверах обновлений.

Если вы хотите собирать локальные версии игры, очень рекомендуем вам скачать последнюю версию.

Что нужно сделать для установки тестовой версии:

  • Скачать и распаковать базовое хранилище store.zip

  • В диалоге  настроек («Инструменты» — «Локальные версии» — «Параметры хранилища») указать путь до store/ttyhstore.exe и store/root

  • В диалоге управления хранилищем («Инструменты» — «Локальные версии» — «Управление хранилищем») выполнить сборку репозитория — команда collect

  • В диалоге установки («Инструменты» — «Локальные версии» — «Установить локальную версию») выбрать и установить версию default/1.10.0-example

  • Готово! Префикс установлен (версию можно выбрать в настройках и запустить)

Как вносить изменения в версию:

  • Создать или удалить файлы в store/root/default/<версия>/files/

  • Отредактировать список файлов, которые пользователь может изменять (обычно это файлы настроек) store/root/default/<версия>/mutables.list — это обычный текстовый файл

  • Выполнить сборку репозитория и установку версии

  • Готово! Изменения внесены в установленный префикс

Что делают команды управления хранилищем?

  • collect — делает всю муторную работу по загрузке файлов в локальное хранилище, рассчитывает чексуммы, подготавливает список версий

  • clone — клонирует версию из официального репозитория в store/root/default/<версия>/

  • cleanup — удаляет из репозитория никому ненужные библиотеки и ресурсы

Что ещё нужно знать для правильной сборки локальных версий?

  • Для образца всегда можно заглянуть в наше хранилище

  • Для поддержки авторизации на наших серверах, надо подменять адреса серверов в authlib (что на что надо менять, можно посмотреть в нашем хранилище)

  • Для подмены адресов нужно использовать любой редактор Java-байткода, например jarstrings

Изменения в версии лаунчера 1.2.1

  • Исправлена ошибка с бесконечным запуском при недоступном мастер-сервере (временное решение для QTBUG-57799).

  • Множественные улучшения запуска в оффлайн-режиме. Оффлайн-режим стал пригоден для использования!

  • Во время проверки обновлений не выполняется обновление индексов версии.

  • Удаление устаревших файлов и обновление индекса установленных файлов теперь происходит только после загрузки обновленных файлов клиента.

  • Исправлено поведение при сравнении хэшей: теперь можно хранить хэш капсом. Некоторые так и делают.

Изменения в версии лаунчера 1.2.2

  • Исправлено поведение при запуске несуществующей версии в оналйн-режиме. Теперь вместо ошибки появляется предложение обновить клиент.

Mozilla/5.0 (X11; Linux x86_64; rv:50.0) Gecko/20100101 Firefox/50.0

2

Re: Выпуск лаунчера версии 1.2

Ура. Ура.

Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:50.0) Gecko/20100101 Firefox/50.0

3

Re: Выпуск лаунчера версии 1.2

Что-то не ура. Нажимаю collect, начинает качать файлы и застревает.

Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:50.0) Gecko/20100101 Firefox/50.0

4

Re: Выпуск лаунчера версии 1.2

На чем застравает?
Стор довольно топорная утилита(я вообще не ожидал, что она будет использоваться дальше нашего сервера), непосредственно в процессе скачивания файла ничего не выводит, только по результату.
Так что на больших файлах может казаться, что ничего не происходит. А скорость отдачи у мажонговских серверов не особо впечатляющая.

Mozilla/5.0 (X11; Linux x86_64; rv:50.0) Gecko/20100101 Firefox/50.0

5

Re: Выпуск лаунчера версии 1.2

А если на старом лаунчере останешься,ничего плохого не случится ведь?

Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36

6

Re: Выпуск лаунчера версии 1.2

Пока никаких ломающий изменений не намечается.

Mozilla/5.0 (X11; Linux x86_64; rv:50.0) Gecko/20100101 Firefox/50.0

7

Re: Выпуск лаунчера версии 1.2

i_Pshikalka пишет:

А если на старом лаунчере останешься,ничего плохого не случится ведь?

Совместимость не ломали. Но лаунчер до версии 1.0 был тормозным.

Mozilla/5.0 (iPad; CPU OS 8_4 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12H143 Safari/600.1.4

8

Re: Выпуск лаунчера версии 1.2

Что-то у меня глюкануло похоже. Старая версия майнача при обновлении лаунчера удалилась. Сейвы жалко...

Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0

9

Re: Выпуск лаунчера версии 1.2

Forger пишет:

Что-то у меня глюкануло похоже. Старая версия майнача при обновлении лаунчера удалилась. Сейвы жалко...

Под каждую версию мейна отдельная папка с сейвами.
Local\ttyh_minecraft\client_default\prefixes

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36

10 (изменено: Forger, 2016-12-11 21:40:46)

Re: Выпуск лаунчера версии 1.2

Tire пишет:
Forger пишет:

Что-то у меня глюкануло похоже. Старая версия майнача при обновлении лаунчера удалилась. Сейвы жалко...

Под каждую версию мейна отдельная папка с сейвами.
Local\ttyh_minecraft\client_default\prefixes

Так в том и дело, что там нет ничего кроме последнего. Но оно там явно было до этого.

Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0

11 (изменено: Forger, 2016-12-13 17:49:31)

Re: Выпуск лаунчера версии 1.2

Кстати, мне лаунчер ещё вот эту пакость выдаёт. ОпенАл установлен. Что с этим делать?
[21:36:01] Игра >> [21:36:01] [Client thread/INFO]: Reloading ResourceManager: Default
[21:36:01] Игра >> [21:36:01] [Client thread/INFO]: [OptiFine] *** Reloading textures ***
[21:36:01] Игра >> [21:36:01] [Client thread/INFO]: [OptiFine] Resource packs: Default
[21:36:02] Игра >> [21:36:02] [Thread-5/INFO]: [OptiFine] Version found: B2
[21:36:02] Игра >> [21:36:02] [Sound Library Loader/INFO]: Starting up SoundSystem...
[21:36:02] Игра >> [21:36:02] [Thread-6/INFO]: Initializing LWJGL OpenAL
[21:36:02] Игра >> [21:36:02] [Thread-6/INFO]: (The LWJGL binding of OpenAL.  For more information, see http://www.lwjgl.org)
[21:36:02] Игра >> [21:36:02] [Thread-6/ERROR]: Error in class 'LibraryLWJGLOpenAL'
[21:36:02] Игра >> [21:36:02] [Thread-6/ERROR]: Unable to initialize OpenAL.  Probable cause: OpenAL not supported.
[21:36:02] [Thread-6/WARN]: ERROR MESSAGE:
[21:36:02] [Thread-6/INFO]: Could not locate OpenAL library.
[21:36:02] [Thread-6/WARN]: STACK TRACE:
[21:36:02] [Thread-6/INFO]: org.lwjgl.openal.AL.create(AL.java:156)
[21:36:02] [Thread-6/INFO]: org.lwjgl.openal.AL.create(AL.java:102)
[21:36:02] [Thread-6/INFO]: org.lwjgl.openal.AL.create(AL.java:206)
[21:36:02] [Thread-6/INFO]: paulscode.sound.libraries.LibraryLWJGLOpenAL.init(LibraryLWJGLOpenAL.java:164)
[21:36:02] [Thread-6/INFO]: paulscode.sound.SoundSystem.CommandNewLibrary(SoundSystem.java:1576)
[21:36:02] [Thread-6/INFO]: paulscode.sound.SoundSystem.CommandQueue(SoundSystem.java:2572)
[21:36:02] [Thread-6/INFO]: paulscode.sound.CommandThread.run(CommandThread.java:121)
[21:36:03] Игра >> [21:36:03] [Sound Library Loader/WARN]: ERROR MESSAGE:
[21:36:03] Игра >> [21:36:03] [Sound Library Loader/INFO]: Could not locate OpenAL library.
[21:36:03] [Sound Library Loader/INFO]: Starting up SoundSystem...
[21:36:03] Игра >> [21:36:03] [Thread-8/INFO]: Switching to No Sound
[21:36:03] Игра >> [21:36:03] [Thread-8/INFO]: (Silent Mode)

Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0

12

Re: Выпуск лаунчера версии 1.2

Может быть не под ту архитектуру установлен? По идее должен быть той же, что и лаунчер, если фигец не придумал чего-то нового с определением битности.

Mozilla/5.0 (X11; Linux x86_64; rv:50.0) Gecko/20100101 Firefox/50.0

13

Re: Выпуск лаунчера версии 1.2

На офсайте только один установщик под все битности, там в принципе нечего путать. OpenAL32.dll и OpenAL64.dll валяются в файлах игры, где им и положено. Может что-то с LWJGL, но я хз, как в этом лаунчере его обновлять.

Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0

14

Re: Выпуск лаунчера версии 1.2

Forger пишет:

Что-то у меня глюкануло похоже. Старая версия майнача при обновлении лаунчера удалилась. Сейвы жалко...

Насколько старая была прошлая версия? Может быть они просто лежат не там?

Mozilla/5.0 (X11; Linux x86_64; rv:50.0) Gecko/20100101 Firefox/50.0

15

Re: Выпуск лаунчера версии 1.2

Forger пишет:

На офсайте только один установщик под все битности, там в принципе нечего путать. OpenAL32.dll и OpenAL64.dll валяются в файлах игры, где им и положено. Может что-то с LWJGL, но я хз, как в этом лаунчере его обновлять.

Нативные библиотеки (DLL) загружаются вместе со всеми остальными с нашего стора, которые идентичны библиотекам с официального. Проблема, скорее всего с разрядностью.

Лаунчер знает свою разрядность и подкладывает библиотеки такой же разрядности. Если 32-битный лаунчер запущен в 64-разрядной системе и запускает 64-разрядную Java, то нативные библиотеки ей он подсунет 32-битные. Вероятно такие не загрузятся.

Но вроде бы в последних версиях нет нативных библиотек, разделенных по разрядности (подсовываются сразу оба варианта, по крайней мере в 1.10 и 1.11).

Посмотреть, что подсовывает лаунчер можно в %appdata%\ttyh_minecraft\client_default\natives

Mozilla/5.0 (X11; Linux x86_64; rv:50.0) Gecko/20100101 Firefox/50.0

16

Re: Выпуск лаунчера версии 1.2

Figec пишет:

Насколько старая была прошлая версия? Может быть они просто лежат не там?

Майнач был 1.9, лаунчер - не помню. Я воде всё обшарил, где могли лежать старые файлы.

Figec пишет:
Forger пишет:

На офсайте только один установщик под все битности, там в принципе нечего путать. OpenAL32.dll и OpenAL64.dll валяются в файлах игры, где им и положено. Может что-то с LWJGL, но я хз, как в этом лаунчере его обновлять.

Нативные библиотеки (DLL) загружаются вместе со всеми остальными с нашего стора, которые идентичны библиотекам с официального. Проблема, скорее всего с разрядностью.

Лаунчер знает свою разрядность и подкладывает библиотеки такой же разрядности. Если 32-битный лаунчер запущен в 64-разрядной системе и запускает 64-разрядную Java, то нативные библиотеки ей он подсунет 32-битные. Вероятно такие не загрузятся.

Но вроде бы в последних версиях нет нативных библиотек, разделенных по разрядности (подсовываются сразу оба варианта, по крайней мере в 1.10 и 1.11).

Посмотреть, что подсовывает лаунчер можно в %appdata%\ttyh_minecraft\client_default\natives

Система и ява 64 битные. Содержимое natives: jinput-dx8 jinput-dx8_64 jinput-raw jinput-raw_64 jinput-wintab lwjgl lwjgl64 OpenAL32 OpenAL64. Все .dll, ну и ещё папка META-INF

Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0

17

Re: Выпуск лаунчера версии 1.2

Forger пишет:
Figec пишет:

Насколько старая была прошлая версия? Может быть они просто лежат не там?

Майнач был 1.9, лаунчер - не помню. Я воде всё обшарил, где могли лежать старые файлы.

Figec пишет:

Нативные библиотеки (DLL) загружаются вместе со всеми остальными с нашего стора, которые идентичны библиотекам с официального. Проблема, скорее всего с разрядностью.

Лаунчер знает свою разрядность и подкладывает библиотеки такой же разрядности. Если 32-битный лаунчер запущен в 64-разрядной системе и запускает 64-разрядную Java, то нативные библиотеки ей он подсунет 32-битные. Вероятно такие не загрузятся.

Но вроде бы в последних версиях нет нативных библиотек, разделенных по разрядности (подсовываются сразу оба варианта, по крайней мере в 1.10 и 1.11).

Посмотреть, что подсовывает лаунчер можно в %appdata%\ttyh_minecraft\client_default\natives

Система и ява 64 битные. Содержимое natives: jinput-dx8 jinput-dx8_64 jinput-raw jinput-raw_64 jinput-wintab lwjgl lwjgl64 OpenAL32 OpenAL64. Все .dll, ну и ещё папка META-INF

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

Если не трудно, то посмотри поведение той же версии майнкрафта в других лаунчерах (обрати внимание и на версии библиотек). Если на других лончерах проблема не повторяется, то будем играть в игру "найди 10 отличий в порядке запуска" и всё починим :)

Можешь ещё попробовать запилить локальную версию с более новой lwjgl и нативными библиотеками для неё. Это тоже может дать волшебный эффект.

Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0

18 (изменено: Forger, 2016-12-14 16:23:09)

Re: Выпуск лаунчера версии 1.2

Figec пишет:

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

Если не трудно, то посмотри поведение той же версии майнкрафта в других лаунчерах (обрати внимание и на версии библиотек). Если на других лончерах проблема не повторяется, то будем играть в игру "найди 10 отличий в порядке запуска" и всё починим :)

Можешь ещё попробовать запилить локальную версию с более новой lwjgl и нативными библиотеками для неё. Это тоже может дать волшебный эффект.

TLauncher последний пашет нормально. Чего дальше делать? И да, что в итоге со старыми сейвами?

Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0

19

Re: Выпуск лаунчера версии 1.2

Forger пишет:
Figec пишет:

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

Если не трудно, то посмотри поведение той же версии майнкрафта в других лаунчерах (обрати внимание и на версии библиотек). Если на других лончерах проблема не повторяется, то будем играть в игру "найди 10 отличий в порядке запуска" и всё починим :)

Можешь ещё попробовать запилить локальную версию с более новой lwjgl и нативными библиотеками для неё. Это тоже может дать волшебный эффект.

TLauncher последний пашет нормально. Чего дальше делать? И да, что в итоге со старыми сейвами?

TLauncher использует те же версии клиента и библиотек?

Лаунчер удаляет что-либо из префиксов в одном случае: файл был записан в data.json находящийся в префиксе, а актуальном data.json он отсутсвует. Если ты сам не записывал сейвы в data.json, то они не должны были удалиться.

Ещё погляди что лежит в %appdata% с названием содержащим ttyh, в очень старых версиях настрйоки лаунчера и его данные были в одной директории, вероятно, что сейвы остались там.

Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0

20 (изменено: Forger, 2016-12-16 20:25:44)

Re: Выпуск лаунчера версии 1.2

Figec пишет:

TLauncher использует те же версии клиента и библиотек?

Лаунчер удаляет что-либо из префиксов в одном случае: файл был записан в data.json находящийся в префиксе, а актуальном data.json он отсутсвует. Если ты сам не записывал сейвы в data.json, то они не должны были удалиться.

Ещё погляди что лежит в %appdata% с названием содержащим ttyh, в очень старых версиях настрйоки лаунчера и его данные были в одной директории, вероятно, что сейвы остались там.

Судя по именам файлов, у обоих 2.9.4-nightly-20150209 О_О Но там у них свои какие-то библиотечки ещё. Версия лаунчера у них там какая-то своя, и я хз, как её соотносить с этой и майновской

Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0

21

Re: Выпуск лаунчера версии 1.2

Ну чего там? Мне так и суждено теперь без звука остаться? ( ._.)

Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0

22

Re: Выпуск лаунчера версии 1.2

Запусти этот самый TLauncher из консоли(cmd или чего там нынче в шинде) и скинь лог.

Mozilla/5.0 (X11; Linux x86_64; rv:50.0) Gecko/20100101 Firefox/50.0

23

Re: Выпуск лаунчера версии 1.2

betrok пишет:

Запусти этот самый TLauncher из консоли(cmd или чего там нынче в шинде) и скинь лог.

Хоть бы написал, как это делать...

Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0

24

Re: Выпуск лаунчера версии 1.2

Скиньте кто-нибудь старый лаунчер, а то новый у меня вообще локальные версии не хочет запускать. Я уже не понимаю, что там надо менять, слишком сложно =(

Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:50.0) Gecko/20100101 Firefox/50.0

25

Re: Выпуск лаунчера версии 1.2

У кого были пробемы с выкачиванием файлов через стор, скачайте его заново, пофикшено.

Mozilla/5.0 (X11; Linux x86_64; rv:50.0) Gecko/20100101 Firefox/50.0