[Util] Command Line CF Updater v3.6.3

Всё для взлома и эмуляции Steam.
Сообщение
Автор
Аватара пользователя
$t@t!c_V()1D
Разработчик
Разработчик
Сообщения: 2639
Зарегистрирован: 06.12.2007
Благодарил (а): 10 раз
Поблагодарили: 29 раз

#1 Сообщение 24.07.2010, 17:17

По просьбе товарища Jeka на этот раз всё сделано чуть покруче %) . Эта штука соединяется с контент сервером обновлений (утилитку для поднятия такового можной найти в папке CFToolbox\server) и ищет обновившиеся файлы для вашей GCF уже там. Это позволяет избавиться от постоянных скачиваний различных *.update.gcf. Здесь заодно *.update.gcf создаётся под вашу версию GCF.

в v3 добавлена поддержка GCF более 4 Гб и есть возможность создавать и применять CFT-совместимые патчи.

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

cfUpdater <действие> <путь к GCF|NCF> [Путь к папке с игрой для NCF] <доп. команды>
действия и доп. команды к ним:
  • 0 - Создать файл манифестф (схож с .archive, но не является им).
  • 1 <манифест> - Создать файл обновления (.update.gcf).
  • 2 <патч> - Применить обновление.
  • 3 <DLparameters> - Обновить/загрузить GCF/NCF через сервера Steam.
  • 4 <DLparameters> - Обновить/загрузить GCF/NCF через контент-сервер CFT.
  • 5 <Fix errors> - Валидация и опциональная коррекция кэш-файла (<Fix errors> должен быть 0 или 1).
  • <DLparameters>:
    • <IP:Port> - IP и порт либо мастер-сервера Steam, либо адрес контент-сервера CFT.
    • <Version> - Версия GCF|NCF файла, запрашиваемая на сервере.
    • <CreateUpdFile> - Должно быть 1 or 0. Создаёт файл .update.gcf, качает в него обновившиеся файлы и применяет к GCF.
    • <AppID> - AppID обновляемого или загружаемого GCF|NCF файла. Может быть "NULL".
      ПРИМЕЧАНИЕ: если <Version> = -1 и указан AppID, то с сервера запрашивается последняя версия.
    • [Login] - Логин Steam аккаунта (для Действия 3).
    • [Password] - пароль от Steam аккаунта (для Действия 3).
Примеры использования:

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

cfUpdater.exe 0 "C:\counter-strike.gcf"
cfUpdater.exe 1 "C:\counter-strike.gcf" "C:\counter-strike.0.CFUmanifest"
cfUpdater.exe 2 "C:\counter-strike.gcf" "C:\counter-strike.0_to_2.update.gcf"
cfUpdater.exe 3 "C:\counter-strike.gcf" "gds1.steampowered.com:27030" 2 0 NULL MyAccount MyPasswordIsblablabla
cfUpdater.exe 3 "C:\counter-strike.gcf" "gds1.steampowered.com:27030" -1 1 11 MyAccount MyPasswordIsblablabla
cfUpdater.exe 4 "C:\counter-strike.gcf" "123.321.213.312:27030" -1 0 11
cfUpdater.exe 4 "C:\counter-strike.gcf" "123.321.213.312:27030" 2 1 11
cfUpdater.exe 5 "C:\counter-strike.gcf" 1
v2
Использование:

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

cfUpdater.exe "thecontentserver.info:27030" "221"
или

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

cfUpdater.exe "thecontentserver.info:27030" "C:\path\to\gcf.gcf"
Примечания:
  • Если указан файл, то он должен существовать.
  • Путь к GCF файлу может быть относительным.
  • если указана AppID, то соответствующий GCF ищется в папке с exe-файлом или в <папка с .exe>\SteamApps. Если таковой не был найден, то будет создан в <папке с .exe> и закачан с нуля.
Скачать v2
Скачать v3

