Для тех, кто хочет сделать мир лучше.
Сообщение
Автор
Fire666
Эксперты no-Steam
Эксперты no-Steam
Сообщения: 2600
Зарегистрирован: 15.02.2007
Откуда: Москва
Благодарил (а): 2 раза
Поблагодарили: 43 раза
Контактная информация:

#1 Сообщение 18.04.2007, 14:42

Тутор по созданию гцф файлов
Думаю, люди, которым небезинтересен процесс добавления файлов в эти архивы,
видели файл makepak.exe в папке steam/bin/.
Именно он и добавляет файлы в архив .gcf.
Мне удалось добавить файлы, что в принципе уже позволяет сделать
собственную руссификацию лицензионного хл2 из русских файлов пиратки.
Но при открытии архива в gcf scape их почему-то не видно.
Хотя вес файла и увеличился.

Как добавить файл:
1. Зайдите в папку steam/bin/ и создайте addfile.bat.
2. Создайте текстовый документ filelist.txt.
3. И наконец, нам нужен сам архив, куда будут добавлены файлы.
Так как создать методом переименования блокнота не получится,
копируем sourceinit.gcf (как самый маленький архив) и переименовываем
в my.gcf. Попробуем добавить туда vgui2.dll, так как он уже
лежит в папке steam/bin/
4. Щёлкаем правой кнопкой по addfile.bat и выбираем пункт 'изменить'.
Вводим в открывшемся блокноте строку:

makepak "C:\Program Files\Valve\Steam\SteamApps\my.gcf" filelist.txt "C:\Program Files\Valve\Steam\bin\"
pause

"makepak" - запуск проги makepak.exe
"C:\Program Files\Valve\Steam\SteamApps\my.gcf" - прямой путь до архива. Можно положить его в папку
steam/bin/ и просто написать его имя без пути. Но важно чтобы имя и путь были заключены в кавычки
если они содержат пробелы.
"filelist.txt" - список добавляемых файлов.
"C:\Program Files\Valve\Steam\bin\" - рабочая папка, где лежит makepak.exe
"pause" и пауза, чтобы окно консоли не закрылось и вы могли разглядеть результаты.

5. Теперь откройте filelist.txt. Здесь указыается список файлов для добавления.
Пишем полный путь до нужных файлов. Например,
"C:\Program Files\Valve\Steam\bin\vgui2.dll"

6. Собственно всё. Запускайте addfile.bat.
Если всё удалось, вы увидите следующее:

C:\Program Files\Valve\Steam\bin>makepak "C:\Program Files\Valve\Steam\SteamApps
\my.gcf" filelist.txt "C:\Program Files\Valve\Steam\bin\"
Added file 'C:\Program Files\Valve\Steam\bin\vgui2.dll'
makepak complete
C:\Program Files\Valve\Steam\bin>pause
Для продолжения нажмите любую клавишу . . .

Ну и ещё раз скажу что gcf scape не видит добавленные файлы.

добавлено спустя 2 минуты:

оригинал смотреть здесь
http://www.half-life.ru/forum/showthrea ... eadid=6882

Аватара пользователя
impulse666
Полковник
Полковник
Сообщения: 7405
Зарегистрирован: 08.12.2005
Откуда: Atman
Благодарил (а): 2340 раз
Поблагодарили: 590 раз

#2 Сообщение 18.04.2007, 14:52

хм...поймойму про makepak.exe это уже давно извесно...
Изображение
Негласные Правила
1. Пропаганда лицензии запрещена.
2. На форуме режим многоступенчатых стандартов Ψ. То что можно одним, нельзя другим. Решается правящей партией
3. Ники членов правящей партии (impulse666, NiGHt-LEshiY, SHADOW) искажают только в случае необходимости получить БАН.

...воздержитесь от этого, изучите вот это.
Лучшая статья о моих взглядах. Настоятельно рекомендую.

Аватара пользователя
postal_3
Полковник
Полковник
Сообщения: 1092
Зарегистрирован: 22.04.2006
Благодарил (а): 461 раз
Поблагодарили: 734 раза
Контактная информация:

#3 Сообщение 18.04.2007, 18:33

да, и никаму по нормальному вроде еще не удалось ни запаковать ни изменить в гцф..:)
"В церковь не ходите, а свадьбы вкруг березы водите, как велят старинные обычаи..."
из наставлений С. Разина

Аватара пользователя
impulse666
Полковник
Полковник
Сообщения: 7405
Зарегистрирован: 08.12.2005
Откуда: Atman
Благодарил (а): 2340 раз
Поблагодарили: 590 раз

#4 Сообщение 18.04.2007, 20:35

