Play on Hunsterverse

Pick your path. Each one is a checklist: tick a step when it is done and this browser remembers it. Every step has one download, and the server settings have a copy button.

New on Windows

Windows 10 or 11, 64-bit, about 8 GB free. If something goes wrong, open Troubleshooting below the steps.

  1. The folder Monster Hunter Frontier Online, about 5.5 GB. It comes from a community Google Drive folder, not from us, and the folder also holds server files you do not need.

    Client (Google Drive)
  2. Copy, do not move, so that dat and mhf.exe sit directly inside. Not in Program Files. Add the antivirus exclusion before you patch: mhf.exe is the file most often flagged, and a quarantine in the middle of a copy leaves a half patched install.

  3. Unzip Frontier_Patch.zip (50.9 MB) over the game folder. The launcher cannot fetch it on a connection slower than about 3 MB/s. A PowerShell script that also backs up the files it replaces is in Apply the patch with a script below.

    Frontier_Patch.zip
  4. Extract it so that Mezeporta.exe sits next to dat, not in a subfolder. The launcher is by LilButter (GPL-2.0, original); this is our build with a longer patch download timeout, for slow connections (our source).

    Mezeporta-Windows.zip (1.5.4-hv1)
  5. The game is 32-bit, so the x86 package is the one that matters.

    vc_redist.x86.exe
  6. Windows 10 and 11 do not ship the old D3DX libraries; without them you get "d3dx9_43.dll was not found".

    DirectX runtime
  7. Windows may say "Windows protected your PC": the launcher is not code-signed. Choose More info, then Run anyway, only for the file from the releases page above.

  8. FieldValueCopy
    NameHunsterverse
    Host129.213.54.221
    Launcher Port8080
    Game Port53310
    ModeAPI (the default)
    VersionZZ

    If API mode will not log in, use Launcher Port 53312 and Mode SignV1: it plays the same, without the news and banners.

  9. Make it on this site (you can do this first, before installing anything), or press REGISTER in the launcher: both make the same kind of account. The username is case-sensitive: Hunter and hunter are different accounts, so type it exactly the same way every time. Do not type a new name into LOG IN: the server refuses a name that was not registered. Then pick the Hunsterverse server, log in, create a character and launch. The launcher window closing is normal.

    Create an account
  10. Use the same username and password. The account page shows your link command; run it in the Hunsterverse Discord to get backups and the bot commands (the list).

    Sign in

More help

Apply the patch with a script, and "Patcher failed to connect"

Slow connection? Download the patch yourself, before the first launch. When the launcher checks for updates it downloads Frontier_Patch.zip (50.9 MB) itself, and every file must arrive within 10 seconds. Below about 3 MB/s that fails with "Patcher failed to connect". With the patch already in place the launcher has nothing left to download. The same works for later patch releases: download the new zip and unzip it over the game folder.

Or open PowerShell and run this. It downloads the patch, backs up every game file it replaces into original-files (only the first time, so running it again keeps your original files), then copies the patch over the game:

$game = "C:\Games\MHFZ"

# 1. download and unpack the patch
$patchUrl = "https://github.com/EclipseKnight/hvmhfz.eclipseforge.xyz/releases/" +
            "download/client_patch/Frontier_Patch.zip"
