Как сделать готовый клиент мода?

Игры созданные энтузиастами, не уступающие по качеству платным
Ответить
Сообщение
Автор
Nipel777
Нович0к
Нович0к
Сообщения: 8
Зарегистрирован: 22.09.2010

#1 Сообщение 22.09.2010, 12:03

Всем здравствуйте. Возникло желание сделать готовый к использованию мод без лишнего контента и привязки к стиму.
Имеется крякстим+установленные моды(и соответственно gcf файлы).
Что ещё нужно знать\уметь для этого?

M1ke
Модератор
Модератор
Сообщения: 1464
Зарегистрирован: 17.06.2007
Откуда: 54
Благодарил (а): 2 раза
Поблагодарили: 90 раз
Контактная информация:

#2 Сообщение 22.09.2010, 13:00

Nipel777
1)Во-первых, сообщи хотя бы для начала, клиент какого мода ты собственно хочешь сделать
2)Узнай, какой контент тебе нужен ( т.е. узнай, для какой игры собственно мод, её appid ( за матчастью в поиск), и соответственно, необходимые GCF)
3)Распакуй движок, поставь поверх него эмулятор - и вуаля, пиратка готова.

Примечание 1:Если мод мультиплеерный, то оптимальным вариантом всё-таки остаётся взломанный стим, ибо проблем с серверами и иже с ним никто не отменял
Примечание 2:Будь внимателен, некоторые моды требует дополнительные GCF, помимо принадлежащих конкретному appid (обсидиан и иже с ним)
Изображение
Изображение
Изображение

Nipel777
Нович0к
Нович0к
Сообщения: 8
Зарегистрирован: 22.09.2010

#3 Сообщение 22.09.2010, 13:14

M1ke,
1) Спасибо,что откликнулись. Modular Combat http://forum.csmania.ru/viewtopic.php?f=62&t=17915 мод нашёл у вас, серверов его впринцепи нет.
2)Вот здесь у меня начинаются проблемы, написано,что мод использует EP2+HL2:DM,а в gameinfo.txt SteamAppId 218(вроде значит,что мод использует SDK Base - OB). Возникает вопрос, какие cfg мне нужны?
3) Через что распаковывать и эмулировать? Universal Pirate Kit, наотрез отказывается делать пиратку, создаёт папки в 50 мб и всё.

