Skip to content

Jaredl-Dev/GenLauncherGO

 
 

Repository files navigation

GenLauncherGO

GenLauncherGO is a Windows mod management utility and launcher for Command & Conquer: Generals and Zero Hour using the SuperHackers and GeneralsOnline community clients.

It downloads, installs, updates, and launches supported mods, patches, and add-ons while keeping the supported game installation as clean as possible. This repository is a fork of the original GenLauncher project.

What It Does

  • Manages supported mods, patches, add-ons, and manually added content.
  • Runs multiple supported mods from a single clean game directory.
  • Stores launcher data, mods, logs, cache, and temporary files under one GenLauncherGO folder.
  • Temporarily deploys the selected mod at launch using hard links where possible, with copy fallback.

Requirements

  • Windows 10 or 11.
  • A clean, supported Generals or Zero Hour game installation.
  • A game directory writable by the current Windows user. Avoid protected locations such as C:\Program Files or C:\Program Files (x86) unless you plan to run GenLauncherGO as administrator.
  • NTFS is recommended for best launch performance because it supports hard links. GenLauncherGO falls back to copying files when hard links cannot be created.
  • No other mods, add-ons, or custom files in the game directory.
Client Executable
TheSuperHackers Generals generalsv.exe
TheSuperHackers Zero Hour generalszh.exe
GeneralsOnline generalsonlinezh.exe

World Builder support is optional.

World Builder Executable
Original World Builder WorldBuilder.exe
TheSuperHackers Generals worldbuilderv.exe
TheSuperHackers Zero Hour worldbuilderzh.exe

Running GenLauncherGO on non-Windows operating systems has not been tested and is not officially supported.

Quick Start

  1. Start with a clean supported Generals or Zero Hour installation.
  2. Add the supported client executable you want GenLauncherGO to launch.
  3. Optional: add a supported World Builder executable.
  4. Place GenLauncherGO.exe directly in the game directory or in a GenLauncherGO subfolder inside the game directory.
  5. Run GenLauncherGO.exe.
  6. Download or add mods, patches, and add-ons.
  7. Select the mod, game client, and optional World Builder, then launch.

GenLauncherGO temporarily deploys the required mod files into the game directory, launches the game or World Builder, and cleans up deployed files after the launched process closes.

Launcher Folder Layout

GenLauncherGO creates and uses one launcher-owned folder in the game directory.

Path Purpose
GenLauncherGO\GenLauncherGO.exe Self-contained launcher executable layout
GenLauncherGO\LauncherPreferences.yaml Launcher settings
GenLauncherGO\Mods Installed mods, patches, and add-ons
GenLauncherGO\Runtime\Cache\Images\<name> Downloaded or user-selected images
GenLauncherGO\Runtime\Deployment Active deployment manifests, journals, locks, and backups used for cleanup and recovery
GenLauncherGO\Runtime\Temp Temporary download and install staging, cleared on startup
GenLauncherGO\Logs Rolling diagnostic logs, kept at the launcher root so users can find them easily

Development

Build the solution from the repository root:

dotnet build GenLauncherGO.sln

Run the WPF project:

dotnet run --project ./GenLauncherGO.UI/GenLauncherGO.UI.csproj

For a full launcher UI session, the executable must run from a supported game directory or from a GenLauncherGO subfolder directly inside one. Otherwise the startup validation will ask you to move the launcher.

Run tests:

dotnet test GenLauncherGO.sln

Generate local test coverage:

dotnet msbuild ./eng/coverage.proj -target:Coverage

The coverage workflow uses Coverlet's VSTest collector and ReportGenerator to write an HTML report to artifacts/coverage/index.html. The runsettings file excludes test assemblies, generated WPF files, resource wrappers, and build output so the report focuses on application code in GenLauncherGO.Core, GenLauncherGO.Infrastructure, and GenLauncherGO.UI.

Publish the Release single-file Windows executable:

dotnet publish ./GenLauncherGO.UI/GenLauncherGO.UI.csproj -c Release -r win-x64 --self-contained true -o ./publish

The Release publish output is intended to contain GenLauncherGO.exe as the distributable launcher executable.

Support

Please use the GeneralsOnline Discord for bug reports, feature requests, support, and community discussion.

Contributing

Contributions are welcome. Fork the repository, create a branch, make your updates, test them, and open a pull request with a clear description.

Credits

  • p0ls3r - Original creator of GenLauncher, which this fork is based on.
  • x64-dev - Originator of GenLauncherGO, a fork of GenLauncher, and creator of GeneralsOnline.
  • Jaredl-Dev - Key contributor to GenLauncherGO, responsible for a major rewrite and overhaul.

Donation

Want to support the original creator of GenLauncher? You can donate through Boosty.

Disclaimer

GenLauncherGO is a community-developed tool intended for use with TheSuperHackers community fork and GeneralsOnline. It is not created by, endorsed by, or affiliated with Electronic Arts, GeneralsOnline, or any other rights holder unless explicitly stated.

This rewrite and fork began as a personal project and is being shared as a temporary solution for the community while GenHub continues to mature and work toward becoming the stable, community-standard launcher. GenLauncherGO is therefore not presented as a perfect, permanent, or definitive solution.

AI-assisted development tools were used during parts of the rewrite and feature-development process. AI-generated code was not accepted without review; all resulting code and changes were manually examined, adjusted where necessary, and thoroughly tested before inclusion.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C# 100.0%