Skip to content

Commit f2e84a2

Browse files
authored
Merge branch 'master' into refactor/enums_commonh
2 parents 996cedc + fd955a8 commit f2e84a2

31 files changed

+4478
-4378
lines changed

.github/workflows/build.yaml

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -70,15 +70,10 @@ jobs:
7070
strategy:
7171
matrix:
7272
architecture: [x64, arm64]
73-
include:
74-
- architecture: x64
75-
image-tag: latest
76-
- architecture: arm64
77-
image-tag: arm64
7873
name: linux-${{ matrix.architecture }}
7974
runs-on: ubuntu-latest
8075
container:
81-
image: docker://ghcr.io/multitheftauto/mtasa-blue-build:${{ matrix.image-tag }}
76+
image: docker://ghcr.io/multitheftauto/mtasa-blue-build:latest
8277
steps:
8378
- uses: actions/checkout@v4
8479

.github/workflows/dockerimage.yaml

Lines changed: 3 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -8,25 +8,10 @@ on:
88
paths:
99
- '.github/workflows/build.yaml'
1010
- '.github/workflows/dockerimage.yaml'
11-
- 'utils/compat/**'
12-
- 'Dockerfile'
13-
- 'Dockerfile.i386'
14-
- 'Dockerfile.armhf'
15-
- 'Dockerfile.arm64'
11+
- 'utils/docker/**'
1612

1713
jobs:
1814
build:
19-
strategy:
20-
matrix:
21-
include:
22-
- tag: latest
23-
dockerfile: Dockerfile
24-
- tag: i386
25-
dockerfile: Dockerfile.i386
26-
- tag: armhf
27-
dockerfile: Dockerfile.armhf
28-
- tag: arm64
29-
dockerfile: Dockerfile.arm64
3015
if: github.event.repository.fork == false
3116
runs-on: ubuntu-latest
3217
steps:
@@ -40,5 +25,5 @@ jobs:
4025
- uses: docker/build-push-action@v5
4126
with:
4227
push: true
43-
file: ./${{ matrix.dockerfile }}
44-
tags: ghcr.io/multitheftauto/mtasa-blue-build:${{ matrix.tag }}
28+
context: utils/docker
29+
tags: ghcr.io/multitheftauto/mtasa-blue-build:latest

Dockerfile

Lines changed: 0 additions & 32 deletions
This file was deleted.

Dockerfile.arm64

Lines changed: 0 additions & 35 deletions
This file was deleted.

Dockerfile.armhf

Lines changed: 0 additions & 35 deletions
This file was deleted.

Dockerfile.i386

Lines changed: 0 additions & 32 deletions
This file was deleted.

README.md

Lines changed: 20 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,6 @@
44