Благодарности steamCooker'у с cs.rin.ru за Rain.dll
Исходники на GitHub
Описание v1
Простенькая консольная обновлялка GCF на основе cftAPI. (как-то раз попросили, потом думаю, чего бы здесь не выложить)
Параметры использования таковы:
  • -f : файл GCF, который нужно обновить
  • -p : файл патча для данной GCF (*.update.gcf)
  • -k : шифровочный ключ для обновляемого GCF (Encryption Key), если он существует для данного GCF. Если нет, то просто не подставлять параметр.

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

cfUpdater.exe -f "C:\Full\Path\to\GCF.gcf" -p "D:\Path\To\GCF.0_to_10.update.gcf" -k 1234567890ABCDEF
Скачать v1
Последний раз редактировалось Shlak 24.07.2010, 17:17, всего редактировалось 2 раза.
Причина: Steam больше не поддерживает GCF. Открепил тему.

SAS123
Лейтенант
Лейтенант
Сообщения: 143
Зарегистрирован: 02.01.2006
Благодарил (а): 3 раза
Поблагодарили: 4 раза
Контактная информация:

#2 Сообщение 18.10.2010, 03:03

Возможно ли добавить Progress Bar, проверку cfType, appId, appVersion, валидацию, пакетную обработку gcf, конфиг?
К примеру кидаем несколько GCF.x_to_y.update.gcf в SteamApps и утилита у всех "appId" проверяет appVersion, нужные автоматически обновляет, возможно добавить еще распак нужного контента для пиратки.
Другими словами сделать универсальный патчер для gcf-пираток.

Аватара пользователя
$t@t!c_V()1D
Разработчик
Разработчик
Сообщения: 2639
Зарегистрирован: 06.12.2007
Благодарил (а): 10 раз
Поблагодарили: 29 раз

#3 Сообщение 18.10.2010, 06:06

SAS123
Это простейшая обновлялка. Всё остальное есть в плагине для Phoenix.
Просто, мне нет смысла усложнять эту утилиту, переписывая заново код из Delphi на Си.
В любом случае, прогресс бар сделать уже не получится - коллбэк-функция малость странная у cftApi.

Хотя вообще что-то такое у меня уже просили. Сейчас, кстати, я жду, пока steamCooker допилит протокол передачи данных для Rain.dll.

SAS123
Лейтенант
Лейтенант
Сообщения: 143
Зарегистрирован: 02.01.2006
Благодарил (а): 3 раза
Поблагодарили: 4 раза
Контактная информация:

#4 Сообщение 18.10.2010, 14:29

Есть еще маленькая утилита на основе cftApi cftSync v0.1.0 - Synchronize your SteamApps folder, которая может автоматически обновлять gcf-ки, синхорнизировать папки с кешом и создавать *.archive и *.update .

Аватара пользователя
$t@t!c_V()1D
Разработчик
Разработчик
Сообщения: 2639
Зарегистрирован: 06.12.2007
Благодарил (а): 10 раз
Поблагодарили: 29 раз

#5 Сообщение 28.10.2010, 08:52

Немалое обновление ;) . Хотя, вообще говоря, это просто другая утилита, по идее, но решил оставить название таким, просто версию поменять.
Может чуть позже будут блэкджек и шлюхи в виде проверки cfType и валидации

Аватара пользователя
$t@t!c_V()1D
Разработчик
Разработчик
Сообщения: 2639
Зарегистрирован: 06.12.2007
Благодарил (а): 10 раз
Поблагодарили: 29 раз

#6 Сообщение 07.12.2010, 02:26

Обновил тему и описание.

Аватара пользователя
$t@t!c_V()1D
Разработчик
Разработчик
Сообщения: 2639
Зарегистрирован: 06.12.2007
Благодарил (а): 10 раз
Поблагодарили: 29 раз

#7 Сообщение 11.01.2011, 15:05

Немного фиксов с моей стороны и со стороны steamCooker .

Dertiaka
Нович0к
Нович0к
Сообщения: 18
Зарегистрирован: 25.04.2009

#8 Сообщение 21.01.2011, 22:00

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

