Updater source - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Сообщество Календарь
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II > Игровой клиент

Игровой клиент Есть вопросы по поводу редактирования dat, utx и других файлов клиента, пожалуйста, задавайте их здесь.
Описание темы:C#

Ответ
Опции темы
Непрочитано 07.12.2015, 04:04   #1
Участник

Автор темы (Топик Стартер) Updater source

Всем доброго!

Пытался найти исходники Updatera - на C#.
Нигде не могу найти, то ссылки битые, то сайты мертвые.

Ребят, пожалуйста у кого может завалялось?

Добавлено через 1 час 21 минуту
Мне нужно было понять, как работает updater, хотел посмотреть, вообщем я нашел все, что мне нужно.
Я просто изначально не правильно начал искать.

Правильно ли я понял (ядро updater'а не смотрел):

Updater обращается к месту где лежит обнова - смотрит даты последних модификаций, если есть изменения, берет обнову..., открывает папку с игрой у клиента, - и также проверяет даты модификаций..., если изменения есть обновляет файлы ?

Последний раз редактировалось mountaineer; 07.12.2015 в 05:25. Причина: Добавлено сообщение
mountaineer вне форума Ответить с цитированием
Непрочитано 07.12.2015, 13:12   #2
Олдфаг

По умолчанию Re: Updater source

проверка на валидность не по дате а по контрольной сумме файла делается.
Smiler вне форума Ответить с цитированием
Непрочитано 07.12.2015, 17:43   #3
Участник

Автор темы (Топик Стартер) Re: Updater source

Код:
using (var md5 = MD5.Create(),
stream = File.OpenRead(filename)) {
	return md5.ComputeHash(stream);
}
?
mountaineer вне форума Ответить с цитированием
Непрочитано 07.12.2015, 22:55   #4
Пользователь

По умолчанию Re: Updater source

Ага и проверка клиента может затянутся на минуты если чекать все файлы.
flopix вне форума Ответить с цитированием
Непрочитано 07.12.2015, 23:04   #5
Пользователь

По умолчанию Re: Updater source

на сервере храним уже готовые контрольные суммы в файле, скачиваем файл и по названию файла проверяем контрольною сумму если не совпадает качаем и заменяем
HiredKiller вне форума Ответить с цитированием
Непрочитано 07.12.2015, 23:04   #6
Аватар для Gaikotsu
Герой

По умолчанию Re: Updater source

как-то плохо ты искал

https://github.com/VISTALL/game-updater

Добавлено через 2 минуты
Цитата:
Сообщение от Smiler Посмотреть сообщение
проверка на валидность не по дате а по контрольной сумме файла делается.
для ускорения сначала можно сравнивать размеры файлов и толкьо если размеры совпадают - тогда чекать по контрольным суммам, т.к. в ином случае уже понятно что файл не такой какой нужно.

Последний раз редактировалось Gaikotsu; 07.12.2015 в 23:07. Причина: Добавлено сообщение
Gaikotsu вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 08.12.2015, 09:02   #7
Олдфаг

По умолчанию Re: Updater source

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

чекать всегда только критичные файлы для л2 это папка system , а остальное по требованию юзера (кнопка "проверить все файлы").

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

Добавлено через 2 минуты
Цитата:
Сообщение от Gaikotsu Посмотреть сообщение
сначала можно сравнивать размеры файлов
я бы еще дату создания дополнительно к размеру чекал , для не критичных.
и в случае расхождения проверять контрольную сумму

Последний раз редактировалось Smiler; 08.12.2015 в 09:04. Причина: Добавлено сообщение
Smiler вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 08.12.2015, 09:58   #8
Пользователь

По умолчанию Re: Updater source

Цитата:
Сообщение от Gaikotsu Посмотреть сообщение
как-то плохо ты искал

https://github.com/VISTALL/game-updater

Добавлено через 2 минуты
для ускорения сначала можно сравнивать размеры файлов и толкьо если размеры совпадают - тогда чекать по контрольным суммам, т.к. в ином случае уже понятно что файл не такой какой нужно.
чет он какой-то delphi-style с перехватами оконных сообщений и пр.
имхо - проще было сделать, используя wpf, нежели извращать с Winform-ами.

Добавлено через 5 минут
Цитата:
Сообщение от mountaineer Посмотреть сообщение
Всем доброго!

Пытался найти исходники Updatera - на C#.
Нигде не могу найти, то ссылки битые, то сайты мертвые.

Ребят, пожалуйста у кого может завалялось?

Добавлено через 1 час 21 минуту
Мне нужно было понять, как работает updater, хотел посмотреть, вообщем я нашел все, что мне нужно.
Я просто изначально не правильно начал искать.

Правильно ли я понял (ядро updater'а не смотрел):

Updater обращается к месту где лежит обнова - смотрит даты последних модификаций, если есть изменения, берет обнову..., открывает папку с игрой у клиента, - и также проверяет даты модификаций..., если изменения есть обновляет файлы ?
по сути вся минимальная проверка сводится к тому, чтобы:
1. вытащить с сервера обновлений данные с хешами файлов.
2. пробежаться по этому файлу, сравнивая данные клиента:
а) если размер разный - перекачиваем.
б) если одинаковый - получаем хеш клиентской версии файла и сравниваем с эталоном, если разные - перекачиваем.

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

ну и некоторые еще добавляют дополнительные фишки в апдейтер.

Последний раз редактировалось BeOS; 08.12.2015 в 10:04. Причина: Добавлено сообщение
BeOS вне форума Ответить с цитированием
Непрочитано 08.12.2015, 14:19   #9
Участник

Автор темы (Топик Стартер) Re: Updater source

Хочу, чтобы это было без заморочек, чтобы при запуске l2.exe - запускалась проверка на наличие обновления если они существуют, об этом будет давать знать флаг на поступление обновления, при открытии клиента появится сначала окошко " мол пожалуйста подождите идет обновление клиента ну и конечно же сам процесс... ", в котором заключается следующее:

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

После успешного выполнения запускаем клиент.
mountaineer вне форума Ответить с цитированием
Непрочитано 08.12.2015, 16:56   #10
Олдфаг

По умолчанию Re: Updater source

Цитата:
Сообщение от mountaineer Посмотреть сообщение
Хочу, чтобы это было без заморочек, чтобы при запуске l2.exe - запускалась проверка на наличие обновления если они существуют, об этом будет давать знать флаг на поступление обновления, при открытии клиента появится сначала окошко " мол пожалуйста подождите идет обновление клиента ну и конечно же сам процесс... ", в котором заключается следующее:

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

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

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

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


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Donate Shop [Lucera] labrador116 Lineage II 23 12.03.2014 15:08
ошибка овероподобной сборки ShadowPK Lineage II 9 02.03.2013 22:02
Сервер спамит ошибками. AccessDenied Работа со скриптами 8 29.03.2011 03:01
ошибка при установки базы Devilop Lineage II 18 27.08.2010 20:43
Установка на La2Base KOPEIII Работа с геодатой 8 29.07.2010 09:55


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 05:18. Часовой пояс GMT +3.

Вверх