postal_3
Изминять вроде научились(см ГСФ патчеры)
Изображение
Негласные Правила
1. Пропаганда лицензии запрещена.
2. На форуме режим многоступенчатых стандартов Ψ. То что можно одним, нельзя другим. Решается правящей партией
3. Ники членов правящей партии (impulse666, NiGHt-LEshiY, SHADOW) искажают только в случае необходимости получить БАН.

...воздержитесь от этого, изучите вот это.
Лучшая статья о моих взглядах. Настоятельно рекомендую.

Аватара пользователя
mukca
Местный ГУРУ
Местный  ГУРУ
Сообщения: 857
Зарегистрирован: 06.02.2005
Откуда: с луны, со своей луны, свалился :(
Благодарил (а): 1 раз
Поблагодарили: 1 раз
Контактная информация:

#5 Сообщение 18.04.2007, 21:54

impulse666
вообщето это не изменять..
это нахождение различий двух разных файликов и деланье патча для того чтобы старый файлик изменить так чтоб он был один в один с новым :)

fire64
спасиб за инструкцию...
Ну и ещё раз скажу что gcf scape не видит добавленные файлы.
вот это и плохо...

ps а если таким образом собрать распакованый gcf файл и подсунуть стиму он его поймет/?? поправит на нормальный..
Изображение
Читай ПРАВИЛА. Я не оДын
зы какие тут тяжелые подписи..

Fire666
Эксперты no-Steam
Эксперты no-Steam
Сообщения: 2600
Зарегистрирован: 15.02.2007
Откуда: Москва
Благодарил (а): 2 раза
Поблагодарили: 43 раза
Контактная информация:

#6 Сообщение 18.04.2007, 23:27

у меня вот просто возник вопрос
для чего эта прога лежит в стиме ?
и для чего она нужна ?

South
Разработчик
Разработчик
Сообщения: 287
Зарегистрирован: 18.06.2006
Откуда: с работы
Поблагодарили: 2 раза

#7 Сообщение 19.04.2007, 00:11

сдается мне что этот makepak просто дописывает указанные файлы в конец gcf-архива и все (получается просто мусор). НЕ внутрь контейнера, а просто в конец файла. Т.к. заголовок файла не меняется, то проги открывающие этот gcf не знают о добавленных файлах, поэтому добаленные файлы и не отображаются. Работоспособность gcf-архива при этом вроде не должна нарушится. Это конечно не совсем корректное описание причины не работоспособности этого метода (там все гораздо сложнее), но смысл примерно такой

скорее всего мы его пытаемся не по назначению использовать, или что-то не так делаем
все пропало

Аватара пользователя
impulse666
Полковник
Полковник
Сообщения: 7405
Зарегистрирован: 08.12.2005
Откуда: Atman
Благодарил (а): 2340 раз
Поблагодарили: 590 раз

#8 Сообщение 19.04.2007, 00:21

mukca
изменить слишком широкое понятие, немного некорректно, но все же неверным мой пост назввать нельзя..
fire64
Возможно при обновлении стим патчит ей ГСФ? :?
только там какие то параметры другие..
Изображение
Негласные Правила
1. Пропаганда лицензии запрещена.
2. На форуме режим многоступенчатых стандартов Ψ. То что можно одним, нельзя другим. Решается правящей партией
3. Ники членов правящей партии (impulse666, NiGHt-LEshiY, SHADOW) искажают только в случае необходимости получить БАН.

...воздержитесь от этого, изучите вот это.
Лучшая статья о моих взглядах. Настоятельно рекомендую.

