Страница 4 из 5

Re: [Util] ACF Toolkit v0.99

Добавлено: 13.11.2013, 20:33
ROY666
Сразу хочу извиниться. Прочел всю тему и все посты, но одного так и не понял.
Суть вопроса вот в чем: Нужно сделать патч для no-steam сборки используя обновленную игру. Возможно ли это сделать? Или утилита создает патчи понятные только ей? Или же есть другие инструменты позволяющее отследить список изминенных файлов вышедших с последним обновлением.
Еще раз извиняюсь за столь глупый (и возможно не к месту) вопрос. :(

Re: [Util] ACF Toolkit v0.99

Добавлено: 14.11.2013, 02:39
DRON9RA
Вообще да, не хватает наиполнейшей инофрмации об играх, вплоть до каждого файла и когда он был последний раз изменён. В этой утилите такое не реализовать (вся равно не читаемо будет без ГУИ). А в TINcft этой функции не предвидеться (мне вообще интерфейс старого cf toolbox больше нравился).
Да и стиму доверять нельзя, он нередко качает не всё, или как-нить криво. Нужно проводить проверку кеша обязательно. А для некоторых игр требуется и английская и русская версия последних версий.

То есть, делать патч просто новыми файлами будет проблематично. А имеющийся функционал в ACF Toolkit и TINcft, такой же как в CF Toolbox. Как делать патчи описано в шапках соответствующих тем. После того как Вы обновли полностью игру в стим, проверьте пару раз кеш (чтобы никаких скачиваний а сразу "всё на месте" и для каждого языка) и заранее сделайте файл-архив с информацией об установленной версии. В дальнейшем Вы сможете сделать или установить патч только используя этот файл. Читайте первый пост.

Учтите, что прога несовместима с TINcft.

Re: [Util] ACF Toolkit v0.99

Добавлено: 14.11.2013, 04:22
Psycho-A
ROY666
1. Возможно. Это функционал для создания .update-файлов.
2. То есть, тебе необходимо самому просмотреть список измененных файлов? Если так, то для этого достаточно просто открыть сделанный .update-файл 7-zip'ом, и просмотреть полученную файловую систему. Помимо обновленных и добавленных файлов, туда также включается список (файл с расширением .del) файлов, которые были удалены Steam'ом с приходом текущего обновления. Его можно открыть блокнотом.

DRON9RA
Ну, чтобы иметь возможность включать файлы для нескольких локализаций одновременно, нужно в первую очередь, чтобы обе версии игры были полностью скачаны, а для этого требуется держать два Стим-клиента сразу. Потому как нередко файлы локализаций могут быть одинаковыми, и перезаписывают друг-друга.
К версии 1.0 я планирую добавить возможность раздельного обновления контента манифестов, т.е. если у нас где-то имеется дополнительная локализация, то можно будет делать патчи-обновления только для нее и для основного контента игры. Тут, однако, есть свой нюанс: ACF-файлы для разных вариаций игр всегда будут отличаться, равно как и их buildid. Т.е., если мы накатим .update с русской локализацией на английскую версию игры, то она автоматически превратится в русскую, причём, состав файлов будет неполным. Так что, думаю, проще реализовать проверку языка локализации между .update-файлом и ACF игры соответственно, и, если они не совпадают, то либо предложить отказаться от обновления, либо обновить только базовый контент игры (с последним будет сложнее, т.к. по имени манифеста не всегда можно вычислить язык, а в AppInfo такие данные не прописаны).

Насчёт проверки кэша перед обновлением - это уже реализовано в программе, и не нужно даже использовать Стим - программа сама покажет, какие файлы не прошли валидацию.

Re: [Util] ACF Toolkit v0.99

Добавлено: 14.11.2013, 18:03
ROY666
Psycho-A
Абсолютно точно, именно это мне и нужно. Просто не было возможности провести данную операцию как подобает. Со следующим обновлением буду пробывать. Что бы было понятно остальным, на деле я имею чистую версию Killing Floor, а также идентичную копию no-steam, собственно после обновления я имею update-to-date Steam версию Killing Floor и мне нужно собрать патч (набор обновленных файлов) для no-Steam сборки (конечно же можно дождаться пока патч сделают другие пользователи, но все же нужно и самому руками поработать :D) Psycho-A Спасибо Вам еще раз!

Re: [Util] ACF Toolkit v0.99

Добавлено: 02.12.2013, 07:23
Psycho-A
v1.00-beta2.
Тестовая версия, которую выкладываю по причине нескорого завершения работы над финальной (ввиду недостатка времени) и желания поделиться дополнительными улучшениями уже сейчас.
ChangeLog
1.00.0-beta (15.11.2013)
- Корректировка кода: теперь утилита совместима с командной строкой с отключенными расширениями.
- Корректировка кода: теперь утилита поддерживает прямой запуск из командной строки с сохранением исходного состояния последней при выходе.
- Корректировка кода: мелкие оптимизации в целях совместимости.
- Добавлена новая операция ("2e") - скачивание обновлений для игр/приложений с серверов Steam (только для доступных игр).
- Улучшение интерфейса: все диалоговые сообщения теперь выводятся в отдельный GUI-элемент (т.е. не требуется ручной ввод в консоль).
- Добавлено отображение корневой папки со Steam в предварительном меню.
- Исправлена (надеюсь, полностью) несовместимость утилиты с игровыми файлами, использующими не-латинские символы (юникод).
- Добавлена автозамена значения нового ACF-параметра "AutoUpdateBehavior" в "1", что отключает автоматическое обновление игры в Steam.
- Исправлена ошибка в коде, которая приводила к очистке всего листинга manifest-файлов при наличии дубликатов и строк с пробелами.
- Исправлена ошибка в коде, делающая невозможным повторный вывод сводки по версиям игр по команде 'status'.
- Добавлена проверка версии AppInfo.vdf перед операциями, требующими актуальной сводки о контенте (status, 1a, 2a, 2c).
- Если при создании .version включена опция добавления некорректного пользовательского контента, то теперь его список выводится в консоль.
- Исправлен сбой программы, когда, при создании .update-файлов, различия в контенте между разными версиями отсутствовали.
- Удалена зависимость вложения пользовательского контента в .update от параметра "AskForAttachInvalids", вместо этого теперь выдается запрос.
- Добавлен диалог для быстрого удаления .update-файла c жесткого диска после его успешного применения.
- Добавлен вывод диалогового окна, если при применении .update запущен Steam (вам предложат закрыть его, так как он блокирует ACF-файлы).
- Исправлены другие мелкие недочёты.
Ссылка в шапке.

Re: [Util] ACF Toolkit v0.99

Добавлено: 02.12.2013, 12:22
ArsNG
- Добавлена новая операция ("2e") - скачивание обновлений для игр/приложений с серверов Steam (только для доступных игр).
Можно подробнее?

Re: [Util] ACF Toolkit v0.99

Добавлено: 02.12.2013, 20:01
wim95
Предлагаю архивировать алгоритмом LZMA2 (многопоточный, автоматически).
Результат сжатия на моем железе Jagged Alliance - Back in Action. Размер 2,57 ГБ (2 769 770 302 байт).

LZMA: Время 11:48, размер 1,60 ГБ (1 724 293 519 байт)
LZMA2 Время 04:54, размер 1,60 ГБ (1 721 696 220 байт)

Нужно найти и заменить на

Код: Выделить всё

-m0=lzma2 -mx=9
в нескольких местах.

Из установленного 7zip скопировать в папку ..\Resources\Tools\

Код: Выделить всё

7z.dll
7-zip.dll
7z.exe
Возможно какая-то dll лишняя.
Исправить

Код: Выделить всё

:Tools
set "ArcTool=%~dp0Resources\Tools\7za.exe"
на

Код: Выделить всё

:Tools
set "ArcTool=%~dp0Resources\Tools\7z.exe"
т.е. 7za на 7z

Re: [Util] ACF Toolkit v0.99

Добавлено: 02.12.2013, 20:29
Psycho-A
ArsNG
Программа провалидирует файловую систему твоей игры, и если в ней есть битые или устаревшие файлы - предпримет попытку скачать обновленные файлы с контент-серверов Steam. Само-собой, если какие-то файлы (точнее, манифесты, в которых содержатся листинги файлов) на серверах защищены, то они будут пропускаться. В общем, по аналогии с CFToolbox (если кто-то о ней ещё помнит).

wim95
Если бы всё было так просто, то было бы давно реализовано ;) Проблема в том, что при большом количестве файлов (более 5-10 тыс на игру), LZMA2 весьма неадекватно работает с памятью, вызывая переполнение даже на мощных машинах. А представь, если у человека всего 1 или 2 ГБ? LZMA контролирует её в заданных пределах, поэтому и был выбран.

