Эта статья документации для всего, что использует платформу Source. Нажмите для получения дополнительной информации.

Ru/Setting up Source SDK Base 2013 Multiplayer: Difference between revisions

From Valve Developer Community
< Ru
Jump to navigation Jump to search
No edit summary
 
(25 intermediate revisions by 13 users not shown)
Line 1: Line 1:
{{otherlang2
{{LanguageBar}}
|title=Source SDK 2013
{{source topicon}}
|en=Source SDK 2013}}{{toc-right}}
{{toc-right}}


Для начала скачайте исходный код размещённый на GitHub [https://github.com/ValveSoftware/source-sdk-2013 Valve Software Source SDK repository]. А теперь вперёд, к созданию великих и прекрасных модов!
Для начала скачайте исходный код размещённый на GitHub [https://github.com/ValveSoftware/source-sdk-2013 Valve Software Source SDK repository]. А теперь вперёд, к созданию великих и прекрасных модов!
Line 13: Line 13:
По сути Git является набором утилит командной строки с параметрами (CLI), но для работы с GitHub можно установить клиенты как с  CLI, так и с графическим (GUI) интерфейсом.
По сути Git является набором утилит командной строки с параметрами (CLI), но для работы с GitHub можно установить клиенты как с  CLI, так и с графическим (GUI) интерфейсом.


===Установка клиента для GitHub(Windows &amp; Mac)===
===Установка клиента для GitHub (Windows &amp; Mac)===


# Загрузите GitHub клиент:
# Загрузите GitHub клиент:
Line 41: Line 41:


== Создание файлов проекта и make-файлов ==
== Создание файлов проекта и make-файлов ==
SDK 2013 использует [[Valve Project Creator|Valve Project Creator (VPC)]] для создания специальных файлов платформы и make-файлов проекта. Эти специальные файлы, необходимы для создания SDK. Если после выполнения этого шага, Вы обновили какие-либо файлы, то необходимо все действия выполнить повторно.
SDK 2013 использует {{L|Valve Project Creator|Valve Project Creator (VPC)}} для создания специальных файлов платформы и make-файлов проекта. Эти специальные файлы, необходимы для создания SDK. Если после выполнения этого шага, Вы обновили какие-либо файлы, то необходимо все действия выполнить повторно.


===ОС Windows===
===ОС Windows===
Line 64: Line 64:


=== Информация о VPC ===
=== Информация о VPC ===
Для получения дополнительной информации о том, как можно использовать скрипты [[Valve Project Creator|VPC перейдите на страницу]], или выполните следующую команду под любой ОС:
Для получения дополнительной информации о том, как можно использовать скрипты {{L|Valve Project Creator|VPC перейдите на страницу}}, или выполните следующую команду под любой ОС:


  > ''<SDK_ROOT>''/''<gameType>''/src/devtools/bin/vpc /help
  > ''<SDK_ROOT>''/''<gameType>''/src/devtools/bin/vpc /help
Line 102: Line 102:
==Mac OS X==
==Mac OS X==


===Окружающая среда и Настройка инструментов===
===Требования к компонентам системы===
Mac OS X, вам понадобится установленный [https://developer.apple.com/xcode/ Xcode 4.2]. Вам также необходимо иметь 
В Mac OS X, вам понадобится установленные [https://developer.apple.com/xcode/ Xcode 4.2] и "инструменты командной строки" ("Command Line Tools"). Вы можете найти это в:
"Инструменты командной строки"("Command Line Tools") установлеными. Вы можете найти это в:


XCode свойста -> "Загрузки" -> "Комопненты" (XCode Preferences -> "Downloads" -> "Components")
XCode свойства -> "Загрузки" -> "Компоненты" (XCode Preferences -> "Downloads" -> "Components")


===Создание===
===Создание===
Line 119: Line 118:
==Linux==
==Linux==


=== Steam Client Runtime ===
=== Время выполнения клиента Steam ===
Для построения Source SDK 2013 на Linux ОС, вы должны иметь Steam Client Runtime.
Для построения Source SDK 2013 на Linux ОС, вы должны иметь Steam Client Runtime.


Line 136: Line 135:
  > ./shell.sh --arch=i386
  > ./shell.sh --arch=i386


=== SDK Build ===
=== Постройка SDK ===
''Запомните для  [[#Creating Project & Makefiles|создание проекта и разработке файлов]] сначала!''
''Помните, сперва нужно [[#Создание файлов проекта и make-файлов|создать файлы проекта & make-файлы]]!''


Выполните следующую команду:
Выполните следующую команду:
Line 143: Line 142:
  > make -f games.mak
  > make -f games.mak


Вы должны получить client.so и server.so файлы для загрузки в  Source SDK Base 2013 или на ваш выбор.
В результате у Вас должны появиться client.so и server.so, необходимые для загрузки Вашего мода под Source движком.


=Организация кода=
=Организация кода=


==Соглашение об именовании==
==Принятые обозначения в названиях файлов==
Source SDK делится на два каталога '''''<Тип Игры>''''', затем подкаталог '''''<Название>'''''. Если вы создаёте Одиночный мод, используйте '''"sp"''' папку. Если вы делаете сетевой мод вы должны базировать свой код на '''"mp"''' папке.
Source SDK использует следующую иерархию папок: вначале идет '''''<Тип Игры>''''', затем подкаталог '''''<Название игры>'''''. Для типа игры используйте названия каталога '''"sp"''', если это мод для одиночной игры, или '''"mp"''', если это мод для многопользовательской игры.
Более наглядно структуру каталога мода смотрите ниже:


* '''''<gameType>'''''
* '''''<gameType>'''''
** sp (singleplayer)
** sp (одиночная игра)
** mp (multiplayer)
** mp (мультиплеер)
* '''''<gameName>'''''
* '''''<gameName>'''''
** hl2 (Half-Life 2)
** hl2 (Half-Life 2)
Line 158: Line 158:
** hl2mp (Half-Life 2: Deathmatch)
** hl2mp (Half-Life 2: Deathmatch)


Каждому каталогу требуется свой Source sdk 2013 Base AppID для получение базовых файлов:
Каждому каталогу требуется свой Source SDK 2013 Base AppID (Идентификатор приложения) для получения базовых файлов:
* [steam://install/243730 Source SDK Base 2013 Singleplayer]
* [steam://install/243730 Source SDK Base 2013 Singleplayer]
** Client AppID: 243730
** Клиентский AppID: 243730
* [steam://install/243750 Source SDK Base 2013 Multiplayer]
* [steam://install/243750 Source SDK Base 2013 Multiplayer]
** Client AppID: 243750
** Клиентский AppID: 243750
** Server AppID: 244310 (see [[SteamCMD]] for instructions on how to install this one)
** Серверный AppID: 244310 (смотрите {{L|SteamCMD}} для инструкций по установке)


These two base apps are very similar, differing mostly in update schedule. The Singleplayer base will only update with HL2 and the Episodes do, which isn't very often. The Multiplayer base will update a few times a year to incorporate engine changes from TF2 and Counter-Strike: Source. None of these updates should break mod compatibility.
Эти два базовых приложения очень похожи, различаются в основном графиком обновления. Singleplayer база обновляется только при обновлении HL2 или Эпизодов, которые происходят не так часто. Multiplayer база обновляется несколько раз в год чтобы включить изменения в движке от TF2 и Counter-Strike: Source. Ни одно из этих обновлений не должно сломать совместимость модов.


==Directory Structure==
==Структура папок==
Under each of these directories is a very similar directory structure:
У всех папок примерно одинаковая структура:


* game - Runtime files for the mods themselves. Your mod content will go in here.  
* game - Ресурсы и исполняемые файлы для мода (DLL, модели, звуки, скрипты, конфиги, прочее). Ваш контент мода будет лежать здесь.  
* src - All the source code for that kind of mod. The root of the src directory contains .sln or root level .mak files for building the source.
* src - Все исходные коды мода. Главная папка содержит .sln (Решение Visual Studio) или .mak (Makefile) файлы для постройки кода.
** common - A few files used by the server and client DLLs
** common - Некоторые файлы, нужные в клиентской и серверной DLL
** devtools - Scripts and utilities that are used to build the source. These are called by the makefiles and projects and you probably won't need to interact with them directly.
** devtools - Скрипты и утилиты используемые для построения исходного кода. Вызываются makefile'ами и проектами и вам не нужно взаимодействовать с ними напрямую.
** game - All of the source code for the DLLs.  
** game - Весь исходный код игры.  
*** client - Code used by client.dll (or client.dylib or client.so). There are also game-specific directories under here.
*** client - Используется в client.dll (или client.dylib / client.so). Здесь также имеются специфические папки с кодом для конкретных игр.
*** server - Code used by server.dll. There are also game-specific directories under here.
*** server - Используется в server.dll. Здесь также имеются специфические папки с кодом для конкретных игр.
*** shared - Code used by both client.dll and server.dll.
*** shared - Используется как client.dll, так и server.dll
** gcsdk - A couple of tools used to build the DLLs.
** gcsdk - Набор инструментов, используемых при построении DLL
** lib - Binary versions of the libraries that the source code depends on. This is also the build target for vgui_controls, tier1, and mathlib.
** lib - Построенные версии библиотек, от которых зависят исходные коды. Также требуется в построении для vgui_controls, tier1, и mathlib.
** mathlib - Math utilities used by the game.
** mathlib - Математическая библиотека, используемая в коде игры.
** public - Header files for all of the DLLs and libraries that are used by the game. Also includes a few source files.
** public - Заголовочные файлы движка для всех DLL и библиотек используемых игрой. Также включает несколько исходных файлов.
** thirdparty - Third party libraries needed to build the source. At the moment this contains only the [https://code.google.com/p/protobuf/ Google Protocol Buffers (protobuf)] library.
** thirdparty - Сторонние библиотеки, нужные для постройки кода. На текущий момент содержит только библиотеку [https://code.google.com/p/protobuf/ Google Protocol Buffers (protobuf)].
** tier1 - Useful utility classes. Builds into tier1.lib
** tier1 - Полезные утилиты-классы. Отстраиваются в tier1.lib
** utils - Various development utilities
** utils - Различные утилиты для разработки
** vgui2 - Source code for vgui_controls, which is used by client.dll.
** vgui2 - Исходный код для vgui_controls, используемый client.dll.


We recommend that you follow the conventions here as you add files for your own mod.
Мы рекомендуем вам следовать данного соглашения при создании собственного мода.


=Common Errors=
=Общие ошибки=
Common errors encountered in SDK 2013. Please use [[{{TALKPAGENAME}}|Discussion]] before posting other solutions.
Здесь перечислены общие ошибки SDK 2013, имеющиеся на данный момент. Используйте {{L|{{TALKPAGENAME}}|Discussion}} перед написанием других решений.


==<nowiki>"RegKey Errors While Generating Project Files"</nowiki>==
==<nowiki>"RegKey ошибки при генерации проектов"</nowiki>==


This problem is usually caused by missing file extensions associations in the your system registry.
Эта проблема обычна вызвана отстутствием ассоциаций с расширениями файлов в вашем реестре.


===Visual Studio 2010===
=== Visual Studio 2010 ===
{{Warning|1=Make sure to have [http://www.microsoft.com/en-us/download/details.aspx?id=23691 2010 Visual Studio Service Pack 1] or later installed.}}
{{Warning|text = Убедитесь что вы имеете установленный [http://www.microsoft.com/en-us/download/details.aspx?id=23691 2010 Visual Studio Service Pack 1] или выше.}}


* Open Registry Editor
* Открытие Редактора реестра
*# Windows key + R
*# Кнопки Windows + R или Выполнить
*# Type 'regedit' without quotes and then hit Enter.
*# Впишите 'regedit' без скобок в поле и нажмите Enter
* Navigate to one of the following registry keys, based on the operating system you're currently using:
* Найдите один из следующий ключей, исходя из вашей ОС:


  '''''# For 32-bit (x86) Operating Systems:'''''
  '''''# Для 32-битных (x86) ОС:'''''
  HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0\Projects\{60dc8134-eba5-43b8-bcc9-bb4bc16c2548}
  HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0\Projects\{60dc8134-eba5-43b8-bcc9-bb4bc16c2548}
   
   
  '''''# For 64-bit (x64) Operating Systems:'''''
  '''''# Для 64-битных (x64) ОС:'''''
  HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\Projects\{60dc8134-eba5-43b8-bcc9-bb4bc16c2548}
  HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\Projects\{60dc8134-eba5-43b8-bcc9-bb4bc16c2548}


* At the key, you will need to create a new string value.  
* Вам нужно создать новый строковый параметр.  
*# Navigate to: New > String Value
*# Пройдите по: Правка->Создать->Строковый параметр (New->String Value)
*# Fill out the following information:
*# Заполните следующую информацию:
*#* Name: <code>DefaultProjectExtension</code>
*#* Имя: <code>DefaultProjectExtension</code>
*#* Value: <code>vcproj</code>
*#* Значение: <code>vcproj</code>
*# Click "OK" to save the registry key.
*# Нажмите "OK" чтобы сохранить ключ.
 
===error MSB8008: Specified platform toolset (v120_xp) or (v120)===
{{tip|Если у вас при первой компиляции проекта в Microsoft visual C++ 2010 SP1 вылетает ошибка '''error MSB8008: Specified platform toolset (v120_xp)''', её можно исправить так: }}
 
 
1 - '''Выберите все файлыв проекте'''
 
2 - Правой кнопкой мышки на файлы, затем выберите '''"Свойства"'''
 
3 - Затем '''"Свойства конфигурации"'''
 
4 - И последнее в '''"Набор инструментов платформы"'''  поставте это -> '''(v100)'''
 
 
(Project->Properties->Configuration Properties->General->Platform toolset = Visual Studio 2010(v100))
 
 
[[File:MSB8008.jpg|600px| Исправление error MSB8008]]
 
Вы так же можете увидеть действия на скриншоте.
 
Это работает в Microsoft visual C++ 2010 SP1, как при "release" так и при "debug".
 
 
--[[User:Slam12f|Slam12f]] ([[User talk:Slam12f|talk]]) 02:08, 22 May 2015 (UTC)


===Visual Studio 2012===
A tool has been created by a member of the community to fix this type of error on Visual Studio 2012. '''''Use at your own risk.'''''
Download source from [https://github.com/FrontBack/VPC-Fix GitHub] (AutoIt v3 is needed).


==<code>vgui_controls</code> Doesn't Compile==


This problem is usually fixed by obtaining a fresh copy from the SDK distribution. If you're using a local GitHub repository, do a Sync (pull) on your repository. Otherwise you can download and reapply the ZIP file.
===Visual Studio 2012===
Утилита созданная участником сообщества для исправления такого типа ошибки в Visual Studio 2012. '''''Используйте на свой риск.'''''
Скачать здесь: [https://github.com/FrontBack/VPC-Fix GitHub] (Требуется AutoIt v3).


==Не компилируется vgui_controls==


[[Category:Source_SDK_FAQ:ru]]
Проблема решается приобретением свежей копии дистрибутива SDK. Если вы используете локальный GitHub репозиторий, синхонизируйте (pull) ваши репозитории. Иначе можете скачать ZIP-архив и обновить файлы вручную.
[[Category:Modding:ru]]
{{ACategory|Programming}}
[[Category:SDK 2013:ru]]
{{ACategory|Source SDK FAQ}}
{{ACategory|Modding}}
{{ACategory|SDK 2013}}

Latest revision as of 05:09, 22 February 2025

English (en)Deutsch (de)Español (es)한국어 (ko)Português do Brasil (pt-br)Русский (ru)中文 (zh)Translate (Translate)
Info content.png
This translated page needs to be updated.
You can help by updating the translation.
Also, please make sure the article complies with the alternate languages guide.(en)
This notice is put here by LanguageBar template and if you want to remove it after updating the translation you can do so on this page.


Для начала скачайте исходный код размещённый на GitHub Valve Software Source SDK repository. А теперь вперёд, к созданию великих и прекрасных модов!

Скачивание исходников с GitHub

Существует несколько способов получения и обновления исходников с GitHub . Обзор основных способов, описан в разделе помощи по GitHub, но прежде всего обратите внимание на использование в связке Git и GitHub.


Git репозиторий

Самый простой способ, поддерживать исходники Source SDK в актуальном состоянии - это использование Git репозитория. По сути Git является набором утилит командной строки с параметрами (CLI), но для работы с GitHub можно установить клиенты как с CLI, так и с графическим (GUI) интерфейсом.

Установка клиента для GitHub (Windows & Mac)

  1. Загрузите GitHub клиент:
  2. Установите GitHub клиент.
  3. Перейдите на репозитарий Source SDK 2013 в вашем браузере и нажмите на кнопку "Clone in Desktop".
    • В результате нажатия на кнопку откроется GitHub клиент. Далее, следуйте инструкциям, чтобы создать копию рабочего стола (Desktop) на Вашем компьютере.

Если Вы хотите обновить код, вы можете сделать это, нажав "Sync" в самом клиенте или кнопку "Sync Branch" в самом репозитарии.

Git CLI (Для всех платформ)

Подробные инструкции о том, как работать с Git на любой платформе с использованием командной строки, включая обновление с репозитария, смотрите на GitHub.

Так, например, с помощью командной строки можно создать копию source sdk 2013 на Вашем компьютере (только с установленным CLI клиентом):

> git clone git@github.com:ValveSoftware/source-sdk-2013.git

Скачивание

Можно просто скачать ZIP архив со всеми обновлениями, но соответственно загружать и обновлять код придется в ручную.

  1. Перейдите на репозитарий Source SDK 2013 в вашем браузере.
  2. Нажмите кнопку "Download ZIP".

Особенности создания файлов проекта на различных ОС

Создание файлов проекта и make-файлов

SDK 2013 использует Valve Project Creator (VPC)(en) для создания специальных файлов платформы и make-файлов проекта. Эти специальные файлы, необходимы для создания SDK. Если после выполнения этого шага, Вы обновили какие-либо файлы, то необходимо все действия выполнить повторно.

ОС Windows

# Проект для одного игрока
> <SDK_ROOT>/sp/src/creategameprojects.bat

# Многопользовательский проект
> <SDK_ROOT>/mp/src/creategameprojects.bat

В результате должны появиться файлы с расширением *.vcxproj (Visual Studio Project) и *. SLn(Solution) в директории SRC.

ОС Mac OS X & Linux

# Проект для одного игрока
> <SDK_ROOT>/sp/src/creategameprojects

# Многопользовательский проект
> <SDK_ROOT>/mp/src/creategameprojects

В результате в Mac OS X должны появиться файлы проекта `*.mak` и Xcode в директории SRC.

в ОС Linux, `.mak` файлы будут сгенерированы в SRC директории.

Информация о VPC

Для получения дополнительной информации о том, как можно использовать скрипты VPC перейдите на страницу(en), или выполните следующую команду под любой ОС:

> <SDK_ROOT>/<gameType>/src/devtools/bin/vpc /help

Информация о Git репозиторий и игнорируемых файлах

Все сгенерированные файлы с помощью VPC перечислены в файле с расширением *.gitignore и игнорируются при обмене с Git репозиторием.

ОС Windows

Требования к компонентам системы

Чтобы создать Source SDK 2013 под ОС Windows вам нужно Microsoft Visual Studio 2010 с Service Pack 1. Также можно использовать Visual Studio 2012 но только при установленном Visual Studio 2010, при этом в настройках проекта не выбирать «updating», при новой компиляции (Дополнительно в комментариях на GitHub).

Если для создания вашего проекта нужен phonemeextractor, то вам необходимо скачать SAPI 5.1 от Microsoft. Мы не поставляем Speech SDK с Source SDK. Для установки просто поместите sapi51 в каталог src/utils/.

Создание

Помните, сперва нужно создать файлы проекта & make-файлы!

  1. Откройте файл everything.sln вашего проекта.
  2. Откомпилируйте everything.sln.
  3. Откройте games.sln вашего мода.
  4. Откомпилируйте games.sln.

В результате у Вас должны появиться client.dll и server.dll, необходимые для загрузки Вашего мода под Source движком.

Создание шейдеров

Для добавления шейдеров в ваш мод вам необходимо создать специальные файлы. Для этого, откройте окно командной строки и введите:

  1. CD sp/src/materialsystem/stdshaders (или mp/src для многопользовательского мода.)
  2. copy build<game>shaders.bat buildmyshaders.bat
  3. notepad buildmyshaders.bat
    • Измените переменную среды SDKBINDIR указанную в файле buildmyshaders.bat на значение <steaminstallpath>\SteamApps\common\Source SDK Base 2013 Singleplayer\bin
  4. buildmyshaders.bat

Более подробную информацию об инструментах работы с шейдерами Вы можете найти в Source SDK здесь.

Mac OS X

Требования к компонентам системы

В Mac OS X, вам понадобится установленные Xcode 4.2 и "инструменты командной строки" ("Command Line Tools"). Вы можете найти это в:

XCode свойства -> "Загрузки" -> "Компоненты" (XCode Preferences -> "Downloads" -> "Components")

Создание

Помните, сперва нужно создать файлы проекта & make-файлы!

Запустите инструменты, введите следующую комманду в Terminal:

> make -f games.mak

Когда успешно соберется, вы должны увидеть client.dylib и server.dylib файлы загруженными вместе с Source SDK Base 2013 на ваш выбор.

Linux

Время выполнения клиента Steam

Для построения Source SDK 2013 на Linux ОС, вы должны иметь Steam Client Runtime.

  1. Скачать Steam Client Runtime.
  2. Выполните следующие комманды для распаковки:
> tar xvf steam-runtime-sdk_latest.tar.xz
> cd steam-runtime-sdk_<version>

Замените <version> на ту версию, которую только что распаковали.

> ./setup.sh

Выберите вашу архитектуру и debug/release свойства. Затем ответьте Y ко всему остальному.

> ./shell.sh --arch=i386

Постройка SDK

Помните, сперва нужно создать файлы проекта & make-файлы!

Выполните следующую команду:

> make -f games.mak

В результате у Вас должны появиться client.so и server.so, необходимые для загрузки Вашего мода под Source движком.

Организация кода

Принятые обозначения в названиях файлов

Source SDK использует следующую иерархию папок: вначале идет <Тип Игры>, затем подкаталог <Название игры>. Для типа игры используйте названия каталога "sp", если это мод для одиночной игры, или "mp", если это мод для многопользовательской игры. Более наглядно структуру каталога мода смотрите ниже:

  • <gameType>
    • sp (одиночная игра)
    • mp (мультиплеер)
  • <gameName>
    • hl2 (Half-Life 2)
    • episodic (Half-Life 2 Эпизоды)
    • hl2mp (Half-Life 2: Deathmatch)

Каждому каталогу требуется свой Source SDK 2013 Base AppID (Идентификатор приложения) для получения базовых файлов:

Эти два базовых приложения очень похожи, различаются в основном графиком обновления. Singleplayer база обновляется только при обновлении HL2 или Эпизодов, которые происходят не так часто. Multiplayer база обновляется несколько раз в год чтобы включить изменения в движке от TF2 и Counter-Strike: Source. Ни одно из этих обновлений не должно сломать совместимость модов.

Структура папок

У всех папок примерно одинаковая структура:

  • game - Ресурсы и исполняемые файлы для мода (DLL, модели, звуки, скрипты, конфиги, прочее). Ваш контент мода будет лежать здесь.
  • src - Все исходные коды мода. Главная папка содержит .sln (Решение Visual Studio) или .mak (Makefile) файлы для постройки кода.
    • common - Некоторые файлы, нужные в клиентской и серверной DLL
    • devtools - Скрипты и утилиты используемые для построения исходного кода. Вызываются makefile'ами и проектами и вам не нужно взаимодействовать с ними напрямую.
    • game - Весь исходный код игры.
      • client - Используется в client.dll (или client.dylib / client.so). Здесь также имеются специфические папки с кодом для конкретных игр.
      • server - Используется в server.dll. Здесь также имеются специфические папки с кодом для конкретных игр.
      • shared - Используется как client.dll, так и server.dll
    • gcsdk - Набор инструментов, используемых при построении DLL
    • lib - Построенные версии библиотек, от которых зависят исходные коды. Также требуется в построении для vgui_controls, tier1, и mathlib.
    • mathlib - Математическая библиотека, используемая в коде игры.
    • public - Заголовочные файлы движка для всех DLL и библиотек используемых игрой. Также включает несколько исходных файлов.
    • thirdparty - Сторонние библиотеки, нужные для постройки кода. На текущий момент содержит только библиотеку Google Protocol Buffers (protobuf).
    • tier1 - Полезные утилиты-классы. Отстраиваются в tier1.lib
    • utils - Различные утилиты для разработки
    • vgui2 - Исходный код для vgui_controls, используемый client.dll.

Мы рекомендуем вам следовать данного соглашения при создании собственного мода.

Общие ошибки

Здесь перечислены общие ошибки SDK 2013, имеющиеся на данный момент. Используйте Discussion(en) перед написанием других решений.

"RegKey ошибки при генерации проектов"

Эта проблема обычна вызвана отстутствием ассоциаций с расширениями файлов в вашем реестре.

Visual Studio 2010

Warning.pngПредупреждение:Убедитесь что вы имеете установленный 2010 Visual Studio Service Pack 1 или выше.
  • Открытие Редактора реестра
    1. Кнопки Windows + R или Выполнить
    2. Впишите 'regedit' без скобок в поле и нажмите Enter
  • Найдите один из следующий ключей, исходя из вашей ОС:
# Для 32-битных (x86) ОС:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0\Projects\{60dc8134-eba5-43b8-bcc9-bb4bc16c2548}

# Для 64-битных (x64) ОС:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\Projects\{60dc8134-eba5-43b8-bcc9-bb4bc16c2548}
  • Вам нужно создать новый строковый параметр.
    1. Пройдите по: Правка->Создать->Строковый параметр (New->String Value)
    2. Заполните следующую информацию:
      • Имя: DefaultProjectExtension
      • Значение: vcproj
    3. Нажмите "OK" чтобы сохранить ключ.

error MSB8008: Specified platform toolset (v120_xp) or (v120)

Tip.pngСовет:Если у вас при первой компиляции проекта в Microsoft visual C++ 2010 SP1 вылетает ошибка error MSB8008: Specified platform toolset (v120_xp), её можно исправить так:


1 - Выберите все файлыв проекте

2 - Правой кнопкой мышки на файлы, затем выберите "Свойства"

3 - Затем "Свойства конфигурации"

4 - И последнее в "Набор инструментов платформы" поставте это -> (v100)


(Project->Properties->Configuration Properties->General->Platform toolset = Visual Studio 2010(v100))


Исправление error MSB8008

Вы так же можете увидеть действия на скриншоте.

Это работает в Microsoft visual C++ 2010 SP1, как при "release" так и при "debug".


--Slam12f (talk) 02:08, 22 May 2015 (UTC)


Visual Studio 2012

Утилита созданная участником сообщества для исправления такого типа ошибки в Visual Studio 2012. Используйте на свой риск. Скачать здесь: GitHub (Требуется AutoIt v3).

Не компилируется vgui_controls

Проблема решается приобретением свежей копии дистрибутива SDK. Если вы используете локальный GitHub репозиторий, синхонизируйте (pull) ваши репозитории. Иначе можете скачать ZIP-архив и обновить файлы вручную.