Аватара пользователя
mukca
Местный ГУРУ
Местный  ГУРУ
Сообщения: 857
Зарегистрирован: 06.02.2005
Откуда: с луны, со своей луны, свалился :(
Благодарил (а): 1 раз
Поблагодарили: 1 раз
Контактная информация:

#9 Сообщение 19.04.2007, 10:09

impulse666
недумаю..
скорее всего для модо писателей.. чтоб они могли собрать свой gcf а не кучу файликовт распространять...
мне кажетсья сам стим какимто боков в gcf дописывает..
Изображение
Читай ПРАВИЛА. Я не оДын
зы какие тут тяжелые подписи..

Аватара пользователя
iXsero
Сержант
Сержант
Сообщения: 57
Зарегистрирован: 10.10.2006
Откуда: Санкт-Петербург
Контактная информация:

#10 Сообщение 19.04.2007, 10:16

mukca писал(а):impulse666
недумаю..
скорее всего для модо писателей.. чтоб они могли собрать свой gcf а не кучу файликовт распространять...
мне кажетсья сам стим какимто боков в gcf дописывает..
Микса если бы Valve хотели что бы мододелы упаковывали в GCF, то они где нить написали или показали как это деляется
Спасибо Господу Богу что в данный момент смотрел в другую сторону.
Спасибо алфавиту за любезно предоставленные буквы.

Fire666
Эксперты no-Steam
Эксперты no-Steam
Сообщения: 2600
Зарегистрирован: 15.02.2007
Откуда: Москва
Благодарил (а): 2 раза
Поблагодарили: 43 раза
Контактная информация:

#11 Сообщение 28.10.2007, 17:32

в принципе GCF формат довольно простой
и это означает что в принципе редактировать или создавать GCF файлы довольно таки легко
надеюсь что на нашем форуме найдется хоть один кодер который бы взялся бы за разработку GCF Editorа

для доказательства моего поста скачайте этот GCF файл
http://ifolder.ru/3905655

Аватара пользователя
y3k.xeon
Лейтенант
Лейтенант
Сообщения: 100
Зарегистрирован: 24.01.2006
Откуда: Беларусь
Благодарил (а): 132 раза
Поблагодарили: 1 раз
Контактная информация:

#12 Сообщение 28.10.2007, 17:47

помните прогу SteamContentServer от hCUPa (сервер и клиент для обновления гцф, http://csmania.ru/forum/viewtopic.php?p=35694#35694)

так вот ещё до креша форума я как то её был тестировал, и в общем подумал я что, если вместо гцф на сервер вкинуть просто какие нибудь любые файлы , клиентом попытаться их скачать. Не вышло: клинту (насколько я помню) надо было указывать апп_ид гцфки для обновления/скачивания. Тогда я на серваке просто создал пустой файл (вообще пустой - 0 байт), с именем от гцфки (любой) и клиентом запросил этот гцф с сервера(зная апп_ид гцфки), то же не прокатило - сервак именно как то открывал настоящий гцф (файл, который имеет структуру гцф), там чё то мутил, отправлял данные клиенту, и клиент соответсвенно принимал, и паковал их в гцф.
К чему я это написал? просто выходит что клиент умеет запаковывать данные в гцф.

кстати ещё один сервер локальных обновлений, Steam content system emulator/proof of concept - там клиентом является стим, а вот с сервером интересней, он использует не гцки а свои файлы, так вот там с эмулятором исходники идут, там есть разная ерунда, и про гцф тоже кой чё (тока язык там конечно не нашенский - Python), вот там думаю описаны эти гцф, и какие нибудь функции для гцф, вот если бы ктонибудь разобрался во всём етом

Dotty
Сержант
Сержант
Сообщения: 36
Зарегистрирован: 03.02.2007
Откуда: Prague, Czech Republic
Контактная информация:

#13 Сообщение 28.10.2007, 17:56

Вот-с если хексером позырить на .ncf то видно список файлов, и его можно изменить. По идее в .gcf тоже в начале должен идти какой-то заголовочный список всего содержимого, но ничего похожего там не видно, наверное зашифровано или ещё чё-нить.

З.Ы. То есть, идея - мэйкпаком добавлять файло в .гцф, а потом ужо как-нить список файлов редактировать чтоб его видел и стим, и разнообразные GCFExplorer'ы

+проблемко, он папки не добавляет, значит это всё либо в рут кидается, либо в какую-ту скрытую папочгу с мусором, что более вероятно
Последний раз редактировалось Dotty 28.10.2007, 18:06, всего редактировалось 1 раз.
Чёрные листья на влажной земле, больше не плачу я тихо во тьме ...
When the power of love overcomes the love of power the world will know peace. Jimi Hendrix.
Изображение

Fire666
Эксперты no-Steam
Эксперты no-Steam
Сообщения: 2600
Зарегистрирован: 15.02.2007
Откуда: Москва
Благодарил (а): 2 раза
Поблагодарили: 43 раза
Контактная информация:

#14 Сообщение 28.10.2007, 17:59

Dotty писал(а):Вот-с если хексером позырить на .ncf то видно список файлов, и его можно изменить. По идее в .gcf тоже в начале должен идти какой-то заголовочный список всего содержимого, но ничего похожего там не видно, наверное зашифровано или ещё чё-нить.

З.Ы. То есть, идея - мэйкпаком добавлять файло в .гцф, а потом ужо как-нить список файлов редактировать чтоб его видел и стим, и разнообразные GCFExplorer'ы
я короче только что сделал GCF файл http://ifolder.ru/3905655

Аватара пользователя
y3k.xeon
Лейтенант
Лейтенант
Сообщения: 100
Зарегистрирован: 24.01.2006
Откуда: Беларусь
Благодарил (а): 132 раза
Поблагодарили: 1 раз
Контактная информация:

#15 Сообщение 28.10.2007, 18:19

fire64
ну рассказывай, как :)

Ответить