Быстрая загрузка с сервера [sv_downloadurl]

Здесь хранится вся документация по созданию выделенных серверов
Сообщение
Автор
Danfocus
Лейтенант
Лейтенант
Сообщения: 191
Зарегистрирован: 05.02.2007

#136 Сообщение 22.02.2010, 15:48

Вот, по нужде нафигачил скрипт для выкладывания бзипеных ресов на сервак для линуксоидов.

Пользуйтесь.

Код: Выделить всё

#!/bin/sh

# CS:S directory
CR_DIR="/opt/steam/cstrike/"

# WEB-server CS:S directory
WWW_DIR="/var/www/nginx-default/cstrike/"

# WEB-server data owner
WWW_USER="www-data"

# Directories to sync without recursion
SYNC_DIRS="maps/"

# Directories to sync with recursion
SYNC_DIRS_R="gfx/ materials/ models/ resource/ sound/ sprites/"

PWD=`pwd`

for s_dir in ${SYNC_DIRS_R} ; do

 cd "${CR_DIR}${s_dir}"

 find ./ -type d -print|grep -v "^.$"| sed 's/^.\///g'|while read fl ; do
  mkdir -p "${WWW_DIR}${s_dir}${fl}"
 done

 find ./ -type f -print|sed 's/^.\///g'|while read fl ; do
  if [ ! -f "${WWW_DIR}${s_dir}${fl}.bz2" ]
  then
   cp "${fl}" "${WWW_DIR}${s_dir}${fl}"
   bzip2 "${WWW_DIR}${s_dir}${fl}"
  fi
 done

done

for s_dir in ${SYNC_DIRS} ; do

 cd "${CR_DIR}${s_dir}"

 ls *.*|grep -v ".ztmp$"| while read fl ; do
  if [ ! -f "${WWW_DIR}${s_dir}${fl}.bz2" ]
  then
   cp "${fl}" "${WWW_DIR}${s_dir}${fl}"
   bzip2 "${WWW_DIR}${s_dir}${fl}"
  fi
 done

done

chown -R ${WWW_USER} "${WWW_DIR}"
chmod -R 777 "${WWW_DIR}"

cd "${PWD}"


Аватара пользователя
xiloid
Капитан
Капитан
Сообщения: 341
Зарегистрирован: 30.10.2008
Поблагодарили: 3 раза

#137 Сообщение 28.04.2010, 10:20

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

Danfocus
Лейтенант
Лейтенант
Сообщения: 191
Зарегистрирован: 05.02.2007

#138 Сообщение 28.04.2010, 11:22

Danfocus писал(а):Вот, по нужде нафигачил скрипт для выкладывания бзипеных ресов на сервак для линуксоидов.

Пользуйтесь.

Код: Выделить всё

#!/bin/sh

# Это папка где находится контра (внутри maps, sounds и т.д.). "/" в конце
CR_DIR="/opt/steam/cstrike/"

# Это папка куда выкладывать файлы на веб-серваке. "/" в конце
WWW_DIR="/var/www/nginx-default/cstrike/"

# Это владелец бзипеных файлов на веб-серваке
WWW_USER="www-data"

# Папки, файлы из которых бзипеть без рекурсии. "/" в конце
SYNC_DIRS="maps/"

# Папки, файлы из которых бзипеть с рекурсией. разделенные пробелом. "/" в конце
SYNC_DIRS_R="gfx/ materials/ models/ resource/ sound/ sprites/"

# Сохраняем текущую диру
PWD=`pwd`

# Идем циклом по строке "с рекурсией"
for s_dir in ${SYNC_DIRS_R} ; do

 # Переходим в папку
 cd "${CR_DIR}${s_dir}"

 # Ищем вложенные диры рекурсивно
 find ./ -type d -print|grep -v "^.$"| sed 's/^.\///g'|while read fl ; do
  # Создаем такую же структуру на веб-серваке
  mkdir -p "${WWW_DIR}${s_dir}${fl}"
 done

 # Ищем файлы рекурсивно
 find ./ -type f -print|sed 's/^.\///g'|while read fl ; do
  # Проверяем - есть уже такой бзипеный файл на веб-серваке
  if [ ! -f "${WWW_DIR}${s_dir}${fl}.bz2" ]
  then
   # Если нет такого архива, то копируем и жмем
   cp "${fl}" "${WWW_DIR}${s_dir}${fl}"
   bzip2 "${WWW_DIR}${s_dir}${fl}"
  fi
 done