Вопросов много, а знаний в этой области нет, голова уже лопается =(

M1ke
Модератор
Модератор
Сообщения: 1464
Зарегистрирован: 17.06.2007
Откуда: 54
Благодарил (а): 2 раза
Поблагодарили: 90 раз
Контактная информация:

#4 Сообщение 22.09.2010, 16:04

Nipel777
1)Тебе нужны общедвижковые GCF Sourc'a + общие GCF 2007\2009 движков + EP2 + DM + SDK Base контент.Подробности смотри в CDR
2)Для облегчения жизни используй CFPT (http://forum.csmania.ru/viewtopic.php?f=15&t=22395) или Phoenix (http://forum.csmania.ru/viewforum.php?f=33)
Изображение
Изображение
Изображение

Nipel777
Нович0к
Нович0к
Сообщения: 8
Зарегистрирован: 22.09.2010

#5 Сообщение 22.09.2010, 16:53

M1ke,
1)CFPT пробовал пользовать, делал клиент тоже маленький в скриптах писал,что не может открыть cfg.
2)можно какой-нибудь маленький гайд создания через Phoenix, а то не могу понять... =(

Аватара пользователя
$t@t!c_V()1D
Разработчик
Разработчик
Сообщения: 2639
Зарегистрирован: 06.12.2007
Благодарил (а): 10 раз
Поблагодарили: 29 раз

#6 Сообщение 22.09.2010, 23:43

Nipel777
Список игр -> Обновить. 2 раза кликнуть по нужной игре, которую Phx должен был найти, и вуаля, в принципе.

Nipel777
Нович0к
Нович0к
Сообщения: 8
Зарегистрирован: 22.09.2010

#7 Сообщение 23.09.2010, 10:55

$t@t!c_V()1D
Так, Феникс её запускает и создаёт папку (Source 2007 Binaries) размером 51 мб. Второе, сам мод через Феникса запускается со 2 раза, и после в игре присутствует не все тектстуры.
Я правильно понял,что если нажать на моде правой кнопкой -> подготовить контент для запуска игры, то он должен делать полную распакованную версию игры,которую можно использовать отдельно?

M1ke
Модератор
Модератор
Сообщения: 1464
Зарегистрирован: 17.06.2007
Откуда: 54
Благодарил (а): 2 раза
Поблагодарили: 90 раз
Контактная информация:

#8 Сообщение 23.09.2010, 12:58

Nipel777 писал(а):присутствует не все тектстуры.
проверь целостность кеша
Изображение
Изображение
Изображение

Nipel777
Нович0к
Нович0к
Сообщения: 8
Зарегистрирован: 22.09.2010

#9 Сообщение 23.09.2010, 16:25

Так со стима играется нормально...

Аватара пользователя
$t@t!c_V()1D
Разработчик
Разработчик
Сообщения: 2639
Зарегистрирован: 06.12.2007
Благодарил (а): 10 раз
Поблагодарили: 29 раз

#10 Сообщение 24.09.2010, 07:08

Nipel777 писал(а):Второе, сам мод через Феникса запускается со 2 раза
Упс, известный глюк.
Nipel777 писал(а):Я правильно понял,что если нажать на моде правой кнопкой -> подготовить контент для запуска игры, то он должен делать полную распакованную версию игры,которую можно использовать отдельно?
Эм..нет. Просто (пере-)распаковываются минимальные файлы, необходимые для запуска.

И да, проблемы с текстурами отчапсти объясняются глючностью эмулятора, как это ни прискорбно. Он последнее время что-то "нефонтаново" работает с GCF-кэшем.

scorp75
Майор
Майор
Сообщения: 586
Зарегистрирован: 20.11.2008
Откуда: Чебоксары
Поблагодарили: 52 раза

#11 Сообщение 24.09.2010, 14:15

Nipel777
Я же тебе сказал когда ты на серваке обсида был, собери для начала hl2dm , самое простое. Соберешь, скажу как дальше быть. Тебе же не готовая сборка нужна, ты хочешь понять как делается. Ну а те програмульки про которые тебе тут говорят конечно полезны в 80% случаях, но чаще всего только если понимаешь что они делают.

Подскажу для начала. Что делать перед созданием NoSteam сборки.
1. узнаем что требует игра, какой движок юзает. Если это самостоятельная игра, то все говорит CF Toolbox
Изображение На примере Synergy видно, что используется source 2007 binaries.gcf - 14 движок или как еще говорят Source 2007 Binaries

2.Далее через ту же программу CF Toolbox смотрим какой кэш - GCf файлы требует игра.
Небольшое отступление
С недавних пор я каталоги стал создавать не так как витамин. Я делаю структуру папок по подобию Steam так проще совмещать игры в стиме и ностиме. Офигенная экономия места и минимум путаницы. К примеру можно в папке с аккаунтом стима сделать часть игр ностим если оно надо.
3.
создаем структуру папок для будующей игры
Советую все же делать корневой папкой Steam так проще будет совмещать игру со стимом если оно вдруг понадобится.
далее папка с кэшем - steamapps куда и будем класть все необходимые файлы формата gcf
итого получилось - F:/Steam/steamapps/
создаем папку где будут лежать наши крякнутые игры, к примеру Nosteam, получаем
F:/Steam/steamapps/Nosteam/
Создаем папку с игрой , к примеру half-life 2 deathmatch получаем F:/Steam/steamapps/Nosteam/half-life 2 deathmatch/
Итак мы подошли к самому интересному. Ищем бубен, будем шаманить.
4.
Распаковка
Идем в тему и качаем, изучаем програмку GCFScape v1.8.1 для распаковки кэша. Поскольку там ничего сложного нет, будем считать что все уже понятно.
а.
Программой GCFScape v1.8.1 открываем кэшфайл движка, для half-life 2 deathmatch это base source engine 2.gcf
Извлекаем в папку F:/Steam/steamapps/Nosteam/half-life 2 deathmatch/ всю папку bin, файл hl2.exe и часть папки hl2 . В папке hl2 из движкового кэша нас интересует только папка media
в.
Программой GCFScape v1.8.1 открываем кэш контента игры. для хл2дм это half-life 2 deathmatch.gcf видим, что папка с игрой должна называться hl2mp, создадим ее и распакуем в нее файл из контента, остальное распаковывать необязательно.
5. Самое интересное. Установим эмулятор RevEmu
Берем из нужной темы эмулятор rev-emu_9.80_rc2.7z. Не стоит для игр на старом движке брать новый эмуль. Он часто глючит. Старый провереный.
В архиве с эмулятором есть инструкция.
Скопируем содержимое папки RevEmu в директорию содержащую hl2.exe и отредактируем текстовый файл rev.ini - конфиг эмулятора.
Настраиваем эмуль
Указываем использование кэша CacheEnabled = True
Указываем путь до кэша.
В конфиге указан абсолютный путь до твоего кэша с указанием диска где лежит, сделай свой путь. Я делаю относительный путь, он всегда правильный, даже если игру перенесешь на другой компьютор. В нашем случае путь такой CachePath =../../../steamapps

Итак получаем содержимое конфига

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

[Emulator]

CacheEnabled = True

CachePath =../../../steamapps

Language = Russian
Но так у нас не будет работать сервер браузер. Для его работы надо сделать следующее.
Создаем папку steam впапке bin вот так F:\steam\steamapps\NoSteam\half-life 2 deathmatch\bin\steam
Туда необходимо поместить 2 оригинальных файла Steam.dll и steamclient.dll Если у тебя есть уже Steam, то найти такие файлы не проблема.
Если затрудняешmся ищи тут пароль и логин
coop
теперь в конфиге добавим пару строчек с указанием на оригинальные файлы.
готовый конфиг имеет вид.

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

[Emulator]
CacheEnabled = True
CachePath =../../../steamapps
Language = Russian
SteamDll = ./bin/steam/steam.dll
SteamClient = True
[steamclient]
ClientDLL = ./bin/steam/steamclient.dll
Вот и все. игра почти готова.
Осталось сделать запускающий файл.
Создаем текстовый документ. Меняем его название и формат
из txt переводим в bat , ну например так Launcher_hl2mp.bat
Откроем его блокнотом и внесем туда командную строку
start hl2.exe -game hl2mp -appid 320 %1 %2 %3 %4 %5 %6 %7 %8 %9

где hl2mp - игра которую запускаешь,
-appid 320 - можно узнать из текстового документа GameInfo.txt

Ну и на последок скажу. Что это не эталон и на многих играх надо настраивать и распаковывать немного по разному. Но для начала как базис самое оно. Сборка и запуск модов делается по похожей схеме. Я для эксперимента собрал себе half-life 2 deathmatch в ностиме.
Получилось раз в 20 быстрее чем я тут флудил :)
Далее можно сутками настраивать и оттачивать игру под себя, но это уже дело вкуса.
Пока не осилишь сборку half-life 2 deathmatch далее двигаться не стоит.