Ко всем скачавшим версию 1.0-beta2 просьба перекачать файл - исправлена одна непростительная оплошность :).

Re: [Util] ACF Toolkit v0.99

Добавлено: 02.12.2013, 22:10
wim95
Psycho-A писал(а): Если бы всё было так просто, то было бы давно реализовано ;)
Ну да из 16 гигов, как минимум 8 съедает, но и все ядра грузит (отсюда уменьшение времени).
Желающие могут рискнуть. Когда измерял время упаковки параллельно смотрел сериал и играл в ВОТ (в окошках) ;)

Re: [Util] ACF Toolkit v0.99

Добавлено: 03.12.2013, 00:29
Psycho-A
wim95
7za.exe, входящий в набор инструментов программы, итак поддерживает lzma2, - ни к чему производить замены. Возможно, в следующей бете я выведу возможность смены алгоритма сжатия в ini-файл настроек.
Скрытый текст
аккаунт бесплатный. подводит память, но проблему решил почти сразу %)

Re: [Util] ACF Toolkit v0.99

Добавлено: 03.12.2013, 02:21
bugme666
Psycho-A
Почему сама программа-то распространяется в Rar? Rar sucks же. Давай в 7z. За обнову спасибо.

Re: [Util] ACF Toolkit v0.99

Добавлено: 03.12.2013, 03:06
Psycho-A
bugme666
Как-то не интересуюсь особо этими "специальными олимпиадами", поэтому архивировал тем, чем пользуюсь чаще ;)
Ну 7z, так 7z, в следующем релизе учту...

