Jump to content
Korean Random

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


StranikS_Scan

Recommended Posts

 

Мод отключает загрузку эмблем кланов, которые отображаются на танках

 

Мне это позволило решить проблему со случайными подвисаниями клиента на 10-20 сек, вызванными обращениями к серверу http://ce.worldoftanks.ru/, на котором этим самые эмблемы и хранятся.

 

Обычно ошибки, связанные с этим сайтом выглядят в логе так:

[WARNING] (scripts/client/account_helpers/CustomFilesCache.py, 33): Method "__run_download" takes too much time 21.742000103
[WARNING] (scripts/client/account_helpers/CustomFilesCache.py, 33): Method "__run_download" takes too much time 21.894444903
[WARNING] (scripts/client/account_helpers/CustomFilesCache.py, 33): Method "__run_download" takes too much time 11.742000103
[ERROR] (scripts/client/account_helpers/CustomFilesCache.py, 194): Client couldn't download file. (timeout('timed out',), 'http://ce.worldoftanks.ru/dcont/clans/emblems/101931/emblem_64x64_tank.png')

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

 

Код мода:

from account_helpers.CustomFilesCache import WorkerThread

old___run_download = WorkerThread._WorkerThread__run_download

def new__run_download(self, url, modified_time, callback, **params):
    if str(url).find('emblem_64x64_tank.png') == -1:
        old___run_download(self, url, modified_time, callback, **params)

WorkerThread._WorkerThread__run_download = new__run_download

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

 

Скачать:

 

attachicon.gifemblemsOff.zip

 

Примечание: Если отключаете загрузку иконок, то имеет смысл также удалить и предназначенную для них кэш-папку \AppData\Roaming\Wargaming.net\ WorldOfTanks\custom_data\

 

А иконки хвм будут работать?Вроде как отдельный мод.

П.С: для чайников бы не мешало путь прописать.Хотя бы в описании.Мы то разберемся,а простые юзверы?:)

Edited by Slava7572
  • Upvote 2
Link to comment
Short link
Share on other sites

 

 

Обычно ошибки, связанные с этим сайтом выглядят в логе так:
У меня это выглядит немного иначе:
[ERROR] (scripts/client/account_helpers/CustomFilesCache.py, 210): Client couldn't read file. (EOFError(), 'NB2HI4B2F4XWGZJOO5XXE3DEN5THIYLONNZS44TVF5SGG33OOQXWG3DBNZZS6ZLNMJWGK3LTF42DANJXGYXWK3LCNRSW2XZWGR4DMNC7ORQW42ZOOBXGO===')
[WARNING] (scripts/client/account_helpers/CustomFilesCache.py, 33): Method "__run_download" takes too much time 10.128000021
[WARNING] (scripts/client/account_helpers/CustomFilesCache.py, 33): Method "__run_download" takes too much time 10.1139998436
[WARNING] (scripts/client/account_helpers/CustomFilesCache.py, 33): Method "__run_download" takes too much time 10.135999918
[WARNING] (scripts/client/account_helpers/CustomFilesCache.py, 33): Method "__run_download" takes too much time 10.132999897
[WARNING] (scripts/client/account_helpers/CustomFilesCache.py, 33): Method "__run_download" takes too much time 10.1339998245
[WARNING] (scripts/client/account_helpers/CustomFilesCache.py, 33): Method "__run_download" takes too much time 10.1499998569

Как видно, слов "Client couldn't download file" нет, значит файл всё-таки загружается. Тогда будет ли смысл ставить этот скрипт?

Link to comment
Short link
Share on other sites

Посмотри этот мод пожалуйста, тоже убирает эмблемы клана. (На данный момент пользуюсь им, поставил тоже из за того что просадки из за этих эмблем заметил иногда)

 

http://gotanks.ru/engine/download.php?id=12450

 

Может как то улучшить можно его можно? Накручено в нём конечно по серьёзному... :heh:

 

Установка в \res_mods\0.9.5\scripts\client

Edited by KACTET
  • Upvote 1
  • Downvote 1
Link to comment
Short link
Share on other sites

 

 

Мод отключает загрузку эмблем кланов, которые отображаются на танках

 

Мне это позволило решить проблему со случайными подвисаниями клиента на 10-20 сек, вызванными обращениями к серверу http://ce.worldoftanks.ru/, на котором этим самые эмблемы и хранятся.

 

