Skip to content

Commit 6fad10d

Browse files
Synchronize changes from 1.6 master branch [ci skip]
43846e3 Update README.md 075be41 Update 'Building with Docker' README section 59a43f8 Exclude ARM from GLIBC_COMPAT 8b5ee97 Fix entrypoint in Docker image a403e7e Fix build workflow f813d74 Add missing files for Docker image 35c1af0 Fix Docker image build context path a513ec0 Add missing backslash to Dockerfile c279e63 Update client en_US pot
2 parents 1801d75 + 43846e3 commit 6fad10d

File tree

7 files changed

+76
-35
lines changed

7 files changed

+76
-35
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: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,5 +25,5 @@ jobs:
2525
- uses: docker/build-push-action@v5
2626
with:
2727
push: true
28-
file: ./utils/docker/Dockerfile
28+
context: utils/docker
2929
tags: ghcr.io/multitheftauto/mtasa-blue-build:latest

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.

premake5.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ workspace "MTASA"
6666
copy = function(p) return "{COPY} %{cfg.buildtarget.abspath} \"%{wks.location}../Bin/"..p.."/\"" end
6767

6868
if GLIBC_COMPAT then
69-
filter { "system:linux" }
69+
filter { "system:linux", "platforms:x86 or x64" }
7070
includedirs "/compat"
7171
linkoptions "-static-libstdc++ -static-libgcc"
7272
forceincludes { "glibc_version.h" }

utils/docker/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ RUN dpkg --add-architecture i386 \
2525
libncurses-dev:armhf libmysqlclient21:armhf zlib1g-dev:armhf libssl-dev:armhf g++-10-aarch64-linux-gnu \
2626
libncurses-dev:i386 libmysqlclient21:i386 zlib1g-dev:i386 libssl-dev:i386 g++-10-multilib \
2727
libncurses-dev libmysqlclient21 zlib1g-dev libssl-dev \
28-
&& apt-get upgrade -y
28+
&& apt-get upgrade -y \
2929
&& cd /tmp \
3030
&& apt-get download \
3131
libmysqlclient-dev:armhf \
@@ -68,4 +68,4 @@ COPY docker-entrypoint.sh /docker-entrypoint.sh
6868

6969
RUN chmod +x /docker-entrypoint.sh
7070

71-
ENTRYPOINT bash /docker-entrypoint.sh
71+
ENTRYPOINT ["/bin/bash", "/docker-entrypoint.sh"]

