PL/Compiling MTASA

From Multi Theft Auto: Wiki

Aby pomyślnie skompilować Multi Theft Auto z kodu źródłowego, niezbędne jest wykonanie kilku kroków, które przedstawimy poniżej.

Przeczytaj uważnie poniższe instrukcje i nie pomijaj żadnej z nich, jeśli nie masz doświadczenia.

Podstawowe Wymagania

Powinieneś używać systemu Windows 7 lub nowszego, zanim będziesz mógł skompilować klienta Multi Theft Auto.

Upewnij się czy masz zainstalowane następujące programy i zestawy SDK:

Visual Studio 2019

Visual Studio Community.PNG

Pobieranie Microsoft Visual Studio 2019 (Edycja Community jest darmowa).
Upewnij się czy instalujesz także inne elementy podczas instalacji, patrz poniżej. (Możesz ponownie uruchomić instalator, aby zmodyfikować aktualną instalację bez konieczności odinstalowywania i instalowania.)

Missing #include "afxres.h"
Upewnij się, że masz zainstalowane wsparcie dla MFC i ATL. MFC/ATL musi być w wersji 141 (v141).

Problemy z zestawem narzędzi
Upewnij się, że masz zainstalowane VC++ 2015 toolset.
(Możesz ponownie uruchomić instalator, aby zmodyfikować aktualna instalację bez konieczności odinstalowywania i instalowania.)

Dodatek: ReAttach (opcjonalnie)
Pobierz: ReAttach
(ReAttach daje łatwy sposób na ponowne dołączenie (re-attach) wcześniejszych celów debugowania)

Microsoft DirectX SDK

DirectX SDK.jpg

Pobierz
Microsoft DirectX SDK (August 2009)

S1023 Error
"S1023" błąd podczas instalacji DirectX SDK (June 2010)

Klient Git

Git logo.png

Masz trzy możliwości. Możesz zainstalować JEDEN z klientów poniżej (do współpracy) albo pobierz całe repozytorium kodu źródłowego .ZIP (Jeśli chcesz tylko skompilować kod źródłowy i nie zamierzasz współpracować razem z nami). Możesz także używac wiersza poleceń Git'a do kontrolowania repozytorium.

GitHub Desktop

GitHub Desktop.png

Pobierz:
GitHub dla systemu Windows

SourceTree

Atlassian SourceTree.png

Pobierz:
SourceTree

GitKraken

GitKraken Logo.png

Pobierz:
GitKraken

Zdobycie najświeższego kodu źródłowego

Aby zdobyć najświeższy kod źródłowy, będziesz musiał pobrać ostatnią kopie naszego repozytorium Git.
Zalecamy sklonować nasze repozytorium w twoim kliencie Git, ponieważ możesz łatwo pobierać z niego dowolne aktualizacje.

Kompilacja kodu

  1. Uruchom skrypt (otwórz plik) win-create-projects.bat
  2. Otwórz plik rozwiązania MTASA.sln w folderze Build
  3. Jeśli zostaniesz zapytany o aktualizacje projektu, kliknij Anuluj
  4. Skompiluj kod w Visual Studio na konfiguracji Debug (może to potrwać kilka minut)
  5. Uruchom skrypt (otwórz plik) win-install-data.bat

Uruchamianie programu

Uruchamianie klienta MTA

Możesz uruchomić swojego klienta w folderze Bin. Możesz znaleźć tutaj pliki Mutli Theft Auto.exe i/lub Multi Theft Auto_d.exe. Przyrostek _d oznacza kompilacje developerską (konfiguracja debug) programu. Ponadto, możesz także uruchomić swojego klienta w debuggerze z Visual Studio jeśli chcesz przeanalizować układ stosu lub ustawić punkty przerwania w interesujących regionach kodu (przeczytaj więcej poniżej w sekcji Debugowanie).

Uruchamianie dedykowanego serwera

Jeśli już wykonałeś krok 5 (Instalacja zasobów) w sekcji Kompilacja kodu aby zainstalować zasoby, możesz przejść do sekcji Uruchamianie serwera lokalnego.

Instalacja najświeższych zasobów

Jeśli chcesz uruchomić dedykowany serwer Multi Theft Auto, musisz zainstalować wymagane zasoby. Są one niezbędne, ponieważ dodają podstawowe funkcje (np. odradzanie graczy) aby móc grać.

Nasze oficjalne repozytorium zasobów: znajdujące się w serwisie GitHub. Możesz pobrać najświeższe zasoby z tego repozytorium lub pobierz archiwum .zip. Upewnij się, że masz najnowszą paczkę zasobów.

Uruchamianie serwera

Aby uruchomić serwer, otwórz plik MTA Server.exe w folderze Bin/server. Przyrostek _d oznacza kompilację developerską (konfigurację debug) programu.
Możesz także uruchomić serwer w wersji developerskiej (debug); MTA Server_d.exe przy pomocy debuggera Visual Studio (jak przy pisaniu, możesz zrobić to poprzez kliknięcie prawego przycisku myszki na projekcie Launcher, po stronie serwera (Rozwiń projekt Server) i wybranie Uruchom lokalną instancję w zakładce Debugger), ale możesz także dołączyć do działającego debuggera serwera MTA (zobacz więcej niżej, w sekcji Debuggowanie).

Debugging

If you already compiled the code in the Debug configuration then continue reading, if not, then go up to Compilling the code and follow the steps for a Debug build.
You can either launch MTA yourself and attach any debugger you want to use (also applies to the Visual Studio debugger) or you start a local debugging session in Visual Studio.
Local Windows Debugger.PNG

How to enable breakpoints

If you choose to run MTA with Visual Studio then you should also attach the debugger to the executable gta_sa.exe (press CTRL + ALT + P in Visual Studio) - otherwise your breakpoints will not work for anything beside the MTA Launcher project.
Attach to Process.png

Extending timeout duration

When you use breakpoints during debugging, you may get kicked by the server due to timeout, because the client is frozen. To prevent this, create the timeout.longtime file in your Bin/server/ directory. The content of the file is the new timeout duration in seconds, so make sure you type a huge number in there. If you keep the file empty, the timeout will be set to 120 seconds.

ReAttach for Visual Studio

You can use ReAttach to re-attach the debugger to the gta_sa.exe executable whenever you start your local debugger in Visual Studio.
ReAttach to GTASA.PNG

Chęci współpracy

Prosimy, sprawdź nasze Coding guidelines po więcej informacji o praktykach kodowania.

Dodatkowe informacje

Jeśli potrzebujesz więcej informacji, sprawdź nasz bug tracker lub kanał IRC.

Błędy

CL38 error. [nie znaleziono netc_d.dll]

Rozwiązanie: Usuń Mutli Theft Auto_d.exe i naciśnij 'Kompiluj ponownie' w Visual Studio.

Po sklonowaniu repozytorium, nie można skompilować projektu

Rozwiązanie: Otwórz plik win-create-projects.bat w głównym katalogu.

CL17 Load field. Prosimy, upewnij się, że najnowsze pliki danych zostały zainstalowane poprawnie

Rozwiązanie: Otwórz plik win-install-data.bat w głównym katalogu.

Compiling MTASA