Обычно ошибки, связанные с этим сайтом выглядят в логе так:

[WARNING] (scripts/client/account_helpers/CustomFilesCache.py, 33): Method "__run_download" takes too much time 21.742000103
[WARNING] (scripts/client/account_helpers/CustomFilesCache.py, 33): Method "__run_download" takes too much time 21.894444903
[WARNING] (scripts/client/account_helpers/CustomFilesCache.py, 33): Method "__run_download" takes too much time 11.742000103
[ERROR] (scripts/client/account_helpers/CustomFilesCache.py, 194): Client couldn't download file. (timeout('timed out',), 'http://ce.worldoftanks.ru/dcont/clans/emblems/101931/emblem_64x64_tank.png')

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

 

Код мода:

from account_helpers.CustomFilesCache import WorkerThread

old___run_download = WorkerThread._WorkerThread__run_download

def new__run_download(self, url, modified_time, callback, **params):
    if str(url).find('emblem_64x64_tank.png') == -1:
        old___run_download(self, url, modified_time, callback, **params)

WorkerThread._WorkerThread__run_download = new__run_download

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

 

Скачать:

 

attachicon.gifemblemsOff.zip

 

Примечание: Если отключаете загрузку иконок, то имеет смысл также удалить и предназначенную для них кэш-папку \AppData\Roaming\Wargaming.net\ WorldOfTanks\custom_data\

 

 

Установка в \res_mods\0.9.5\scripts\client   или  \res_mods\0.9.5\scripts\client\mods  ?

Edited by vizhu
Link to comment
Short link
Share on other sites

А иконки хвм будут работать?Вроде как отдельный мод.

 

Это чисто контент ВГ, загружаемый с указанного сайта. Фильтр срабатывает на слова 'emblem_64x64_tank.png', это именно иконки, которые на техники рисуются. И почему-то именно с ними проблемы бывают с загрузкой по логу. Наверно потому что, это картинки с клановых страничек.

  

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

 

Забыл. Прописал.

  

Как видно, слов "Client couldn't download file" нет, значит файл всё-таки загружается. Тогда будет ли смысл ставить этот скрипт?

 

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

  

А не проще прописать в hosts

 

Там как бы много чего грузиться с него, медальки всякие и значки и еще фиг знает что, однако косяки у меня лично из-за этих иконок кланов. Вот их закачки я и отфильтровал.

  

Может как то улучшить можно его можно? Накручено в нём конечно по серьёзному...

 

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

Edited by StranikS_Scan
  • Upvote 3
  • Downvote 1
Link to comment
Short link
Share on other sites

Винегрет какой-то, подозреваю это копии классов отвечающих за стрикеры, которые вынесены в мод и подредактированы.

Да нет там винегрета. Просто в оригинальном VehicleStickers.pyc убраны несколько последних строк функции attachStickers. И всё.

 

Думаю, подобное можно сделать и в виде отдельного мода как-то так:

"noclanemblems.py, теория, в деле не пробовал."

from VehicleStickers import ModelStickers

old_attachStickersNC = ModelStickers.attachStickers
def new_attachStickersNC(self, model, parentNode, isDamaged):
    self._ModelStickers__isLoadingClanEmblems = True
    old_attachStickersNC(self, model, parentNode, isDamaged)
ModelStickers.attachStickers = new_attachStickersNC
  • Upvote 1
Link to comment
Short link
Share on other sites

Да нет там винегрета. Просто в оригинальном VehicleStickers.pyc убраны несколько последних строк функции attachStickers. И всё.

 

Думаю, подобное можно сделать и в виде отдельного мода как-то так:

Скомпилировал, у меня работает, в логах всё нормально. Спс.

Link to comment
Short link
Share on other sites

StranikS_Scan там проблема не в том что иконки'а не грузится из wg ! а возможно в плохом интернете игрока, у меня другую иконку писал в логе но нажав на нее в логе он показывал иконку, у все раз интернет и скорость возможно все в этом деле, и пред - конфиг прикрути, спс

Link to comment
Short link
Share on other sites

А какие отличия от топика?

 

В топике скрипт не дает грузить эмблемы и их не будет ни в ушах ни где либо еще, а скрипт выше чисто отключает эмблемы на танке, при этом загрузку он ни как не блокирует.

Link to comment
Short link
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...