[Evaporation Project] Разработка

Для тех, кто хочет сделать мир лучше.
Сообщение
Автор
MOZGIII
Разработчик
Разработчик
Сообщения: 910
Зарегистрирован: 09.01.2009
Откуда: Переезжаю в /dev/null
Благодарил (а): 7 раз
Поблагодарили: 65 раз
Контактная информация:

#301 Сообщение 11.06.2009, 14:21

Внимание! Сегодня я окончательно закончил с модулями управления базаим игр, GCF/NCF и сопостовления на сайте. Теперь, работать стало гораздо удобнее (по крайней мере мне). Сейчас я сорираюсь раздать доступы на эти модули.

Что будет должен делать человек, получивший доступ к управлению:
1. Он должен следать за выходом игр в стиме и оперативно их добавлять
2. Также, следить за файлами GCF/NCF, появляющимися в стиме (не конкретные версии, а вообще новый файл, как когда-то всех удивил multiplayer ob binaries.gcf) и довавлять их соответственно.
3. Ну и проводить сопоставление между играми и их файлами. Тоесть указать серверу, что к игре такой-то необходимо иметь следующие GCF/NCF файлы...
...это, пока, всё. И если не сложно, заполните базу игр, она пустая (только TF2 и L4D) ;)

Что нужно, чтобы получить доступ доступ к управлению:
1. Регистрация на сайте EPMS (Evaporation Project Main Server)
2. Доказать мне что вы ответственный человек.
3. Реквест тут, в асе, или в лс.

Добавлено спустя 1 час 36 минут 48 секунд:
Кстати я обнаружил некий баг с отображением инфы об играх на сайте - не видны кое какие NCF/GCF ассоциированные с игрой... Но с этим я разберусь позже. К томуже в проге всё нормально.

Аватара пользователя
Pitch666
Полковник
Полковник
Сообщения: 5489
Зарегистрирован: 27.08.2008
Откуда: Роисся
Поблагодарили: 10 раз
Контактная информация:

#302 Сообщение 11.06.2009, 17:31

MOZGIII
Молодец, недавно посещал сайт и думал - кто же будет все это добовлять...

Аватара пользователя
NiGHt-LEshiY
Полковник
Полковник
Сообщения: 10258
Зарегистрирован: 13.06.2008
Откуда: Россия
Благодарил (а): 752 раза
Поблагодарили: 2667 раз
Контактная информация:

#303 Сообщение 11.06.2009, 17:35

Pitch666
Дизайн конечно так себе...
Кодекс поведения участников сообщества — обязательно к прочтению.
Просьба присылать сообщения об ошибках в ЛС.

Аватара пользователя
Pitch666
Полковник
Полковник
Сообщения: 5489
Зарегистрирован: 27.08.2008
Откуда: Роисся
Поблагодарили: 10 раз
Контактная информация:

#304 Сообщение 11.06.2009, 18:09

NiGHt-LEshiY
Сделай лучше, епт.

Аватара пользователя
Pr0Ger
Модератор
Модератор
Сообщения: 1829
Зарегистрирован: 16.01.2009
Благодарил (а): 17 раз
Поблагодарили: 214 раз
Контактная информация:

#305 Сообщение 11.06.2009, 18:14

походу только я согласился помочь :D
ладно пойду дальше набивать БД :crazy:

Аватара пользователя
NiGHt-LEshiY
Полковник
Полковник
Сообщения: 10258
Зарегистрирован: 13.06.2008
Откуда: Россия
Благодарил (а): 752 раза
Поблагодарили: 2667 раз
Контактная информация:

#306 Сообщение 11.06.2009, 18:22

Pitch666
Причем тут сделай?
Кодекс поведения участников сообщества — обязательно к прочтению.
Просьба присылать сообщения об ошибках в ЛС.

MOZGIII
Разработчик
Разработчик
Сообщения: 910
Зарегистрирован: 09.01.2009
Откуда: Переезжаю в /dev/null
Благодарил (а): 7 раз
Поблагодарили: 65 раз
Контактная информация:

#307 Сообщение 19.06.2009, 18:15

Ошибка с отображением кеша на сайте наидена и пофикшена.

Аватара пользователя
Pitch666
Полковник
Полковник
Сообщения: 5489
Зарегистрирован: 27.08.2008
Откуда: Роисся
Поблагодарили: 10 раз
Контактная информация:

#308 Сообщение 19.06.2009, 23:34

MOZGIII
версия гцф теперь не пишется? это временно?

MOZGIII
Разработчик
Разработчик
Сообщения: 910
Зарегистрирован: 09.01.2009
Откуда: Переезжаю в /dev/null
Благодарил (а): 7 раз
Поблагодарили: 65 раз
Контактная информация:

#309 Сообщение 20.06.2009, 11:28

Pitch666
Просто на сервере оставались старые данные о гцф... Скоро я сделаю систему добавления и кеша и его скачки, и версия снова будет. Так-что временно... а без подписи снизу - некрасиво :) поэтому заменил на тип

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

