[Util] ACF Toolkit v1.0 (beta)
-
- Эксперты no-Steam
- Сообщения: 2105
- Зарегистрирован: 30.08.2011
- Благодарил (а): 32 раза
- Поблагодарили: 760 раз
- Контактная информация:
gfox1964
Мы вроде бы решили проблему в ЛС. Тем более игра была устаревшей.
Мы вроде бы решили проблему в ЛС. Тем более игра была устаревшей.
Плюха неверно определяет папку с acf, если в системе несколько папок с хранящимися играми ( у меня все игры не на системном диске, а на отдельном G:\ ), поэтому пришлось кое-где ручками исправить код батч-файла. Советую учесть эту ошибку при следующих обновлениях.
Добавлено спустя 1 час 4 минуты 11 секунд:
ещё неверно работает с точками в названии игр (например, BIT.TRIP BEAT)
Добавлено спустя 59 минут 42 секунды:
со скобками тоже беда.
да и вообще беда, у меня так и не удалось запустить хотя бы проверку игры, а копаться в чужом коде лень.
Win7 Ult x64
Добавлено спустя 15 минут 30 секунд:
со скобками (т.е. не меняя имя игры):
без скобок, но с пробелами:
для ясности, что за цифры COUNT: я добавил счётчик в loop for, чтобы посмотреть на какой строчке вылетает.
Добавлено спустя 1 час 4 минуты 11 секунд:
ещё неверно работает с точками в названии игр (например, BIT.TRIP BEAT)
Добавлено спустя 59 минут 42 секунды:
со скобками тоже беда.
да и вообще беда, у меня так и не удалось запустить хотя бы проверку игры, а копаться в чужом коде лень.
Win7 Ult x64
Добавлено спустя 15 минут 30 секунд:
со скобками (т.е. не меняя имя игры):
без скобок, но с пробелами:
для ясности, что за цифры COUNT: я добавил счётчик в loop for, чтобы посмотреть на какой строчке вылетает.
- Psycho-A
- Эксперты no-Steam
- Сообщения: 424
- Зарегистрирован: 28.09.2009
- Благодарил (а): 15 раз
- Поблагодарили: 82 раза
Glukovich
Выложил тестовую версию. Пробуйте.
Выложил тестовую версию. Пробуйте.
- Добавлено автоудаление нового параметра "LastOwner" из ACF-файла после недавних изменений в Steam.
- Исправлен баг "cannot read file status ..." в операции "3b".
- Архивы с итоговым размером более 2 ГБ теперь разбиваются на многотомные для лучшей совместимости.
- Значительное ускорение работы при создании .update для игр с большим (от 20к и выше) числом файлов (спасибо Unit#0).
- Обновления (.update) при их применении теперь не только обновляют и добавляют контент, но и удаляют неиспользуемый от прошлых версий [beta].
- Исправлена ошибка, при которой названия папок, содержащие "точки" обрезались и приводили к сбою программы.
- Исправлена ошибка определения папки Steam в случае, если используется альтернативное, непрописанное в реестре расположение.
Спасибо за оперативность!))
Но проблемы остаются:
Но проблемы остаются:
по поводу альтернативных папок библиотеки:
ну и всё та же проблема:
- Psycho-A
- Эксперты no-Steam
- Сообщения: 424
- Зарегистрирован: 28.09.2009
- Благодарил (а): 15 раз
- Поблагодарили: 82 раза
Glukovich
В последней версии я улучшил работу с несколькими папками Steam. Поддержка библиотек в рамках одного Steam-клиента не поддерживается в силу технических ограничений, об этом я писал в шапке этой темы.
Проблему #2 воспроизвести у себя не удалось ни при каких обстоятельствах, с путями со скобками и пробелами программа работает не хуже обычных. Возможно, проблема на стороне твоей ОС.
В последней версии я улучшил работу с несколькими папками Steam. Поддержка библиотек в рамках одного Steam-клиента не поддерживается в силу технических ограничений, об этом я писал в шапке этой темы.
Проблему #2 воспроизвести у себя не удалось ни при каких обстоятельствах, с путями со скобками и пробелами программа работает не хуже обычных. Возможно, проблема на стороне твоей ОС.
эмм... ну конечно проще всего свалить всю вину на ось юзера, особенно когда косяк в батнике. ну ладно, придётся всё-таки самому копаться.
так просто, FYI, косячный кусок с включённым эхом (19 круг цикла строки 1359):
в том вызове (ProcAcf1) перед появлением ошибки переменная %~2 равняется "C:\\Program Files (x86)\\Steam\\steamapps\\common\\Antichamber"
нетрудно заметить, что скобки играют в условиях, иной причины я не вижу.
Как итог, элементарно поставив кавычки в эхе на строчке 1431 скрипт сработал:
только вот теперь я уже в целом начинаю сомневаться в правильности работы скрипта (под сомнением компетентность автора как программиста) :/
не хочу никого оскорбить, но можно было бы и разобраться до конца, а не валить всё на юзер-сайд.
приятно, конечно, когда по техническим трудностям быстро отвечают, только вот неприятно, что в итоге решать проблему пришлось самому.
так просто, FYI, косячный кусок с включённым эхом (19 круг цикла строки 1359):
Код: Выделить всё
call :ProcAcf1 "appinstalldir" "C:\\Program Files (x86)\\Steam\\steamapps\\common\\Antichamber"
)
C:\Program Files (x86)\Steam\steamapps>if "appinstalldir" == "}" (set "Block=" )
C:\Program Files (x86)\Steam\steamapps>if "appinstalldir" == "}" (exit /b )
C:\Program Files (x86)\Steam\steamapps>if "appinstalldir" == "{" (exit /b )
C:\Program Files (x86)\Steam\steamapps>if /I "appinstalldir" == "MountedDepots"
(
"C:\Program Files (x86)\Steam\steamapps\Resources\Tools\Sfk.exe" echo -spat " [yellow]MountedDepots:[def] (C:\\Program Files (x86)\\Steam\\depotcache\\)
set "Block=MD"
)
Непредвиденное появление: \\Steam\\steamapps\\common\\Antichamber.manifest.
C:\Program Files (x86)\Steam\steamapps> echo depotcache\appinstalldir_C:\\Program Files (x86)\\Steam\\steamapps\\common\\Antichamber.manifest>>"C:\Program Files (x86)\Steam\steamapps\Resources\Temp\appmanifest_219890.depots"
нетрудно заметить, что скобки играют в условиях, иной причины я не вижу.
Как итог, элементарно поставив кавычки в эхе на строчке 1431 скрипт сработал:
только вот теперь я уже в целом начинаю сомневаться в правильности работы скрипта (под сомнением компетентность автора как программиста) :/
не хочу никого оскорбить, но можно было бы и разобраться до конца, а не валить всё на юзер-сайд.
приятно, конечно, когда по техническим трудностям быстро отвечают, только вот неприятно, что в итоге решать проблему пришлось самому.
-
- Полковник
- Сообщения: 1525
- Зарегистрирован: 06.02.2008
- Благодарил (а): 9 раз
- Поблагодарили: 310 раз
- Контактная информация:
Glukovich
последнею версию не смотрел, но попробуйте запустить не от админа.
А насчет программы можно написать и на шелл. Там то он будет работать без заикания на кавычки и прочее)
последнею версию не смотрел, но попробуйте запустить не от админа.
А насчет программы можно написать и на шелл. Там то он будет работать без заикания на кавычки и прочее)
Giza
не могу запустить не от админа, т.к. это мой дефолтный профиль с полными правами)
не могу запустить не от админа, т.к. это мой дефолтный профиль с полными правами)
- Psycho-A
- Эксперты no-Steam
- Сообщения: 424
- Зарегистрирован: 28.09.2009
- Благодарил (а): 15 раз
- Поблагодарили: 82 раза
Glukovich
Ни в коем случае не хотел перекладывать проблемы на пользователей – скорее, просто, вопрос личной невнимательности (как гласит пословица "на каждые 1000 строк кода как минимум 5 будут дефектными" :)). А за баг-репорт отдельное спасибо – ни столько плюс себе, сколько на благо всему комьюнити :) Вскоре выложу исправленную версию.
-
UPD: Архив с программой перезалит.
В ближайшей перспективе (версия 1.0) - реализация многозадачности, поддержка обновленного формата AppInfo и возможность скачивания обновлений и недостающего контента (при их доступности на серверах Стима).
Ни в коем случае не хотел перекладывать проблемы на пользователей – скорее, просто, вопрос личной невнимательности (как гласит пословица "на каждые 1000 строк кода как минимум 5 будут дефектными" :)). А за баг-репорт отдельное спасибо – ни столько плюс себе, сколько на благо всему комьюнити :) Вскоре выложу исправленную версию.
-
UPD: Архив с программой перезалит.
В ближайшей перспективе (версия 1.0) - реализация многозадачности, поддержка обновленного формата AppInfo и возможность скачивания обновлений и недостающего контента (при их доступности на серверах Стима).
- Psycho-A
- Эксперты no-Steam
- Сообщения: 424
- Зарегистрирован: 28.09.2009
- Благодарил (а): 15 раз
- Поблагодарили: 82 раза
0.99.6-beta:
- Добавлена функция вывода статуса по всем установленным играм/приложениям. Для вызова необходимо запустить программу без аргументов и ввести "status".
- Добавлена начальная поддержка многозадачности (Внимание: не запускайте вторую копию, когда идет проверка контента!).
- Доработана операция удаления неиспользуемого контента при применении .update-патчей.
- Разблокировано выполнение операций 1a, 1d, 2b, 3b, 4b при параметре "StateFlags" не равном "4" (неполная установка).
Где то проблемы с кодировкой.
Скрытый текст
- Psycho-A
- Эксперты no-Steam
- Сообщения: 424
- Зарегистрирован: 28.09.2009
- Благодарил (а): 15 раз
- Поблагодарили: 82 раза
wim95
Попробуй открыть bat-файл программы и поставить в начале (после echo off)или (если не помогает)
Я не работал над кодировкой в текущих версиях, так как не-латинские символы в играх достаточная редкость, и возможности проверять их я не имею.
Если получится - включу данный фикс в следующее обновление.
Попробуй открыть bat-файл программы и поставить в начале (после echo off)
Код: Выделить всё
chcp 1251
Код: Выделить всё
chcp 1252
Если получится - включу данный фикс в следующее обновление.
Сделал так
не помогло
Победил. Надо написать будет utf-8
Система Win7 x64. Как будет на XP не известно
Код: Выделить всё
@echo off
chcp 1252
title ACF Toolkit [v0.99] console
color 80
cd /d "%~dp0"
chcp 1251
chcp 1252
Код: Выделить всё
chcp 65001
Результат
- DRON9RA
- Полковник
- Сообщения: 2233
- Зарегистрирован: 04.02.2009
- Благодарил (а): 1477 раз
- Поблагодарили: 205 раз
- Контактная информация:
Вот спасибо за программу!
А то попробовал в очередной раз TINcft и на этот раз оно даже не запустилося (не залогинилось), "ссыпля" огромным кол-вом err: unknown message после каждой строки, и само не скачивает CDR (а токо пишет что нужно скачать)(подозреваю что и не нужно на самом деле, ибо в первый раз вроде как скачал).
Ваша программа (и acf verifier tool) хотя бы работает! И даже кеш проверяет! И разобраться в ней не составило труда. Но возник вопрос: утилита же не проверяет актуальность acf-файла? CDR никакой як TINcft не скачивает?
Я проверял утилиту пока токо на заведомо обновлённых играх (купленных). Процесс обновления через утилиту мало смысла имеет если не знать точно какая версия игры сейчас, и какая актуальная должна быть.
А ешё тинсфт вроде как умеет очищать строку ластоунер в асф-файле. Тоже очень полезна фича, для пиратчегов. Можно ли её как реализовать при процессе проверке или валидации игр, посредством батника-то?
А то попробовал в очередной раз TINcft и на этот раз оно даже не запустилося (не залогинилось), "ссыпля" огромным кол-вом err: unknown message после каждой строки, и само не скачивает CDR (а токо пишет что нужно скачать)(подозреваю что и не нужно на самом деле, ибо в первый раз вроде как скачал).
Ваша программа (и acf verifier tool) хотя бы работает! И даже кеш проверяет! И разобраться в ней не составило труда. Но возник вопрос: утилита же не проверяет актуальность acf-файла? CDR никакой як TINcft не скачивает?
Я проверял утилиту пока токо на заведомо обновлённых играх (купленных). Процесс обновления через утилиту мало смысла имеет если не знать точно какая версия игры сейчас, и какая актуальная должна быть.
А ешё тинсфт вроде как умеет очищать строку ластоунер в асф-файле. Тоже очень полезна фича, для пиратчегов. Можно ли её как реализовать при процессе проверке или валидации игр, посредством батника-то?
Продам ключ (2) + CD Half-Life 1 Platinum [WON][Steam], не дорого!
- Psycho-A
- Эксперты no-Steam
- Сообщения: 424
- Зарегистрирован: 28.09.2009
- Благодарил (а): 15 раз
- Поблагодарили: 82 раза
DRON9RA
Проверяет. Это первая строка, "Check app's current status". Если ACF актуален, то на всех кэшах будет OK (сам ACF не имеет записи о дате в своей структуре - только "buildid"). Помимо этого, в последней бете реализован вывод версий ВСЕХ имеющихся в папке ACF-файлов/игр. CDR не скачивается, но используется AppInfo.vdf Стима. По этой причине, всегда необходимо иметь обновленную версию этого файла (т.е. Стим должен запускаться накануне).Но возник вопрос: утилита же не проверяет актуальность acf-файла? CDR никакой як TINcft не скачивает?
См. выше %)Процесс обновления через утилиту мало смысла имеет если не знать точно какая версия игры сейчас, и какая актуальная должна быть.
Она уже реализована в таких операциях как создание архивной копии и создание version/update-файлов. В остальных случаях типа валидации кэша или проверки версии, не вижу в ней смысла, так как мы можем работать и с лицензией.Можно ли её как реализовать при процессе проверке или валидации игр, посредством батника-то?