Skip to content

Remove 32-bit server support & enforce W10+#4977

Open
Lpsd wants to merge 8 commits into
multitheftauto:masterfrom
Lpsd:nuke-32-plus-nt6
Open

Remove 32-bit server support & enforce W10+#4977
Lpsd wants to merge 8 commits into
multitheftauto:masterfrom
Lpsd:nuke-32-plus-nt6

Conversation

@Lpsd

@Lpsd Lpsd commented Jun 22, 2026

Copy link
Copy Markdown
Member

Summary

This PR removes 32-bit server support from the build system in preparation for the EHS to cpp-httplib replacement (#4940).

Changes include dropping Linux x86 server platforms, removing Windows 32-bit server project builds, bumping the server minimum Windows version to 10, and cleaning up dead code for pre-Win10 OS compatibility paths in the client.

Motivation

cpp-httplib does not officially support 32-bit platforms.
Rather than maintain unsupported configurations we are dropping 32-bit server builds entirely, see additional reasoning: #4940 (comment)
The client remains 32-bit (obviously) and the installer gate for pre-Win10 is already in place for 1.7 release.
This cleanup ensures no 32-bit server binaries are built going forward.

Test plan

Verified that premake5 generates correct project files for both Windows (x86 x64 arm64) and Linux (x64 arm arm64) without the x86 Linux platform.
Confirmed that Windows x86 builds still compile the client while server projects are excluded via ExcludeFromBuild.
The server launcher now checks for Windows 10 or later at startup and the installer no longer offers the 32-bit server executable or Win7 SHA2 KB patches.

Checklist

  • Your code should follow the coding guidelines.
  • Smaller pull requests are easier to review. If your pull request is beefy, your pull request should be reviewable commit-by-commit.

Comment thread Client/core/CSettings.cpp
@Disinterpreter

Copy link
Copy Markdown
Member

It will introduce several issues for our MTA AMX project https://github.com/multitheftauto/amx:

  1. amx module currently supports and were tested only on 32-bit mta server. Adding 64-bit binaries after possible tweaks for 64-bit environment can be done as extra work, but ->
  2. ALL samp plugins ever made are 32-bit (since there were always only 32-bit samp server) and will lost their current support. And this is crucial, because MTA AMX aim is to run both unmodified pawn scripts and unmodified samp plugins, and the first usually relies on the second as on core dependencies to properly work

One more minor point is that there's currently an easy way to install MTA AMX project for any samp scripter who can just download mta client with 32-bit server built in into the shared installer. Ditching 32-bit mta server will probably require excluding it from the client installer too

File "${SERVER_FILES_ROOT}\core.dll"
File "${FILES_ROOT}\mta\xmll.dll"
File "${SERVER_FILES_ROOT}\MTA Server.exe"
File "${SERVER_FILES_ROOT}\net.dll"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The other x86 files in SERVER_FILES_ROOT should also be removed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants