Skip to content

Houmgaor/mhf-iel

 
 

Repository files navigation

MHF IELess Launcher

Monster Hunter Fontier Launcher without Internet Explorer. Because IE sucks.

This project reverse engineered the MHF launcher in order to make it possible to boot the game directly, without going through mhf.exe and mhl.dll.

If you're wondering 'Why use this instead of the original launcher?', here are some of the issues that are are solved by using a custom launcher:

  • Not being locked to IE.
    • Should open a sea of possibilities on how to design the launcher.
    • Won't take 10 seconds for each request.
    • Game might boot under Linux/Steam deck when using Proton/Wine, since IE was the main reason those weren't even options.
  • Not being locked to the weird way MHF connects to the server.
    • Allows launcher operations to be implemented using with HTTP(S), JSON, custom ports, etc.
  • Not being locked to the operations and data model the original launcher uses.
    • Allows implementing new operations, such as adding separate buttons for 'Sign Up' and 'Login'.
    • Allows storing and displaying extra information. For example, it would be possible to get character portraits on the launcher window.
    • Removes the need to modify the launcher (since we're replacing it) and mhfo-hd.dll to remove GameGuard, since mhfo-hd.dll calls a function provided by the launcher to run GameGuard checks.

Usage

MHF IEL Auth Demo

Quick demo: Authenticating with the server and generating game config

Option 1: Using the Auth Tool (Recommended)

The mhf-iel-auth tool provides an interactive CLI to fetch config from your server:

# Interactive mode - prompts you for everything
mhf-iel-auth

# Or specify server and login directly
mhf-iel-auth --server http://your-server.com:8080 login

Features:

  • User-friendly prompts for username/password
  • Character selection menu
  • Automatic config.json generation
  • No Python or external dependencies
  • Works on Windows and Linux

Note: Requires a running Erupe server with API endpoints (/login, /register, /character).

Option 2: Manual Config (Development/Testing)

If calling from another Rust project, make sure it itself is targeting nightly-i686-pc-windows-msvc, and just call run with the correct parameters. The idea at the moment is that most of these parameters will be returned from the signv2server endpoints, but this might change in the future.

You can also use the CLI interface to run this project from any other program, and without the i686 limitation.

Feel free to create a ticket if you need another way to integrate this lib into your app (.dll, bindings for static linking, etc).

Build

The Windows build is recommended as it has a more direct setup, but you can use the Linux build as weel.

First, add the build target:

rustup target add i686-pc-windows-msvc

On Windows (recommended)

Simply build:

cargo build  # (optional) build the .rlib file
cargo build --package mhf-iel-cli --release  # Build the CLI .exe

On Linux (cross-compile)

Recommended: Use cargo-xwin to build the MSVC target (best compatibility):

cargo install cargo-xwin xwin
xwin --accept-license --arch x86 splat --output ~/.cache/cargo-xwin/xwin
cargo xwin build --package mhf-iel-cli --target i686-pc-windows-msvc --release

Alternative: Use GNU target (may have compatibility issues with the game's MSVC DLLs):

cargo install cross
rustup target add i686-pc-windows-gnu
cross build --package mhf-iel-cli --target i686-pc-windows-gnu --release

The output is in target/i686-pc-windows-msvc/release/ or target/i686-pc-windows-gnu/release/

About

Monster Hunter Frontier ZZ Custom Launcher without IE

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Rust 100.0%