MAA가 뭐임??


본인은 윈도우에 파이썬을 올려 쓰다보니 하이퍼V 활성화가 되어있어 일반 블루스택은 사용하지 못한다
때문에 하이퍼 V 전용 블루스택을 사용중이고 여기서 MAA를 연동해 사용하는데 애로사항이 꽤 있었다
근데 챈에 나와 같은 고민을 하는 명붕이가 보여 가이드 글을 작성하게 됨


아래 순서를 따라 연결을 해보자



1. 하이퍼V활성화 확인


먼저 본인이 설치한 블루스택이 하이퍼 V를 사용하는지 파악할 필요가 있다


본인이 설치한 블루스택이 하이퍼V용이라고 기억하고 있으면 넘어가면 되지만
기억이 안나면 아래 방법으로 간단하게 확인할 수 있다


윈도우 기능 켜기/끄기 에 들어가 아래 아이콘이 체크되어 있으면 하이퍼 V가 돌아가는 컴퓨터다





2. ADB 포트 자동설정


하이퍼 V 블택의 특성상 에뮬을 구동할때마다 포트가 변경되므로 매번 수동설정의 귀찬음을 감수해야한다
때문에 이런 귀찮음을 막고싶다면 자동연결 설정이 필수다


먼저 블루스택의 내부 데이터가 저장되는 conf 파일을 찾아야 한다
해당 파일은 자신이 블루스택을 설치할때 따로 경로를 지정해 주지 않는 이상 블루스택 폴더(blueStacks_nxt)에 들어있다



해당 파일을 찾았으면 MAA에 해당파일을 연결해주어야 한다
maa 설치폴더 - config폴더에 보면 gui.json이 있는데 해당 파일을 열어주자


 


그럼 아래와 같은 메모장이 나온다
하지만 저 빨간 네모친 부분이 나와 많이 다를텐데 그걸 이제 본인의 설치환경에 따라 바꿔줘야한다


"Bluestacks.Config.Path": "bluestacks.conf 위치", // conf 파일의 위치는 아래 사진처럼 백슬래쉬가 반드시 2번 연속 들어가야 한다 (\\)

"Bluestacks.Config.Keyword": "명일방주가 설치된 블루스택 인스턴스 이름.status.adb_port", // 멀티 인스턴스를 안쓰면 이줄은 지워도됨 쓰는사람은 2-1번항목 참조

 



2-1. 멀티 인스턴스 사용자


아래와 같이 멀티 인스턴스 사용자는 해당 멀티 인스턴스를 연결해주어야 한다
그렇지 않을경우 항상 베이스 인스턴스가 잡히기 때문에 멀티 인스턴스 이용자이면서 
파이64를 필요로 하는 명일방주 이용자는adb가 제대로 잡히지 않을 확률이 높다


먼저 아래 화면처럼 멀티 인스턴스 관리자를 실행해
자신이 사용하는 인스턴스의 이름을 기억해둔다



그다음 2번 항목에서 찾아놨던 bluestacks.conf 파일을 열어 status.adb_port 를 검색한다

그러면 결과값이 여러개가 나올텐데 그 중에서 자신이 사용하는 인스턴스의 이름을 가진 녀석을 찾는다



보면 인스턴스 이름은 BlueStacks App Player 1으로 되어있지만 실제 이름은 다른걸 알 수 있다

이제 찾은 인스턴스 이름을 2번항목에 입력해주자





3. MAA 연결


이 항목이 가장 중요하다
보통 하이퍼 V를 사용하지 않아 상대적으로 연결이 쉬운 블루스택 유저들도 이 adb연결을 실수해
MAA를 제대로 이용하지 못하는 경우가 많다
사실 방법만 알면 정말 간단하다


방법은 2가지가 있다
기본적으로 우린 위에서 포트 자동화를 진행했기 때문에 연결 자동감지 및 매번 재감지를 사용한다




1번째방법 - 블루스택 내장 ADB 사용


가장 간단한 방법이다

연결 자동감지를 잠깐 꺼두고 ADB 경로를 선택해준다



선택해야하는 프로그램은 블루스택 설치위치에 있는 HD-adb.exe



그 다음 연결 자동감지 옵션을 다시 활성화 해주면 끝이다





