Как ставить мод на пиратский Half-Life 2/Episode One

1. Установка на старые пиратки-распаки.

С завидным постоянством на форуме появляются юзеры с одним и тем же вопросом: "как ставить моды на пиратку?". Очень часто им приходится даже подробно описать элементарные вещи: как создать bat-файл, как изменить адрес к обьекту в ярлыке... Решил создать документ, разъясняющий этот вопрос, насколько подробно и удачно у меня это получилось - судить вам.

Чаще всего интересует рядового игрока установка SMod'a - одного из самых известных модов на ХЛ2, поэтому разъяснять буду на его примере.

Сокращения: ХЛ2 - Half-Life 2, Эп1 - Half-Life 2 Episode One, Эп2 - Half-Life 2 Episode Two

Открываете архив с модом, там папка smod. Копируйте её в корневой каталог игры (там, где папки hl2, resources, ещё какие-то и файл hl2.exe). Потом либо создаёте ярлык к файлу hl2.exe, заходим в свойства и там, где путь к файлу (например, D:/Games/Half-Life 2/hl2.exe), заключаешь этот самый путь в кавычки и добавляешь параметры -steam -game smod, в результате получается:

"D:/Games/Half-Life 2/hl2.exe" -steam -game smod

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

Можно ещё через пробел параметр -console добавить, чтобы консоль открылась сразу при запуске и не грузился анимированный фон меню (если он, конечно, есть в моде).

Второй путь - создаём в том же корневом каталоге (там, где hl2.exe) bat-файл (создайте текстовой файл и переименуйте его в, например, smod.bat; если не отображаются расширения (буквы после точки), то в "Панели управления"->"Свойства папки" снимите флажок "Скрывать расширения для зарегистрированных типов файлов" ). Открываете новосозданный smod.bat блокнотом (правой кнопкой мыши щёлкаем по файлу и выбираем "изменить", или "edit") и вводим:

hl2.exe -steam -game smod

Запускаем этот файл и играем.

