Repository navigation
fix(mods): resolve AMX Mod X packages from the latest 1.10 build - #5119
Merged
dgibbs64 merged 4 commits intoOct 31, 2026
Merged
Conversation
9 of 17 tasks
# Conflicts: # lgsm/modules/mods_list.sh
1 task done
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
AMX Mod X 1.9.0-git5303 requests an executable stack, which prevents
amxmodx_mm_i386.sofrom loading with newer glibc. Resolve the latest Linux build from the upstream 1.10 base marker once whenmods-installormods-updateloadsmods_list.shand use that same version for the base, cstrike, dod, tfc, ns and ts archives. This follows the upstream executable-stack fix in alliedmodders/amxmodx@460d963 without pinning a build number.Only
cs,dod,tfc,ns,tsandhldmquery the marker during installation or updates.mods-removeuses the local manifests and static metadata without querying AMX Mod X. HTTP/network failures and invalid or empty filenames produce console and log errors and exit with status 1. Existing addon entries, compatibility filters, dependencies and configuration preservation remain unchanged, as do Metamod and all other mods.Fixes #5114
Fixes #4525
Related to #5115, which fixes the same issue by pinning the current build.
Affected servers: cs, dod, tfc, ns, ts, hldm
Type of change
Testing
for file in lgsm/modules/{mods_list,mods_core,command_mods_install,command_mods_update,command_mods_remove}.sh; do bash -n "$file"; doneshellcheck lgsm/modules/{mods_list,mods_core,command_mods_install,command_mods_update,command_mods_remove}.sh--check lgsm/modules/mods_list.sh, using the lockfile versions (Prettier 3.4.2 and prettier-plugin-sh 0.14.0) and the repository's formatting settings.bash .github/scripts/version-check.shandgit diff --check.python3 /tmp/linuxgsm-amxx-5114.ukyXe9/check_amxx.py): source the real modules with mocked HTTP responses; verify one lookup for each supported game, two synthetic build versions, all six package URLs, unchanged metadata, no AMXX requests for the other 140 server configurations, 12 invalid/empty responses and four curl errors, and a fresh resolution on each list load.mods-installand sixmods-updatecommand flows with synthetic extracted archives in temporary directories. Checks include installed files, base plugin registration, shared versions, preserved custom configurations, and aborting install/update before downloads on marker failure.mods-removeflows covering base and game addons with an unavailable upstream. All succeed with zero AMXX requests; the owned files, file lists and installed-mod entries are removed while an unrelated file is preserved. Install/update resolution and error handling still pass.python3 /tmp/linuxgsm-amxx-5114.ukyXe9/check_live.py): resolve the marker with the changed module, download all six archives usingcurl --fail, validate their tar contents and inspect the base binary withreadelf -W -l.1.10.0-git5487; all six archives returned HTTP 200. The baseamxmodx_mm_i386.sohasGNU_STACKpermissionsRW, without execute permission.Half-Life: DeathmatchversusHalf Life: Deathmatchcompatibility-name mismatch was left unchanged; the hldm command-flow test covers updating an existing base installation.Risk and rollback
Breaking changes
Documentation
Checklist
🤖 Generated with OpenAI Codex.