Как извесно что скачивание файлов с сервера намного медленнее чем допустим по протоколу http\ftp,плюс в сжатом виде!
Для этого мы будем использовать архиватор Bzip2,Source движок умеет работать с данным архиватаом.
Итак приступим:
1) скачать bzip для windows (free) http://www.bzip.org/downloads.html
2) скачать delspec (free) http://www.bestdiskrecovery.com/delspecial/
3) распаковать и положить обе утилиты в %WINDIR%\system32\
4) создать текстовый файл bzip2.reg со следующим содержимым:
Код: Выделить всё
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\Bzip2]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\Bzip2\command]
@="delspec %1 -F*.* -M -E\"bzip2 -9 -k\" -B"
В контекстном меню(при нажатии правой кнопки мыши на папке с картой) появится пункт Bzip2
При выборе этого пункта,все файлы в папке будут сжаты в формат bz2.
Вы можете повторять это каждый раз, когда добавляете карту и прочие ресурсы. Уже сжатые файлы будут пропускаться. Поэтому в первый раз операция надолго загрузит вашу систему, однако в следующие разы будут обрабатываться только новые файлы.
Примечания:
- ошибка "permission denied" некритична и означает нахождение последней подпапки в ветке
- оригинальные файлы НЕ удаляются. Вы можете это сделать вручную, но это может вызвать проблемы при последующих запусках.
6.Теперь необходимо создать зеркало сервера на сайте http:// ,тоесть аналог папок сервера,например:
http://yousite/cstrike/maps
Где будут лежать наши дубликаты карт в сжатом виде,от куда и будет происходить скачивание клиентами карт и материалов.
7.Теперь зададим путь скачивания в server.cfg
Добавляем параметр:
Код: Выделить всё
sv_downloadurl "http://yousite/cstrike/"
Для этого нам понадобится утилита Half-Life 2 - CS: Source ResMaker для создания res файлов.
Взять можно отсюда:http://halflife2.filefront.com/file..._ResMaker;34374
Собственно создаем res файл и ложим рядом с картой,например:
de_aztec.bsp
de_aztec.res
Res фал выглядит примерно так:
Код: Выделить всё
"resources"
{
"materials/..../...." "file"
"models/..../...." "file"
"sound/..../...." "file"
}