Re: [Util] ACF Toolkit v0.99

Добавлено: 03.12.2013, 08:31
Renaissance
bugme666 писал(а):Почему сама программа-то распространяется в Rar? Rar sucks же. Давай в 7z. За обнову спасибо.
если пошла такая пляска, то почему не zip? Вдруг у меня архиватора вообще нет.

Re: [Util] ACF Toolkit v0.99

Добавлено: 03.12.2013, 12:25
Psycho-A
В использовании 7z, в принципе, есть рациональное звено - ведь все игровые архивы и обновления создаются именно в нем, так что пользователь должен иметь его уже заведомо.

С другой стороны, я мог бы и вовсе паковать программу в какой-нибудь tar.gz, и возразить против этого было бы трудно, так как это автоматом отсеивало бы нубов, неспособных скачать себе нормальный архиватор, который бы это распаковал ;)

Re: [Util] ACF Toolkit v0.99

Добавлено: 03.12.2013, 18:22
wim95
Psycho-A писал(а):wim95
7za.exe, входящий в набор инструментов программы, итак поддерживает lzma2
У меня при использовании lzma2 и 7za выдает вот это
Скрытый текст
Making archive copy...
Deleting unused stuff...
Correcting Acf structure...
Archiving Acf "appmanifest_9200.acf"...
Archiving depots content (this may take a long time!)...
Compressing "[209460] RAGE DLC3 Content (Nov 03 2012)"...
The system cannot find the file specified.
Compressing "[9201] RAGEDepot (May 26 2012)"...
The system cannot find the file specified.
Compressing "[9208] RAGE Russian (May 28 2012)"...
The system cannot find the file specified.
Compressing "[9238] RagePatch1Depot (May 26 2012)"...
The system cannot find the file specified.
Compressing "[9239] RAGE_EXEDepot (Jan 30 2013)"...
The system cannot find the file specified.
Compressing "[9241] Rage Sewers DLC (May 26 2012)"...
The system cannot find the file specified.

_________________________________

All backuping operations finished!
Goto 'CookedApps\RAGE (Jan 30 2013)' to view files.
Может ключи у 7za и 7z разные?
Я себе lzma2 еще в SteamAppsPreparer поставил и тогда оно с 7za тоже не работало.