Сервер для обновления GCF

Для тех, кто хочет сделать мир лучше.
Сообщение
Автор
OwL88
Нович0к
Нович0к
Сообщения: 26
Зарегистрирован: 04.05.2008

#1 Сообщение 07.01.2009, 05:47

Здравствуйте. Подскажите - возможно ли организовать что-то вроде сервера для обновления GCF? Это всё нужно для региональной локалки. Нужно клиентскую программу что бы она сканировала GCF и с сервера с уже готовых (или распакованный) GCF обновляла их. В данном случии нужно обновление Team Fortress 2. Делать обновления для каждого файла и потом обновлять их, не вариант.
Про локальное обновление Steam я молчу, т.к. понимаю что это в разы сложнее.
Надеюсь на вашу помощь в этом вопросе.
Изображение

M1ke
Модератор
Модератор
Сообщения: 1464
Зарегистрирован: 17.06.2007
Откуда: 54
Благодарил (а): 2 раза
Поблагодарили: 90 раз
Контактная информация:

#2 Сообщение 07.01.2009, 09:12

А что, CFToolbox уже не рулит?
Изображение
Изображение
Изображение

OwL88
Нович0к
Нович0к
Сообщения: 26
Зарегистрирован: 04.05.2008

#3 Сообщение 07.01.2009, 11:26

M1ke писал(а):А что, CFToolbox уже не рулит?
Говорю же что нужен другой способ, если он конечно же есть)
Изображение

Psyho666
Полковник
Полковник
Сообщения: 1252
Зарегистрирован: 22.10.2007

#4 Сообщение 07.01.2009, 12:28

+1, для локалки (особенно большой) такая вещь очень пригодилась бы...

[user]
Эксперты no-Steam
Эксперты no-Steam
Сообщения: 3501
Зарегистрирован: 18.07.2008
Благодарил (а): 2 раза
Поблагодарили: 17 раз
Контактная информация:

#5 Сообщение 07.01.2009, 13:40

Я за...
© [user]

Аватара пользователя
SynchronE
Нович0к
Нович0к
Сообщения: 18
Зарегистрирован: 23.06.2008

#6 Сообщение 07.01.2009, 22:33

Я гдето видел что уважаемый ViTYAN делал когда то OpenPatch...

Короче нужна штука, которая патчила бы большие бинарные файлы, при этом их не перезаписывая в новый.

andreil тоже пытался такую сделать.

Вобщем фишка то простая. Оболочку которая следит по хешам за версиями GCF (да не обязательно, можно просто любых файлов) даже я могу сделать, вопрос в активной части (сам патчинг). + надо будет делать сами патч файлы и выкладывать их.

Такой функционал имеет CFToolbox, но консольной версии нет. Я просил как то steamCooker'a на rin'e чтобы он зарелизил API для этого, он вроде согласился, но с тех пор молчок.

Аватара пользователя
Megalan
Разработчик
Разработчик
Сообщения: 335
Зарегистрирован: 02.04.2007
Благодарил (а): 1 раз
Поблагодарили: 29 раз
Контактная информация:

#7 Сообщение 08.01.2009, 14:32

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

Аватара пользователя
SynchronE
Нович0к
Нович0к
Сообщения: 18
Зарегистрирован: 23.06.2008

#8 Сообщение 08.01.2009, 15:20

Зачем мудрить с хедерами...
Я думаю сделать так:
пишется php скрипт, который принимает параметрами 1)Имя файла 2)Текущую юзерскую версию этого файла.
В зависимости от этого, выдаёт XML со ссылками на патчи, клиентская прога их качает и патчит юзерский GCF.

Также можно будет получать список всех gcf на сервере и версии...

Если у юзера нету файла, а он жмёт скачать, качается патч версии 1 - это будет зарезервированная версия для исходного файла, т.е самой первой версии (ну или хз, первой что найдем на момент добавления в архив gcf).

Таким образом, мы сможем в любой момент получить любую версию GCF'a и иметь архив патчей.

При этом, серверное ПО - абсолютно стандартный апач с пыхом.

Другое дело, где хранить всё это добро...

Аватара пользователя
[artemon]
Капитан
Капитан
Сообщения: 342
Зарегистрирован: 11.08.2008
Откуда: тут нашлось столько гнилья?
Контактная информация:

#9 Сообщение 08.01.2009, 15:25

я тож за..
вот ссылки по теме
[PHP]Online_Content_Updater_Av0.1 http://no-steam.ru/forum/viewtopic.php?f=38&t=8635
OpenPtch - ViTYAN http://no-steam.ru/forum/viewtopic.php?f=38&t=4467
Эмулятор сервера Steam ? http://no-steam.ru/forum/viewtopic.php?f=15&t=3021
и вот главная тема - Локальный сервер обновлений стим и стимовских игр http://no-steam.ru/forum/viewtopic.php?f=15&t=3838

