Разработка метода передачи gcf
-
- Разработчик
- Сообщения: 910
- Зарегистрирован: 09.01.2009
- Откуда: Переезжаю в /dev/null
- Благодарил (а): 7 раз
- Поблагодарили: 65 раз
- Контактная информация:
Всем привет :)
Долгое время меня тут небыло...) Однако я вернулся и опять предлагаю потеоритезировать %) Типа мозговой штурм
Я собираюсь продолжить разработку системы доставки файлов gcf и ncf на пиратки и запуска игр из них; как всегда у меня есть очень много идей, но ещё неизвестно какая из них лучше...
В этом треде предлагаю обсудить способы передачи контента и клиент-сервеные отношения
Вообщем способ будет основан на p2p с одним сервером-координатором
Задача:
1. Распространять gcf файлы
1.1 GCF файл - штука очень изменчивая, помимо того что нужно накатывать апдейты, нужно ещё и учесть что при дефрагментации его через стим изменяется сам файл - то-есть передавать gcf через простое копирование по p2p протоколу не получиться... Кроме того пока (как я понял) нет возможности создавать gcf файл с нуля, то-есть придётся использовать мини gcf + заполнение их файлами
1.2 Если подумать - то можно отказаться от gcf, так ведь? Просто передавать распакованные файлы и координитовать на сервере обновлённость CRC всех файлов (распак) для всех игр, а клиентов заставлять качать их оттуда, где они есть (а нужным CRC) по p2p
2. Обновлять gcf файлы
2.1 Пока не рассматириваем
Из первого пункта варианты (кратко): мучиться с GCF или следить за распаками
PS: если кто мне расскажет как маунтиться gcf в стиме и реве, я, может, ещё чёнить придумаю
Долгое время меня тут небыло...) Однако я вернулся и опять предлагаю потеоритезировать %) Типа мозговой штурм
Я собираюсь продолжить разработку системы доставки файлов gcf и ncf на пиратки и запуска игр из них; как всегда у меня есть очень много идей, но ещё неизвестно какая из них лучше...
В этом треде предлагаю обсудить способы передачи контента и клиент-сервеные отношения
Вообщем способ будет основан на p2p с одним сервером-координатором
Задача:
1. Распространять gcf файлы
1.1 GCF файл - штука очень изменчивая, помимо того что нужно накатывать апдейты, нужно ещё и учесть что при дефрагментации его через стим изменяется сам файл - то-есть передавать gcf через простое копирование по p2p протоколу не получиться... Кроме того пока (как я понял) нет возможности создавать gcf файл с нуля, то-есть придётся использовать мини gcf + заполнение их файлами
1.2 Если подумать - то можно отказаться от gcf, так ведь? Просто передавать распакованные файлы и координитовать на сервере обновлённость CRC всех файлов (распак) для всех игр, а клиентов заставлять качать их оттуда, где они есть (а нужным CRC) по p2p
2. Обновлять gcf файлы
2.1 Пока не рассматириваем
Из первого пункта варианты (кратко): мучиться с GCF или следить за распаками
PS: если кто мне расскажет как маунтиться gcf в стиме и реве, я, может, ещё чёнить придумаю
- NiGHt-LEshiY
- Полковник
- Сообщения: 10258
- Зарегистрирован: 13.06.2008
- Откуда: Россия
- Благодарил (а): 752 раза
- Поблагодарили: 2667 раз
- Контактная информация:
Можно объяснить этот момент подробнее? Я всегда был уверен, что при дефрагментации файл не меняется.нужно ещё и учесть что при дефрагментации его через стим изменяется сам файл - то-есть передавать gcf через простое копирование по p2p протоколу не получиться
Кодекс поведения участников сообщества — обязательно к прочтению.
Просьба присылать сообщения об ошибках в ЛС.
Просьба присылать сообщения об ошибках в ЛС.
-
- Разработчик
- Сообщения: 910
- Зарегистрирован: 09.01.2009
- Откуда: Переезжаю в /dev/null
- Благодарил (а): 7 раз
- Поблагодарили: 65 раз
- Контактная информация:
NiGHt-LEshiY
Дефрагментация - это оптимизация файловой системы.
GCF файл представляет собой инкапсулированнуя файловую систему, которую можно дефрагментировать внутри неё самой. При этом, хотя пути файлов и не меняются, они переносятся чтобы увеличить оптимизированность... Соответственно gcf меняется :)
Дефрагментация - это оптимизация файловой системы.
GCF файл представляет собой инкапсулированнуя файловую систему, которую можно дефрагментировать внутри неё самой. При этом, хотя пути файлов и не меняются, они переносятся чтобы увеличить оптимизированность... Соответственно gcf меняется :)
- NiGHt-LEshiY
- Полковник
- Сообщения: 10258
- Зарегистрирован: 13.06.2008
- Откуда: Россия
- Благодарил (а): 752 раза
- Поблагодарили: 2667 раз
- Контактная информация:
MOZGIII
Ах, точно. GCF же у нас роль файловой системы играет...
Мне кажется, что пункт 1.2 довольно хорош. Особенно, учитывая сжимаемость контента.
Ах, точно. GCF же у нас роль файловой системы играет...
Мне кажется, что пункт 1.2 довольно хорош. Особенно, учитывая сжимаемость контента.
Кодекс поведения участников сообщества — обязательно к прочтению.
Просьба присылать сообщения об ошибках в ЛС.
Просьба присылать сообщения об ошибках в ЛС.
- chocolate_chary
- Нович0к
- Сообщения: 15
- Зарегистрирован: 08.05.2010
скачай игру с торрента, gcf sucks
- NiGHt-LEshiY
- Полковник
- Сообщения: 10258
- Зарегистрирован: 13.06.2008
- Откуда: Россия
- Благодарил (а): 752 раза
- Поблагодарили: 2667 раз
- Контактная информация:
chocolate_chary
Ты, видимо, совсем не понял смысла темы. Предложи что-нибудь дельное по теме или прекращай наведываться в серьезные разделы.
Ты, видимо, совсем не понял смысла темы. Предложи что-нибудь дельное по теме или прекращай наведываться в серьезные разделы.
Кодекс поведения участников сообщества — обязательно к прочтению.
Просьба присылать сообщения об ошибках в ЛС.
Просьба присылать сообщения об ошибках в ЛС.
- $t@t!c_V()1D
- Разработчик
- Сообщения: 2639
- Зарегистрирован: 06.12.2007
- Благодарил (а): 10 раз
- Поблагодарили: 29 раз
MOZGIII
NiGHt-LEshiY
А почему бы за основу не взять CFT .NET от erix920? По-моему, вы, ребята, велосипед изобретаете, не?
NiGHt-LEshiY
А почему бы за основу не взять CFT .NET от erix920? По-моему, вы, ребята, велосипед изобретаете, не?
Another guy on them internets
Уважайте команду CSMania.RU - задавайте вопросы правильно!
Уважайте команду CSMania.RU - задавайте вопросы правильно!
-
- Разработчик
- Сообщения: 910
- Зарегистрирован: 09.01.2009
- Откуда: Переезжаю в /dev/null
- Благодарил (а): 7 раз
- Поблагодарили: 65 раз
- Контактная информация:
Ну можно взять, наверное, и превратить его в p2p мутанта :)
Тока всё ровно не понятно - как заставить gcf работать через p2p
Я думаю нажно писать модуль, кторый будет иметь функцию, (скажем GetFileFromSomewhere(GcfName+'.gcf/'+FullFileName); ) , которя бы сама искала этот файл в p2p сети + чтобы модуль сам файлы другим клиентам тоже предоставлял (из тех gcf что у него на есть у данного модуля)
А сервер - координитор будет иметь список клиентов с айпи-адресами и портами, чтобы не мучаться + возможно будет выполнять функцию поиска по ним (и ещё возможно список а-ля cdr)
Тока всё ровно не понятно - как заставить gcf работать через p2p
Я думаю нажно писать модуль, кторый будет иметь функцию, (скажем GetFileFromSomewhere(GcfName+'.gcf/'+FullFileName); ) , которя бы сама искала этот файл в p2p сети + чтобы модуль сам файлы другим клиентам тоже предоставлял (из тех gcf что у него на есть у данного модуля)
А сервер - координитор будет иметь список клиентов с айпи-адресами и портами, чтобы не мучаться + возможно будет выполнять функцию поиска по ним (и ещё возможно список а-ля cdr)
- $t@t!c_V()1D
- Разработчик
- Сообщения: 2639
- Зарегистрирован: 06.12.2007
- Благодарил (а): 10 раз
- Поблагодарили: 29 раз
MOZGIII
Так может и работать с GCF не как с файлом, который нужно патчить или не патчить, а как с файловой системой. Rain.dll может узнавать чексуммы файлов + импортировать файлы в GCF. Часть её функций выпрошена мной и некоторыми другими разработчиками у SteamCooker-a, и, собственно, некоторые из них используются в SiD Unpacker-e. Если что, можно так же подключить и HLLib.dll - глядишь, может и она пригодится
Так может и работать с GCF не как с файлом, который нужно патчить или не патчить, а как с файловой системой. Rain.dll может узнавать чексуммы файлов + импортировать файлы в GCF. Часть её функций выпрошена мной и некоторыми другими разработчиками у SteamCooker-a, и, собственно, некоторые из них используются в SiD Unpacker-e. Если что, можно так же подключить и HLLib.dll - глядишь, может и она пригодится
Another guy on them internets
Уважайте команду CSMania.RU - задавайте вопросы правильно!
Уважайте команду CSMania.RU - задавайте вопросы правильно!
-
- Эксперты no-Steam
- Сообщения: 3501
- Зарегистрирован: 18.07.2008
- Благодарил (а): 2 раза
- Поблагодарили: 17 раз
- Контактная информация:
MOZGIII
А загрузку можно реализовать хотябы через FTP / HTTP (тогда обязательно раздавать через RAR + 5% для восстановления).
http://cs.rin.ru/forum/viewtopic.php?f=20&t=52518 для применения GCF патчей годится.2. Обновлять gcf файлы
А загрузку можно реализовать хотябы через FTP / HTTP (тогда обязательно раздавать через RAR + 5% для восстановления).
Последний раз редактировалось [user] 01.06.2010, 20:26, всего редактировалось 1 раз.
© [user]
- $t@t!c_V()1D
- Разработчик
- Сообщения: 2639
- Зарегистрирован: 06.12.2007
- Благодарил (а): 10 раз
- Поблагодарили: 29 раз
[user]
А я ему советовал уж %) . И да, кстати, я пытаюсь убедить steamCooker-a пофиксить утечки, в которые он не хочет верить %) . Из-за них Phx не может нормально продолжать работу. А так уже бы готовый плагин был.
А я ему советовал уж %) . И да, кстати, я пытаюсь убедить steamCooker-a пофиксить утечки, в которые он не хочет верить %) . Из-за них Phx не может нормально продолжать работу. А так уже бы готовый плагин был.
Another guy on them internets
Уважайте команду CSMania.RU - задавайте вопросы правильно!
Уважайте команду CSMania.RU - задавайте вопросы правильно!
-
- Эксперты no-Steam
- Сообщения: 3501
- Зарегистрирован: 18.07.2008
- Благодарил (а): 2 раза
- Поблагодарили: 17 раз
- Контактная информация:
Раздачу GCF по p2p не поддерживаю: контент будет раздаваться без сжатия (или у юзеров "на лету" будет паковаться? - бред). Хотя, для дозагрузки файлов сойдёт. Загрузку полного файла лучше выполнять в архиве по ftp / http
HTTP (тогда обязательно раздавать через RAR + 5% для восстановления)
© [user]
- $t@t!c_V()1D
- Разработчик
- Сообщения: 2639
- Зарегистрирован: 06.12.2007
- Благодарил (а): 10 раз
- Поблагодарили: 29 раз
[user]
Ну, для обновления контента сойдёт и так на первое время (хотя, конечно, это действительно "не фонтан").
Ну, для обновления контента сойдёт и так на первое время (хотя, конечно, это действительно "не фонтан").
Another guy on them internets
Уважайте команду CSMania.RU - задавайте вопросы правильно!
Уважайте команду CSMania.RU - задавайте вопросы правильно!