Оптимизация нагрузки на сервер.Скачивание недостающих моделей, карт и звуков через HTTP.

Тема в разделе "Статьи и мануалы", создана пользователем Andrey, 14 янв 2009.

  1. Andrey

    Andrey Администратор

    Сообщения:
    3.234
    Симпатии:
    3.507
    Оптимизация нагрузки на сервер
    Скачивание недостающих моделей, карт и звуков через HTTP

    Вместо скачивания при соединении дополнительных ресурсов (карт, моделей, звуков и т.д.) напрямую с игрового сервера, в Half-Life теперь поддерживается скачивание с HTTP-сервера (т.е. с веб-сервера).

    Преимущества
    Скачивание через HTTP имеет три важных преимущества:

    1. Скачивание дополнительных ресурсов не оказывает влияния на игровой сервер, так как передачу файлов осуществляет отдельный веб-сервер с дополнительными ресурсами
    2. Игроки будут закачивать дополнительные ресурсы на максимально возможной для них скорости, что существенно ускорит процесс закачки
    3. Игроки, закачивающие дополнительные ресурсы, не занимают слот на сервере
    Описание процесса
    Что будут видеть игроки, соединяющиеся с сервером, имеющим дополнительные или недостающие у игрока ресурсы.
    Когда игрок соединяется с сервером, имеющим дополнительные ресурсы, произойдет одно из двух:

    1. Если сервер не сконфигурирован на скачивание через HTTP, будет использоваться обычный метод скачивания "струйкой" ;
    2. Если сервер сконфигурирован на скачивание через HTTP, игрок увидит расширенный диалог закачки, и получит гораздо более быстрое скачивание. Пока идет закачка, игрок не соединен с игровым сервером. Как только закачка завершена, игрок автоматически пересоединяется с сервером и может играть.
    Настройка сервера для использования быстрого скачивания через HTTP:
    1) Создайте список всех нестандартных файлов (bsp, wav, mdl, etc), использующихся на вашем сервере
    2) Скопируйте эти файлы на веб-сервер, сохраняя структуру каталогов
    3) Необязательно: Для показа баннера игрокам, закачивающим дополнительные ресурсы, положите рисунок в формате GIF (340x56) в директорию путь которой:
    Код:
    <custom content directory>/gfx/banner.gif 
    4) Установите серверную переменную sv_downloadurl в
    "http://yourserver/custom_content_directory/"
    Пример:
    Ваш сервер использует нестандартную карту "cs_mansion_bftw_day", которая требует наличия следующих файлов:
    Предположим, у вас есть место на веб-сервере с адресом: http://hlmod.ru/~dir, которое вы хотите использовать для хостинга ваших дополнительных ресурсов.
    Чтобы сделать это, закачайте файлы, требующиеся для карты cs_mansion_bftw_day на ваш веб-сервер, в созданную директорию cs16, сохраняя структуру подкаталогов.
    Теперь
    на вашем веб-сервере вы имеете следующие файлы:

    Теперь установите серверную переменную:
    Код:
    sv_downloadurl "http://hlmod.ru/~dir/cs16/" 

    Теперь игроки, соединяющиеся с вашим сервером, автоматически скачают карту cs_mansion_bftw_day и требующиеся для нее дополнительные файлы с вашего веб-сервера (конечно, если только они еще не имеют этой карты и необходимых файлов)


    Также рекомендуется сжимать файлы с помощью архиватора bZip2 который можно скачать по ссылке: http://www.bzip.org
    Это намного увеличит скорость скачивания, что безусловно будет приятно игрокам и облегчит нагрузку на ваш сервер.

    Технические детали

    Использование нескольких веб-серверов
    В переменную sv_downloadurl можно добавить только один адрес, но имеются возможности делать редиректы с этого адреса если правильно настроить веб-сервер, что существенно снизит нагрузку путем балансировки по нескольким веб-серверам.
    Если вам это интересно ознакомьтесь со следующими статьями содержащими примеры:

    1. Для HLDS сервера плагин: Multi FastDownload
    2. [SNIPPET] Multiple Fast Download URLs

    При использовании материала ссылка на hlmod.ru обязательна.
     

    Вложения:

    • multidl.php.7z
      Размер файла:
      1,7 КБ
      Просмотров:
      236
    Последнее редактирование: 18 фев 2012
    Chaos_Engine, Sam_Fisher, Fab3r и 9 другим нравится это.
  2. Mavrick

    Mavrick

    Сообщения:
    1
    Симпатии:
    1
    Ответ: Оптимизация нагрузки на сервер.Скачивание недостающих моделей, карт и звуков через HTTP.

    Спасибо за мануал.

    А что будет, если допустим часть файлов находится на веб-сервере, а часть непосредственно на сервере? Будет ли клиент качать и с веб-сервера и с hlds?
     
    BASS нравится это.
  3. Andrey

    Andrey Администратор

    Сообщения:
    3.234
    Симпатии:
    3.507
    Ответ: Оптимизация нагрузки на сервер.Скачивание недостающих моделей, карт и звуков через HTTP.

    Да, те файлы которых нет на веб-сервере клиент будет скачивать с сервера.
    Переменная sv_allowdownload должна быть установлена в значение 1.
     
  4. FYNT

    FYNT

    Сообщения:
    34
    Симпатии:
    6
    Ответ: Оптимизация нагрузки на сервер.Скачивание недостающих моделей, карт и звуков через HTTP.

    Спасибо за мануал , очень полезен и увеличивает скорость скачки в несколько раз ! А кто нибуть может потсказать халявный фтп , для заливки файлов ?
     
  5. FYNT

    FYNT

    Сообщения:
    34
    Симпатии:
    6
    Ответ: Оптимизация нагрузки на сервер.Скачивание недостающих моделей, карт и звуков через HTTP.

    Привет всем , коль на мой вопрос нет ответа ! Спрошу тогда по другому , у меня есть выделенный айпи и комп постоянно работает ! Можно ли мне зделать папку кс и зделать скачку через комп а не через кс ?!
     
  6. Andrey

    Andrey Администратор

    Сообщения:
    3.234
    Симпатии:
    3.507
    Ответ: Оптимизация нагрузки на сервер.Скачивание недостающих моделей, карт и звуков через HTTP.

    Можно с помощью веб-сервера, или этой программой www.rejetto.com/hfs
     
  7. FYNT

    FYNT

    Сообщения:
    34
    Симпатии:
    6
    Ответ: Оптимизация нагрузки на сервер.Скачивание недостающих моделей, карт и звуков через HTTP.

    Спасибо тебе огромное =)) Щас затестим =))
     
  8. FYNT

    FYNT

    Сообщения:
    34
    Симпатии:
    6
    Ответ: Оптимизация нагрузки на сервер.Скачивание недостающих моделей, карт и звуков через HTTP.

    Помогите плиз , как мне для сорса прописать лучше ссылку !?
     
  9. adacer

    adacer

    Сообщения:
    144
    Симпатии:
    16
    4) Установите серверную переменную sv_downloadurl в
    "http://yourserver/custom_content_directory/"

    Можно пожалуйста попроще что куда устанавливать? в каком файле ?
     
  10. Andrey

    Andrey Администратор

    Сообщения:
    3.234
    Симпатии:
    3.507
    В server.cfg
     
  11. MihaNN52

    MihaNN52

    Сообщения:
    3
    Симпатии:
    0
    могу найти халявный веб с хорошей скоростью icq241615153 сам юзаю)
     
  12. Dimasty

    Dimasty

    Сообщения:
    3
    Симпатии:
    0
    Класная вещь, давно пользуюсь, вот только не скачивает клиенту файлы с сервера, если их недостаёт на хосте(((. Если кто в курсе - подскажите плз. аловаплоад -довнлоад в 1
     
  13. DrJekil

    DrJekil

    Сообщения:
    298
    Симпатии:
    6
    sv_allowupload 1
    sv_allowdownload 1
     
  14. DrJekil

    DrJekil

    Сообщения:
    298
    Симпатии:
    6
    как поставить свой баннер при загрузке?
     
  15. Andrey

    Andrey Администратор

    Сообщения:
    3.234
    Симпатии:
    3.507
    В какой игре? Если в 1.6, то это нужно прописывать в клиентской части, а не на серверной.
     
  16. DrJekil

    DrJekil

    Сообщения:
    298
    Симпатии:
    6
    А у меня как-то сам появлялся баннер, когда на другие серваки заходил...
     
  17. DrJekil

    DrJekil

    Сообщения:
    298
    Симпатии:
    6
    и я не понял, что за страничку надо создать?
     
  18. DrJekil

    DrJekil

    Сообщения:
    298
    Симпатии:
    6
    а что за страничку надо создать? я не понял.
     
  19. Andrey

    Andrey Администратор

    Сообщения:
    3.234
    Симпатии:
    3.507
    Теперь создайте html страничку только следующего образца:
    ================================================== =============
    <body topmargin="0" leftmargin="0" marginwidth="0" marginheight="0" style="margin: 0px" bgcolor="#000000">
    <html>
    <a href="http://www.reallite.cs2.ru/cstrike/gfx/" target="_new"><img border="0" src="steam_banner.gif"></a>
    </html>
    </body>
    ================================================== ==============
    НЕЧЕГО НЕ РЕДАКТИРУЙТЕ, кроме адреса хостинга. Вместо этого: «www.reallite.cs2.ru» впишите url своего хостинга. Например: «www.reallite.cs2.ru»
    А на полном примере: «www.reallite.cs2.ru/cstrike/gfx/»
     
  20. DrJekil

    DrJekil

    Сообщения:
    298
    Симпатии:
    6
    Во! Спасибо! А то та не показывалась!