Аватара пользователя
Megalan
Разработчик
Разработчик
Сообщения: 335
Зарегистрирован: 02.04.2007
Благодарил (а): 1 раз
Поблагодарили: 29 раз
Контактная информация:

#10 Сообщение 08.01.2009, 15:50

SynchronE писал(а):Зачем мудрить с хедерами...
Я думаю сделать так:
пишется php скрипт, который принимает параметрами 1)Имя файла 2)Текущую юзерскую версию этого файла.
В зависимости от этого, выдаёт XML со ссылками на патчи, клиентская прога их качает и патчит юзерский GCF.

Также можно будет получать список всех gcf на сервере и версии...

Если у юзера нету файла, а он жмёт скачать, качается патч версии 1 - это будет зарезервированная версия для исходного файла, т.е самой первой версии (ну или хз, первой что найдем на момент добавления в архив gcf).

Таким образом, мы сможем в любой момент получить любую версию GCF'a и иметь архив патчей.

При этом, серверное ПО - абсолютно стандартный апач с пыхом.

Другое дело, где хранить всё это добро...
бред, если со стороны клиента (ака человека который не вникает как все это работает) все это еще нормально, то со стороны админа это сумашедствие, по твоей схеме надо искать патчи для gcf абсолютно всех версий, а это извини меня, бред и тупая трата места на харде сервера. Вторая же проблема, как клиент определит какой версии gcf файл?
При моем способе на сервере хранятся лишь последние версии gcf файлов, это намного рациональнее чем ты предлагаешь. И не отклоняйтесь от темы, прога нужна для локалки, соответственно обсуждение проблем где хранить gcf не касаются этой темы

Аватара пользователя
SynchronE
Нович0к
Нович0к
Сообщения: 18
Зарегистрирован: 23.06.2008

#11 Сообщение 08.01.2009, 19:53

Зачем руками искать ? Не надо. Можно базовую версию сделать. Админ заливает то что у него есть - полные GCF любой версии. А дальше только кидает патчи по мере выхода новых версий. К тому же, можно написать админский софт.

Делается так, откопируется старая GCF, в оригинальную накатывается апдейт, из двух генерится патч и патч заливается на сервер. Всё автоматом, хотя и нужно немного больше места на харде админа (только во время создания патчей).

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

Далее, если есть место то можно ещё хранить полностью обновленную GCFку для новообращённых :) т.е чтобы её качать с нуля.

О! Даже можно вообще без админского интерфейса. Надо накодить демона который качает обновы как CFToolbox, и там же генерит патчи - сервак сам будет обновляться.
Другой вопрос, что стимКукер не релизит сырцы CFToolbox...

Я думаю, реал таймово генерить патч для _каждого_ запроса - нириальная нагрузка на сервер.

Аватара пользователя
Megalan
Разработчик
Разработчик
Сообщения: 335
Зарегистрирован: 02.04.2007
Благодарил (а): 1 раз
Поблагодарили: 29 раз
Контактная информация:

#12 Сообщение 09.01.2009, 14:52

Учитывая потребности локальной сети где этим будет пользоватся от силы человек 100 (а то и меньше) вполне реально в реалтайме генерировать патчи, особенно если есть нормальный клиент-серверный код.

Psyho666
Полковник
Полковник
Сообщения: 1252
Зарегистрирован: 22.10.2007

#13 Сообщение 09.01.2009, 21:48

Megalan писал(а):Учитывая потребности локальной сети где этим будет пользоватся от силы человек 100 (а то и меньше) вполне реально в реалтайме генерировать патчи, особенно если есть нормальный клиент-серверный код.
Почему это? Вот скажем в регионах это будет полезная вещь для лицушников, у которых нет безлимитки, все таки не у всех есть деньги на анлим :).

Аватара пользователя
Megalan
Разработчик
Разработчик
Сообщения: 335
Зарегистрирован: 02.04.2007
Благодарил (а): 1 раз
Поблагодарили: 29 раз
Контактная информация:

#14 Сообщение 11.01.2009, 16:44

Ну уже во многих местах россии есть анлим по доступной цене так что :wink:

Psyho666
Полковник
Полковник
Сообщения: 1252
Зарегистрирован: 22.10.2007

#15 Сообщение 11.01.2009, 18:36

Megalan писал(а):Ну уже во многих местах россии есть анлим по доступной цене так что :wink:
Анлим то есть, а денег нет.

Ответить