55
[Multi Theft Auto](https://www.multitheftauto.com/) (MTA) is a software project that adds network play functionality to Rockstar North's Grand Theft Auto game series, in which this functionality is not originally found. It is a unique modification that incorporates an extendable network play element into a proprietary commercial single-player PC game.
66

7-
> **Note**
8-
> If you're a fork developer, please read this note carefully. We have changed the default build type back to *CUSTOM* in `Shared/sdk/version.h`. If you're developing without the anti-cheat in mind, say in the Debug configuration, this doesn't affect you at all. Now, if you plan to test your custom client with anti-cheat enabled, you should change your build type to `UNTESTED`. If you want to publish a release of your custom client, you must switch to a *fork support* hardened release of `netc.dll`.
9-
> Please read our [Forks_Full_AC](https://wiki.multitheftauto.com/wiki/Forks_Full_AC) wiki page for more information.
10-
117
## Introduction
128

139
Multi Theft Auto is based on code injection and hooking techniques whereby the game is manipulated without altering any original files supplied with the game. The software functions as a game engine that installs itself as an extension of the original game, adding core functionality such as networking and GUI rendering while exposing the original game's engine functionality through a scripting language.
@@ -58,13 +54,10 @@ You can build the MTA:SA server on GNU/Linux distributions only for x86, x86_64,
5854

5955
**Build dependencies**
6056

61-
*Please always read the Dockerfiles for up-to-date build dependencies.*
62-
*Note: ncftp is not required for building the MTA:SA server.*
57+
*Please always read the utils/docker/Dockerfile for up-to-date build dependencies.*
6358

64-
- git
6559
- make
6660
- GNU GCC compiler (version 10 or newer)
67-
- libncursesw6
6861
- libncurses-dev
6962
- libmysqlclient-dev
7063

@@ -73,15 +66,17 @@ You can build the MTA:SA server on GNU/Linux distributions only for x86, x86_64,
7366
**Note:** This script always deletes `Build/` and `Bin/` directories and does a clean build.
7467

7568
```sh
76-
$ ./linux-build.sh [--arch=x86|x64|arm|arm64] [--config=debug|release]
69+
$ ./linux-build.sh [--arch=x86|x64|arm|arm64] [--config=debug|release] [--cores=<n>]
7770
$ ./linux-install-data.sh # optional step
7871
```
7972

8073
If build architecture `--arch` is not provided, then it's taken from the environment variable `BUILD_ARCHITECTURE` (defaults to: x64).
8174

8275
If build configuration `--config` is not provided, then it's taken from the environment variable `BUILD_CONFIG` (defaults to: release).
8376

84-
If you are trying to **cross-compile** to another architecture, then set `AR`, `CC`, `CXX`, `GCC_PREFIX` environment variables accordingly (see Dockerfile.arm64 for an example).
77+
If the number of jobs `--cores` is not provided, then the build will default to the amount of CPU cores.
78+
79+
If you are trying to **cross-compile** to another architecture, then set `AR`, `CC`, `CXX`, `GCC_PREFIX` environment variables accordingly (see `utils/docker/Dockerfile` for an example).
8580

8681
**Build instructions: Manual**
8782

@@ -103,23 +98,23 @@ If you have problems resolving the required dependencies or want maximum compati
10398
$ docker pull ghcr.io/multitheftauto/mtasa-blue-build:latest
10499
```
105100

106-
| Architecture | Docker image tag |
107-
| ------------ | ---------------- |
108-
| x86_64 | latest |
109-
| x86 | i386 |
110-
| arm | armhf |
111-
| arm64 | arm64 |
112-
113101
**Building with Docker**
114102

115-
These examples assume that your current directory is the mtasa-blue checkout directory. You should also know that `/build` is the code directory required by our Docker images inside the container. If the current directory is not a valid git repository, it instead create a (shallow) clone of the mtasa-blue repository. After compiling, you will find the resulting binaries in `./Bin`. To build the unoptimised debug build, add `-e BUILD_CONFIG=debug` to the docker run arguments.
103+
These examples assume that your current directory is the mtasa-blue checkout directory. You should also know that `/build` is the code directory required by our Docker image inside the container. After compiling, you will find the resulting binaries in `./Bin`. To build the unoptimised debug build, add `--config=debug` to the docker run arguments.
104+
105+
```sh
106+
# x86_64
107+
docker run --rm -v `pwd`:/build ghcr.io/multitheftauto/mtasa-blue-build:latest --arch=x64
108+
109+
# x86
110+
docker run --rm -v `pwd`:/build ghcr.io/multitheftauto/mtasa-blue-build:latest --arch=x86
116111

117-
| Architecture | Build command |
118-
| ------------ | -------------------------------------------------------------------------------------- |
119-
| x86_64 | ``` docker run --rm -v `pwd`:/build ghcr.io/multitheftauto/mtasa-blue-build:latest ``` |
120-
| x86 | ``` docker run --rm -v `pwd`:/build ghcr.io/multitheftauto/mtasa-blue-build:i386 ``` |
121-
| arm | ``` docker run --rm -v `pwd`:/build ghcr.io/multitheftauto/mtasa-blue-build:armhf ``` |
122-
| arm64 | ``` docker run --rm -v `pwd`:/build ghcr.io/multitheftauto/mtasa-blue-build:arm64 ``` |
112+
# arm
113+
docker run --rm -v `pwd`:/build ghcr.io/multitheftauto/mtasa-blue-build:latest --arch=arm
114+
115+
# arm64
116+
docker run --rm -v `pwd`:/build ghcr.io/multitheftauto/mtasa-blue-build:latest --arch=arm64
117+
```
123118

124119
### Premake FAQ
125120

@@ -131,4 +126,4 @@ Execute `win-create-projects.bat`
131126

132127
Unless otherwise specified, all source code hosted on this repository is licensed under the GPLv3 license. See the [LICENSE](./LICENSE) file for more details.
133128

134-
Grand Theft Auto and all related trademarks are © Rockstar North 1997–2024.
129+
Grand Theft Auto and all related trademarks are © Rockstar North 1997–2025.

0 commit comments

Comments
 (0)