Garry's Mod 64-bit Server Update: What Owners Must Check

Published on

Garry's Mod's September 2026 update gave Windows servers 64-bit builds on every branch. What it means for binary modules, sv_pure, logs and Linux servers.

Garry's Mod sandbox scenes with props, a flying car and player models in a blue tint

Garry's Mod's September 2026 update, released on 16 September, ships 64-bit builds of the Windows dedicated server on every branch, so a Windows server no longer needs the x86-64 beta to run as a 64-bit process. The part that breaks servers is binary modules: a 64-bit server needs the 64-bit build of every module in garrysmod/lua/bin, such as gmsv_mysqloo_win64.dll instead of gmsv_mysqloo_win32.dll, so check that folder before you switch.

Everything below comes from Facepunch's update announcement, the full changelog and the Garry's Mod wiki, read on 25 October 2026. Linux servers are a different story, and they get their own section.

What the September 2026 Update Changed

Facepunch's headline: the update "brings 64-bit binaries for the Windows game client, dedicated servers and most developer tools, such as Hammer, to every version of the game." The reason they give is memory: there is "less risk of running out of the 32-bit memory address space and subsequently crashing when playing on heavy servers or with a lot of addons installed."

For server owners, these points from the announcement and changelog matter most:

  • The update was backwards compatible. Before release, Facepunch wrote that servers "will not need immediate updating and players can still join old servers" (pre-release notice).
  • Windows servers also get srcds_console.exe, a version of srcds.exe that reuses the existing console window instead of opening a new one.
  • The 17 September hotfix fixed addons with unusual file names that refused to mount on Linux dedicated servers.
  • A set of convar, log and cache changes, listed further down, applies to every server that updated.

Check Which Build Your Server Runs

Type this in the server console:

lua_run print(jit.os, jit.arch)

It prints the operating system and the architecture, for example Linux x86 for a 32-bit Linux server or Windows x64 for a 64-bit Windows one. The wiki documents jit.arch as x86 or x64 in Garry's Mod (jit.arch). Do not rely on the BRANCH variable for this: on the server side it is only defined on local servers, not on dedicated ones (BRANCH).

Linux Servers and the x86-64 Branch

Facepunch's notes only cover Windows: the changelog says the 64-bit builds of the client, Hammer and dedicated server "are now available on Windows". Nothing in the update says a Linux dedicated server on the default branch is 64-bit now, so do not assume it switched. The wiki's module table still marks the x86-64 beta branch as required for 64-bit modules (checked 25 October 2026), but it says the same for Windows, which the update changed, so it is a hint rather than proof. The jit.arch check above tells you for certain.

If you manage the install yourself with SteamCMD, the branch is part of the update command (Downloading a Dedicated Server):

app_update 4020 -beta x86-64 validate

To go back to the normal branch, run the update with -beta public. Leaving out the -beta parameter is not enough, because SteamCMD keeps updating to the last beta you activated:

app_update 4020 -beta public validate

On a hosted server the host usually runs that update for you, so ask support which branch your install uses before changing anything yourself. On ours, that is a question for live chat.

Binary Modules: The Part That Breaks

Binary modules are compiled libraries that Lua loads with require, for things like MySQL connections or HTTP requests. They have to sit directly in garrysmod/lua/bin/. They cannot be shipped inside an addon, which Facepunch describes as a safety measure, because modules can harm the system (require).

Each platform and architecture has its own file name (Creating Binary Modules):

Server platformModule file name
Windows, 32-bitgmsv_example_win32.dll
Windows, 64-bitgmsv_example_win64.dll
Linux, 32-bitgmsv_example_linux.dll
Linux, 64-bitgmsv_example_linux64.dll

The Linux files are .so libraries renamed to .dll, and require("example") picks the right one by itself. Because the names differ, the 32-bit and 64-bit files can sit next to each other in lua/bin, which means you can install both and move between builds without touching the folder again.

If the build your server runs is missing, require fails, and every addon that depends on the module breaks with it: database saves, logging to an external database, HTTP calls to a Discord bot or a web panel. These are the release pages of common server modules, checked on 25 October 2026:

ModuleLatest release64-bit server builds
MySQLOO9.7.6, 1 September 2022 (9.8.0 in beta)Yes, win64 and linux64
reqwest4.0.1, 3 October 2026Yes, win64 and linux64
CHTTP1.11.2, 24 June 2026Yes, win64 and linux64
serversecure1.5.43-rc2, 2 May 2026No, only win32 and linux
tmysql4R1.02, 1 January 2017No, only win32 and linux

The steps before a switch:

  1. Connect over SFTP or open the file manager and list garrysmod/lua/bin/.
  2. For every file ending in _win32.dll or _linux.dll, download the matching _win64.dll or _linux64.dll from that module's own release page, never from a re-upload.
  3. Put the new files next to the old ones and restart the server.
  4. Watch the console during startup for module load errors, then test the features that use each module.

