Апдейтер Lineage II на Python


Ага. Я пытался задетектить это вручную, но потом забил. Проще поставить галочку.
Ну у нас тоже был недавно ....батл
Один игрок пытался сравнивать наш лаунчер и лаунчер Астера
Сперва оказалось что наш лаунчер был на простом HDD диске и мне доказывали что у Астера быстрее (Астер внезапно оказался на NVMe), ну так и было конечно, это факт.
Потом когда перенесли и наш на NVMe, то после этого....."ну да...." :)
Оказалось наш быстрее раз так в 5 минимум.
Л2 игроки они такие....в глаза им ссать и это Божья росса!

При этом у меня кастомная реализация xxHash, адаптированная под особенности клиента л2.
В чем ее отличия, если не секрет?
 
Ради интереса, собери 2 варианта, на SHA256 и
Пусть иксперты подрочат на разницу в скорости.
Правда я не знаю на счет Питона, в контексте того какой будет тут буст.
У нас не питон и у нас все макисмально асинхронно.


Это не шутка? ))))) Рельно есть такая галочка в апдейтере?
Уже постил с SHA256

Обновление

Изменения в версии:​

  • Улучшена проверка файлов:
    • Заменена стандартная сверка файлов на проверку с использованием контрольной суммы.
  • Обновление генератора списка файлов для патча:
    • Теперь в списке для каждого файла указывается его контрольная сумма (хеш).
  • Снижено количество ложных срабатываний на VirusTotal:
    • Уменьшено с 12 до 5.


СКАЧАТЬ
*** Скрытый текст не может быть процитирован. ***

VirusTotal

 
В чем ее отличия, если не секрет?
Реализовано сегментирование больших файлов и асинхронный расчет сначала хешсумм сегментов, после чего быстрый расчет общего значения на основе их значения.
 
BG и пару кнопок столько весят? ну хз
А BG и кнопки тянут за собой графический фреймворк, GTK и т.п, без понятия как там на Питоне.
Поэтому и такой + к весу.
BG и кнопки это не вся графика в таких случиях.

Реализовано сегментирование больших файлов и асинхронный расчет сначала хешсумм сегментов, после чего быстрый расчет общего значения на основе их значения.
Чем то напоминает отдаленно hashsplit реализацию, только там обновление идет именно тех блоков, которые были изменены в самом файле.
То есть обновляется не весь файл, а только его часть что была изменена.
Начинали делать это.....но потом решили что это их "пушки по воробьям", в итоге отказались, сильно затратно (время и тесты), да и это оверкилл, даже для перфекциониста как я )))))
 
интересно
 
Чем то напоминает отдаленно hashsplit реализацию, только там обновление идет именно тех блоков, которые были изменены в самом файле.
То есть обновляется не весь файл, а только его часть.
Начинали делать это.....но потом решили что это их "пушки по воробьям", в итоге отказались.
У меня чуть более сложный алгоритм предикта там. Т.е первично считываются хеши мелких фрагментов файла, сверяются с ожидаемыми значениями. Если промах, то идет полная проверка файла и хеши сливаются.
 
Обновление

Изменения в версии:


  • Обновлена проверка файлов: алгоритм контрольной суммы был заменён с SHA256 на xxHash, что значительно ускорило процесс сверки файлов. Спасибо kick за подсказку.

    (Соответственно, обновлены как сам апдейтер, так и менеджер файлов.)

  • Оптимизирован немного вес апдейтера: раньше он занимал почти 39 МБ, теперь — 30,5 МБ. Разница незначительная, но чисто так к сведению.

  • Исправлен мелкий баг с кнопкой "Отмены проверки": при переключении языков кнопка заменялась на "Начать играть", при этом игнорировалась проверка на смену языка на текущий активный. Также сделана небольшая оптимизация отмены проверки: ранее при отмене апдейтер мог подвиснуть на 1–2 секунды.

    СКАЧАТЬ


    VirusTotal



    Позже будут внесены дополнительные правки, касающиеся ложных срабатываний антивирусов на VirusTotal. Однако это уже точно не сегодня, я устал)
 
У меня чуть более сложный алгоритм предикта там. Т.е первично считываются хеши мелких фрагментов файла, сверяются с ожидаемыми значениями. Если промах, то идет полная проверка файла и хеши сливаются.
Используете XXH64, или все же осилили (только в лучшем смысле этого слова) XXH3 ?
 
У меня чуть более сложный алгоритм предикта там. Т.е первично считываются хеши мелких фрагментов файла, сверяются с ожидаемыми значениями. Если промах, то идет полная проверка файла и хеши сливаются.

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

Используете XXH64, или все же осилили (только в лучшем смысле этого слова) XXH3 ?
xxhash32, т.к мое железо не даст мне возможности нормально потестить разницу в работе с xxh3. У меня простенький i5-2500k, в котором из приятного, только цена и sse2. Поэтому алгоритм выбирался в том числе и с учетом этого. Да и 32-битной версии за глаза, на самом деле
 
заменён с SHA256 на xxHash
Ну все, линейщики получили наконец нормальный бесплатный апдейтер с GUI (до этого тут и раньше выкладывали толковый апдейтер :) но без GUI )
раньше он занимал почти 39 МБ, теперь — 30,5 МБ
:) мы еще WebView используем и норм в апдейтере лаунчере, ничего.
На Электроне такие апдейтеры/лаунчеры в разы больше по весу и все равно норм.

i7-2600к ))))))))
 
Ну все, линейщики получили наконец нормальный бесплатный апдейтер с GUI (до этого тут и раньше выкладывали толковый апдейтер :) но без GUI )

Пока рано об этом говорить; позже мне предстоит выпустить ещё одно обновление, чтобы устранить большинство ложных срабатываний антивирусов на VirusTotal.

Однако уже на данном этапе ситуация значительно улучшилась: Google Chrome больше не предупреждает об опасности при загрузке архива.

1735415544282.webp
 
Пока рано об этом говорить; позже мне предстоит выпустить ещё одно обновление, чтобы устранить большинство ложных срабатываний антивирусов на VirusTotal.

Однако уже на данном этапе ситуация значительно улучшилась: Google Chrome больше не предупреждает об опасности при загрузке архива.

так бекдор просто убери и готово )
 
Пока рано об этом говорить; позже мне предстоит выпустить ещё одно обновление, чтобы устранить большинство ложных срабатываний антивирусов на VirusTotal.

Однако уже на данном этапе ситуация значительно улучшилась: Google Chrome больше не предупреждает об опасности при загрузке архива.

Посмотреть вложение 82881

Опять же, не знаю как в Питоне, но в других средах возможно добавить в билд, манифест файл и в итоге при запуске, если у вас включен UAC вас попросит разрешения (типа Админ права)
Что бы не было проблем с тем что бы перезаписать файлы при обновлении, да и вообще при активном UAC
Как вариант для след обновлений этого лаунчера.
 
Опять же, не знаю как в Питоне, но в других средах возможно добавить в билд, манифест файл и в итоге при запуске, если у вас включен UAC вас попросит разрешения (типа Админ права)
Что бы не было проблем с тем что бы перезаписать файлы при обновлении, да и вообще при активном UAC
Как вариант для будующих обновлений этого лаунчера.
Отличное предложение! Добавил его в сборку (тем более что это небольшое дополнение в виде файла с 11 строчками).
 
Подарок на НГ в виде норм лаунчера засчитан. :)
Все "Кабалоподобные" можно выкинуть к черту и вообще о них забыть.
 
Назад
Сверху Снизу