#310 Сообщение 20.06.2009, 20:09

Evaporation Project - Система дистрибуции файлов
А нужно ли это?
Наилучший вариант - сделать memory-патчер, за счёт которого бы клиент входил на контент-серверы стима под другим именем (как firesteam full), а сервер Adiost`а можно использовать в качестве онлайн базы учётных записей... Мастера "отмывать" учётные записи стима, по-моему, у нас имеются... я пока к ним не отношусь...
© [user]

Аватара пользователя
Pr0Ger
Модератор
Модератор
Сообщения: 1829
Зарегистрирован: 16.01.2009
Благодарил (а): 17 раз
Поблагодарили: 214 раз
Контактная информация:

#311 Сообщение 21.06.2009, 09:25

мысль хорошая, но надо ее реализовать, и в отличии от просто патчера(где правится возврашаемое значении некоторых функций), тут все может пойти насмарку при обновлении steam, поскольку механизм достаточно сложный, у если клапаны исправят одну строчку, то патчер придется переделывать

и такая фича, пробовал с двух компом качать тулбоксом(акк был один и тот-же)
результат:качало только на одном, на другом была ошибка
т.е. такую схему можно использовать только для обновления, а выкачивать контент при полном отсутсвии с например narod.ru

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

#312 Сообщение 21.06.2009, 16:03

Pr0Ger
Я почему это предлагаю... С GCF-играми-то всё просто: скачались архивы и распаковались неважно в каком порядке... А вот в большинстве случаев с NCF-играми этот номер не пройдёт, там надо распаковывать в определённом порядке... т.к. в каждой второй NCF-игре один NCf-файл замещает другой при каких-либо условиях... это первое...

Второе... неокторые файлы придётся распрпостранять в двух вариантах: полный, урезанный и патч от урезанного варианта до полного... да-да, это нужно для некоторых NCF-игр, иначе гигабайты трафика пойдут в пустую... А если ещё учесть, что для каждого из вариантов, в некоторых случаях, нужно делать индивидуальный патч, то...

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

Четвёртое... некоторые NCf-игры при запуске проверяют ключ (cd-key)... Т.е. придётся предусматривать варианты автоматического добавления ключей в реестр / какой-либо файл... Использовать по такой схеме 1 ключ на всех. Вариант с заменой оригинальных файлов не поддерживаю...

Пятое... При валидации игровых файлов, надо валидировать не каждый файл в отдельности, а систему файлов, подключенных в определённой последовательности... т.е. так, как это делает steam-клиент...

Так же могут быть и некоторые другие сложности... И все их предусмотреть, сделать под них абсолютно безглюченный алгоритм = :suicide:

Добавлено спустя 7 минут 47 секунд:
P.S. Лично я не вижу смысла в контент-сервере... Наилучший вариант - "обман" контент-серверов стима, путём входа на них под другим именем...

Добавлено:
все может пойти насмарку при обновлении steam, поскольку механизм достаточно сложный, а если клапаны исправят одну строчку кода, то патчер придется переделывать
Но не весь же... максимум день - два...

Так же, с учётом того, что в одном патчере всё не реализовать, нужно сделать ещё одно: гибридизатор memory-патчеров клиента steam, который подключался бы методом

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

steam.exe -clientapp <имя файла>.dll
Структурная схема (прошу не придираться к мелочам):
gibrid.jpg
Это позволит совместить патчер steamup и крек для контент-серверов стима... В результате может получиться более-менее идеальный ломаный стим...


Вывод:
Не стоит забывать о том, что CDR стима во власти valve :wink:
Если уж делать сервер, то для хранения игровой статистики. :)
Последний раз редактировалось [user] 21.06.2009, 18:29, всего редактировалось 4 раза.
© [user]

Аватара пользователя
Pr0Ger
Модератор
Модератор
Сообщения: 1829
Зарегистрирован: 16.01.2009
Благодарил (а): 17 раз
Поблагодарили: 214 раз
Контактная информация:

#313 Сообщение 21.06.2009, 17:31

[user] писал(а): в каждой второй NCF-игре один NCf-файл замещает другой при каких-либо условиях... это первое...
этот порядок несложно указать в виде небольшого файла, который укажет в каком порядке распаковывать
[user] писал(а): Второе... неокторые файлы придётся распрпостранять в двух вариантах: полный и урезанный... да-да, это нужно для некоторых NCF-игр, иначе гигабайты трафика пойдут в пустую... А если ещё учесть, что для каждого из вариантов, в некоторых случаях, нужно делать индивидуальный патч, то...
это я уже как то говорил, при полном отсутсвии кеша, выкачивать его, при частичном наличии, докачивать/делать патч на лету на специальном контент сервере
[user] писал(а): Третье... для работы с NCF-играми нужны проффесиональные аплоадеры steam-кэша, а таких можно по пальцам сосчетать... Я, со временем, их ряды покину...
ничего сложного не вижу, ибо можно склепать небольшой скрипт, который по логу валидации GCFScape(тулбокса не годится поскольку он не пишет путь к файлу) делает архив с нужными файлами
[user] писал(а): Четвёртое... некоторые NCf-игры при запуске проверяют ключ (cd-key)... Т.е. придётся предусматривать варианты автоматического добавления ключей в реестр / какой-либо файл... Использовать по такой схеме 1 ключ на всех. Вариант с заменой оригинальных файлов не поддерживаю...
клапаны для этого придумали installscript.vdf который ставит directx, openal, etc при необходимости, можно приделать небольшой скрипт файл который пропишет необходимые ключи в реестре
[user] писал(а): Пятое... При валидации игровых файлов, надо валидировать не каждый файл в отдельности, а систему файлов, подключенных в определённой последовательности... т.е. так, как это делает steam-клиент...
также описываем в одном файле, и получаем нужную последовательность валидации
оптимален вариант с библиотекой например на Python, а на сервере лежит скрипт который проводит валидацию
даже steam валидирует небезгрешно(например при валидации русской l4d сначала он выкачает файлы в left 4 dead sound.ncf, а потом поверх них выкачает left 4 dead russian.ncf)
[user] писал(а): Так же могут быть и некоторые другие сложности... И все их предусмотреть, сделать под них абсолютно безглюченный алгоритм = :suicide:
steam тоже глючит, но valve фиксят баги выпуская обновления

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

#314 Сообщение 21.06.2009, 18:21

Я свою позицию высказал...
Обновил своё предыдущее сообщение...


Добавлено спустя 4 минуты 43 секунды:
для этого придумали installscript.vdf который ставит directx, openal, etc при необходимости, можно приделать небольшой скрипт файл который пропишет необходимые ключи в реестре
Перезапись оригинальных файлов = невалидный кэш...

Добавлено спустя 8 минут 50 секунд:
Pr0Ger
На сколько я знаю, при замещении кэша клиент скачивает содержие того файла, который по приоритету находится выше... во всяком случае, так с GCF...

Добавлено спустя 4 минуты 16 секунд:
Думаю, всем известа проблема с запуском л4д на ломаных стимах даже если все файлы валидные (я имею в виду внгл. версию)... У меня вопрос, как она будет решаться при помощи "сторонней" программы? Даже методы, описанные в факе темы про обновления, не всегда помогают... Если у тебя есть свои варианты решения проблемы, предлагай... я в фак добавлю...

p.s. для "новичков" наилучшим вариантом будет "идеальный" ломаный стим...

Я понимаю, почему многих разработчиков может не устроить мой вариант: это очень сложно сделать... Не буду скрывать, я и сам толком ни сего из предложенного сделать не смогу... Пора лучшим программистам ксмании, ксрина и других интернет-ресурсов объединиться и делать единый проект...
© [user]

Аватара пользователя
Pr0Ger
Модератор
Модератор
Сообщения: 1829
Зарегистрирован: 16.01.2009
Благодарил (а): 17 раз
Поблагодарили: 214 раз
Контактная информация:

#315 Сообщение 21.06.2009, 19:10

[user] писал(а):Перезапись оригинальных файлов = невалидный кэш...
я не предлагал перазаписать оригинальный файл, а сделать дополнительный, который будет использовать только отдельная программа
Добавлено спустя 8 минут 50 секунд:
[user] писал(а): Pr0Ger
На сколько я знаю, при замещении кэша клиент скачивает содержие того файла, который по приоритету находится выше... во всяком случае, так с GCF...
иммено поэтому если провести валидацию в стиме L4D отличной от английской, то сначала выкачается английская озвучка(left 4 dead sound.ncf имеюшая больший приоритет), а потом поверх русская(left 4 dead russian.ncf)
[user] писал(а): Думаю, всем известа проблема с запуском л4д на ломаных стимах даже если все файлы валидные (я имею в виду внгл. версию)... У меня вопрос, как она будет решаться при помощи "сторонней" программы? Даже методы, описанные в факе темы про обновления, не всегда помогают... Если у тебя есть свои варианты решения проблемы, предлагай... я в фак добавлю...
даже с лицензией сушествует такая проблема, так что вина не в стиме
[user] писал(а): Я понимаю, почему многих разработчиков может не устроить мой вариант: это очень сложно сделать... Не буду скрывать, я и сам толком ни сего из предложенного сделать не смогу... Пора лучшим программистам ксмании, ксрина и других интернет-ресурсов объединиться и делать единый проект...
поскольку я программист могу пояснить почему за это никто не берется
просто такой проект не несет комерческой выгоды, а если ее нет, то этим занимаются максимум как хобби
т.е. разработка затягивается, и не факт что завершится
p.s. для "новичков" наилучшим вариантом будет "идеальный" ломаный стим...
идеальнгого на свете не бывает, а то что близко к идеалу стоит денег ©

Ответить Вложения 5