Here’s a project simulating server requests for the Monster Hunter Wilds Beta Test version.
Note
This project is intended for OBT1, and there are currently no plans to update it for OBT2. If you want to use it for the latter, please refer to WiseHorror/mhws_beta_server.
This project is intended solely for educational and learning purposes and must not be used for commercial purposes. Please delete this software within 24 hours of downloading. We do not take any responsibility for any illegal usage or distribution of this software.
The cert directory contains certificate files generated for mhws.io
Haven't tested if it can be launched from scratch; maybe later if needed.
A simple tutorial, not very detailed. If you don't understand, you can search or ask me, but please think for yourself first.
- Start
mhws_beta_serverFor more information, usego run . --cert-domain hjm.rebe.capcom.com,40912.playfabapi.com --api-host hjm.rebe.capcom.com--helpcommand - Add
./cert/root.crtas a trusted root certificate - Add the following to your
hostsfile and flush the system DNS cache:Note:After adding, you may not be able to connect to other Capcom games. Restore the127.0.0.1 hjm.rebe.capcom.com 127.0.0.1 40912.playfabapi.comhostsfile and flush the cache to fix; if necessary, try restarting your system.
TL;DR
- Something to bypass Steam and launch Steam applications, e.g.
steamclient,unsteam - A tool that can capture and modify process HTTP/HTTPS traffic. e.g.
mitmproxy+Proxifier,Charles
You are not required to use any specific tool; find the one that suits you best.
Here we use mitmproxy + Proxifier as an example. Other tools work on the same principle, just different implementations.
Charles is recommended as it is more stable.
It is recommended to follow the steps in order, though sometimes the order is not important:
-
Install
python3(recommended version 3.8 or higher) and addpythonto your systemPATHso you can runmitmproxy(make good use of search engines). -
Install
go(a.k.a.golang), version1.23.1or higher, and addgoto your systemPATHto runmhw_beta_server.- Version
1.23.1or higher is not strictly required; for lower versions you can modify the third line ofgo.mod. - No pre‑compiled binaries are provided here, so you'll need to compile it yourself (more on that later). Any network issues you encounter along the way can also be resolved with a search engine.
- Version
-
Install
Proxifier. -
Install
mitmproxy. Open a new terminal (whethercmdorpowershell) and run the following command:pip install mitmproxy
- You may run into network issues – use a search engine to solve pip network problems.
-
Configure the
hostsfile by adding the following line:your_ip your_host- Here,
your_ipis the listening address of the fake servermhws_beta_server– it can belocalhost, a LAN address, or a public IP. your_hostis the domain name for your service. Any valid domain name works; the default used here ismhws.io. You can use a different domain, but then you'll need to sign a certificate yourself and place it in thecertdirectory.- For example, you could write:
127.0.0.1 mhws.io
- Here,
-
Configure
Proxifier:- Profile -> Proxy Servers -> Add... and fill in as follows, then click OK:
Address: 127.0.0.1 Port: 8080 Protocol: HTTPS - Profile -> Proxification Rules
- Change the Action of the
Defaultrule toDirect. - Click Add, check
Enabled, and configure as follows:OKName: Python Applications: python.exe Action: Direct - Click Add, check
Enabled, and configure as follows:OKName: Wilds Application: monsterhunterwildsbeta.exe Action: Proxy HTTPS 127.0.0.1
- Change the Action of the
- Keep
Proxifierrunning.
Note: Make sure that in the Rules list,
Pythonis aboveWilds, andWildsis aboveLocalhost. - Profile -> Proxy Servers -> Add... and fill in as follows, then click OK:
-
Configure
mitmproxy:- Install the
mitmproxycertificate (searchable via a search engine). - In a location of your choice, write the following content into a
main.pyfile:Note: In the lineimport mitmproxy.http class CapcomPatcher: def __init__(self): pass def request(self, flow: mitmproxy.http.HTTPFlow): flow.request.host = "your_host" return addons = [ CapcomPatcher(), ]
flow.request.host = "your_host", replaceyour_hostwith the value you used in thehostsfile (default ismhws.io). - Open a new terminal in that location and run the following command, keeping the terminal open:
mitmweb.exe --ssl-insecure -s ./main.py
- Install the
-
Start
mhw_beta_server:- Open a terminal in the project directory and run the following command, keeping the terminal open:
Note: In the command above, replace
go run . your_ipyour_ipwith the value you used in thehostsfile – it could be the loopback address, a LAN address, or a public IP.
- Open a terminal in the project directory and run the following command, keeping the terminal open:
-
Bypass Steam to launch the game – there are many methods, search for them.
Proxifier + mitmproxy is just the solution I personally use because it's convenient for debugging. In practice it's quite cumbersome; for everyday use I recommend Charles.
Finally, make good use of search engines! Make good use of search engines! Make good use of search engines!