Haxbotron은 Typescript와 Electron을 이용해 개발됩니다.
Typescript는 ECMAScript6로 컴파일됩니다.
초기 개발 단계에서는 빠른 개발을 위해 커맨드 라인에서의 구동만 지원하지만,
Electron으로 구성된 프론트 UI를 통해 손쉽게 봇을 조작할 수 있도록 할 것입니다.
또한 haxball headless api를 사용하기 위해 puppeteer를 채택하였습니다.
따라서 별도의 웹 브라우저를 켜서 개발자 모드를 통해 headless api 페이지로 진입하여
스크립트를 디버그 모드에서 실행하는 불편함이 없습니다.
headless api를 사용하기 위해서는 token을 발급받아야 하는데,
이는 사용자가 직접 웹 페이지에 접속하여 1) headless host의 recaptcha를 풀고 개발자 모드를 통해 스크립트를 실행하는 방식과
2) 별도의 페이지에서 recaptcha를 풀고 token만 따로 받는 방식으로 나뉩니다.
Haxbotron은 후자의 방식을 통해 사용자가 얻은 token을 봇에게 직접 건내주는 방식으로 구동됩니다.
물론 Haxbotron은 headless api를 직접 wrapping하므로 다른 wrapper module에 대한 의존성이 없습니다.
봇이 성공적으로 구동되고 방을 개설하였다면
앱을 통해 직접 봇을 조작하거나, 게임 방에서 명령어 채팅을 통해 조작하는 것이 가능해집니다.
Haxbotron은 하나의 중앙서버가 아닌, 각 개인의 사용자가 자신의 로컬 상에서 직접 호스트하는 방식이므로
각자의 환경에 맞춘 운영과 개성을 살린 커스터마이징이 가능합니다.
'프로그래밍 > 프로젝트:Haxbotron' 카테고리의 다른 글
며칠동안 봇을 다소 개선하였습니다 (0) | 2020.11.07 |
---|---|
Haxbotron 헥스볼 봇 근황과 자평 (3) | 2020.10.23 |
현재 구현한 기능들 (0) | 2019.08.15 |
첫 릴리즈를 위해 이런저런 손을 보고 있습니다. (0) | 2019.07.31 |
Haxbotron 프로젝트를 시작했습니다. (0) | 2019.06.29 |