RU/Compiling MTASA: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(Обновил раздел Visual Studio 2022 ---> 2026)
No edit summary
 
(One intermediate revision by the same user not shown)
Line 5: Line 5:
== Начало работы ==
== Начало работы ==


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


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


Наш официальный репозиторий, откуда вы можете скачать все ресурсы [https://github.com/multitheftauto/mtasa-resources находится на GitHub]. Вы также можете скачать все последние ресурсы в [http://mirror.mtasa.com/mtasa/resources/ ZIP формате]. Убедитесь, что у вас есть все необходимые ресурсы для продолжения.
Наш официальный репозиторий, откуда вы можете скачать все ресурсы [https://github.com/multitheftauto/mtasa-resources находится на GitHub]. Вы также можете скачать все последние ресурсы в [http://mirror.mtasa.com/mtasa/resources/ ZIP формате]. Убедитесь, что у вас есть все необходимые ресурсы для продолжения.
=== Запуск выделенного сервера ===
Если вы уже запустили "win-install-data.bat" и выбрали "Установить ресурсы", то вы можете перейти к [[#Starting the server]].
===Установка самых последних ресурсов===
Если вы хотите запустить выделенный сервер Multi Theft Auto, вам необходимо установить официальные ресурсы. Этот пакет по умолчанию включает ресурсы, которые обеспечивают самую базовую функциональность (например, создание новых игроков) для игры.


=== Запуск сервера ===
=== Запуск сервера ===
Чтобы запустить сервер, откройте исполняемый файл "MTA Server.exe" в каталоге "Bin/server". Суффикс "_d" указывает на отладочную сборку программного обеспечения.<br>
Вы также можете запустить отладочную сборку "MTA Server_d.exe " с помощью отладчика Visual Studio (на момент написания статьи вы можете сделать это, щелкнув правой кнопкой мыши на проекте запуска сервера и выбрав "Запустить локальный экземпляр" в меню "Отладчик"), но вы также можете подключиться к запущенной отладке создайте сервер MTA (подробнее смотрите в разделе "Отладка" ниже).
= [[File:Preferences-system.svg|32px]] Debugging =
Если вы уже скомпилировали код в конфигурации "Отладка", продолжайте чтение, если нет, перейдите к разделу "Компиляция кода" и следуйте инструкциям по сборке "Отладка".<br>
Чтобы выполнить компиляцию в режиме "Release", щелкните по списку "Debug" и переключитесь на "Release".<br>
Вы можете либо запустить MTA самостоятельно и подключить любой отладчик, который хотите использовать (это также относится к отладчику Visual Studio), либо запустить локальный сеанс отладки в Visual Studio.<br>
[[File:Local_Windows_Debugger.PNG]]
== Как включить точки останова ==
Если вы решите запустить 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 секунд.
== Повторное подключение для 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 версией статьи на английском языке]
* Продолжение перевода скоро, а пока вы можете ознакомиться с [https://wiki.multitheftauto.com/wiki/Compiling_MTASA версией статьи на английском языке]

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, и все должно быть исправлено.