$t@t!c_V()1D ошибки с текстурами и моделями в эмулях были всегда в играх с мультиконтентом . Потому, что эмуль и конфиги не коректно указывали что монтировать. Выход прост. В мультиконтенте нужно ручками распаковывать то, что не запускает эмуль. Раньше игр наверное меньше было с перемешенным контентом.

scorp75
Майор
Майор
Сообщения: 586
Зарегистрирован: 20.11.2008
Откуда: Чебоксары
Поблагодарили: 52 раза

#12 Сообщение 25.09.2010, 10:46

Поглядел этот мод. Ниче сложного. Если трудно собрать самому сделай проще. Скачай мою сборку Obsidiab Conflict потом помести папку с modularcombat рядом с файлом hl2.exe копируешь запускающий батник обсидиана и меняешь в нем название запускаемой игры. Тоесть вместо обсида пишешь modularcombat
получаем строку

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

start hl2.exe  -steam  -novid -game modularcombat -appid 218 %1 %2 %3 %4 %5 %6 %7 %8 %9
все работает.

FEAR4ik
Нович0к
Нович0к
Сообщения: 2
Зарегистрирован: 12.05.2009

#13 Сообщение 03.12.2010, 00:16

Я в этих делах плохо соображаю, захотели в общаге порубаться в аг2 (хл2дмпро с новым именем), из-за ужасного инета в стим не заходит, да и вообще, давно хотелось сделать готовый аг2 нонстим клиент без привязки к стиму. Если у кого есть немного свободного времени, кто может сделать клиент? Спасибо заранее, если сделать/выложить вломы, объясните что да как.

Ответить