Summary
Currently, players who want to use client-side mods (ASI plugins, CLEO scripts, custom textures/models) have to manually copy files in and out of their GTA:SA directory, with no way to manage conflicts, enable/disable per server type, or ensure they have the correct mods installed for a given server.
A built-in Mod Manager tab inside the launcher would solve this completely.
Problem
• Players manually manage .asi, .cs, .txd, .dff files by copy-pasting in Windows Explorer
• No way to quickly disable a mod that conflicts with a specific server
• No profiles — a player who plays both Roleplay and Stunt servers needs completely different mod setups, but has to do this manually
• No visibility into what mods are currently active before joining
Proposed Solution
Add a Mod Manager tab to the launcher with the following capabilities:
- GTA:SA directory detection
Automatically scan common installation paths on launch:
• C:\Program Files\Rockstar Games\GTA San Andreas
• C:\Program Files (x86)\Rockstar Games\GTA San Andreas
• Steam path via registry key HKLM\SOFTWARE\Valve\Steam
• Manual path override in Settings
- Mod list with enable/disable toggles
Display all detected client mods with:
• File name, type badge (ASI / CLEO / TXD / MODEL), size, destination folder
• Enable/disable toggle (moves file to/from a .disabled subfolder — non-destructive)
• Delete button with confirmation
- Mod installation via drag & drop
• Accept .asi, .cs, .cm, .txd, .dff, .img files
• Auto-detect correct destination folder based on extension:
• .asi → / or /modloader/ if modloader is present
• .cs / .cm → /cleo/
• .txd → /models/txd/
• .dff → /models/dff/
• Show confirmation dialog with editable destination before copying
- Mod Profiles
• Save named sets of enabled/disabled mods (e.g. “Roleplay”, “Stunt”, “Clean”)
• Switch profiles with one click before joining a server
• Profiles stored in launcher’s existing config storage
Why this belongs in the launcher
The launcher already knows the GTA:SA path, already handles file system operations (font copying, client version selection), and is the single point of entry before the game starts. A mod manager fits naturally here and removes the need for third-party tools like Mod Loader UI or manual file management.
This is a quality-of-life feature that directly improves the new-player experience — one of the most common frustrations in the community is mods breaking servers or vice versa.
Implementation notes
• Backend: Rust std::fs for file operations (already used in the project)
• Frontend: New tab in the existing NavBar component (React/TypeScript)
• Non-destructive: disabled mods go to <mod_folder>/.disabled/, never deleted automatically
• No external dependencies needed
Prior art
Similar implementations in other game launchers:
• Minecraft Forge launcher — mod enable/disable per profile
• KnightLauncher (open source) — drag & drop mod install with toggle
• Garry’s Mod workshop — per-server addon management
Willingness to contribute
I am willing to implement this feature and submit a PR if the team agrees it fits the project scope. I’d appreciate feedback on the preferred approach before investing time in the implementation.
Summary
Currently, players who want to use client-side mods (ASI plugins, CLEO scripts, custom textures/models) have to manually copy files in and out of their GTA:SA directory, with no way to manage conflicts, enable/disable per server type, or ensure they have the correct mods installed for a given server.
A built-in Mod Manager tab inside the launcher would solve this completely.
Problem
Proposed Solution
Add a Mod Manager tab to the launcher with the following capabilities:
Automatically scan common installation paths on launch:
• C:\Program Files\Rockstar Games\GTA San Andreas
• C:\Program Files (x86)\Rockstar Games\GTA San Andreas
• Steam path via registry key HKLM\SOFTWARE\Valve\Steam
• Manual path override in Settings
Display all detected client mods with:
• File name, type badge (ASI / CLEO / TXD / MODEL), size, destination folder
• Enable/disable toggle (moves file to/from a .disabled subfolder — non-destructive)
• Delete button with confirmation
• Accept .asi, .cs, .cm, .txd, .dff, .img files
• Auto-detect correct destination folder based on extension:
• .asi → / or /modloader/ if modloader is present
• .cs / .cm → /cleo/
• .txd → /models/txd/
• .dff → /models/dff/
• Show confirmation dialog with editable destination before copying
• Save named sets of enabled/disabled mods (e.g. “Roleplay”, “Stunt”, “Clean”)
• Switch profiles with one click before joining a server
• Profiles stored in launcher’s existing config storage
Why this belongs in the launcher
The launcher already knows the GTA:SA path, already handles file system operations (font copying, client version selection), and is the single point of entry before the game starts. A mod manager fits naturally here and removes the need for third-party tools like Mod Loader UI or manual file management.
This is a quality-of-life feature that directly improves the new-player experience — one of the most common frustrations in the community is mods breaking servers or vice versa.
Implementation notes
Prior art
Similar implementations in other game launchers:
• Minecraft Forge launcher — mod enable/disable per profile
• KnightLauncher (open source) — drag & drop mod install with toggle
• Garry’s Mod workshop — per-server addon management
Willingness to contribute
I am willing to implement this feature and submit a PR if the team agrees it fits the project scope. I’d appreciate feedback on the preferred approach before investing time in the implementation.