Разработка метода передачи gcf
-
- Разработчик
- Сообщения: 910
- Зарегистрирован: 09.01.2009
- Откуда: Переезжаю в /dev/null
- Благодарил (а): 7 раз
- Поблагодарили: 65 раз
- Контактная информация:
Если работать с gcf как с фс - тоже пойдёт, тока надо будет следить за тем, чтобы хедер менялся... версия там итд
Закачка по HTTP - не вариант, т.к. в чистом виде он не подходит, а надстраивать его до нормального п2п тяжело
Закачка не по п2п не рулит потому что сервера нужны мощьные, а у нас такого нету (сервер симба с таким не справится)
Ну и обновление будет происходить простой перекачкой файлов внутри гцфок или распака (тоесть не самих гцф)
Технический воопрос - как можно проверить актульность гцф кроме версии и полного спска файлов с хешами crc
Добавлено спустя 4 минуты 14 секунд:
Кстати насчёт сжатия - протокол р2р можно сделать и сжимающим на лету - тут особой проблемы нет (сжимать поток при самой передаче, а не весь файл заранее)
Закачка по HTTP - не вариант, т.к. в чистом виде он не подходит, а надстраивать его до нормального п2п тяжело
Закачка не по п2п не рулит потому что сервера нужны мощьные, а у нас такого нету (сервер симба с таким не справится)
Ну и обновление будет происходить простой перекачкой файлов внутри гцфок или распака (тоесть не самих гцф)
Технический воопрос - как можно проверить актульность гцф кроме версии и полного спска файлов с хешами crc
Добавлено спустя 4 минуты 14 секунд:
Кстати насчёт сжатия - протокол р2р можно сделать и сжимающим на лету - тут особой проблемы нет (сжимать поток при самой передаче, а не весь файл заранее)
- $t@t!c_V()1D
- Разработчик
- Сообщения: 2639
- Зарегистрирован: 06.12.2007
- Благодарил (а): 10 раз
- Поблагодарили: 29 раз
Ну, версии GCF и та, что в CDR...и, наверное, всё. Проблема в том, что CDR может быть не обновлена, но это тоже можно отследить, собственно, по дате последнего обновления CDR.MOZGIII писал(а):актульность гцф
Another guy on them internets
Уважайте команду CSMania.RU - задавайте вопросы правильно!
Уважайте команду CSMania.RU - задавайте вопросы правильно!
- Pr0Ger
- Модератор
- Сообщения: 1829
- Зарегистрирован: 16.01.2009
- Благодарил (а): 17 раз
- Поблагодарили: 214 раз
- Контактная информация:
только ftp при передаче умеет сжимать[user] писал(а): На FTP Simbiat'а файлы без сжатия лежат...
у меня однажды скачивало со скоростью ~250 кб/с, когда максимальная скорость инета ~40
-
- Разработчик
- Сообщения: 910
- Зарегистрирован: 09.01.2009
- Откуда: Переезжаю в /dev/null
- Благодарил (а): 7 раз
- Поблагодарили: 65 раз
- Контактная информация:
Pr0Ger
На HTTP можно поставить GZip, только но проц тормозить чутка больше будет... У Simbiat'а а до сих пор мой скрипт ведь?)
$t@t!c_V()1D
Проблема возникает при импорте вайлов в gcf, но я уже прдумал как её решить: так как gcf должен быть последней версии, всегда прописывать в хедере ему последнюю версию, а файлы тупо докачивать до полного совпадения всего дерева хешей и не давать запускать пока всё не скачали/обновили
На HTTP можно поставить GZip, только но проц тормозить чутка больше будет... У Simbiat'а а до сих пор мой скрипт ведь?)
$t@t!c_V()1D
Проблема возникает при импорте вайлов в gcf, но я уже прдумал как её решить: так как gcf должен быть последней версии, всегда прописывать в хедере ему последнюю версию, а файлы тупо докачивать до полного совпадения всего дерева хешей и не давать запускать пока всё не скачали/обновили
- $t@t!c_V()1D
- Разработчик
- Сообщения: 2639
- Зарегистрирован: 06.12.2007
- Благодарил (а): 10 раз
- Поблагодарили: 29 раз
MOZGIII
Тогда это велосипед. Я уже указывал Риновские разработки.
Тогда это велосипед. Я уже указывал Риновские разработки.
Another guy on them internets
Уважайте команду CSMania.RU - задавайте вопросы правильно!
Уважайте команду CSMania.RU - задавайте вопросы правильно!
- NiGHt-LEshiY
- Полковник
- Сообщения: 10258
- Зарегистрирован: 13.06.2008
- Откуда: Россия
- Благодарил (а): 752 раза
- Поблагодарили: 2667 раз
- Контактная информация:
$t@t!c_V()1D
Чем плохи велосипеды?
Лучше использовать _только_ нужный функционал, чем брать чужие вещи, которые умеют то что нужно, плюс ещё кучу непонятно-чего.
Чем плохи велосипеды?
Лучше использовать _только_ нужный функционал, чем брать чужие вещи, которые умеют то что нужно, плюс ещё кучу непонятно-чего.
Кодекс поведения участников сообщества — обязательно к прочтению.
Просьба присылать сообщения об ошибках в ЛС.
Просьба присылать сообщения об ошибках в ЛС.
- andreil
- Разработчик
- Сообщения: 781
- Зарегистрирован: 14.08.2006
- Откуда: Светлогорск, Беларусь
- Поблагодарили: 2 раза
- Контактная информация:
Хех, ну и я тут уже отпишусь для приличия, что бы авторы действительно не изобретали велосипед ;)
Насчет самого процесса - кто внимательно всматривался в последние версии программы MiniSteam (aka SteamLite), тот увидел волшебную кнопочку "#P2Pxxxxxxx". Так вот, в этой программе я 100% буду реализовывать p2p обмен данными при скачивании кэша с целью уменьшения нагрузки на сервер. Сам протокол у меня уже есть (правда только в голове и в общих чертах). Сегодня вечером я его оформлю нормально и завтра-послезавтра выложу для рассмотрения.
Насчет записи в GCF - нет проблем, т.к. я то же работаю над этим (если конкретно, то я добавляю некоторые функции в мою библиотеку GCFFiles.pas - TGCF.Delete, TGCF.AddFile, TGCF.OpenFile, TGCF.Read, TGCF.Write, TGCF.Close). Так что в следующей ревизии данной библиотеки будет возможность проводить основные операции с файлами (функция TGCF.Close будет пересчитывать контрольные суммы для измененных файлов и записывать изменения в заголовках).
Так что вывод отсюда один - надо подождать конца сессии у меня (это всего 3 недели) и я примусь активно разрабатывать все это каждый день (у меня наконец будет возможность находится за компьютером более 3-х часов в день :) ).
PS: Новой ревизии библиотеки GCFFiles.pas следует ждать через месяц-полтора, а SteamLite с полной поддержкой запуска большинства игр и полным патчингом кэша - в то же время ;)
Насчет самого процесса - кто внимательно всматривался в последние версии программы MiniSteam (aka SteamLite), тот увидел волшебную кнопочку "#P2Pxxxxxxx". Так вот, в этой программе я 100% буду реализовывать p2p обмен данными при скачивании кэша с целью уменьшения нагрузки на сервер. Сам протокол у меня уже есть (правда только в голове и в общих чертах). Сегодня вечером я его оформлю нормально и завтра-послезавтра выложу для рассмотрения.
Насчет записи в GCF - нет проблем, т.к. я то же работаю над этим (если конкретно, то я добавляю некоторые функции в мою библиотеку GCFFiles.pas - TGCF.Delete, TGCF.AddFile, TGCF.OpenFile, TGCF.Read, TGCF.Write, TGCF.Close). Так что в следующей ревизии данной библиотеки будет возможность проводить основные операции с файлами (функция TGCF.Close будет пересчитывать контрольные суммы для измененных файлов и записывать изменения в заголовках).
Так что вывод отсюда один - надо подождать конца сессии у меня (это всего 3 недели) и я примусь активно разрабатывать все это каждый день (у меня наконец будет возможность находится за компьютером более 3-х часов в день :) ).
PS: Новой ревизии библиотеки GCFFiles.pas следует ждать через месяц-полтора, а SteamLite с полной поддержкой запуска большинства игр и полным патчингом кэша - в то же время ;)
[url=svn://forum.csmania.ru/andreil]Репозиторий с моими проектами[/url]
Занимаюсь переносом всех своих библиотек на С++, а так же созданием их кроссплатформенных версий.
В команду переводчиков манги "Ah! My Goddess!" требуются переводчики с английского и тайперы (последних можем обучить, главное - желание).
Занимаюсь переносом всех своих библиотек на С++, а так же созданием их кроссплатформенных версий.
В команду переводчиков манги "Ah! My Goddess!" требуются переводчики с английского и тайперы (последних можем обучить, главное - желание).
- $t@t!c_V()1D
- Разработчик
- Сообщения: 2639
- Зарегистрирован: 06.12.2007
- Благодарил (а): 10 раз
- Поблагодарили: 29 раз
NiGHt-LEshiY
Ну, может ты и прав, но вот я опробовал CFT. NET. По-моему, классно %). По крайней мере, для локальной сети, определенно.
andreil
Ну, что ж, ждем-с..
Ну, может ты и прав, но вот я опробовал CFT. NET. По-моему, классно %). По крайней мере, для локальной сети, определенно.
andreil
Ну, что ж, ждем-с..
Another guy on them internets
Уважайте команду CSMania.RU - задавайте вопросы правильно!
Уважайте команду CSMania.RU - задавайте вопросы правильно!
-
- Разработчик
- Сообщения: 910
- Зарегистрирован: 09.01.2009
- Откуда: Переезжаю в /dev/null
- Благодарил (а): 7 раз
- Поблагодарили: 65 раз
- Контактная информация:
andreil
Может опишеш свой протокол в двух словах? Мне просто интересно до чего другие люди дошли :)
Раз так, то я писать ничего не буду, разве что, если проект будет открытый, гуи красивый замучу ;)
$t@t!c_V()1D
По поводу велосипеда - это ты о чём? На рине же вроде наработки есть, но они немного не те, что нам нужны? Исключая конечно либы для работы с GCF, хотя если andreil свой модуль допишет - то и либы не понядобятся ;)
Может опишеш свой протокол в двух словах? Мне просто интересно до чего другие люди дошли :)
Раз так, то я писать ничего не буду, разве что, если проект будет открытый, гуи красивый замучу ;)
$t@t!c_V()1D
По поводу велосипеда - это ты о чём? На рине же вроде наработки есть, но они немного не те, что нам нужны? Исключая конечно либы для работы с GCF, хотя если andreil свой модуль допишет - то и либы не понядобятся ;)
- $t@t!c_V()1D
- Разработчик
- Сообщения: 2639
- Зарегистрирован: 06.12.2007
- Благодарил (а): 10 раз
- Поблагодарили: 29 раз
MOZGIII
Да вот в том-то и дело, что я вижу, как их можно заюзать уже сейчас.
Да вот в том-то и дело, что я вижу, как их можно заюзать уже сейчас.
Another guy on them internets
Уважайте команду CSMania.RU - задавайте вопросы правильно!
Уважайте команду CSMania.RU - задавайте вопросы правильно!
- andreil
- Разработчик
- Сообщения: 781
- Зарегистрирован: 14.08.2006
- Откуда: Светлогорск, Беларусь
- Поблагодарили: 2 раза
- Контактная информация:
Итак, насчёт моего варианта протокола - всё будес реализовано на оригинальном steam-протоколе, с тем отличием, что в качестве контент-серверов будут выступать и сами клиенты. так же будет реализована бонусная система - новые (и некторые из платных игр) можно будет загружать либо за символическую плату (аренда сервера, покупка игр), либо в счет раздаваемого - за объём в графе "отдано".
вот такие вот планы на данный момент.
вот такие вот планы на данный момент.
[url=svn://forum.csmania.ru/andreil]Репозиторий с моими проектами[/url]
Занимаюсь переносом всех своих библиотек на С++, а так же созданием их кроссплатформенных версий.
В команду переводчиков манги "Ah! My Goddess!" требуются переводчики с английского и тайперы (последних можем обучить, главное - желание).
Занимаюсь переносом всех своих библиотек на С++, а так же созданием их кроссплатформенных версий.
В команду переводчиков манги "Ah! My Goddess!" требуются переводчики с английского и тайперы (последних можем обучить, главное - желание).