blizzless-diiis icon indicating copy to clipboard operation
blizzless-diiis copied to clipboard

[Bug][MacOS] MacOS: Couldnt verify your account

Open cfryerdev opened this issue 2 years ago • 10 comments

Issue & Summary

Attempting to get this compiling and running on my Macbook Pro M1 Max... Running into a small issue but here i will show how to get this running (mostly) on the mac arm platform...

Issue

Everything runs and compiles but the client fails to login with error:

We could'nt verify your account with that information.

Special note: Adding the 127.0.0.1 proxy addresses to the host file results in the diablo 3 client freezing and crashing attempting to login (step 1). This only happens on macos not windows.

Special Note: The client version available for macos is 2.7.4.84197 at the time of this writing. This version actually DOES currently works with DiIiS on Windows 11 as I tested this today.

Tools

  • VS2022 Preview
  • Docker Desktop
  • Diablo 3

Steps

Install Docker Desktop and run docker-compose up with the following docker-compose.yml changes

version: "3.9"

services:
  postgres:
    container_name: postgres_db
    image: postgres:14.5
    environment:
      POSTGRES_USER: "postgres"
      POSTGRES_PASSWORD: "postgres"
    volumes:
       - ./initdb:/docker-entrypoint-initdb.d
    ports:
      - "5432:5432"
    networks:
      - postgres
    restart: unless-stopped
    deploy:
      resources:
        limits:
          cpus: "2"
          memory: 4G
  
  pgadmin:
    container_name: pgadmin_app
    image: dpage/pgadmin4:6
    environment:
      PGADMIN_DEFAULT_EMAIL: ${PGADMIN_DEFAULT_EMAIL:[email protected]}
      PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_DEFAULT_PASSWORD:-password}
      PGADMIN_CONFIG_SERVER_MODE: "False"
      PGADMIN_CONFIG_MASTER_PASSWORD_REQUIRED: "False"
    volumes:
       - ./pgadmin:/var/lib/pgadmin
       - ./servers.json:/pgadmin4/servers.json

    ports:
      - "5555:80"
    networks:
      - postgres
    restart: unless-stopped
    deploy:
      resources:
        limits:
          cpus: "0.5"
          memory: 1G

networks:
  postgres:
    driver: bridge

Execute docker-compose up

Once the database is up, we need to get the service running...

Pull down repository and load solution in VS2022 Preview (make sure you have latest).

Restore all packages and put in debug mode, press play.

  • If this does not compile you are likely only missing .NET 5.0.X SDK.
  • If it builds and runs but fails, it likely cannot connect to postgres.

Now its time to setup the client, download latest from Battle.net which is 2.7.4.84197 at the time of this writing. This does currently works with DiIiS on Windows 11 as I tested this today.

Navigate to https://hexed.it and open the following file:

/Applications/Diablo\ III/Diablo\ III.app/Contents/MacOS/Diablo III

Search for us.actual.battle.net and replace with 127.0.0.0 (replace reminaing characters with zero hex values)

Search for eu.actual.battle.net and replace with 127.0.0.0 (replace reminaing characters with zero hex values)

Example: image

Save the output file and replace your Diablo 3 executable with this modified version. See path above. Make sure Battle.net is not running.

Start Diablo 3 on Macos by running the following commands

cd /Applications/Diablo\ III/Diablo\ III.app/Contents/MacOS/
chmod +x "Diablo III"
./"Diablo III" -launch 

Attempt to login and it passes battle.net authentication (step 1 of 3) but does not pass Authenticating Credentials (step 2 of 3)

We could'nt verify your account with that information.

image

Boom, stuck. Confused. Halp :) Super cool I was able to get right up to the finish line on MacOS with an ARM processor with little to no tweaking. Nice work folks!

cfryerdev avatar Jan 24 '23 23:01 cfryerdev

Hopefully this might contribute to a nice wiki page on getting this running on windows, macos, and linux with more detailed steps.

cfryerdev avatar Jan 24 '23 23:01 cfryerdev

If somebody can help me locate the installer for the macos supported version im happy to test and report back.

cfryerdev avatar Jan 24 '23 23:01 cfryerdev

I'd be glad to help on my macOS. Problem is, it's the 2015 (x86-64) - aka not with an ARM processor.

iamdroppy avatar Jan 26 '23 16:01 iamdroppy

Have you tested manually changing the hosts file instead of the binary?

iamdroppy avatar Jan 26 '23 16:01 iamdroppy

Have you tested manually changing the hosts file instead of the binary?

As posted in the issue, Adding the 127.0.0.1 proxy addresses to the host file results in the diablo 3 client freezing and crashing attempting to login (step 1). This only happens on macos not windows.

cfryerdev avatar Jan 26 '23 16:01 cfryerdev

I'd be glad to help on my macOS. Problem is, it's the 2015 (x86-64) - aka not with an ARM processor.

Worth a try :) Post your results.

cfryerdev avatar Jan 26 '23 16:01 cfryerdev

@cfryerdev I tried to patch exe file on Windows and it didn't work, but hosts method is working. I tested on x86 and x64 versions. Try to log in several times, if you see a captcha, then the client tries to connect to the official server

DeKaN avatar Jan 26 '23 19:01 DeKaN

On branch (test-stable), built and ran... (Windows + 64 bit client)

image

image

No changes to host file...

image

cfryerdev avatar Jan 26 '23 21:01 cfryerdev

Try to log in several times, if you see a captcha, then the client tries to connect to the official server

That's what is happening on the macos version so i guess the macos version requires more patching than the windows version. INTERESTING!

cfryerdev avatar Jan 26 '23 21:01 cfryerdev

Same issue. Client does connect to server, as I see a ’succesfully encrypted the connection’. Is there any way to turn on additional logging in the server to see what the client is sending? Or additional logging in the Diablo client?

xrisk avatar Mar 30 '23 21:03 xrisk