C:\Documents and Settings\Admin>"C:\Program Files\CFToolbox\plugins\cfUpdater3.exe" 3 "E:\Games\cracked steam\steamapps\left 4 dead 2 common.ncf" "E:\Games\cracked steam\steamapps\common\left 4 dead 2" "gds2.steampowered.com:27030" -1 1 550 %username% %pass%

Loading CDR

An error was raised : No content server
Аналогично с gds1.steampowered.com:27030

С steam2.steampowered.com:27030 выдает:

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

...

An error was raised : Unknown host

Аватара пользователя
$t@t!c_V()1D
Разработчик
Разработчик
Сообщения: 2639
Зарегистрирован: 06.12.2007
Благодарил (а): 10 раз
Поблагодарили: 29 раз

#9 Сообщение 22.01.2011, 05:18

Dertiaka
Интернет не через прокси случаем?
Dertiaka писал(а):С steam2.steampowered.com:27030 выдает:

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

...

An error was raised : Unknown host
Логично. Это же не GDS сервер.

Dertiaka
Нович0к
Нович0к
Сообщения: 18
Зарегистрирован: 25.04.2009

#10 Сообщение 22.01.2011, 11:21

$t@t!c_V()1D
Не прокси, причем при первом запуске cdr успешно скачивается

Аватара пользователя
$t@t!c_V()1D
Разработчик
Разработчик
Сообщения: 2639
Зарегистрирован: 06.12.2007
Благодарил (а): 10 раз
Поблагодарили: 29 раз

#11 Сообщение 22.01.2011, 12:24

Dertiaka
А только сейчас заметил...тебе же нужно указывать не AppID игры, а AppID NCF|GCF-файла. Ты указал AppID 550, что есть Left 4 Dead 2. Если тебе нужно обновить left 4 dead 2 common.ncf, то ты должен указать его AppID (который равняется 551), а не AppID игры, которая его использует.

Аватара пользователя
pinkpiton2
Майор
Майор
Сообщения: 724
Зарегистрирован: 06.08.2008
Откуда: Одесса
Благодарил (а): 1 раз
Поблагодарили: 1 раз

#12 Сообщение 22.01.2011, 12:49

скачанное по ссылке рапортует cfUpdater v3.3 - the GCF and NCF updater by $t@t!c_V()1D
хотя по всем раскладам должно быть 3.5
чтение инструкции - 5$/строка.
чтение инструкции с выражением - 25$/строка.
чтение инструкции с пошаговым выполнением - прямо пропорционально тупости заказчика, но не менее 500$.

Аватара пользователя
$t@t!c_V()1D
Разработчик
Разработчик
Сообщения: 2639
Зарегистрирован: 06.12.2007
Благодарил (а): 10 раз
Поблагодарили: 29 раз

#13 Сообщение 22.01.2011, 14:11

pinkpiton2
Забыл внутри программы версию поправить. Поправил, перезалил.

Аватара пользователя
pinkpiton2
Майор
Майор
Сообщения: 724
Зарегистрирован: 06.08.2008
Откуда: Одесса
Благодарил (а): 1 раз
Поблагодарили: 1 раз

#14 Сообщение 22.01.2011, 14:34

при каких-либо затыках на канале выпадает с ошибкой и потом продолжает орать на каждый следующий файл до конца списка

мож при закачке вставить повтор каких-нить 3-5 раз и потом выход вообще, а не продолжение попыток со следующего файла?
чтение инструкции - 5$/строка.
чтение инструкции с выражением - 25$/строка.
чтение инструкции с пошаговым выполнением - прямо пропорционально тупости заказчика, но не менее 500$.

Аватара пользователя
$t@t!c_V()1D
Разработчик
Разработчик
Сообщения: 2639
Зарегистрирован: 06.12.2007
Благодарил (а): 10 раз
Поблагодарили: 29 раз

#15 Сообщение 22.01.2011, 18:16

pinkpiton2
Пожалуй, действительно стоит приделать (странно, что я об этом раньше е догадался -_-). А то я как-то уж и забыл про вас, диал-апщиков %) (шучу)

Ответить