디아블로2 레저렉션/게임 정보

디아블로2 레저렉션 자동사냥 픽셀 오토봇 (D2R BOTTY Pixel Bot)

아미넴 2022. 3. 5.
반응형

(경고) 이 프로그램을 사용하여 발생하는 불이익은 모두 각자의 책임입니다.

 

우연히 인터넷을 떠돌다가 봇의 존재를 알게 되었습니다. 어둠의 경로로 퍼지는 봇이 아니라 당당하게 GitHub에 올라온 봇이므로 사용 방법을 공유하도록 하겠습니다.

 

개인적인 의견으로는 이미지 분석을 이용한 수동과 비슷한 조작 방식이라서 크게 위험해 보이지는 않습니다. 실제 소스를 확인해 보면 악성 코드로 인식할 만한 어떠한 라이브러리도 포함하고 있지 않습니다.

 

불안하신 분은 손도 대지 마시기를 권장합니다.

 

목차

     

    미니콘다 설치

    이 설명이 필요하지 않은 분은 아나콘다 사용법을 충분히 아는 사용자라고 간주하겠습니다.

    Miniconda - Conda documentation

     

    Miniconda — Conda documentation

    Miniconda is a free minimal installer for conda. It is a small, bootstrap version of Anaconda that includes only conda, Python, the packages they depend on, and a small number of other useful packages, including pip, zlib and a few others. Use the conda in

    docs.conda.io

     

    자신의 운영체제에 맞는 설치 파일을 다운 받으시면 됩니다. 디아블로2 레저렉션을 플레이 하시는 분들은 대부분 윈도우 64비트를 사용하실 것으로 예상됩니다. 

     

    나중에 쉽게 빌드하기 위해 패스를 환경 변수로 추가하시는 것을 권장합니다.

     

    봇 다운로드

    현재 올라온 BOTTY 깃허브 URL입니다.

     

    GitHub - aeon0/botty: D2R Pixel Bot

     

    GitHub - aeon0/botty: D2R Pixel Bot

    D2R Pixel Bot. Contribute to aeon0/botty development by creating an account on GitHub.

    github.com

     

    언제까지 공유될지는 모르겠지만 현재는 아무 제재없이 공유가 이루어지고 있는 것으로 보입니다.

     

    제작자는 정보성 또는 교육 목적으로만 제공하고 있다고 기술하고 있습니다.

    This project is for informational and educational purposes only and is not meant for online usage.

     

    잘 아시는 분은 git의 clone 기능을 이용하여 설치하셔도 되고 모르시겠으면 그냥 Download ZIP을 이용하여 다운을 받습니다.

     

    다음과 같은 파일들이 포함되어 있습니다. 적당한 경로에 압축을 풀어 놓습니다.

     

    Visual Studio Code에서 실행하기

    Visual Studio Code가 없으신 분들은 먼저 설치하시기 바랍니다.

     

    Visual Studio Code - Code Editing. Redefined

     

    Visual Studio Code - Code Editing. Redefined

    Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications.  Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows.

    code.visualstudio.com

     

    VS Code를 실행하여 File > Open Folder... 에서 압축을 푼 경로를 선택합니다.

     

    왼쪽에 다음과 같이 표시되면 성공입니다.

     

    Terminal > New Terminal을 통해서 PowerShell 또는 Command Prompt를 실행합니다.

     

    하단에 다음과 같이 터미널 창이 열리면 성공입니다.

     

    파이썬 컴파일 환경 인스톨

    .\run.bat 라고 입력하면 다음과 같은 메뉴가 뜨는데 먼저 1번을 선택해 보겠습니다. 추후 라이브러리가 업데이트 됐으면 메뉴 2번을 선택하여 업데이트 할 수도 있습니다.

     

    봇 코드 컴파일에 필요한 라이브러리들이 자동으로 다운로드 및 설치가 진행됩니다. 이와 같은 화면이 안 보이신다면 conda의 path 설정 등을 점검해 보시기 바랍니다.

     

    확인해 보니 테서랙트도 설치하는데 오픈 소스로 제공되는 OCR(광학 문자 인식) 엔진입니다.

     

    custom.ini 파일 설정

    config 폴더에 custom.ini 파일을 직접 생성하여 다음과 같이 작성할 수 있습니다. param.ini 파일보다 우선적으로 적용됩니다.

     

    param.ini 파일은 새로운 버전이 나올 때마다 변경될 수 있는 부분이므로 본인만의 설정을 custom.ini 파일에 별도로 설정해 놓는 것이 좋습니다.

     

    (내용 추가) 컴파일을 하면 botty_v0.6.7-dev/config 폴더에 자동 생성되는데 같은 방식으로 수정하면 됩니다.

     

    봇 실행

    컴파일을 따로 하지 않아도 메뉴 4번을 선택하면 디버그 모드로 바로 실행이 됩니다. 이 때는 exe 파일을 실행하는 것이 아니라 파이썬 코드를 run 하는 것입니다.

     

    실행되면 다음과 같은 메뉴가 보입니다. 봇을 실행하기 위해 f11을 눌러 보겠습니다.

     

    다른 메뉴들에 대한 자세한 설명은 생략합니다.

     

    봇이 실행되면 로그를 찍으며 잘 실행되는 것을 알 수 있습니다.

     

    디아블로가 실행된 윈도우창의 스냅샷을 찍어가며 이미지를 분석하는 방식이네요.

     

    OCR은 물론 오브젝트를 확률로 찾아가는 것으로 보아 여러 머신러닝 기술을 적용한 것 같습니다.

     

    파이썬 코드 컴파일 및 실행

    윈도우 실행 파일(exe)로 컴파일을 원하시면 메뉴에서 3번을 선택합니다.

     

    컴파일을 시작하면 시간이 조금 걸리는데 마지막에 다음과 같은 메시지가 나오면 성공입니다.

     

    컴파일 결과물로 botty_v0.6.7-dev 폴더 내에 생성된 exe 실행파일의 용량이 상당히 크지만 딱히 의심할 것은 없습니다. 많은 라이브러리가 파일 하나에 다 포함되어 그렇습니다.

     

    botty_v0.6.7-dev 폴더의 main.exe 파일을 실행하면 동일하게 동작을 합니다.

     

    잘 안 될 경우

    설치가 잘 안 되는 경우 조치했었던 방법을 모아 보았습니다. 봇 프로그램 버전에 따라 조치 방법이 달라질 수 있습니다.

     

    pyinstaller 설치

    compile할 때 pyinstaller가 없으면 오류가 납니다. exe 실행 파일을 만들어 주는 라이브러리 입니다. 컴파일 환경 인스톨 시 자동으로 설치가 됐어야 할거 같은데 저 같은 경우에는 중간에 오류가 났는지 설치가 안 돼서 따로 설치해 주었습니다.

     

    다음 명령어를 이용하여 설치할 수 있습니다.

    pip install pyinstaller

     

    environment.yml 파일 수정

    저 같은 경우는 처음 봇 실행에 실패하였습니다. 그래서 environment.yml 파일에서 다음 부분을 삭제하고 C:\Users\본인계정\miniconda3\envs\botty 폴더를 제거 후 1번 Install Env를 다시 실행했더니 정상 동작하였습니다.

     

    게임 옵션 변경

    창 모드에 해상도는 1280x720으로 맞춰야 동작한다고 합니다. 봇을 실행하면 알아서 설정하고 재시작 하는 것 같기도 합니다. 그리고 이미지 문자 인식을 위해 필수로 영문판으로 설정해 주셔야 합니다.

     

    실행파일 제공

    각자 코드를 수정해서 더 완성도 높게 이용하고 싶은 분들을 위해 직접 컴파일 하는 방법을 소개하였지만 이 모든 것이 어렵다면 실행파일을 다운 받아서 실행해 보세요.

    Releases · aeon0/botty

     

    Releases · aeon0/botty

    D2R Pixel Bot. Contribute to aeon0/botty development by creating an account on GitHub.

    github.com

     

    Assets에 있는 파일을 다운 받으시면 됩니다.

    저도 많이 해보지 않았으므로 궁금한 점이 있으면 제작자 깃허브로 문의 부탁드립니다.

     

    아직 어설픈 점이 많지만 지속적으로 발전하길 기대해 보겠습니다.

    감사합니다.

    반응형
    그리드형(광고전용)

    댓글88

    • 이전 댓글 더보기
    • 익명 2022.05.09 02:45

      비밀댓글입니다
      답글

    • 디아연구원 2022.05.09 17:28

      안녕하세요 글 잘 읽었습니다. 굉장히 흥미가 생겨 공부하면서 해보고 싶은데.. Botty 0.73 통합 릴리즈를 다운 받게되면 위에 다운로드 하라고 말씀주신 미니콘다, 비쥬얼스튜디오 등등 설치할필요가 없는건가요? 감사합니다.
      답글

    • 익명 2022.05.09 18:37

      비밀댓글입니다
      답글

    • 익명 2022.05.09 22:25

      비밀댓글입니다
      답글

      • 아미넴 2022.05.10 12:23 신고

        아 저는 별도로 해드리고 있지는 않습니다. 찾아보면 유료로 해주시는 분들도 있는 것 같던데 한 번 알아보세요.

    • 익명 2022.05.09 23:13

      근데 이거 엘드리치 쉔크에서 왼쪽공격을 아예안하던데 하게하는방법없나요??
      콘피그에서 atk_len_xxxx 여기서 시간늘려줘도 공격을 안하던데;; 오른쪽 광역기만 날리고 좀답답.
      답글

    • tt 2022.05.10 00:13

      봇을 실행시키면

      UnicodeDecodeError: 'cp949' codec can't decode byte 0xec in position 617: illegal multibyte sequence

      라는 에러가 뜨면서 종료됩니다. 해결방법이 없나요?

      릴리즈된 버전을 사용해도 똑같은 에러가 뜹니다.

      https://i.imgur.com/qbFCJow.png
      답글

      • 아미넴 2022.05.10 12:25 신고

        설정파일 인코딩 형식 문제일 수 있을 듯 싶습니다. 다음 글 참고해 보세요.
        https://gwpaeng.tistory.com/313

      • 스킬셋팅 2022.05.16 12:26

        소서리스 같은 경우엔 소서리스에만 입력하는게 아니고 사용할 공격기술도 단축키 지정후 위에 라이트닝이면 라이트닝 적어줘야 합니다 소서리스로 셋팅하면 이 오류 떠요

    • 익명 2022.05.10 05:15

      비밀댓글입니다
      답글

    • 디린이 2022.05.10 07:04

      안녕하세요 딱 2번~3번 공격하고 앞으로 나가서 바보처럼 맞아 죽기만 하는데
      atk_len 이쪽을 수정해봐도 고쳐 지질 않네요 ㅠ
      하루 종일 이것저것 만져봐도 잘 안되는데 어디를 수정 해야 되는건가요?
      답글

    • 강마루 2022.05.10 10:16

      1. 인스톨시 cmd의 파일 깔리는 검정화면이 안떠서 conda의 path 설정을 보라고 하셨는데
      어떻게 하는지 알 수 있을까요?
      답글

    • dd 2022.05.10 13:43

      디아를 실행하지않은상태에서 CMD창에서 F11 눌리면 디아까지 다 실행이 되는건가요?
      아니면 디아를 실행하고 나서 봇을 실행시켜야하는걸까요?
      방법을 잘모르겠네요
      답글

    • 엘사도 2022.05.10 22:53

      혹시 유료로 판매하는분이 있던데요....https://d2autobot.com/
      이 프로그램아닌가요?
      답글

    • 해머만딘 2022.05.11 07:40

      헤머딘이 공격안하는 현상좀 알려주세요...
      핀들이든 디아든 뭐 엘드든 텔포로가서는 그냥 멍때리다가 죽습니다...
      해결책이없을가요..
      답글

    • 찬이 2022.05.11 19:11

      아이템을 주우면 보관함으로 넣지 못하고 서성이다 계속 나갔다 들어왔다 오류 생기는 현상이랑
      마라한테 물얄을사지도 않고 물약을 줍지도 않습니다. 왜 이런 걸까요??
      답글

    • ㅇㅇ 2022.05.13 13:09

      0.7.3버젼으로 테스트하며 사용중인데 한번 죽게되면 시체회수를 못하고 맨몸으로 돌아다니는데 아무리 찾아도 어렵네요.. 도움요청드립니다 ㅠ
      답글

    • ㅇㅇ 2022.05.13 13:15

      릴리즈버젼 0.7.3?? 받아서 이리저리 보고있는데 한번 죽게되면 시체회수를 못해 맨몸으로 계속죽네요.. 혹시 시체회수방법만 좀 알수있을까요..
      답글

    • 우엥 2022.05.14 18:54

      안녕하세요!!
      소서 체라소서입니다!!
      컴파일하고 셋팅까지 하고 봇돌아가는데요 !
      핀돌이부터 시작하는데. 사거리를 유지해서 체라로 때려잡어야하는데 핀들머리까지 들어가서 계속 죽고 치킨뜨는데 어떻게 처리하나요 .ㅠ
      use_merc=1
      ; Attack length for barbarians should be as high as 8-10 and even 10-12 for trav/shenk
      atk_len_arc=2.5
      atk_len_trav=3.0
      atk_len_pindle=12.0 //<<이부분 12로 임의로 수정했음에도 머리까지 날라가서 죽내요
      atk_len_eldritch=3.0
      atk_len_shenk=4.0
      atk_len_nihlathak=4.0




      답글

      • 진이 2022.05.17 10:14

        저도 잘은 모르지만 스킬 사용을 못해서 그런가봐요 스킬 단축키를 바꿔 보세요

    • 진이 2022.05.17 10:26

      거의정상적으로 작동하는데 스킬을 두세번정도 사용하고 다른데로 이동을 하네요
      핀들도 그렇고 엘드리치 몹잡고도 다른데로 이동하던데
      Atk_len_pindlr=8 기본 3초에서 8초로 바꿔도 스킬 두번만 쓰고 이동하네요
      핀들은 공간이 제한되어 있어서 상관은 없는데 다른데는 몹을 잡고 엉뚱한데로가서
      템을 먹지도 못하네요 방법이 없을 까요?

      답글

    • ㅇㅇ 2022.05.17 16:09

      https://i.imgur.com/q2LU1zw.jpg


      컴파일하고 실행하면 이렇게 뜹니다 이유를 아시나요?
      답글

    • 막힌건가요? Failed to detect if /nopickup command was applied or not 2022.05.17 18:13

      [91m[0.7.3 2022-05-17 18:11:54,237] ERROR Failed to detect if /nopickup command was applied or not[37m
      [91m[0.7.3 2022-05-17 18:11:54,878] ERROR EXP OCR Error: ['X', 'RI', 'N', '-2', '2', '1', '22', '47'][37m
      [91m[0.7.3 2022-05-17 18:11:54,879] ERROR EXP OCR Error: 'EXPERIENCE:' is not in list[37m
      [37m[0.7.3 2022-05-17 18:11:56,292] DEBUG BELT_EXPANDABLE still found after 1 seconds[37m
      [91m[0.7.3 2022-05-17 18:11:56,293] ERROR Could not find potions in belt. Most likely due to "show_belt" in params.ini having the incorrect hotkey.[37m
      [91m[0.7.3 2022-05-17 18:11:56,293] ERROR Closing in 10 seconds..[37m
      답글

    • 물약 설정 이거 먼가요 2022.05.17 21:53

      0.7.3-dev 2022-05-17 21:52:37,067] DEBUG ['ITEM_PICKUP_ENABLED', 'ITEM_PICKUP_DISABLED'] not found after 1.3
      seconds
      [0.7.3-dev 2022-05-17 21:52:37,068] ERROR Failed to detect if /nopickup command was applied or not _teleport_with_charges=True)
      [0.7.3-dev 2022-05-17 21:52:39,930] DEBUG BELT_EXPANDABLE still found after 1 seconds seconds
      [0.7.3-dev 2022-05-17 21:52:39,932] ERROR Could not find potions in belt. Most likely due to "show_belt" in params.ini having the incorrect hotkey.
      [0.7.3-dev 2022-05-17 21:52:39,933] ERROR Closing in 10 seconds..
      답글

    💲 추천 글