
MTA (Multi Theft Auto)는 Rockstar North의 Grand Theft Auto Game Series에 네트워크 플레이 기능을 추가하는 소프트웨어 프로젝트로,이 기능은 원래 발견되지 않았습니다. 확장 가능한 네트워크 재생 요소를 독점적 인 상업용 단일 플레이어 PC 게임에 통합하는 고유 한 수정입니다.
참고 포크 개발자라면이 메모를주의 깊게 읽으십시오.
Shared/sdk/version.h에서 기본 빌드 유형을 사용자 정의 로 변경했습니다. 안티 셰이트를 염두에두고 개발 중이라면 디버그 구성에서는 전혀 영향을 미치지 않습니다. 이제 안티 cheat를 활성화하여 사용자 정의 클라이언트를 테스트하려는 경우 빌드 유형을UNTESTED것으로 변경해야합니다. 사용자 정의 클라이언트 릴리스를 게시하려면netc.dll의 포크 지원 강화 릴리스로 전환해야합니다. 자세한 내용은 Forks_full_ac Wiki 페이지를 읽으십시오.
다중 도난 자동은 코드 주입 및 훅킹 기술을 기반으로하며 게임과 함께 제공되는 원본 파일을 변경하지 않고 게임이 조작됩니다. 이 소프트웨어는 스크립팅 언어를 통해 원래 게임의 엔진 기능을 노출시키면서 네트워킹 및 GUI 렌더링과 같은 핵심 기능을 추가하는 원래 게임의 확장으로 설치하는 게임 엔진 역할을합니다.
원래 2003 년 초 C/C ++ 소프트웨어의 실험 조각으로 설립 된 Multi Theft Auto는 게이머 및 타사 개발자를위한 고급 멀티 플레이어 플랫폼으로 성장했습니다. 당사의 소프트웨어는 여러 가지 방법으로 LUA 스크립팅 언어를 통해 확장 할 수있는 최소한의 샌드 박스 스타일 게임 플레이를 제공하므로 서버는 최대 수백 개의 온라인 플레이어를위한 사용자 정의 컨텐츠로 사용자 정의 작성 게임 모드를 실행할 수 있습니다.
이전에는 폐쇄 소스 프로젝트 인 Open-Source로 마이그레이션하여 다른 개발자가 교육적 이유로 프로젝트의 소스 코드 및 설계에 대한 통찰력을 보여주고 기여하도록 장려했습니다.
멀티 도난 자동은 게임 엔진 프레임 워크를 구현하는 "파란색"개념에 구축됩니다. 게임 프레임 워크의 클래스 디자인은 Grand Theft Auto의 디자인을 기반으로하므로 코드를 원래 게임에 삽입 할 수 있습니다. 그런 다음 새로운 게임 기능 (조정 및 충돌 수정 포함)과 완전히 새로운 그래픽 인터페이스, 네트워킹 및 스크립팅 구성 요소를 제공함으로써 게임이 크게 확장됩니다.
기본적으로 Multi Theft Auto는 Grand Theft Auto의 최소한의 샌드 박스 스타일 게임 플레이를 제공합니다. 클라이언트 및 서버 소프트웨어에 포함 된 LUA 스크립팅 언어를 사용하여 게임 플레이를 크게 확장 할 수 있습니다. 게임을 호스팅하는 서버와 게임을하는 클라이언트는 LUA 스크립트를 실행하고 동기화 할 수 있습니다. 이 스크립트는 많은 클래스와 기능으로 구성된 다중 도난 자동차의 게임 프레임 워크 위에 놓여있어 게임을 사실상 가능한 방식으로 조정할 수 있습니다.
LUA 스크립트, 이미지, 사운드, 사용자 정의 모델 또는 텍스처와 같은 모든 게임 플레이 컨텐츠는 "리소스"로 그룹화됩니다. 이 리소스는 아카이브 (컨텐츠 포함) 및 컨텐츠 및 추가 정보 (예 : 다른 리소스의 종속성)를 설명하는 메타 데이터 파일에 지나지 않습니다.
리소스를 기반으로하는 프레임 워크를 사용하면 여러 가지 장점이 있습니다. 컨텐츠를 클라이언트 및 서버로 쉽게 전송할 수 있습니다. 또 다른 장점은 자원에서 스크립팅 기능을 가져오고 내보낼 수있는 방법을 제공 할 수 있다는 것입니다. 예를 들어, 다른 리소스가 하나 이상의 일반적인 리소스에서 (종종 기본) 기능을 가져올 수 있습니다. 그런 다음 자동으로 다운로드 및 시작됩니다. 언급할만한 또 다른 기능은 서버 관리자가 여러 가지 사용자 권한을 할당하여 특정 리소스에 대한 액세스를 제어 할 수 있다는 것입니다.
프로젝트 코드 저장소는 Github의 MultiTheftAuto/Mtasa-Blue Git 저장소에서 찾을 수 있습니다. 우리는 항상 새로운 개발자를 찾고 있으므로 관심이 있으시면 유용한 링크가 있습니다.
전제 조건
win-create-projects.bat 실행하십시오Build 디렉토리에서 MTASA.sln 엽니 다win-install-data.bat추가 정보 및 오류 문제 해결은 Wiki 기사 "MTASA 컴파일"을 방문하십시오.
X86, X86_64, ARMHF 및 ARM64 CPU 아키텍처 용 GNU/Linux 배포판에서 MTA : SA 서버를 빌드 할 수 있습니다. ARM 아키텍처는 현재 실험 단계 에 있으며, 이는 불안정하고 테스트되지 않았으며 무작위로 충돌 할 수 있음을 의미합니다. 우리는 공식적으로 x86_64의 건물 만 지원하며 x86, ARM 및 ARM64의 크로스 컴파일이 포함되어 있음을주의하십시오.
의존성을 구축하십시오
최신 빌드 종속성을 위해 항상 Dockerfiles를 읽으십시오. 참고 : MTA : SA 서버를 구축하는 데 NCFTP가 필요하지 않습니다.
구축 지침 : 스크립트
참고 : 이 스크립트는 항상 Build/ 및 Bin/ 디렉토리를 삭제하고 깨끗한 빌드를합니다.
$ ./linux-build.sh [--arch = x86 | x64 | arm | arm64] [--config = debug | release]
$ ./linux-install-data.sh # optional step 빌드 아키텍처 --arch 제공되지 않으면 환경 변수 BUILD_ARCHITECTURE (기본값 : x64)에서 가져옵니다.
빌드 구성 --config 제공되지 않으면 환경 변수 BUILD_CONFIG 에서 가져옵니다 (defaults to : release).
다른 아키텍처로 크로스 컴파일을 하려는 경우 AR , CC , CXX , GCC_PREFIX 환경 변수를 그에 따라 설정하십시오 (예는 DockerFile.Arm64 참조).
구축 지침 : 매뉴얼
$ ./utils/premake5 gmake
$ make -C Build/ config=release_x64 all
$ ./linux-install-data.sh # optional step X86_64 아키텍처의 릴리스 구성을 빌드하지 않으려면 다음 대신 다른 빌드 구성을 선택할 수 있습니다 {debug|release}_{x86|x64|arm|arm64}
필요한 종속성을 해결하는 데 문제가 있거나 최대의 호환성을 원한다면 필요한 모든 의존성을 제공하는 Dockerized 빌드 환경을 사용할 수 있습니다. 우리는 또한이 환경을 사용하여 공식 바이너리를 구축합니다.
도커 이미지를 당기고 있습니다
$ docker pull ghcr.io/multitheftauto/mtasa-blue-build:latest| 건축학 | 도커 이미지 태그 |
|---|---|
| x86_64 | 최신 |
| x86 | i386 |
| 팔 | ARMHF |
| ARM64 | ARM64 |
Docker와 함께 건물
이 예제는 현재 디렉토리가 MTASA- 블루 체크 아웃 디렉토리라고 가정합니다. 또한 /build 컨테이너 내부의 Docker 이미지에 필요한 코드 디렉토리라는 것을 알아야합니다. 현재 디렉토리가 유효한 git 저장소가 아닌 경우 대신 MTASA- 블루 리포지토리의 (얕은) 클론을 만듭니다. 컴파일 후에는 ./Bin 에서 결과 바이너리를 찾을 수 있습니다. 최적화되지 않은 디버그 빌드를 빌드하려면 Docker Run 인수에 -e BUILD_CONFIG=debug 추가하십시오.
| 건축학 | 빌드 명령 |
|---|---|
| x86_64 | docker run --rm -v `pwd`:/build ghcr.io/multitheftauto/mtasa-blue-build:latest |
| x86 | docker run --rm -v `pwd`:/build ghcr.io/multitheftauto/mtasa-blue-build:i386 |
| 팔 | docker run --rm -v `pwd`:/build ghcr.io/multitheftauto/mtasa-blue-build:armhf |
| ARM64 | docker run --rm -v `pwd`:/build ghcr.io/multitheftauto/mtasa-blue-build:arm64 |
win-create-projects.bat 실행하십시오
달리 명시되지 않는 한,이 저장소에서 호스팅 된 모든 소스 코드는 GPLV3 라이센스에 따라 라이센스가 부여됩니다. 자세한 내용은 라이센스 파일을 참조하십시오.
Grand Theft Auto 및 모든 관련 상표는 © Rockstar North 1997–2024입니다.