done

# Идем по дирам "без рекурсий"
for s_dir in ${SYNC_DIRS} ; do
 
 # Переходим в диру
 cd "${CR_DIR}${s_dir}"

 # Читаем файлы в дире
 ls *.*|grep -v ".ztmp$"| while read fl ; do
  # Проверяем - есть уже такие архивы на вебе
  if [ ! -f "${WWW_DIR}${s_dir}${fl}.bz2" ]
  then
   # Если нет - копируем и жмем
   cp "${fl}" "${WWW_DIR}${s_dir}${fl}"
   bzip2 "${WWW_DIR}${s_dir}${fl}"
  fi
 done

done

# Назначаем владельца архивов
chown -R ${WWW_USER} "${WWW_DIR}"

# Устанавливаем права на архивы
chmod -R 777 "${WWW_DIR}"

# Возвращаемся - где были перед началом
cd "${PWD}"


Аватара пользователя
Saviorjke
Сержант
Сержант
Сообщения: 37
Зарегистрирован: 17.02.2010
Откуда: Киров
Контактная информация:

#139 Сообщение 19.05.2010, 21:53

Возможно ли сделать загрузку из нескольких мест?
Т.е. для одного диапазона ип из одного места, а для другого из другого места?
Изображение

Аватара пользователя
Punkk
Капитан
Капитан
Сообщения: 481
Зарегистрирован: 04.01.2008
Поблагодарили: 11 раз

#140 Сообщение 27.06.2010, 01:44

Всем привет У меня что то после обновления перестало скачивать с сервера с чем может быть связано ?
Кривые руки или изменилась структура папок на сервере ?
Надо ли теперь на сервере все папки помещать в папку orangebox ?

FaKeBrand
Нович0к
Нович0к
Сообщения: 13
Зарегистрирован: 01.07.2010

#141 Сообщение 01.07.2010, 12:02

Я маленько в это нуб, но думаю получится)

Аватара пользователя
__A
Капитан
Капитан
Сообщения: 392
Зарегистрирован: 03.02.2009
Благодарил (а): 38 раз
Поблагодарили: 113 раз

#142 Сообщение 23.07.2010, 21:22

а есть ли аналогичные HFS проги для этого, или возможно что-то сделать с кс чтобы качала напрямую с FTP серва?

LEII4A
Лейтенант
Лейтенант
Сообщения: 213
Зарегистрирован: 22.08.2009
Откуда: оттуда
Благодарил (а): 1 раз

#143 Сообщение 23.07.2010, 22:48

с ftp качать не будит,все вопросы к valve) с http - пожалста, чем HFS не устроил? хорошая программа ведь)

Danfocus
Лейтенант
Лейтенант
Сообщения: 191
Зарегистрирован: 05.02.2007

#144 Сообщение 13.09.2010, 07:35

Вот немного улучшенная версия скрипта для выкладывания бзипеных ресурсов на веб-сервак. Теперь все проверяется по мд5-суммам.

Код: Выделить всё

#!/bin/sh

# CS:S directory
CR_DIR="/opt/css-pub1/orangebox/cstrike/"

# WEB-server CS:S directory
WWW_DIR="/var/www/htdocs/css-pub1/"

# WEB-server data owner
WWW_USER="www-data"

# Directories to sync without recursion
SYNC_DIRS="maps/"

# Directories to sync with recursion
SYNC_DIRS_R="materials/ models/ resource/ sound/"

PWD=`pwd`

