RU/Compiling MTASA: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
 
(9 intermediate revisions by 7 users not shown)
Line 1: Line 1:
__NOTOC__
Для того чтобы успешно построить Multi Theft Auto из исходного кода, необходимо выполнить ряд шагов, которые мы объясним ниже.
Чтобы успешно собрать Multi Theft Auto из исходников, вам необходимо предпринять ряд шагов, о которых будет сказано ниже.


=== Перед началом ===
Пожалуйста, внимательно прочитайте инструкцию и не пропускайте ее части, если у вас нет опыта.


Перед тем, как пробовать собрать Multi Theft Auto, убедитесь, что у вас установлено следующее программное обеспечение и SDK:
== Начало работы ==
* Microsoft Visual Studio 2008 ([http://www.microsoft.com/downloads/ru-ru/details.aspx?familyid=fbee1648-7106-44a7-9649-6d9f6d58056e потребуется SP1])
* [http://msdn.microsoft.com/ru-ru/directx/aa937788.aspx Microsoft DirectX SDK] (потребуются только компоненты, связанные с Direct3D)
* [http://www.microsoft.com/en-us/download/details.aspx?id=22668 Microsoft Platform SDK] (не потребуется на Windows 7, нужны только компоненты DirectShow)


Установите [http://tortoisesvn.tigris.org/ TortoiseSVN], если у вас еще нет схожей программы, которая могла бы быть использована для закачки и распоряжения кодом.


=== Получение новейшего исходного кода ===
Компиляция клиента и сервера Multi Theft Auto поддерживается в Windows 10 и 11. В Linux вы также можете скомпилировать сервер Multi Theft Auto  ([[Building MTASA Server on GNU Linux|Ознакомьтесь с этой статьей]]).


Чтобы получить новейший исходный код, вам надо будет произвести checkout нашего SVN репозитория своим SVN-клиентом (напр. TortoiseSVN) через использование функции '''Checkout''' с URL '''http://mtasa-blue.googlecode.com/svn/trunk/'''.
Убедитесь что у вас установлено следующее программное обеспечение и SDK:


=== Перед сборкой ===
=== Visual Studio 2026 ===
[[File:Visual_Studio_Community.PNG|right|150px|link=https://visualstudio.microsoft.com/ru/vs/]]
#Скачайте и установите '''[https://visualstudio.microsoft.com/vs/ Microsoft Visual Studio 2026]''' - убедитесь, что вы получаете "Community Edition", который является бесплатным.
# В контрольном списке установки, [[:File:VsFoundationClasses.png|убедитесь, что вы отметили эти два пункта]]:
## ''Разработка классических приложений на C++''
## ''MFC-библиотека C++ для новейшей версии Build Tools v145 (x86 и x64)''


Чтобы убедиться, что целевые папки имеют правильно установленные права, '''важно''' установить [http://nightly.mtasa.com/ новейший unstable nightly-билд] '''в точности''' в следующую папку:
Если вы не включите MFC библиотеку, то получите следующую ошибку:  <code>cannot open include file 'afxres.h'</code>.
    C:\Program Files\MTA San Andreas x.x\
Где x.x - версия, которую будете компилировать. Если у вас 64-битный windows, не забудьте убрать из пути (x86).


=== Процесс сборки ===
Если вы допустили ошибку, то вы можете запустить установщик Visual Studio заново для изменения текущей программы. Нет необходимости удалять и переустанавливать программу.


Для сборки исходного кода вам понадобится Microsoft Visual Studio. Откройте файл проекта в '''Shared/Core 2008.sln''' и начните сборку, используя одну из конфигураций проекта: ''Debug'' или ''Release''. Заметьте, что процесс в ''Debug'' режиме пойдет намного медленнее.
=== Microsoft DirectX SDK ===
[[File:DirectX_SDK.jpg|right|150px|link=http://web.archive.org/web/20200804044856/https://www.microsoft.com/en-us/download/details.aspx?id=23549]]
'''Скачайте Microsoft DirectX SDK (August 2009) (DXSDK_Aug09.exe):'''
* [https://archive.org/download/dxsdk_aug09/DXSDK_Aug09.exe Зеркало 1]
* [https://assets.mtasa.com/DXSDK/DXSDK_Aug09.exe Зеркало 2]


=== Целевая папка и права ===
{| class="wikitable" style="margin-top: 0px; width: 70%; word-break: break-all;"
|+ Проверка файлов
|- style="vertical-align:bottom;"
! colspan="2" | Алгоритм и вариант
! Хэш
! Хэш-файл
|- style="text-align:center;vertical-align:center;"
| rowspan="6" | '''{{nowrap|SHA-3}}''' || ''SHA3-224'' || 8bfcdc03518d7edd34689534fd4d21291469ff2f2eb10437ad648c58 || [https://assets.mtasa.com/DXSDK/DXSDK_Aug09.exe.sha3-224 DXSDK_Aug09.exe.sha3-224]
|- style="text-align:center;vertical-align:center;"
| ''SHA3-256'' || 45bf3e08da3b3636ddb4f4a74243430f8d65759c074c0d79756ef810c4701c5a || [https://assets.mtasa.com/DXSDK/DXSDK_Aug09.exe.sha3-256 DXSDK_Aug09.exe.sha3-256]
|- style="text-align:center;vertical-align:center;"
| ''SHA3-384'' || b358e529963d6f5fd7f8bd4b530fb18f6a2e6a442009a54e981b2f9967589ed48150af310f283640d56f9b60d41100c9 || [https://assets.mtasa.com/DXSDK/DXSDK_Aug09.exe.sha3-384 DXSDK_Aug09.exe.sha3-384]
|- style="text-align:center;vertical-align:center;"
| ''SHA3-512'' || 43522187053af744250059ef69c0f3083cecd1157fe56daac16b9497ebc6fb5b525875144e42898367c55f757cffd3526f37074d544470578602a5a944a45a75 || [https://assets.mtasa.com/DXSDK/DXSDK_Aug09.exe.sha3-512 DXSDK_Aug09.exe.sha3-512]
|- style="text-align:center;vertical-align:center;"
| ''SHAKE128'' || 2a7c81bde9e867cbb5ef00b72ad8de66a3ee64c1d59f16465fa712479b6a84d28a02cc5ed08afa1d51e72011657453dbd4656cc9340d32e18179c39d03982dfc35c8f0c2a5c99e11dc74d0e23ed21b1e55f19c809a5a152bde39a2d46fcd12421f373f2d691ade1b57faf6c2ab7aded5a7d174f1f1c77127c0d6a1523b4775c569c5e1b4efa2da4bf2f708a96707a709e245a7f507382e69a81777919c90e95a091c0b699ce7f517 || [https://assets.mtasa.com/DXSDK/DXSDK_Aug09.exe.sha3-128000 DXSDK_Aug09.exe.sha3-128000]
|- style="text-align:center;vertical-align:center;"
| ''SHAKE256'' || 9c100dac5245a61774f3a2752bf9e941bdcd5654b18035155161c63b20936dfc9bd7334feb9a6fe9a99a65491161083b39ac3bd578e2cf4f90cba3c786e9924fa0611f65a725331b77b63e7c8b552e1637bc77531ba0f2c9cac72115b28e523929ede4e5b246a0755e8d5c4089d94bf16627fb08672cfffa523bba3d976489a0eec60d3c6a96ca2b || [https://assets.mtasa.com/DXSDK/DXSDK_Aug09.exe.sha3-256000 DXSDK_Aug09.exe.sha3-256000]
|- style="text-align:center;vertical-align:center;"
| rowspan="6" | '''{{nowrap|SHA-2}}''' || ''SHA-224'' || a3a74b89cccfe314b79418d5598aac5e94800221e5d945c74f15c004 || [https://assets.mtasa.com/DXSDK/DXSDK_Aug09.exe.sha2-224 DXSDK_Aug09.exe.sha2-224]
|- style="text-align:center;vertical-align:center;"
| ''SHA-256'' || 4ab1de69312f10f6b41310a5218d80c478bbd823bc0f86627318d690b128fb9f || [https://assets.mtasa.com/DXSDK/DXSDK_Aug09.exe.sha2-256 DXSDK_Aug09.exe.sha2-256]
|- style="text-align:center;vertical-align:center;"
| ''SHA-384'' || 254ed29c6ad2cadc6f013d2d51c0ac78a6bbe236a2c94ca99610eba8b2c1200d1a62c445ca9ee51bb09354875d5eca8a || [https://assets.mtasa.com/DXSDK/DXSDK_Aug09.exe.sha2-384 DXSDK_Aug09.exe.sha2-384]
|- style="text-align:center;vertical-align:center;"
| ''SHA-512'' || style="width: 60%;" | 736393c0dfa32221e229890f87eb330174d70dd2a02fa0cace303816d3e7a10a332a44129748de39665d1b339e627d6028c2080268f7afdd5240c447fec8ff0b || [https://assets.mtasa.com/DXSDK/DXSDK_Aug09.exe.sha2-512 DXSDK_Aug09.exe.sha2-512]
|- style="text-align:center;vertical-align:center;"
| ''SHA-512/224'' || 7e23d9ba916000782a17e23abf48e25237f45590cfe767aed9d79f10 || [https://assets.mtasa.com/DXSDK/DXSDK_Aug09.exe.sha2-512224 DXSDK_Aug09.exe.sha2-512224]
|- style="text-align:center;vertical-align:center;"
| ''SHA-512/256'' || 0c833a56046fe7e4213fcb1862c730acf313d1b8f60b51eebf64dc3e79730c1c || [https://assets.mtasa.com/DXSDK/DXSDK_Aug09.exe.sha2-512256 DXSDK_Aug09.exe.sha2-512256]
|- style="text-align:center;vertical-align:center;"
| colspan="2" | '''MD5''' || 66e5379ecf46b014688779621bcc677c || [https://assets.mtasa.com/DXSDK/DXSDK_Aug09.exe.md5 DXSDK_Aug09.exe.md5]
|- style="text-align:center;vertical-align:center;"
| colspan="2" | '''{{nowrap|SHA-1}}''' || 5b9b969ed7b6cf5534bb7350e44c09b3573b0e71 || [https://assets.mtasa.com/DXSDK/DXSDK_Aug09.exe.sha1 DXSDK_Aug09.exe.sha1]
|}
CRC32 e9f5c61d ([https://assets.mtasa.com/DXSDK/DXSDK_Aug09.exe.sfv DXSDK_Aug09.exe.sfv])<br>


По умолчанию, текущая версия компилирует двоичные файлы в 'C:\Program Files\MTA San Andreas 1.2\'. Чтобы удостовериться, что с правами, записями в реестре и файлами поддержки все в порядке, вам следует установить в целевую папку [http://nightly.mtasa.com/ новейший unstable nightly-билд] и [http://code.google.com/p/mtasa-blue/downloads/list?q=label:Data новейшие data файлы].
'''Примечание:''' перезагрузите компьютер после установки ''Microsoft DirectX SDK'', так как в противном случае переменная окружения '''DXSDK_DIR''' еще не будет доступна. После его перезапуска повторно запустите '''create-projects.bat'''


=== Получение новейшего сетевого модуля ===
=== Git Клиент ===
[[File:Git_logo.png|left|32px|link=https://git-scm.com/]]


Так как сетевые модули '''netc.dll'''/'''net.dll''', предоставляемые клиенту, распространяются под другой лицензией, вам придется воспользоваться двоичными файлами, которые устанавливаются вместе с новейшим nightly-билдом. Если вы желаете запустить debug-версию MTA, ей потребуется debug-версия net dll. В связи с тем, что мы их не предоставляем, просто добавьте '_d' к имени dll-файла скачанного релиза.
Если вы хотите внести свой вклад в MTA, вам следует установить Git Клиент. Это позволит вам сотрудничать с нами, создавая собственные ветвления, которые вы сможете использовать в своей работе. Если вам не нравится командная строка, мы рекомендуем вам скачать и установить это: [https://desktop.github.com/ GitHub Desktop].


= Запуск =
Если вы хотите только скомпилировать исходный код и не заинтересованы в участии в MTA, вы можете загрузить исходный код напрямую (см. ниже).


Вы уже почти вплотную подошли к запуску построенного вами билда Multi Theft Auto.
== Получение последнего исходного кода ==


=== Запуск игрового клиента ===
Чтобы получить последний код, вам нужно будет загрузить последнюю копию нашего Git репозитория.<br>
Мы рекомендуем клонировать репозиторий в вашем Git клиенте, потому что вы можете легко извлекать оттуда любые обновления.


Вновь проверьте, что вы установили [http://nightly.mtasa.com/ новейший unstable nightly-билд] и [http://code.google.com/p/mtasa-blue/downloads/list?q=label:Data новейшие data файлы].
* '''Репозиторий:''' [https://github.com/multitheftauto/mtasa-blue multitheftauto/mtasa-blue]
* '''.zip:''' [https://github.com/multitheftauto/mtasa-blue/archive/master.zip master.zip]
* '''.tar.gz:''' [https://github.com/multitheftauto/mtasa-blue/archive/master.tar.gz master.tar.gz]
 
== Компиляция кода ==
# Выполните скрипт '''win-create-projects.bat'''
# Откройте файл '''MTASA.sln''' в '''Build''' директории
# Если вам предложат обновить клиент, нажмите '''Cancel'''
# Выполните компиляцию в Visual Studio с помощью '''Debug''' конфигурации (это может заняться несколько минут)
# Выполните скрипт '''win-install-data.bat'''
 
= Запуск ПО =
 
== Запуск клиента ==
 
Вы можете запустить свой клиент в '''Bin''' каталоге. Вы можете найти там ''Multi Theft Auto.exe'' и/или ''Multi Theft Auto_d.exe''. Суффикс ''_d'' указывает на отладочную сборку программного обеспечения.<br>
Кроме того, вы также можете запустить свой клиент внутри отладчика Visual Studio, если хотите исследовать трассировку стека или установить точки остановки в интересных областях кода (Подробнее читайте в разделе "Отладка" ниже).
 
== Запуск выделенного сервера ==
Если вы уже выполнили шаг 5 (Установка ресурсов) в пункте '''Компиляция кода''', то вы можете перейти к пункту '''Запуск сервера'''
 
=== Установка последних ресурсов ===
Если вы хотите запустить выделенный сервер Multi Theft Auto, то вам придется установить все необходимые ресурсы. Они нужны, потому что они реализуют самые основные функции (спавн игроков, например).
 
Наш официальный репозиторий, откуда вы можете скачать все ресурсы [https://github.com/multitheftauto/mtasa-resources находится на GitHub]. Вы также можете скачать все последние ресурсы в [http://mirror.mtasa.com/mtasa/resources/ ZIP формате]. Убедитесь, что у вас есть все необходимые ресурсы для продолжения.


=== Запуск выделенного сервера ===
=== Запуск выделенного сервера ===
Если вы уже запустили "win-install-data.bat" и выбрали "Установить ресурсы", то вы можете перейти к [[#Starting the server]].


Если вы хотите запустить выделенный Multi Theft Auto сервер, вам понадобится установить ресурсы. Они нужны, так как предоставляют даже самые базовые возможности (напр. респавн) игрового процесса.
===Установка самых последних ресурсов===
Если вы хотите запустить выделенный сервер Multi Theft Auto, вам необходимо установить официальные ресурсы. Этот пакет по умолчанию включает ресурсы, которые обеспечивают самую базовую функциональность (например, создание новых игроков) для игры.


Наш официальный репозиторий ресурсов расположен на хостинге Google Code: [http://code.google.com/p/mtasa-resources]. Рекомендуется время от времени проверять репозиторий на наличие ресурсов более новой версии или скачивать zip-версию со вкладки [http://code.google.com/p/mtasa-resources/downloads/list Downloads]. Удостоверьтесь, что вы не используете каких-либо ресурсов от старых версий Multi Theft Auto, так как это '''точно''' вызовет проблемы.
=== Запуск сервера ===
Чтобы запустить сервер, откройте исполняемый файл "MTA Server.exe" в каталоге "Bin/server". Суффикс "_d" указывает на отладочную сборку программного обеспечения.<br>
Вы также можете запустить отладочную сборку "MTA Server_d.exe " с помощью отладчика Visual Studio (на момент написания статьи вы можете сделать это, щелкнув правой кнопкой мыши на проекте запуска сервера и выбрав "Запустить локальный экземпляр" в меню "Отладчик"), но вы также можете подключиться к запущенной отладке создайте сервер MTA (подробнее смотрите в разделе "Отладка" ниже).


Если вы испытываете проблемы, связанные с отсутствием DLL-файлов (напр. libcurl.dll), то просто скопируйте их из data-архива клиента MTA, как описано выше.
= [[File:Preferences-system.svg|32px]] Debugging =
Если вы уже скомпилировали код в конфигурации "Отладка", продолжайте чтение, если нет, перейдите к разделу "Компиляция кода" и следуйте инструкциям по сборке "Отладка".<br>
Чтобы выполнить компиляцию в режиме "Release", щелкните по списку "Debug" и переключитесь на "Release".<br>
Вы можете либо запустить MTA самостоятельно и подключить любой отладчик, который хотите использовать (это также относится к отладчику Visual Studio), либо запустить локальный сеанс отладки в Visual Studio.<br>
[[File:Local_Windows_Debugger.PNG]]


= Вовлечение =
== Как включить точки останова ==
Пожалуйста, просмотрите наши [[RU/Coding guidelines|установки программирования]] для получения информации по программированию в MTA.
Если вы решите запустить MTA с помощью Visual Studio, вам также следует подключить отладчик к исполняемому файлу "'gta_sa.exe" (нажмите "CTRL + ALT + P" в Visual Studio) - в противном случае ваши
точки останова не будут работать ни для чего, кроме проекта запуска MTA.<br>
[[File:Attach_to_Process.png|600px]]


= Дополнительная информация =
== Увеличение продолжительности тайм-аута ==
Когда вы используете точки останова во время отладки, сервер может заблокировать вас из-за тайм-аута, поскольку клиент заморожен. Чтобы предотвратить это, создайте тайм-аут "'.файл "longtime" в вашем каталоге "Bin/server/".
Содержимое файла - это новая продолжительность тайм-аута в секундах<!--
На самом деле, это 60 миллисекунд? При установке содержимого на "600" оно должно составлять 600 секунд (10 минут), но тайм-аут устанавливается равным 36000 секундам (36000/600 = 60 мс).
-->, поэтому убедитесь, что вы ввели там большое количество символов. Если вы оставите файл пустым, тайм-аут будет установлен на 120 секунд.


Если вам нужна еще какая-либо информация, зайдите на [http://bugs.mtasa.com/ багтрекер], [irc://irc.multitheftauto.com IRC канал].
== Повторное подключение для Visual Studio ==
Вы можете использовать [https://marketplace.visualstudio.com/items?itemName=ErlandR.ReAttach Повторное подключение] для повторного подключения отладчика к исполняемому файлу "'gta_sa.exe" всякий раз, когда вы запускаете локальный отладчик в Visual Studio.<br>
[[File:ReAttach_to_GTASA.PNG]]


=  [[File:System-users.svg|32px]] Как принять участие =
Пожалуйста, ознакомьтесь с нашими [[Coding guidelines]] для получения информации о практике кодирования.
= [[File:Mail-reply-all.svg|32px]] Additional information =
Если вам нужно больше информации, попробуйте посмотреть здесь [https://github.com/multitheftauto/mtasa-blue/issues bug tracker] или [https://discord.com/invite/mtasa Discord].
= Error Troubleshooting =
==Не удается открыть включаемый файл "afxres.h"==
Эта ошибка вызвана неполной настройкой Visual Studio. Используйте установщик Visual Studio, чтобы включить дополнительный компонент "C++ MFC для новейших средств сборки версии 145 (x86 и x64)".
==Не удается найти d3dx9.h==
Добавьте "'$(DXSDK_DIR)Include;"' в каталоги VC++ в проектах DirectX9GuiRenderer, GUI и Client Core.
Вы можете найти список каталогов VC++, выбрав проект, затем нажав сочетание клавиш ALT + ENTER (без +), затем в разделе "Свойства конфигурации" вы можете найти "Каталоги VC++", и там вы можете найти поле "Включить каталоги", нажмите на него и добавьте "';$(DXSDK_DIR)включает в себя;"' в конце.
""Примечание: вам нужно сделать то же самое и в режиме выпуска"".
==Не могу найти файл d3dx9.lib==
Сделайте то же самое, что и в приведенной выше ошибке, но вместо "';$(DXSDK_DIR)Include;"' вы должны добавить "';$(DXSDK_DIR)Lib/x86;"' в поле "Каталоги библиотек".
""Примечание: вам нужно сделать то же самое и в режиме выпуска"".
==Ошибка S1023==
[https://support.microsoft.com/en-us/kb/2728613 Ошибка "S1023" при установке DirectX SDK (June 2010)]<br style="clear:both">
==Не удается открыть исходный файл "xxx.h" после обновления до Visual Studio 2026==
Если вы только что обновились до Visual Studio 2026 и работали над MTA, используя предыдущую версию, при сборке проекта могут появляться ошибки о том, что заголовочные файлы не найдены (stdio.h, stddef.h и т.д.).
Убедитесь, что у вас установлена последняя версия Windows 11 SDK (через установщик Visual Studio) и перезагрузите компьютер.
Если это не сработает - закройте Visual Studio, перейдите в папку "Build" (где находится ваш mtasa-blue) и удалите папку `.vs`. Запустите Visual Studio, и все должно быть исправлено.
* Продолжение перевода скоро, а пока вы можете ознакомиться с [https://wiki.multitheftauto.com/wiki/Compiling_MTASA версией статьи на английском языке]
[[pt-br:Compilando o MTASA]]
[[en:Compiling MTASA]]
[[en:Compiling MTASA]]
[[pl:Kompilowanie MTASA]]
[[Category:Translated/Development]]

Latest revision as of 16:31, 28 January 2026

Для того чтобы успешно построить Multi Theft Auto из исходного кода, необходимо выполнить ряд шагов, которые мы объясним ниже.

Пожалуйста, внимательно прочитайте инструкцию и не пропускайте ее части, если у вас нет опыта.

Начало работы

Компиляция клиента и сервера Multi Theft Auto поддерживается в Windows 10 и 11. В Linux вы также можете скомпилировать сервер Multi Theft Auto (Ознакомьтесь с этой статьей).

Убедитесь что у вас установлено следующее программное обеспечение и SDK:

Visual Studio 2026

Visual Studio Community.PNG
  1. Скачайте и установите Microsoft Visual Studio 2026 - убедитесь, что вы получаете "Community Edition", который является бесплатным.
  2. В контрольном списке установки, убедитесь, что вы отметили эти два пункта:
    1. Разработка классических приложений на C++
    2. MFC-библиотека C++ для новейшей версии Build Tools v145 (x86 и x64)

Если вы не включите MFC библиотеку, то получите следующую ошибку: cannot open include file 'afxres.h'.

Если вы допустили ошибку, то вы можете запустить установщик Visual Studio заново для изменения текущей программы. Нет необходимости удалять и переустанавливать программу.

Microsoft DirectX SDK

DirectX SDK.jpg

Скачайте Microsoft DirectX SDK (August 2009) (DXSDK_Aug09.exe):

Проверка файлов
Алгоритм и вариант Хэш Хэш-файл
SHA-3 SHA3-224 8bfcdc03518d7edd34689534fd4d21291469ff2f2eb10437ad648c58 DXSDK_Aug09.exe.sha3-224
SHA3-256 45bf3e08da3b3636ddb4f4a74243430f8d65759c074c0d79756ef810c4701c5a DXSDK_Aug09.exe.sha3-256
SHA3-384 b358e529963d6f5fd7f8bd4b530fb18f6a2e6a442009a54e981b2f9967589ed48150af310f283640d56f9b60d41100c9 DXSDK_Aug09.exe.sha3-384
SHA3-512 43522187053af744250059ef69c0f3083cecd1157fe56daac16b9497ebc6fb5b525875144e42898367c55f757cffd3526f37074d544470578602a5a944a45a75 DXSDK_Aug09.exe.sha3-512
SHAKE128 2a7c81bde9e867cbb5ef00b72ad8de66a3ee64c1d59f16465fa712479b6a84d28a02cc5ed08afa1d51e72011657453dbd4656cc9340d32e18179c39d03982dfc35c8f0c2a5c99e11dc74d0e23ed21b1e55f19c809a5a152bde39a2d46fcd12421f373f2d691ade1b57faf6c2ab7aded5a7d174f1f1c77127c0d6a1523b4775c569c5e1b4efa2da4bf2f708a96707a709e245a7f507382e69a81777919c90e95a091c0b699ce7f517 DXSDK_Aug09.exe.sha3-128000
SHAKE256 9c100dac5245a61774f3a2752bf9e941bdcd5654b18035155161c63b20936dfc9bd7334feb9a6fe9a99a65491161083b39ac3bd578e2cf4f90cba3c786e9924fa0611f65a725331b77b63e7c8b552e1637bc77531ba0f2c9cac72115b28e523929ede4e5b246a0755e8d5c4089d94bf16627fb08672cfffa523bba3d976489a0eec60d3c6a96ca2b DXSDK_Aug09.exe.sha3-256000
SHA-2 SHA-224 a3a74b89cccfe314b79418d5598aac5e94800221e5d945c74f15c004 DXSDK_Aug09.exe.sha2-224
SHA-256 4ab1de69312f10f6b41310a5218d80c478bbd823bc0f86627318d690b128fb9f DXSDK_Aug09.exe.sha2-256
SHA-384 254ed29c6ad2cadc6f013d2d51c0ac78a6bbe236a2c94ca99610eba8b2c1200d1a62c445ca9ee51bb09354875d5eca8a DXSDK_Aug09.exe.sha2-384
SHA-512 736393c0dfa32221e229890f87eb330174d70dd2a02fa0cace303816d3e7a10a332a44129748de39665d1b339e627d6028c2080268f7afdd5240c447fec8ff0b DXSDK_Aug09.exe.sha2-512
SHA-512/224 7e23d9ba916000782a17e23abf48e25237f45590cfe767aed9d79f10 DXSDK_Aug09.exe.sha2-512224
SHA-512/256 0c833a56046fe7e4213fcb1862c730acf313d1b8f60b51eebf64dc3e79730c1c DXSDK_Aug09.exe.sha2-512256
MD5 66e5379ecf46b014688779621bcc677c DXSDK_Aug09.exe.md5
SHA-1 5b9b969ed7b6cf5534bb7350e44c09b3573b0e71 DXSDK_Aug09.exe.sha1

CRC32 e9f5c61d (DXSDK_Aug09.exe.sfv)

Примечание: перезагрузите компьютер после установки Microsoft DirectX SDK, так как в противном случае переменная окружения DXSDK_DIR еще не будет доступна. После его перезапуска повторно запустите create-projects.bat

Git Клиент

Git logo.png

Если вы хотите внести свой вклад в MTA, вам следует установить Git Клиент. Это позволит вам сотрудничать с нами, создавая собственные ветвления, которые вы сможете использовать в своей работе. Если вам не нравится командная строка, мы рекомендуем вам скачать и установить это: GitHub Desktop.

Если вы хотите только скомпилировать исходный код и не заинтересованы в участии в MTA, вы можете загрузить исходный код напрямую (см. ниже).

Получение последнего исходного кода

Чтобы получить последний код, вам нужно будет загрузить последнюю копию нашего Git репозитория.
Мы рекомендуем клонировать репозиторий в вашем Git клиенте, потому что вы можете легко извлекать оттуда любые обновления.

Компиляция кода

  1. Выполните скрипт win-create-projects.bat
  2. Откройте файл MTASA.sln в Build директории
  3. Если вам предложат обновить клиент, нажмите Cancel
  4. Выполните компиляцию в Visual Studio с помощью Debug конфигурации (это может заняться несколько минут)
  5. Выполните скрипт win-install-data.bat

Запуск ПО

Запуск клиента

Вы можете запустить свой клиент в Bin каталоге. Вы можете найти там Multi Theft Auto.exe и/или Multi Theft Auto_d.exe. Суффикс _d указывает на отладочную сборку программного обеспечения.
Кроме того, вы также можете запустить свой клиент внутри отладчика Visual Studio, если хотите исследовать трассировку стека или установить точки остановки в интересных областях кода (Подробнее читайте в разделе "Отладка" ниже).

Запуск выделенного сервера

Если вы уже выполнили шаг 5 (Установка ресурсов) в пункте Компиляция кода, то вы можете перейти к пункту Запуск сервера

Установка последних ресурсов

Если вы хотите запустить выделенный сервер Multi Theft Auto, то вам придется установить все необходимые ресурсы. Они нужны, потому что они реализуют самые основные функции (спавн игроков, например).

Наш официальный репозиторий, откуда вы можете скачать все ресурсы находится на GitHub. Вы также можете скачать все последние ресурсы в ZIP формате. Убедитесь, что у вас есть все необходимые ресурсы для продолжения.

Запуск выделенного сервера

Если вы уже запустили "win-install-data.bat" и выбрали "Установить ресурсы", то вы можете перейти к #Starting the server.

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

Если вы хотите запустить выделенный сервер Multi Theft Auto, вам необходимо установить официальные ресурсы. Этот пакет по умолчанию включает ресурсы, которые обеспечивают самую базовую функциональность (например, создание новых игроков) для игры.

Запуск сервера

Чтобы запустить сервер, откройте исполняемый файл "MTA Server.exe" в каталоге "Bin/server". Суффикс "_d" указывает на отладочную сборку программного обеспечения.
Вы также можете запустить отладочную сборку "MTA Server_d.exe " с помощью отладчика Visual Studio (на момент написания статьи вы можете сделать это, щелкнув правой кнопкой мыши на проекте запуска сервера и выбрав "Запустить локальный экземпляр" в меню "Отладчик"), но вы также можете подключиться к запущенной отладке создайте сервер MTA (подробнее смотрите в разделе "Отладка" ниже).

Preferences-system.svg Debugging

Если вы уже скомпилировали код в конфигурации "Отладка", продолжайте чтение, если нет, перейдите к разделу "Компиляция кода" и следуйте инструкциям по сборке "Отладка".
Чтобы выполнить компиляцию в режиме "Release", щелкните по списку "Debug" и переключитесь на "Release".
Вы можете либо запустить MTA самостоятельно и подключить любой отладчик, который хотите использовать (это также относится к отладчику Visual Studio), либо запустить локальный сеанс отладки в Visual Studio.
Local Windows Debugger.PNG

Как включить точки останова

Если вы решите запустить MTA с помощью Visual Studio, вам также следует подключить отладчик к исполняемому файлу "'gta_sa.exe" (нажмите "CTRL + ALT + P" в Visual Studio) - в противном случае ваши точки останова не будут работать ни для чего, кроме проекта запуска MTA.
Attach to Process.png

Увеличение продолжительности тайм-аута

Когда вы используете точки останова во время отладки, сервер может заблокировать вас из-за тайм-аута, поскольку клиент заморожен. Чтобы предотвратить это, создайте тайм-аут "'.файл "longtime" в вашем каталоге "Bin/server/". Содержимое файла - это новая продолжительность тайм-аута в секундах, поэтому убедитесь, что вы ввели там большое количество символов. Если вы оставите файл пустым, тайм-аут будет установлен на 120 секунд.

Повторное подключение для Visual Studio

Вы можете использовать Повторное подключение для повторного подключения отладчика к исполняемому файлу "'gta_sa.exe" всякий раз, когда вы запускаете локальный отладчик в Visual Studio.
ReAttach to GTASA.PNG

System-users.svg Как принять участие

Пожалуйста, ознакомьтесь с нашими Coding guidelines для получения информации о практике кодирования.

Mail-reply-all.svg Additional information

Если вам нужно больше информации, попробуйте посмотреть здесь bug tracker или Discord.

Error Troubleshooting

Не удается открыть включаемый файл "afxres.h"

Эта ошибка вызвана неполной настройкой Visual Studio. Используйте установщик Visual Studio, чтобы включить дополнительный компонент "C++ MFC для новейших средств сборки версии 145 (x86 и x64)".

Не удается найти d3dx9.h

Добавьте "'$(DXSDK_DIR)Include;"' в каталоги VC++ в проектах DirectX9GuiRenderer, GUI и Client Core. Вы можете найти список каталогов VC++, выбрав проект, затем нажав сочетание клавиш ALT + ENTER (без +), затем в разделе "Свойства конфигурации" вы можете найти "Каталоги VC++", и там вы можете найти поле "Включить каталоги", нажмите на него и добавьте "';$(DXSDK_DIR)включает в себя;"' в конце. ""Примечание: вам нужно сделать то же самое и в режиме выпуска"".

Не могу найти файл d3dx9.lib

Сделайте то же самое, что и в приведенной выше ошибке, но вместо "';$(DXSDK_DIR)Include;"' вы должны добавить "';$(DXSDK_DIR)Lib/x86;"' в поле "Каталоги библиотек". ""Примечание: вам нужно сделать то же самое и в режиме выпуска"".

Ошибка S1023

Ошибка "S1023" при установке DirectX SDK (June 2010)

Не удается открыть исходный файл "xxx.h" после обновления до Visual Studio 2026

Если вы только что обновились до Visual Studio 2026 и работали над MTA, используя предыдущую версию, при сборке проекта могут появляться ошибки о том, что заголовочные файлы не найдены (stdio.h, stddef.h и т.д.).

Убедитесь, что у вас установлена последняя версия Windows 11 SDK (через установщик Visual Studio) и перезагрузите компьютер.

Если это не сработает - закройте Visual Studio, перейдите в папку "Build" (где находится ваш mtasa-blue) и удалите папку `.vs`. Запустите Visual Studio, и все должно быть исправлено.