utils/docker/sources.list

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu/ focal main restricted
2+
deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu/ focal-updates main restricted
3+
deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu/ focal universe
4+
deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu/ focal-updates universe
5+
deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu/ focal multiverse
6+
deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu/ focal-updates multiverse
7+
deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse
8+
deb [arch=amd64,i386] http://security.ubuntu.com/ubuntu/ focal-security main restricted
9+
deb [arch=amd64,i386] http://security.ubuntu.com/ubuntu/ focal-security universe
10+
deb [arch=amd64,i386] http://security.ubuntu.com/ubuntu/ focal-security multiverse
11+
12+
deb [arch=armhf,arm64] http://ports.ubuntu.com/ focal main restricted
13+
deb [arch=armhf,arm64] http://ports.ubuntu.com/ focal-updates main restricted
14+
deb [arch=armhf,arm64] http://ports.ubuntu.com/ focal universe
15+
deb [arch=armhf,arm64] http://ports.ubuntu.com/ focal-updates universe
16+
deb [arch=armhf,arm64] http://ports.ubuntu.com/ focal multiverse
17+
deb [arch=armhf,arm64] http://ports.ubuntu.com/ focal-updates multiverse
18+
deb [arch=armhf,arm64] http://ports.ubuntu.com/ focal-backports main restricted universe multiverse
19+
20+
deb http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu focal main
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
-----BEGIN PGP PUBLIC KEY BLOCK-----
2+
Comment: Hostname:
3+
Version: Hockeypuck 2.2
4+
5+
xsFNBGYzeoEBEADEVzm0fPTo1KfunTjKV5ZP0Mb86Z6izCXSYbeYt/iAaIfK7a8x
6+
c13I/uAOxzjcuZHD4sQh7/22I74ignCSexoJD3PnytpZtAxNjyj3jkJpIrdFOVd4
7+
Cmua5tnEI1Av+B21YLlYYftK2wR+Z6hpsz3NyQ8URR1SCX04BOV9AGxcWb7izkV9
8+
RHu6xR4x8kAjuTObhhqw/ZR73+U9mig785qmrtapQkF/IanYj2OofqUJwosDo8YA
9+
shi01735JP9s5do4nnsb6w6xcYQ0HlGn3AxR1k4WA2CK/90QybOmVbLz7IOF3Ou3
10+
cPfoDzSxAiQemge2msJWPaQLSy/HPUivPB2uNPxkcNIHUVwbjgIig0yaN0EOsveg
11+
o1m6QvS8sm1MEA2ySl+9+q8wdqTnXbSgA3hq/5OoG4rvHD9GUAd6oRxbz/wdOU3J
12+
7BlAhEMAHgeQ9DyIzRP9lGeU3QnWNA+WFiiDrLljf+6xewe5iyqLxPqvCkFUDPCF
13+
emp2oIqeWf6l04IMtM4SJz2AnU1EvytprEEvntMvHMXlBBinw1Q5r3ES/QlPfWr4
14+
o5CUpu2P3GpZtflDe7jvccyJUMDtlqOVv7wBZPMZykjTAPQ16clGdtIqWdQSk3/b
15+
UA96RSdpM4gMGXFBGLBoAd7CptafRvPjpRnbMxs2jIxicnASfwJALEFgbQARAQAB
16+
zT9MYXVuY2hwYWQgUFBBIGZvciBQUEEgZm9yIFVidW50dSBUb29sY2hhaW4gVXBs
17+
b2FkcyAocmVzdHJpY3RlZCnCwY4EEwEKADgWIQTI7JUuKg4fvcUJD2osJ3oKNSFU
18+
5QUCZjN6gQIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAAKCRAsJ3oKNSFU5TkT
19+
EACpFJ+q0xqfAmRF1886cgtVw+ruJTqfsxdj7ms1os3/I5VXLhPMbUg56mtK9Okj
20+
0Nf9rY5bnDagJobjtS2JgzMbYWXocPJuwK6ZvmMD5tFSsTov19R3SyIT2x3JAy7S
21+
/LNWqVeZS41RtM8uSu56PhghE7aAP9PigFTI3CUargpx1DQh6xiHKRR57ZMrLcd4
22+
l6tj8yb4Hl+OeFRQMcoim696lPMSqzVtJ0epP7yNsz2LFaRmkRP/hf+S4JlSs8uC
23+
wzAl9eJR2h1v1WoBr0pAW2gjjd8VyKWhaKjneicJPqo5GDvhDl+lbrpqSwSHENlH
24+
DVyC+XvAjvTf4JhTQE/M1L/sGrqqa65n+WF4ZqauiDvn1bUw0vnL0oaiK/hyH1YG
25+
XW7khJ7JDlw/6LFNZ6Ih0UuVRTzVBBBz3Sipw5hgM9ztKEYLMI5zlwWGlhEjMnxD
26+
X5WauIUWjPv3dKQp1qTthN7Fgv3/2J6j+2/tMAfWeWB1tL8H4lVPUCfcpQpkTP/E
27+
HTnB3oaRiYy6GDuGKsNkhEUvlV2AnVAxO17IN5QQ2lMQ261zaPj9y9v1oCQlzGfm
28+
UKRJWFGbsooapdm7DTrqrfO+zyRXWPe6GRnYlmeXTRWi8CEIXpCkhhf8rma8KNnW
29+
S96jsTSU97Lo0hnIbL+4o3qf2BiYcfIwfoIXzUaj5ajGEA==
30+
=CwJW
31+
-----END PGP PUBLIC KEY BLOCK-----

0 commit comments

Comments
 (0)