for s_dir in ${SYNC_DIRS_R} ; do
 
 if [ -d "${CR_DIR}${s_dir}" ]
 then
  cd "${CR_DIR}${s_dir}"

  find ./ -type d -print|grep -v "^.$"| sed 's/^.\///g'|while read fl ; do
   mkdir -p "${WWW_DIR}${s_dir}${fl}"
  done

  find ./ -type f -print|grep -v ".ztmp$" |sed 's/^.\///g'|while read fl ; do
   if [ ! -f "${WWW_DIR}${s_dir}${fl}.bz2" ] || [ "`cat "${WWW_DIR}${s_dir}${fl}.md5"`" != "`md5sum ${fl} | awk '{ print $1 }'`" ]
   then
    cp "${fl}" "${WWW_DIR}${s_dir}${fl}"
    md5sum "${WWW_DIR}${s_dir}${fl}" | awk '{ print $1 }' > "${WWW_DIR}${s_dir}${fl}.md5"
    bzip2 -f "${WWW_DIR}${s_dir}${fl}"
    echo "Added file" "${WWW_DIR}${s_dir}${fl}"
   fi
  done
 fi
done

for s_dir in ${SYNC_DIRS} ; do

 if [ -d "${CR_DIR}${s_dir}" ]
 then
  cd "${CR_DIR}${s_dir}"
  
  mkdir -p "${WWW_DIR}${s_dir}"
 
  ls *.*|grep -v ".ztmp$"| while read fl ; do
   if [ ! -f "${WWW_DIR}${s_dir}${fl}.bz2" ] || [ "`cat "${WWW_DIR}${s_dir}${fl}.md5"`" != "`md5sum ${fl} | awk '{ print $1 }'`" ]
   then
    cp "${fl}" "${WWW_DIR}${s_dir}${fl}"
    md5sum "${WWW_DIR}${s_dir}${fl}" | awk '{ print $1 }' > "${WWW_DIR}${s_dir}${fl}.md5"
    bzip2 -f "${WWW_DIR}${s_dir}${fl}"
    echo "Added file" "${WWW_DIR}${s_dir}${fl}"
   fi
  done
 fi
done

chown -R ${WWW_USER} "${WWW_DIR}"
chmod -R 777 "${WWW_DIR}"

cd "${PWD}"

Аватара пользователя
zaq007
Сержант
Сержант
Сообщения: 98
Зарегистрирован: 26.04.2009
Контактная информация:

#145 Сообщение 15.09.2010, 10:31

Если карту сжать без заливки на ftp, а оставить в папке maps, клиент будет качать сжатую?
Изображение

Danfocus
Лейтенант
Лейтенант
Сообщения: 191
Зарегистрирован: 05.02.2007

#146 Сообщение 15.09.2010, 22:06

zaq007 писал(а):Если карту сжать без заливки на ftp, а оставить в папке maps, клиент будет качать сжатую?
А у тебя и так они жмутся в bzip2 и передаются клиенту (небось видел файлы *.ztmp)

sum666
Лейтенант
Лейтенант
Сообщения: 170
Зарегистрирован: 11.09.2010
Благодарил (а): 3 раза

#147 Сообщение 08.11.2010, 23:04

Как сделать так чтобы при смене карты звуки не качались заново?

Danfocus
Лейтенант
Лейтенант
Сообщения: 191
Зарегистрирован: 05.02.2007

#148 Сообщение 10.11.2010, 08:32

sum666 писал(а):Как сделать так чтобы при смене карты звуки не качались заново?
Если постоянно качаются заново, то значит они вообще не качаются клиентами (их нет/не доступны)

sum666
Лейтенант
Лейтенант
Сообщения: 170
Зарегистрирован: 11.09.2010
Благодарил (а): 3 раза

#149 Сообщение 11.11.2010, 22:15

В чем может быть проблема? В моем ftp или в HFS?

Danfocus
Лейтенант
Лейтенант
Сообщения: 191
Зарегистрирован: 05.02.2007

#150 Сообщение 12.11.2010, 07:32

sum666 писал(а):В чем может быть проблема? В моем ftp или в HFS?
ftp вообще непричем. Проверяй браузером.

Ответить Вложения 2