Но! У вас пиратка. Если она у вас старая, Smod может вылетать при автосохранениях, что довольно неприятно =( А новые версии SMod'a могут вообще на ней не запускаться. Поэтому, если есть пиратский ЭП1 (даже старый), делаем так: копируем папку hl2 из оригинального ХЛ2 в корневой каталог Эп1 с заменой файлов, а дальше - делаем точно также - создавай ярлык либо bat-файл. У меня почти все моды стоят на таком своеобразном "гибриде", лишь Dead Sector: Source работает на ХЛ2 нормально, остальные моды на Эп1. Пытался ещё на Эп2 ставить, но пока не преуспел в этом.


Точно также ставится большая часть модов, (только вместо smod вводим название папки с модом) но, если мод - просто набор карт, то их копировать в папку hl2/maps, если отказываются работать, тогда ставим на "гибрид", в папку episodic/maps. Могут быть кроме карт ещё текстуры, звуки, сцены, обычно там так мод идёт - открываешь архив, а там - папки maps, sound, materials, scenes и т.д. - опять-таки копируем все каталоги в папку hl2 (если на ХЛ2) или episodic (если на Эп1). Запускаются такие моды через консоль (вызывается по умолчанию кнопкой "~" или "Ё" - если же она не появляется, то открывайте меню "настройки"-->кнопка "дополнительно"-->ставим флажок "включить консоль разработки"), и вводите:

map имя_карты

Причём имя карты часто можно даже не запоминать полностью - через пробел введите первую букву названия карты, и внизу появится список карт, клацая стрелки "вверх" или "вниз", можно найти имя своей карты.


2. Установка на GCF-пиратки, в частности - Half-Life 2 Ultimate Edition 6.

Хочу заметить, что одной из наиболее работоспособных пираток является Half-Life 2 Ultimte Edition 6. Если вы по каким-то причинам не хотите покупать лицензионную игру, или хотите кроме лицензионной игры иметь ещё запасную, пиратскую, то ХЛ2УЕ6 - один из наилучших выборов. Она представляет собой огромный комплект из Source-игр. Все они сгруппированы по трём основным движкам:

1. Engine 1 - движок ХЛ2. На нём работают Half-Life 2, Lost Coast, Half-Life: Source.
2. Engine 2 - движок Эп1. На нём работают Episode One, HL2 Deathmatch, Half-Life Source: Deatmatch, Counter-Strike: Source, моды на основе Source SDK Base 2006.
3. Engine 3 - движок Эп2. На нём работают Episode Two, Portal, Team Fortress 2, моды на основе SDK Base 2007.

Все эти движки имеют свою отдельную папочку в корневом каталоге пиратки + там ещё находится папка SteamApps, в которой находятся GCFки игры. Советую найти и скачать GCFки Source SDK Base 2006 и 2007 - они используются некоторыми модами. Все GCFки, разумеется, оригинальные, из лицензионной игры, актуальные на момент выпуска пиратки - сейчас все Source-игры переведены на движок Episode Two, но это скорее минус, чем плюс, т.к. из-за этого моды Half-Life 2 перестали работать (на лицензии!). Но есть способ запуска - для этого вам необходимо скачать Source SDK Base 2006, а потом залезть в папку мода, открыть файл GameInfo.txt и поменять SteamAppId 220 на 215, затем, в Search Paths перед строкой Game hl2 вставить Game sourcetest - т.о., вы переносите мод с движка Эп1 (которого после обновы 2010-ого нет), на движок Эп1. Также для работоспособности модов на основе карт ХЛ2 (типа Smod), необходимо скопировать карты и сцены из ХЛ2 в мод... Вообще, морока ещё та, а мод может и не заработать (Smod: Redux 6 заставить работать не удалось). Так что скачать пиратку рекомендуется именно из-за модов - там такой фигнёй заниматься не придётся - нужно просто скопировать папку мода (например, smod) в тот движок, который нужен (если мод для ХЛ2 - в Engine 1, для Эп1 - Engine 2, Эп2 - Engine 3), затем сделать батник (или скопировать cmd-шник и отредактировать) для запуска мода, как описано в первой части статьи - и всё, можно запускать. Только не забывайте, что hl2.exe для каждого движка свой, и если батник помещаете в корневую папку сборника, то прописывайте Engine1/hl2.exe -game smod.

Однако, у такой пиратки есть ещё плюс - можно "перенести" мод с одного движка на другой. Например, если скопировать папку smod в Engine2, и отредактировать gameinfo.txt, чтобы SteamAppId был 380, а в SearchPaths добавьте под Game hl2 строку Game episodic - то такой мод можно запустить и в консоли можно будет ввести map имя_карты_из_Эп1 - и вы сможете сыграть в самый настоящий Smod на Эп1! К сожалению, на двигло Эп2 данный мод не переносится. Зато неплохо работает Minerva: Metastasis, только на последней карте есть вылеты. Минерва вообще сделана под двигло Эп1, но этим способом можно перенести её на ХЛ2-движок - правда, для этого понадобятся дополнительные правки.
В каждой движковой папке есть файл SteamEmu.ini - это конфигурация эмулятора Стима. В нём прописаны, какие GCFки брать для той или иной игры. Синтаксис файла:

[HL2.EXE_HL2]
AppId=220
GCF=half-life 2_russian.gcf

Первая строчка - название экзешника (hl2.exe) знак нижнего пробела _ и название каталога мода (hl2, т.е., Half-Life 2 в данном случае). Далее указан AppId - тот самый SteamAppId, что указан в gameinfo.txt. Далее перечислены все GCFки, используемые игрой - я убрал ГЦФку настырной буковской озвучки. Можно и просто поставить знак равенства (=) перед буквами GCF, тогда игра тоже не будет брать GCFку, т.к. строчка превратится в комментарий.
Итак, для "портирования" Минервы с Эп1 на ХЛ2, нам нужно сделать пару абзацев и дописать в конце файла следующее:

[HL2.EXE_METASTASIS]
AppId=220
GCF=episode 1 shared.gcf

Больше Минерва не юзает никаких других ГЦФок Эп1. Ну и, разумеется, в gameinfo.txt нужно поправить SteamAppId на 220, а строку Game episodic нужно поместить под строку Game hl2. Разумеется, после переноса вы не увидите зомбайнов и столкнётесь с мелкими багами, зато получите больший FPS - может, владельцам старых машин это пригодится.

Такое удобное манипулирование GCFками, подключаемыми к игре открывает перед нами возможности, которые недоступны на лицензионной версии игры! Вы можете подключить GCFку half-life 2 content.gcf к Эп1, к Эп2 и Portal (чтобы поиграться с портальной пушкой) и запускать карты ХЛ2 из этих игр - особенно это полезно в случае Эп2, т.к. вы получите улучшенную графику. В случае лицензионной игры вам пришлось бы копировать карты и сцены из ХЛ2.

Нравится11
Комментарии (18)
  • 0
    Ставлю smod v40 на half-life 2, делаю вот это:
    создаёте ярлык к файлу hl2.exe, заходим в свойства и там, где путь к файлу (например, D:/Games/Half-Life 2/hl2.exe), заключаешь этот самый путь в кавычки и добавляешь параметры -steam -game smod, в результате получается:

    "D:/Games/Half-Life 2/hl2.exe" -steam -game smod

    Запускаю ярлык, вылезает окошко с ошибкой:
    MountAppFilesystem() feiled: Configuration section 'hl2.exe_smod' missing!
  • 0
    ставлю мод overwath первым способом все включается но когда выбираеш карту все возвращается в главное меню
  • 1
    А можно так garrys mod поставить?
  • 1
    Tupas
    alkodojik
    В консоли ничего не пишет?

    slavaman
    Зависит от пиратки, но в общем-то можно.
  • 0
    Ничего не понял. У меня папок Engine 1 и Engine 2 нет, есть Base Source Engine 2 (хл2 + эп1), Source Engine 2007. (эп2+портал+тф2)
    В папке BSE2 есть папка hl2. Там папки bin, resource... Куда кидать папку с модом (Smod), если известно, что файл HL2.exe находится в папке BSE2 и что моя гцф-пиратка запускается через цмд-файлы?
  • 0
    xDDGx
    У меня папок Engine 1 и Engine 2 нет, есть Base Source Engine 2 (хл2 + эп1), Source Engine 2007. (эп2+портал+тф2)
    Разумеется, читай внимательно, в статье рассмотрена только Half-Life 2 Ultimate Edition 6. В твоей пиратке, разумеется, папки названы по другому, но суть та же.

    Куда кидать папку с модом (Smod)
    SMOD - это мод для ХЛ2, а значит, кидать его в Base Source Engine 2 же. А свой hl2.exe и hl2-каталог должны быть и в Source Engine 2007.
    Также отмечу, что для свежих пираток, основанных на билдах после эпикобновы 2010 года, обычный Смод не ставится, только специальная патченная версия от Onemanshow: sites.google.com/site/kh0rn3/home5

    и что моя гцф-пиратка запускается через цмд-файлы?
    Это ты у меня спрашиваешь? Это ты должен знать, через что запускается твоя пиратка. Впрочем, это не суть важно, ты в любом случае можешь воспользоваться любым методом запуска: хоть через ярлык, хоть через батник, хоть через кмдшник, хоть и вовсе напрямую через командную строку и MadSkillz.
    *.кмд отличается от *.бат только тем, что перед путём к экзешнику нужно вставить команду start (через пробел, разумеется), напр. start "Base Source Engine 2/hl2.exe" -game smod, если располагать этот файл в корневой папке. Или просто start hl2.exe -game smod, если кмд лежит прямо в папке с экзешником.
  • 0
    Ну, он говорит "I have no idea what game you are launching, sorry".
  • 1
    xDDGx
    Значит, ты что-то неправильно сделал, разбирайся. Но, честно говоря, ты прямо запутался в двух соснах - у тебя папка smod должна находиться в том же каталоге, что и hl2.exe, и всё, что тебе нужно сделать - выяснить, с каким из hl2.exe он запустится. Раз он выдаёт твою ошибку - значит, игра не находит эту папку или, мб, в ней отсутствует GameInfo.txt.

    Хотя, возможно, я и ошибаюсь, и ты всё сделал правильно. В таком случае ответь на такой вопрос - есть ли в твоей сборке какие-нибудь конфигурационные файлы типа SteamEmu.ini, *.cfg или ещё чё-то в таком духе? Они должны лежать или в корне, или, скорее, в папке движка. У него должен быть примерно такой синтаксис:

    =Half-Life: Source=

    [HL2.EXE_HL1]
    AppId=280

    =================================

    =Half-Life 2=

    [HL2.EXE_HL2]
    AppId=220
    GCF=half-life 2_russian.gcf

    Возможно, тебе нужно добавить в этот файл конфигурацию для Smod'a.

    [HL2.EXE_SMOD]
    AppId=220

    Хотя я сомневаюсь, что проблема в этом, у меня нет необходимости править этот файл, я делаю это только чтобы подключать нестандартные для данного АппИда ГЦФки... Но, мб, это зависит чисто от используемого эмулятора Стима... Так что, если ты всё-таки совершил установку правильно, попробовать стоит.

    Да, и проверь версию своей ХЛ2 - открой консоль и посмотри в правом верхнем углу номер движка. Если там стоит что-то вроде 14 или 15, то обычный Смод на неё не поставишь, нужен специальный патченный, брать здесь (SMOD 40a fixed by Onemanshow).
  • 0
    А как быть, если игра запускается не через hl.exe, а через LEP2.exe??? Пробовал с обоими, не катит(
  • 0
    не работает в portal
  • 0
    slavaman
    Просто кинь мод в папку Addons, например D/Garrys mod/garrysmod/addons/ (для пиратки), а для лицензии просто подпишись на аддон в воркшопе.
    Пы.Сы. для пиратки кидай именно папку, а не архив.
  • 1
    Что делать если выдаёт при запуске такую ошибку: "Сlient.dll Init() in library client failed"
  • 1
    SuperSecretUltraMegaMen
    Ты наркоман? Smod для ХЛ2, а не для Gmod-а.
  • 1
    prosto_stalker
    Цитирую комментарий slavman'а:
    "А можно так garrys mod поставить?"
    Как я понял, он имел ввиду другие аддоны, а не Smod.
  • 1
    SuperSecretUltraMegaMen
    Он имел в виду не НА Гмод, а способом описанным в статье поставить Гмод на ХЛ2.
  • 1
    Сейчас стало выходить всё больше модов, требующих наличия Source SDK 2013 Singleplayer ( у них в gameinfo стоит AppId = 243730). Кто нибудь знает способ запустить такие моды на Ultimate сборке (там где AppId = 420) ? Просто переделать gameinfo файл не помогает - меню с глюками запускается, но карты вылетают.
  • 0
    Есть такая проблема: проверил 4-5 мода, при выборе запуска новой игры или нет ничего для загрузки (пустое окошко, без предварительного просмотра), либо когда щёлкаешь по желаемой главе, ничего не происходит. Без запуска мода всё работает нормально.
  • 0
    xDDGx
    Так, вижу, что начали спрашивать про Source SDK Base 2013.
    Скорее всего, поставить такие моды на ХЛ2УЕ нельзя никак — в этой сборке попросту нет нужной версии движка. Нужна другая пиратка.
    Но у современной версии ХЛ2, а также SSDKB2013 есть замечательное свойство: они вполне запускаются без Стима (можно сказать, самопиратки). У меня даже был смешной случай с Dark Interval'ом: мод запускался без Стима, а из Стима — ни в какую. Так что вы можете попросить своего друга или знакомого, у кого есть лицензионная версия игры, скинуть нужные файлы. Возможно, в этом случае потребуется установить Стим и зарегистрироваться. К сожалению, я не могу гарантировать, что всё запустится, поскольку сам такого не делал. В противном случае придётся или искать на торрентах, или же по-честному купить игру (или уломать друга сделать такой подарок) — учитывая, что она стоит не так уж дорого и при этом даёт доступ к тысячам, даже десяткам тысяч всевозможных модификаций, то это вполне разумное вложение.
    Вообще, по идее достаточно купить любую игру на движке Source, так что, если ХЛ2 слишком дорога (вряд ли) или неинтересна, можно выбрать другую. Лично я не владею лицензионной копией, у меня есть только доставшиеся нахаляву (когда ещё была возможность) ХЛ2ДМ и Lost Coast, и поэтому SSDK Base 2013 (и MP, и SP) мне доступны.
    Да, и я совсем забыл — Alien Swarm и Team Fortress 2 же доступны через Steam бесплатно. По идее, их установка откроет доступ к SSDKB2013MP... А вот насчёт SP, к сожалению, не уверен. Экспериментируйте.

    P. S. Хочу также заметить, что не следует путать Source SDK Base с Source SDK. SSDK является набором инструментов разработки, которые обычным игрокам не нужны, SSDK Base же — это версия движка и набор ресурсов для запуска модов.
B
i
u
Спойлер