Локальный сервер обновлений стим и стимовских игр

Всё для взлома и эмуляции Steam.
Сообщение
Автор
Аватара пользователя
GunYa
Сержант
Сержант
Сообщения: 32
Зарегистрирован: 18.01.2007

#1 Сообщение GunYa » 02.10.2007, 23:12

Вот impulse666 говорил что слышал про разработку Локального сервера обновлений стим и стимовских игр, если есть у кого инфа, поделитесь плз.
З.Ы. Я имею ввиду утилиту (сервер и клиент), с помощью которой можно будет с сервера обновлять *.gcf архивы клиента.

Аватара пользователя
mukca
Местный ГУРУ
Местный  ГУРУ
Сообщения: 856
Зарегистрирован: 06.02.2005
Откуда: с луны, со своей луны, свалился :(
Поблагодарили: 1 раз

#2 Сообщение mukca » 03.10.2007, 15:13

да было дело.. давно
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
Изображение
Читай ПРАВИЛА. Я не оДын
зы какие тут тяжелые подписи..

Аватара пользователя
GunYa
Сержант
Сержант
Сообщения: 32
Зарегистрирован: 18.01.2007

#3 Сообщение GunYa » 04.10.2007, 01:11

спасибо.
Возник вопрос по 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
На сервере теже самые архивы что и в клиенте. Что ни так? Зараннее спасибо :)

[R.I.P]*UPSoft
Нович0к
Нович0к
Сообщения: 9
Зарегистрирован: 06.01.2006
Откуда: www.upsoft.narod.ru
Контактная информация:

#4 Сообщение [R.I.P]*UPSoft » 04.10.2007, 12:11

<filename> - is a full path to GCF you want to update

написано же парусски: Полный путь к gcfке которую хотите обновить... путь на своей тачке. типа: E:\Games\StarSteam\steamapps\platform.gcf
Съешь ищо этих мяхких француских булачек, да выпий йаду!

Аватара пользователя
GunYa
Сержант
Сержант
Сообщения: 32
Зарегистрирован: 18.01.2007

#5 Сообщение GunYa » 04.10.2007, 16:56

Все разобрался, надо было типо так делать:

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

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]
Значит что параметр <filename> указывать не обязательно, если твои GCF's лежат в одной папке с клиентом программы.

добавлено спустя 36 секунд:

Но всёравно спасибо за то что хотел помочь :)

Аватара пользователя
mukca
Местный ГУРУ
Местный  ГУРУ
Сообщения: 856
Зарегистрирован: 06.02.2005
Откуда: с луны, со своей луны, свалился :(
Поблагодарили: 1 раз

#6 Сообщение mukca » 04.10.2007, 18:00

так че апдейтер работает???
Изображение
Читай ПРАВИЛА. Я не оДын
зы какие тут тяжелые подписи..

[email protected]
VIP
VIP
Сообщения: 430
Зарегистрирован: 16.01.2006
Поблагодарили: 2 раза

#7 Сообщение [email protected] » 04.10.2007, 18:48

хорошо бы... а если бы вальве додумалась сделать как MS со своим WSUS вообще рулз было, но когда они это поймут хз (

Аватара пользователя
y3k.xeon
Лейтенант
Лейтенант
Сообщения: 100
Зарегистрирован: 24.01.2006
Откуда: Беларусь
Благодарил (а): 132 раза
Поблагодарили: 1 раз
Контактная информация:

#8 Сообщение y3k.xeon » 04.10.2007, 20:59

mukca писал(а):так че апдейтер работает???
работает, я сам проверял, правдо давно уже
Изображение

Аватара пользователя
GunYa
Сержант
Сержант
Сообщения: 32
Зарегистрирован: 18.01.2007

#9 Сообщение GunYa » 04.10.2007, 23:20

пашед вроде :o

Fire666
Эксперты no-Steam
Эксперты no-Steam
Сообщения: 2598
Зарегистрирован: 15.02.2007
Откуда: Москва
Благодарил (а): 1 раз
Поблагодарили: 43 раза
Контактная информация:

#10 Сообщение Fire666 » 05.10.2007, 13:17

а нет такого апдейтера, который бы обновлял файлы через стим ?

RDEM
Нович0к
Нович0к
Сообщения: 29
Зарегистрирован: 23.12.2005

#11 Сообщение RDEM » 05.10.2007, 15:19

А случаем не пробовал кто нибуть сделать что нибудь типа батника (bat) что бы в нем были прописаны несколько gcf файлов, для того что бы клиенты не запускали каждый раз новую строчку, а запустив батничек обновлялись бы все архивы игр автоматически.
За ранее благодарен за примеры батника.

[R.I.P]*UPSoft
Нович0к
Нович0к
Сообщения: 9
Зарегистрирован: 06.01.2006
Откуда: www.upsoft.narod.ru
Контактная информация:

#12 Сообщение [R.I.P]*UPSoft » 07.10.2007, 20:50

ну если клиент лежит в папке SteamApps и батник там же то можно сделать такой батник для обновления например TF2:

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

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"
вместо 10.0.61.157 естессно надо ip адрес сервера. это пример баника для обновления у нас в сетке с моего сервака.
Съешь ищо этих мяхких француских булачек, да выпий йаду!

RDEM
Нович0к
Нович0к
Сообщения: 29
Зарегистрирован: 23.12.2005

#13 Сообщение RDEM » 08.10.2007, 07:28

Не получится так, я уже пробовал. Надо тут будет указывать полные пути до каждого файла, а это неудобно если батник раздавать всем клиентам.
Вот как я смастерил. Это для Додс
@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 раз.

vityan666
Майор
Майор
Сообщения: 658
Зарегистрирован: 14.04.2007

#14 Сообщение vityan666 » 08.10.2007, 07:41

[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

RDEM
Нович0к
Нович0к
Сообщения: 29
Зарегистрирован: 23.12.2005

#15 Сообщение RDEM » 08.10.2007, 08:00

угу тот самый

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

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

source sounds.gcf - обновляется
0%[################------]100%

а то бывают юзеры думаю что все висит и закрывают недождавшись окончания.

Закрыто Вложения 2