A module without a 64-bit build keeps your server on 32-bit until its author ships one, or until you replace it. tmysql4 has had no release since 2017, so a server that still uses it is better off moving to MySQLOO, which the addon has to support.

Convars, Logs and Files That Changed

These changes came with the September update (changelog):

  • sv_pure: the changelog says it "Prevented sv_pure defaulting to mode 0, and dedicated servers trying to read files we don't ship every server startup". If players with custom client files start getting warnings or kicks, check your sv_pure setting first. sv_pure_kick_clients defaults to 1, which kicks clients with mismatching files; at 0 they only get a warning (ConVars).
  • Log file names changed from LMMDDIII to L-YYYY-MM-DD-III. Scripts that parse or rotate your logs by file name need updating.
  • sv_log_storetime is new and defaults to 0. It sets how many hours log files in /logs/ are kept.
  • sv_logdownloadlist now defaults to 0, so the server stops writing files into garrysmod/DownloadLists/.
  • Lua error logs are deleted once they grow past 100 MB.
  • Workshop cache: dedicated servers now clean cache/workshop/ of addons that are no longer installed.
  • Removed convars: con_logfile, sv_no_ain_files (.nav and .ain files are no longer sent to clients automatically) and sv_unlockedchapters. Take them out of your server.cfg.
  • sv_loadingurl and sv_skyname are no longer saved between sessions, so set your loading screen URL in server.cfg.
  • For addon developers: Lua can no longer change various convars that save between sessions, and resource.AddWorkshop now stops on empty or too short input. An addon that relied on either needs a fix from its author.

Why 64-bit Matters on Big Servers

A 32-bit process can address at most 4 GB of memory, however much RAM the machine has. That ceiling is what Facepunch refers to: on a heavy server with a large Workshop collection, a 32-bit srcds can run out of address space and crash while the machine still has memory free. A 64-bit server removes that limit.

The practical rule follows from it: one 32-bit srcds process cannot use more than 4 GB, so memory above that mostly pays off on a server that runs the 64-bit build. Check with the lua_run line above before you pay for more memory.

Test Before You Switch the Live Server

Facepunch asked owners to test the update on a beta branch before release, and the same approach works for the 64-bit switch:

  1. Set up a second install on the branch you want, such as x86-64.
  2. Copy over garrysmod/addons, garrysmod/data, garrysmod/settings, garrysmod/cfg and garrysmod/lua/bin, with the 64-bit modules added.
  3. Start it, join, and go through the features players use most: saving, jobs, shops, admin tools.
  4. Report engine bugs on Facepunch's garrysmod-issues tracker, as their announcement asks.

Workshop addons do not need copying if the test server uses the same collection, and our Workshop and FastDL guide covers why a collection silently fails when it is not set to Public.

What Is Coming in the Next Update

The next update is already on the dev branch, and its preview changelog lists these server-relevant items. As of 25 October 2026 there is no release date:

  • 64-bit becomes the default for the Windows game client, with -force32bit to go back.
  • Dedicated servers can load Workshop IDs from a file instead of a Steam Workshop collection.
  • The Workshop cache cleanup moves to the right folder, cache/srcds/ instead of cache/workshop/.
  • A new p2p_force_reliable convar can force all network messages through the reliable channel.
  • A crash with SourceTV/HLTV is fixed.

The update before September, in April 2026, made Black Mesa and Military Conflict: Vietnam mountable; our April 2026 update post covers that.

Running GMod With Us

Our Garry's Mod server hosting runs from €2.20 a month for 2 GB to €10.20 for 10 GB in Europe, with Workshop collections set from the panel, DDoS protection and NVMe storage in 9 regions. You get SFTP and a file manager for lua/bin, and a live console in the panel for the checks above.

FAQ

Is the Garry's Mod dedicated server 64-bit now? On Windows, 64-bit builds of the dedicated server have been available on every branch since the update of 16 September 2026. For Linux, Facepunch's notes say nothing about 64-bit servers on the default branch, and the wiki still lists the x86-64 beta branch as required for 64-bit modules (checked 25 October 2026). Run lua_run print(jit.os, jit.arch) in the console to see what your server runs.

Where do Garry's Mod binary modules go? Directly in garrysmod/lua/bin/. They cannot be loaded from inside an addon, which Facepunch treats as a safety measure.

How do I tell a 64-bit module from a 32-bit one? By the end of the file name: _win64.dll and _linux64.dll are 64-bit, _win32.dll and _linux.dll are 32-bit.

Does MySQLOO work on a 64-bit server? Yes. Its latest stable release, 9.7.6, includes gmsv_mysqloo_win64.dll and gmsv_mysqloo_linux64.dll, next to the 32-bit builds.

Why do my server's log files have different names? The September 2026 update changed the default log file name from LMMDDIII to L-YYYY-MM-DD-III. Tools that read your logs by name need the new pattern.

Related guides: GMod Workshop collections and FastDL, GMod's April 2026 update