Локальный сервер обновлений стим и стимовских игр
Вот impulse666 говорил что слышал про разработку Локального сервера обновлений стим и стимовских игр, если есть у кого инфа, поделитесь плз.
З.Ы. Я имею ввиду утилиту (сервер и клиент), с помощью которой можно будет с сервера обновлять *.gcf архивы клиента.
З.Ы. Я имею ввиду утилиту (сервер и клиент), с помощью которой можно будет с сервера обновлять *.gcf архивы клиента.
- mukca
- Местный ГУРУ
- Сообщения: 857
- Зарегистрирован: 06.02.2005
- Откуда: с луны, со своей луны, свалился :(
- Благодарил (а): 1 раз
- Поблагодарили: 1 раз
- Контактная информация:
да было дело.. давно
ContentServer от hCUPa.
даже тут на форуме про него чето писали....
добавлено спустя 6 минут:
помоему вот оно
http://cs.rin.ru/forum/viewtopic.php?t= ... tentserver
дльше беты не шагнуло
добавлено спустя 1 минуту:
и вот еще какойто
[REL] Steam content system emulator/proof of concept - v0.3!
http://cs.rin.ru/forum/viewtopic.php?t= ... ent+server
ContentServer от hCUPa.
даже тут на форуме про него чето писали....
добавлено спустя 6 минут:
помоему вот оно
http://cs.rin.ru/forum/viewtopic.php?t= ... tentserver
дльше беты не шагнуло
добавлено спустя 1 минуту:
и вот еще какойто
[REL] Steam content system emulator/proof of concept - v0.3!
http://cs.rin.ru/forum/viewtopic.php?t= ... ent+server
спасибо.
Возник вопрос по ContentServer от hCUPa.
Сервер настроил. Запускаю:
Клиент кладу в папку стима. Запускаю с параметрами:
Параметры вывел из етого:
И этого:
На сервере теже самые архивы что и в клиенте. Что ни так? Зараннее спасибо :)
Возник вопрос по ContentServer от hCUPa.
Сервер настроил. Запускаю:
Код: Выделить всё
Steam Content Server version 0.31beta by hCUPa
Using 'E:\new\Steam\steamapps\' as CacheRoot
Looking for GCFs in 'E:\new\Steam\steamapps\'...
[212] E:\new\Steam\steamapps\base source engine 2.gcf
[241] E:\new\Steam\steamapps\counter-strike source client.gcf
[242] E:\new\Steam\steamapps\counter-strike source shared.gcf
[252] E:\new\Steam\steamapps\counter-strike source_russian.gcf
[321] E:\new\Steam\steamapps\half-life 2 deathmatch.gcf
[3] E:\new\Steam\steamapps\platform.gcf
[200] E:\new\Steam\steamapps\source engine.gcf
[206] E:\new\Steam\steamapps\source materials.gcf
[207] E:\new\Steam\steamapps\source models.gcf
[208] E:\new\Steam\steamapps\source sounds.gcf
[202] E:\new\Steam\steamapps\sourceinit.gcf
[7] E:\new\Steam\steamapps\winui.gcf
Total 12 files in cache, scan complete
Master is at 10.2.24.122:30000
Server is listening on 30001
Код: Выделить всё
E:\new\Steam>ContentClient.exe 10.2.24.122 30001 update 0321
Steam Content Client version 0.31beta by hCUPa
Connecting to server...
Connected to 10.2.24.122:30001
Opening '0321' locally
Unable to open, is the file there?
Morphing failed
Код: Выделить всё
E:\new\Steam\>ContentClient.exe 123
Steam Content Client version 0.31beta by hCUPa
Usage: contentclient.exe <server> <port> <command> [args]
<server> - is SteamContent server address
<port> - is SteamContent server port
<filename> - is a full path to GCF you want to update
There are following commands:
update <file> - update cache file <file> from server
list - list CIDs and their versions from server
Код: Выделить всё
Server has following items in its cache:
0003 - <no registry> v34
0007 - <no registry> v147
0200 - <no registry> v75
0202 - <no registry> v16
0206 - <no registry> v8
0207 - <no registry> v4
0208 - <no registry> v4
0212 - <no registry> v39
0241 - <no registry> v53
0242 - <no registry> v67
0252 - <no registry> v3
0321 - <no registry> v33
-
- Нович0к
- Сообщения: 9
- Зарегистрирован: 06.01.2006
- Откуда: www.upsoft.narod.ru
- Контактная информация:
<filename> - is a full path to GCF you want to update
написано же парусски: Полный путь к gcfке которую хотите обновить... путь на своей тачке. типа: E:\Games\StarSteam\steamapps\platform.gcf
написано же парусски: Полный путь к gcfке которую хотите обновить... путь на своей тачке. типа: E:\Games\StarSteam\steamapps\platform.gcf
Съешь ищо этих мяхких француских булачек, да выпий йаду!
Все разобрался, надо было типо так делать:
Значит что параметр <filename> указывать не обязательно, если твои GCF's лежат в одной папке с клиентом программы.
добавлено спустя 36 секунд:
Но всёравно спасибо за то что хотел помочь :)
Код: Выделить всё
E:\new\Steam>ContentClient.exe 10.2.24.122 30001 update "platform.gcf"
Ага, а это ты не видел?[R.I.P]*UPSoft писал(а):<filename> - is a full path to GCF you want to update
написано же парусски: Полный путь к gcfке которую хотите обновить... путь на своей тачке. типа: E:\Games\StarSteam\steamapps\platform.gcf
Код: Выделить всё
Usage: contentclient.exe <server> <port> <command> [args]
добавлено спустя 36 секунд:
Но всёравно спасибо за то что хотел помочь :)
хорошо бы... а если бы вальве додумалась сделать как MS со своим WSUS вообще рулз было, но когда они это поймут хз (
А случаем не пробовал кто нибуть сделать что нибудь типа батника (bat) что бы в нем были прописаны несколько gcf файлов, для того что бы клиенты не запускали каждый раз новую строчку, а запустив батничек обновлялись бы все архивы игр автоматически.
За ранее благодарен за примеры батника.
За ранее благодарен за примеры батника.
-
- Нович0к
- Сообщения: 9
- Зарегистрирован: 06.01.2006
- Откуда: www.upsoft.narod.ru
- Контактная информация:
ну если клиент лежит в папке SteamApps и батник там же то можно сделать такой батник для обновления например TF2:
вместо 10.0.61.157 естессно надо ip адрес сервера. это пример баника для обновления у нас в сетке с моего сервака.
Код: Выделить всё
ContentClient.exe 10.0.61.157 30001 update "source 2007 binaries.gcf"
ContentClient.exe 10.0.61.157 30001 update "source 2007 shared materials.gcf"
ContentClient.exe 10.0.61.157 30001 update "source 2007 shared models.gcf"
ContentClient.exe 10.0.61.157 30001 update "source 2007 shared sounds.gcf"
ContentClient.exe 10.0.61.157 30001 update "source materials.gcf"
ContentClient.exe 10.0.61.157 30001 update "source models.gcf"
ContentClient.exe 10.0.61.157 30001 update "source sounds.gcf"
ContentClient.exe 10.0.61.157 30001 update "team fortress 2 client content.gcf"
ContentClient.exe 10.0.61.157 30001 update "team fortress 2 content.gcf"
ContentClient.exe 10.0.61.157 30001 update "team fortress 2 low violence.gcf"
ContentClient.exe 10.0.61.157 30001 update "team fortress 2 materials.gcf"
Съешь ищо этих мяхких француских булачек, да выпий йаду!
Не получится так, я уже пробовал. Надо тут будет указывать полные пути до каждого файла, а это неудобно если батник раздавать всем клиентам.
Вот как я смастерил. Это для Додс
Получается сначало если нет каталога update_log то он создается.
Потом подключаемся к серваку и обновляем файл, лог закидываем в папку с логами.
Так как при обновлении создаются файлы с расширением $$$. Значитса следущая строчка проверяет, есть ли файлы с расширением $$$ если такой есть, то оригинальный gcf переименовывается в gcf.old.
Следущая строчка так же проверяет, есть ли файлы с расширением $$$ если такие есть, то переименовывает в gcf .
Ну и последняя строчка, проверяет есть ли файлы с расширением old и если есть удалить.
PS БУДТЕ ВНИМАТЕЛЬНЕЕ ЕСЛИ БУДЕТЕ КОПИРОВАТЬ С ФОРУМА, УБИРАЙТЕ ЛИШНИЕ ПРОБЕЛЛЫ В КОНЦЕ КАЖДОЙ СТРОЧКЕ иначе не будет работать
PS Если кому надо могу выложить такие же только для ксс хл2дм и тф2
Вот как я смастерил. Это для Додс
Немного добавил еще пару строк, теперь в черном окне пишется@ECHO OFF
echo POGODITE, ETO MOGET ZANIMATb MNOGO BPEMEHU
IF NOT EXIST "%~dp0\update_log" MD "%~dp0\update_log"
ECHO update base source engine 2.gcf
"%~dp0\ContentClient.exe" 172.16.3.4 30001 update "%~dp0\base source engine 2.gcf" >>"%~dp0\update_log\base source engine 2.gcf.log"
IF EXIST "base source engine 2.gcf.$$$" REN "base source engine 2.gcf" "base source engine 2.gcf.old"
IF EXIST "base source engine 2.gcf.$$$" REN "base source engine 2.gcf.$$$" "base source engine 2.gcf"
IF EXIST "base source engine 2.gcf.old" DEL "*.old" /q
ECHO update day of defeat source.gcf
"%~dp0\ContentClient.exe" 172.16.3.4 30001 update "%~dp0\day of defeat source.gcf" >>"%~dp0\update_log\day of defeat source.gcf.log"
IF EXIST "day of defeat source.gcf.$$$" REN "day of defeat source.gcf" "day of defeat source.gcf.old"
IF EXIST "day of defeat source.gcf.$$$" REN "day of defeat source.gcf.$$$" "day of defeat source.gcf"
IF EXIST "day of defeat source.gcf.old" DEL "*.old" /q
ECHO update half-life 2_russian.gcf
"%~dp0\ContentClient.exe" 172.16.3.4 30001 update "%~dp0\half-life 2_russian.gcf" >>"%~dp0\update_log\half-life 2_russian.gcf.log"
IF EXIST "half-life 2_russian.gcf.$$$" REN "half-life 2_russian.gcf" "half-life 2_russian.gcf.old"
IF EXIST "half-life 2_russian.gcf.$$$" REN "half-life 2_russian.gcf.$$$" "half-life 2_russian.gcf"
IF EXIST "half-life 2_russian.gcf.old" DEL "*.old" /q
ECHO update source materials.gcf
"%~dp0\ContentClient.exe" 172.16.3.4 30001 update "%~dp0\source materials.gcf" >>"%~dp0\update_log\source materials.gcf.log"
IF EXIST "source materials.gcf.$$$" REN "source materials.gcf" "source materials.gcf.old"
IF EXIST "source materials.gcf.$$$" REN "source materials.gcf.$$$" "source materials.gcf"
IF EXIST "source materials.gcf.old" DEL "*.old" /q
ECHO update source models.gcf
"%~dp0\ContentClient.exe" 172.16.3.4 30001 update "%~dp0\source models.gcf" >>"%~dp0\update_log\source models.gcf.log"
IF EXIST "source models.gcf.$$$" REN "source models.gcf" "source models.gcf.old"
IF EXIST "source models.gcf.$$$" REN "source models.gcf.$$$" "source models.gcf"
IF EXIST "source models.gcf.old" DEL "*.old" /q
ECHO update source sounds.gcf
"%~dp0\ContentClient.exe" 172.16.3.4 30001 update "%~dp0\source sounds.gcf" >>"%~dp0\update_log\hsource sounds.gcf.log"
IF EXIST "source sounds.gcf.$$$" REN "source sounds.gcf" "source sounds.gcf.old"
IF EXIST "source sounds.gcf.$$$" REN "source sounds.gcf.$$$" "source sounds.gcf"
IF EXIST "source sounds.gcf.old" DEL "*.old" /q
по мере обновления гцф пишутся те которые в данный момент обновляются.POGODITE, ETO MOGET ZANIMATb MNOGO BPEMEHU
update base source engine 2.gcf
update day of defeat source.gcf
update half-life 2_russian.gcf
update source materials.gcf
update source models.gcf
update source sounds.gcf
Получается сначало если нет каталога update_log то он создается.
Потом подключаемся к серваку и обновляем файл, лог закидываем в папку с логами.
Так как при обновлении создаются файлы с расширением $$$. Значитса следущая строчка проверяет, есть ли файлы с расширением $$$ если такой есть, то оригинальный gcf переименовывается в gcf.old.
Следущая строчка так же проверяет, есть ли файлы с расширением $$$ если такие есть, то переименовывает в gcf .
Ну и последняя строчка, проверяет есть ли файлы с расширением old и если есть удалить.
PS БУДТЕ ВНИМАТЕЛЬНЕЕ ЕСЛИ БУДЕТЕ КОПИРОВАТЬ С ФОРУМА, УБИРАЙТЕ ЛИШНИЕ ПРОБЕЛЛЫ В КОНЦЕ КАЖДОЙ СТРОЧКЕ иначе не будет работать
PS Если кому надо могу выложить такие же только для ксс хл2дм и тф2
Последний раз редактировалось RDEM 08.10.2007, 08:40, всего редактировалось 7 раз.
[RDEM]
Не то ли самый RDEM с рина :)
Не то ли самый RDEM с рина :)
Местный Дьявол
Проекты:
OpenPtch Library
eSTEAMATiON VUP/OpenUGSP UP 1.9.XX
UKAIP
SmartFTP Universal Keyfilemaker and Patch
BootIt NG Keymaker and Patch
Iceni Infix 4.X Universal Patch
Killing Floor Deadly Survival MOD
Проекты:
OpenPtch Library
eSTEAMATiON VUP/OpenUGSP UP 1.9.XX
UKAIP
SmartFTP Universal Keyfilemaker and Patch
BootIt NG Keymaker and Patch
Iceni Infix 4.X Universal Patch
Killing Floor Deadly Survival MOD
угу тот самый
Вот тот батничек можно давать всем пользователям, и не важно где будет лежать gcf файлы, главное что бы gcf и батник лежали рядом.
Вот еще бы кто доработал етот батничек, что бы он не висел тупо черным окном, пока идет обновление, а показывал что нибудь типа
source sounds.gcf - обновляется
0%[################------]100%
а то бывают юзеры думаю что все висит и закрывают недождавшись окончания.
Вот тот батничек можно давать всем пользователям, и не важно где будет лежать gcf файлы, главное что бы gcf и батник лежали рядом.
Вот еще бы кто доработал етот батничек, что бы он не висел тупо черным окном, пока идет обновление, а показывал что нибудь типа
source sounds.gcf - обновляется
0%[################------]100%
а то бывают юзеры думаю что все висит и закрывают недождавшись окончания.