본문 바로가기

프로그래밍/프로젝트:Haxbotron

웹 기반 관리 시스템을 도입한 Haxbotron

작년 11월 즈음 개발을 재개한 이래로 많은 변화와 개선이 있었습니다.

일부 버전의 주요 변경점을 소개합니다.


v0.3.1에서 레이팅 시스템이 추가되었습니다.

Elo 레이팅을 헥스볼에 맞게 변형하였으며 https://github.com/dapucita/haxbotron/wiki/HElo-Rating-System 에 정리해놨습니다.

v0.3.4에서 core 서버와 db 서버가 분리되었습니다.

서로 다른 원격지에 서버를 분산배치하여 봇방을 운영하는게 가능해졌습니다.

v0.4.0에서 웹 기반 관리 시스템이 추가되었습니다.

기존의 Electron 기반 매니저를 대체하며, PC와 모바일 등 다양한 환경에서 서버를 관리할 수 있습니다.

또한 하나의 서버로 여러 개의 방을 운영하는게 가능해졌습니다.

v0.4.3에서 배포 자동화를 위해 GitHub Action을 도입하였습니다.

배포가 되는 원격지에서 빌드가 어려운 경우 미리 빌드된 결과물을 사용할 수 있습니다.

v0.5.0는 3월 14일 현재 개발 중인 최신 버전입니다.

core 서버와 db 서버의 백엔드로 Express 대신 Koa를 사용합니다.


Haxbotron 프로젝트 전체는 Typescript로 개발되며, RESTful API를 지원합니다.

윈도우(서버), 리눅스, OS X 등 다양한 운영체제 상에서 구동할 수 있습니다.

웹 기반 관리 시스템은 React와 Material UI를 사용하여 개발하였습니다.

사용한 주요 기술

Node.js, Typescript, Webpack, Puppeteer, Axios, Koa, React, Material UI, TypeORM, SQLite 등


작동 예시)