2번째방법 - MAA 제공 ADB 사용


이건 첫번째방법이 안되거나 귀찮을때 사용한다
아래 그림에서 터치수행방식을 adb 인풋모드로 설정한 뒤 adb 강제 교체를 눌러주면
MAA가 자동으로 adb를 설치한다음 해당 프로그램으로 경로를 잡아준다



강제 교체 후 maa 폴더에 adb가 설치된 모습


본인도 이 방법을 사용중인데 사용중 문제는 없다







번외. MAA실행시 명방이 자동으로 실행되게 세팅하기


MAA를 실행할때 명방이 동시에 실행되길 원하는 사람만 참고해주면 된다
본인도 처음엔 이 방법을 사용했지만 불편해서 지금은 개별실행하고 있으니 취향에 따라 적용하자


여기엔 2가지 방법이 있다

1. 일반적인 블루스택 유저(사용자 권한 필요없음)

2.하이퍼V 블루스택 유저(사용자 권한 필요)




1. 일반적인 유저들이 쓰는 방법은 아래와 같다



에뮬레이터 경로 선택을 누른 후 [3. MAA 연결] 에서 찾은 블루스택 설치폴더에서 HD-Player.exe를 선택해준다
여기까지 할경우 단순히 블루스택 베이스 인스턴스 만 켜지기때문에 추가변수를 반드시 설정해주어야 한다


먼저 아래는 본인이 적용중인 추가 변수이다

--instance Pie64_1 --cmd launchApp --package "com.YoStarJP.Arknights"


--instance Pie64_1 이 항목은 자신이 멀티 인스턴스를 사용중일때 설정해줘야 하는 항목이다
[2-1. 멀티 인스턴스 사용자] 에서 멀티인스턴스 용 세팅을 해줬다면 Pie64_1 자리에 본인의 멀티 인스턴스 이름을 넣으면 된다

--cmd launchApp --package "com.YoStarJP.Arknights"
이건 내부에 설치된 블루스택 패키지를 실행하는 명령어다 이 키워드를 넣지 않으면 단순히 블루스택만 켜지게 되고
이 키워드를 넣어줄 경우 명일방주가 바로 실행된다
본인은 일섭을 하고 있기 때문에 위에 있는 명령어는 JP가 써져있지만 한국 명방 유저들은 YoStarJP를 YoStarKR로 바꿔주면 되겠다



2. 하이퍼 V용 사용자권한이 필요한 블루스택 유저용 설정


HD-Player.exe에 사용자 권한을 줄 경우 MAA에서 추가변수를 적용하지 못한다
나도 자세히는 모르겠지만 권한 문제같다 때문에 1번의 방법을 사용할 수 없는데 사실 이쪽이 훨씬 쉽다


먼저 위 1번항목을 참고해 HD-Player.exe를 찾은 뒤 오른쪽클릭해 속성창을 열어 호환성탭으로 들어가준다
그 다음 아래 사진과 같이 관리자 권한을 쥐어주어야 한다


위 사진처럼 체크했으면 적용 및 확인을 눌러 나온 후 해당 파일의 바로가기를 만들어 준다

그리고 오른쪽을 클릭해 속성창을 열어주면 아래와 같은 화면이 보일텐대 대상(T)부분이 나와 다르게 원본 파일의 주소로 되어있을거다
ex) "C:\Program Files\BlueStacks_nxt\HD-Player.exe"


우리는 이곳에서 추가변수를 넣어줄거다
1번항목을 참고해 추가변수를 작성 한 다음 대상(T)맨 뒤에 스페이스를 눌러 한칸을 띄워주고 추가변수를 넣어준다
ex) 

"C:\Program Files\BlueStacks_nxt\HD-Player.exe" --instance Pie64_1 --cmd launchApp --package "com.YoStarJP.Arknights"


요런식으로 되었으면 적용 및 확인을 누르고 나가 한번 실행해보자
그러면 정상적으로 명일방주가 실행될텐데 그러면 다 끝났다


이제 maa를 켜고 에뮬레이터 경로 선택을 누른 후 방금 만든 바로가기 파일을 선택해주면 끝이다

 






안되는거 달아주면 아는 범위 내에서 다 알려줌