프로젝트 소개
Torn Faction Attacks는 Torn 팩션 공격 데이터를 Cloudflare D1로 가져오고 전쟁 단위 및 멤버 단위 팩션 성과를 추적하도록 설계된 Cloudflare Worker 및 React 대시보드입니다.
주요 기능에는 Torn API의 예약된 수집, 불변 공격 기록 저장, 전쟁 추적(진행 중, 예정됨, 종료됨, 가져옴), 전쟁 기간에 대한 공격 자동 할당, 전쟁 합계 및 멤버 통계 요약 테이블, JSON API 엔드포인트, React 대시보드가 포함됩니다.
기술 스택: Cloudflare Workers, D1, Wrangler, TypeScript, Torn API v2.
프로젝트 구조는 수집, 전쟁, 보고서, 요약, 적 정찰, 인증, SQL 헬퍼, 상수, 타입, 유틸리티 파일로 모듈화되어 있습니다. 마이그레이션은 공격, 전쟁, 동기화 상태, 요약, 멤버 통계, 적/홈 팩션 멤버, 활동 히트맵, 관리 사용자, 인증 세션용 테이블을 점진적으로 추가합니다.
구성에는 `DB`라는 D1 바인딩, `TORN_API_KEY` 시크릿, 그리고 BSP 및 FFScouter API용 선택적 시크릿이 필요합니다. 공유 시크릿 `MONITOR_TICKET_SECRET`은 적 병원 모니터용 WebSocket 티켓을 서명합니다. 홈 팩션 ID는 `src/constants.ts`에 구성됩니다.
데이터베이스 마이그레이션은 Wrangler를 통해 로컬 또는 원격으로 적용할 수 있습니다. 주요 테이블은 README에 나와 있습니다.
API 엔드포인트에는 상태 확인, 수동 수집, 통계 재구축, 공격 목록 조회, 전쟁 생성/가져오기/종료, 전쟁 요약 조회, 적 정찰, 정찰 비교, 활동 히트맵, 체인 보너스, 멤버 리스펙 재계산이 포함됩니다. 인증은 Torn 키를 사용하며, 관리 접근 권한은 팩션 멤버에게 부여되고, 팩션 접근 권한이 있는 관리자를 선택적으로 자동 추가할 수 있습니다.
Discord 슬래시 명령 `/war me`는 호출자의 공격 성과와 획득 리스펙을 비공개로 보여 주며, 전쟁/멤버당 30초 쿨다운이 적용됩니다.
예약된 수집은 cron을 통해 1분마다 실행되어 전쟁 생성/활성화, 공격 가져오기, 요약 업데이트, 점수 추적, 적 정찰을 처리합니다. 15분마다 유지보수 실행을 통해 활동을 샘플링하고, 부활 가능 상태를 갱신하며, 누락된 보고서를 가져오고, 능력치 추정치를 재시도합니다.
개발 지침에는 설치, 검사, 로컬 개발, 배포가 포함됩니다. `dashboard/`의 React 대시보드는 빌드 설정과 API 기본 URL용 환경 변수를 사용하여 Cloudflare Pages를 통해 배포됩니다.
프로젝트가 발전하는 동안 관리 모델은 의도적으로 가볍게 유지됩니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.