$zip = "$env:TEMP\Frontier_Patch.zip"
Invoke-WebRequest -Uri $patchUrl -OutFile $zip
Expand-Archive -Path $zip -DestinationPath "$env:TEMP\Frontier_Patch" -Force
$src = (Get-Item "$env:TEMP\Frontier_Patch\Frontier_Patch").FullName.TrimEnd("\")

# 2. back up every game file the patch replaces
Get-ChildItem $src -Recurse -File | ForEach-Object {
  $rel = $_.FullName.Substring($src.Length + 1)
  $orig = Join-Path $game $rel
  $backup = Join-Path "$game\original-files" $rel
  if ((Test-Path $orig) -and -not (Test-Path $backup)) {
    New-Item -ItemType Directory -Force -Path (Split-Path $backup) | Out-Null
    Copy-Item $orig $backup
  }
}

# 3. copy the patch over the game
Copy-Item "$src\*" -Destination $game -Recurse -Force

The patch replaces mhf.exe, mhfo.dll, mhfo-hd.dll, mhl.dll and dat\mhfdat.bin, plus 79 files with the English Diva storyline and a town's dialogue. To get the original client back, copy everything from C:\Games\MHFZ\original-files\ over the game folder.

To update the launcher later, extract a newer Mezeporta-Windows.zip over the same folder. Mezeporta\config.json keeps your server list, so back that folder up before a big update.

Troubleshooting
SymptomFix
d3dx9_43.dll was not foundInstall the DirectX End-User Runtime (June 2010): Windows 10 and 11 do not ship the old D3DX libraries.
VCRUNTIME140.dll or MSVCP140.dll missingInstall the x86 Visual C++ 2015-2022 package. The game is 32-bit, so x86 is the one that matters.
"Windows protected your PC" (SmartScreen) blocks the launcherMore info, then Run anyway, but only for a file from the releases page linked in the steps. The launcher is not code-signed.
Antivirus deletes mhfo.dll, mhf.exe or Mezeporta.exeRestore it from quarantine and exclude C:\Games\MHFZ; keep real-time protection on. Exclude the folder before you patch, so a quarantine does not leave a half patched install.
The launcher opens, the game does not appearCheck that mhf.exe sits directly next to dat. In a nested folder the launcher cannot find it.
Login fails or the character list is emptyThe username and password must be exactly as registered (case-sensitive), and the server entry must match the table: host 129.213.54.221, launcher port 8080, game port 53310, mode API. A name you never registered is refused: press REGISTER first. Still refused? Launcher port 53312 and mode SignV1.
"Patcher failed to connect" when the launcher checks for updatesYour connection is under about 3 MB/s. Download Frontier_Patch.zip and unzip it over the game folder: see above.
Controller not detectedEnable controller support in the launcher settings and keep xinput1_3.dll and XInputPlus.ini in the game folder.
Japanese text shows as boxesSee English and Japanese text.
You want the original client backCopy everything from C:\Games\MHFZ\original-files\ over the game folder.

Linux / Steam Deck

Tested on Arch based systems (CachyOS) with Wine. Steam Deck is not tested yet: SteamOS cannot install packages with pacman and the launcher needs a system Wine, so this method may not work there. If you try it, tell us in the Discord. The commands below are for Arch based systems; Debian, Ubuntu, Fedora, openSUSE and others are under Install Wine and 32-bit support.

  1. The folder Monster Hunter Frontier Online, about 5.5 GB, from a community Google Drive folder. You need about 12 GB free in all.

    Client (Google Drive)
  2. Enable multilib, then install Wine, winetricks and the libraries the game needs. The exact commands, for each distribution: Install Wine and 32-bit support below.

  3. Check that dat/, mhf.exe, mhfo.dll, mhfo-hd.dll, mhl.dll and mhf.ini are there.

  4. Unzip it over the game folder. The commands that also back up what it replaces are in Apply the patch with commands below.

    Frontier_Patch.zip
  5. By LilButter (GPL-2.0, original); our build with a longer patch download timeout (our source). Unzip it next to dat/, not inside it, then make run-mezeporta.sh and mezeporta-bin executable (chmod +x).

    Mezeporta-Linux.zip (1.5.4-hv1)
  6. Two short steps with commands: the prefix and the launcher options, and the launch wrapper. They depend on your distribution and graphics card.

  7. FieldValueCopy
    NameHunsterverse
    Host129.213.54.221
    Launcher Port8080
    Game Port53310
    ModeAPI (the default)
    VersionZZ

    If API mode will not log in, use Launcher Port 53312 and Mode SignV1: it plays the same, without the news and banners.

  8. Make it on this site, or press REGISTER in the launcher. The username is case-sensitive: type it exactly the same way every time. Then pick the Hunsterverse server, log in, create a character and launch. Do not type a new name into LOG IN: the server refuses a name that was not registered.

    Create an account

More help

Install Wine and 32-bit support, by distribution

The game is 32-bit. Everything after the packages (game folder, patch, launcher, wrapper, server settings) is the same on every distribution. You need Wine 9.0 or newer with 32-bit support, winetricks, cabextract, p7zip, and GStreamer with the base, good, bad and ugly plugins plus a PipeWire, PulseAudio or ALSA sink.

Arch, CachyOS, EndeavourOS, Manjaro

Check that multilib is on:

grep -q '^\[multilib\]' /etc/pacman.conf && echo "multilib enabled" || echo "multilib NOT enabled"

If not, uncomment the [multilib] header and the Include = /etc/pacman.d/mirrorlist line under it in /etc/pacman.conf, then run sudo pacman -Sy. Install:

sudo pacman -Syu --needed wine winetricks cabextract p7zip fuse2 \
  gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad \
  gst-plugins-ugly gst-plugin-pipewire gst-libav \
  vulkan-tools mesa-utils gamemode

Debian and Ubuntu

sudo dpkg --add-architecture i386
sudo apt update
sudo apt install wine wine32:i386 winetricks cabextract p7zip-full \
  gstreamer1.0-plugins-base gstreamer1.0-plugins-good \
  gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly \
  gstreamer1.0-pipewire vulkan-tools mesa-utils gamemode

Ubuntu 24.04 ships Wine 9.0, which is new enough. Ubuntu 22.04 ships 6.x, which is too old: use the WineHQ repository or a Kron4ek build. Check with wine --version.

Fedora

sudo dnf install wine winetricks cabextract p7zip \
  gstreamer1-plugins-base gstreamer1-plugins-good gstreamer1-plugins-bad-free \
  gstreamer1-plugins-ugly gstreamer1-plugin-pipewire \
  vulkan-tools glx-utils gamemode

If a 32-bit prefix still refuses to start, add sudo dnf install wine.i686. Fedora has no setup script: make the prefix by hand (see Wine prefix).

openSUSE

sudo zypper install wine wine-32bit winetricks cabextract p7zip \
  gstreamer-plugins-base gstreamer-plugins-good gstreamer-plugins-bad \
  gstreamer-plugins-ugly gstreamer-plugin-pipewire \
  vulkan-tools Mesa-demo-x gamemode

Tumbleweed has been moving 32-bit packages out of the main repositories, so wine-32bit may not resolve. Follow the openSUSE Wine wiki for the current layout, or use another distribution with multilib. Then make the prefix by hand.

Any other distribution

Install the five things above, then make the prefix by hand (see Wine prefix). Check with wine --version (9.0 or newer) and gst-inspect-1.0 appsink.

Apply the patch with commands, and "Patcher failed to connect"

Slow connection? Download the patch yourself, before the first launch. The launcher downloads Frontier_Patch.zip (50.9 MB) itself, and every file must arrive within 10 seconds. Below about 3 MB/s that fails with "Patcher failed to connect". With the patch already in place there is nothing left to download. The same works for later patch releases.

This downloads the patch, backs up every game file it replaces into original-files/ (only the first time), then copies it over the game:

curl -L -o /tmp/Frontier_Patch.zip \
  "https://github.com/EclipseKnight/hvmhfz.eclipseforge.xyz/releases/download/client_patch/Frontier_Patch.zip"
unzip -q -o /tmp/Frontier_Patch.zip -d /tmp/fp

cd ~/Games/MHFZ
(cd /tmp/fp/Frontier_Patch && find . -type f) | while read -r f; do
  if [ -e "$f" ] && [ ! -e "original-files/$f" ]; then
    mkdir -p "original-files/$(dirname "$f")" && cp -p "$f" "original-files/$f"
  fi
done

rsync -rlt /tmp/fp/Frontier_Patch/ ~/Games/MHFZ/

The patch replaces mhf.exe, mhfo.dll, mhfo-hd.dll, mhl.dll and dat/mhfdat.bin, plus 79 files with the English Diva storyline and a town's dialogue. To get the original files back, copy everything from ~/Games/MHFZ/original-files/ over the game folder.

Wine prefix and launcher options

Make the Wine prefix outside the game folder. On Arch and on Debian or Ubuntu the launcher zip has a script that creates it and installs DXVK, d3dcompiler_47 and the Visual C++ runtime (about 800 MB). Add --controller-fix if you use a gamepad:

cd ~/Games/MHFZ
bash SetupDeps/mezeporta-setup-arch.sh --prefix "$HOME/Games/MHFZ-prefix"      # Arch
bash SetupDeps/mezeporta-setup-ubuntu.sh --prefix "$HOME/Games/MHFZ-prefix"    # Debian, Ubuntu
bash SetupDeps/mezeporta-setup-arch.sh --verify                                # check at the end (same with -ubuntu)

On Fedora, openSUSE and others, build it by hand:

cd ~/Games/MHFZ
export WINEPREFIX="$HOME/Games/MHFZ-prefix"
export WINEDEBUG=-all
mkdir -p "$WINEPREFIX"
wineboot -u
wineserver -w
WINETRICKS_DISABLE_LNK=1 WINETRICKS_OPT_SHAREDPREFIX=0 \
  winetricks -q d3dcompiler_47 dxvk vcrun2022
wineserver -w
# only with a gamepad:
for dll in xinput1_3 dinput d8input; do
  wine reg add 'HKCU\Software\Wine\DllOverrides' /v "$dll" /t REG_SZ /d 'native,builtin' /f
done
wineserver -w

Don't use the launcher's portable prefix (--portable-prefix, or Mezeporta/WinePrefix inside the game folder). Before an update the launcher searches the whole game folder and follows links; a prefix inside it links to your whole disk (its z: drive), so the update fails with "Patcher failed to manage files in game folder". Already have it? Move it out once: mv ~/Games/MHFZ/Mezeporta/WinePrefix ~/Games/MHFZ-prefix.

Then start the launcher through the wrapper, open Configure Settings, the Advanced tab, and set Wine Prefix to Custom Prefix and Custom Prefix Path to ~/Games/MHFZ-prefix. The other tabs are cosmetic; Server Mode belongs to each server.

Launch wrapper (Wayland and NVIDIA)

On a Wayland desktop with an NVIDIA card the launcher window needs two environment variables. Make this small wrapper in the game folder and start the launcher with it:

cat > ~/Games/MHFZ/run-mezeporta-x11.sh <<'EOF'
#!/usr/bin/env sh
export GDK_BACKEND=x11
export WEBKIT_DMABUF_RENDERER_FORCE_SHM=1
exec "$(dirname "$0")/run-mezeporta.sh" "$@"
EOF
chmod +x ~/Games/MHFZ/run-mezeporta-x11.sh
~/Games/MHFZ/run-mezeporta-x11.sh

GDK_BACKEND=x11 stops the launcher dying at start with Gdk-Message: Error 71 (Protocol error). WEBKIT_DMABUF_RENDERER_FORCE_SHM=1 fixes a blank window on the NVIDIA driver. On X11, or on AMD and Intel graphics, you can usually leave both out, but keeping them costs nothing.

Do not start the launcher from a systemd transient unit (systemd-run): the launcher exits once the game starts, and the unit then kills the game about 10 seconds later. Start it from a terminal, a desktop shortcut, or with setsid nohup.

Troubleshooting
SymptomCause and fix
Launcher exits at once with Gdk-Message: Error 71Native Wayland path. Start it through the wrapper.
Launcher window is blank or blackWebKitGTK cannot allocate a buffer on NVIDIA. Use WEBKIT_DMABUF_RENDERER_FORCE_SHM=1 (in the wrapper). WEBKIT_DISABLE_DMABUF_RENDERER and WEBKIT_DISABLE_COMPOSITING_MODE do not fix it.
The launcher closes and nothing appears, every timeIt is run under systemd-run, whose unit is killed with it. Start it from a terminal or with setsid nohup.
The game starts, then quits after a few secondsRun the launcher from a terminal and read the output: a DXVK or Wine error shows there.
Text in game is boxes or garbageSee English and Japanese text.
No soundInstall gst-plugin-pipewire and gst-plugins-good (names differ by distribution), then run the --verify step again.
"Patcher failed to manage files in game folder"The Wine prefix is inside the game folder. Move it out and set a Custom Prefix: see Wine prefix. Or use launcher port 53312 with mode SignV1, which skips the patcher.
"Patcher failed to connect" when the launcher checks for updatesYour connection is under about 3 MB/s. Download Frontier_Patch.zip and unzip it over the game folder: see above.
Login fails or the server is refusedThe username and password must be exactly as registered (case-sensitive), and the server entry must match the table: host 129.213.54.221, launcher port 8080, game port 53310, mode API. A name you never registered is refused: press REGISTER first. Still refused? Launcher port 53312 and mode SignV1.
Wrong or broken prefixDelete ~/Games/MHFZ-prefix and make it again. Your game files are untouched.
You want the original files backCopy everything from ~/Games/MHFZ/original-files/ over the game folder.

Bringing a character from another server

Only saves from the ZZ client work. A character from an older client version (G or earlier) cannot be imported.

  1. What you need depends on where your character is now:

    Where your character isHow to get the fileResult
    A server running a newer ErupeIn the Mezeporta launcher, select that server and use the character Export.An export .json: imports fully.
    A server with a Discord bot backup commandRun its backup command and keep the zip it sends.A .zip: send it as it is, do not extract it.
    Hunsterverse (another account)Discord /backup, or the Backups tab on the account page.Our .zip: imports fully.
    An older Erupe server, or the export fails with an error 500Ask the server's staff for your character's save files, as a zip.A zip of saves imports fully; a bare savedata file only replaces that part.
    A server on an older client (G or earlier)Not possible.Not usable: ZZ only.
  2. Sign in with your game account, or create one, then give the wizard your file. It shows what is in the file, makes it a new character on your account (or replaces the save of one you have), and logs it. No throwaway character, and nothing to install first.

    Start the transfer wizard
  3. Follow the Windows or Linux checklist, log in with the same account and pick your character in the list.

  4. Into a character that was played once. On the account page, copy your link command and run it in the Hunsterverse Discord: /link with your code. Then run /import, attach the file and choose the character.

  5. Your warehouse, guild and guild box are kept by the server, not in the file, so they do not come with you. The account page's Backups tab lists what a backup holds.

More help for every path

English and Japanese text

MHF-Z is a Japanese game. Our client patch (the step "Apply our client patch") already puts the English menus, the Diva storyline and a town's dialogue in place: if your menus are English, you are done. The text lives in the game's data files in dat; the Mezeporta launcher never loads mhl.dll (it belonged to the old Capcom launcher), so replacing that file changes nothing.

Your game is in Japanese? The patch step was skipped or something put the original files back. Apply the patch again (Windows: script; Linux: commands): it keeps your first backup in original-files.

Coverage is partial. Item names, NPC dialogue and event text often stay Japanese. That is the translation, not a broken install.

Japanese text shows as boxes? On Windows add the Japanese language pack: Settings, Time and language, Language and region, Add a language, Japanese. On Linux install your distribution's CJK fonts (noto-fonts-cjk on Arch, fonts-noto-cjk on Debian and Ubuntu, google-noto-sans-cjk-fonts on Fedora), enable ja_JP.UTF-8 in /etc/locale.gen and run sudo locale-gen, then start the launcher with LANG=ja_JP.UTF-8.

Two warnings from old client guides. Do not apply the hosts-file trick that circulates with the client pack: it points Capcom's hostnames at 127.0.0.1 for self-hosted servers and breaks Hunsterverse. Locale Emulator is only needed if the game refuses to start without a Japanese locale, and Mezeporta starts the game itself: try without it first (Windows only).

Discord linking and bot commands

Linking your game account to Discord gives you character backups and the bot commands. Sign in on the account page with the same username and password as in the game; the Overview tab shows your command /link code:<code>. In the Hunsterverse Discord type /link and paste the code into the code box. Type / and pick a command from the list:

CommandWhat it does
/link code:<code>Links your game account to your Discord account. The code comes from the account page and is valid for 24 hours.
/backupSends you a zip backup of one of your characters in a DM (you pick the character).
/import backup:<file>Restores a character from a backup. Attach the zip /backup sent you as it is (do not extract it), or an Erupe export JSON from another server. You pick the target character, see a preview and confirm. Log out of the game first, and play the target character once before you import into it.
/password password:<new> confirm_password:<new> username:<account>Sets a new password for your game account (6 to 40 characters). Only you see the answer. This is the only way to reset a forgotten password, and only on an account that is linked to Discord.

Backups are a zip: send it as it is, never extracted and never single BIN files. The account page's Backups tab can download and import them too.