각 가져오기 스크립트가 실제로 하는 일
서로 다른 두 개의 스크립트, 서로 다른 두 가지 역할 — 어느 것을 실행하든 그 전에 정확히 무엇을 하는지 확인하세요
스크립트 1 — "링크 가져오기" (일반 가져오기)
이것은 일반 URL 가져오기의 "명령어 복사" 뒤에 있는 스크립트입니다 — "빠른 가져오기"가 생기기 전부터 사용되던 단순한 버전입니다. 링크를 찾아 클립보드에 복사하는 것이 전부이며, 스크립트 자체는 어디에도 아무것도 전송하지 않습니다.
1. 이 창에만 적용되는 권한
명령어는 Set-ExecutionPolicy Bypass -Scope Process로 시작합니다. "-Scope Process"는 이 권한이 현재 열려 있는 이 PowerShell 창 하나에만 적용된다는 뜻입니다 — Windows에 영구적인 변경은 전혀 없으며, 창을 닫는 순간 사라집니다.
2. 게임이 설치된 위치 찾기
스크립트는 Player.log를 읽습니다 — 게임이 자체 오류를 디버깅하기 위해 스스로 작성하는 평범한 로그 파일입니다. 그 안에서 게임이 직접 기록한 설치 폴더 경로를 찾습니다.
3. 게임 자체 캐시의 사본 읽기
게임 폴더 안에는 webCaches 디렉터리가 있습니다 — 게임이 뽑기 기록 같은 팝업 창을 그리는 데 사용하는 브라우저 캐시입니다(그 화면은 3D 게임의 일부가 아니라 내장된 웹 페이지로 그려집니다). 스크립트는 그곳의 파일 하나를 임시 폴더로 복사합니다 — 원본이 아니라 사본입니다 — 그리고 그 안에서 getGachaLog가 포함된 링크를 찾습니다. 이는 게임 자체가 기록을 보여주기 위해 여는 것과 같은 주소입니다.
4. 한 번의 확인, 그리고 완료
링크를 건네주기 전에 스크립트는 게임의 공식 서버에 단 한 번의 테스트 요청을 보내 링크가 아직 유효한지 확인합니다 — 게임 자체가 보낼 법한 것과 같은 종류의 요청입니다. 임시 사본은 삭제되고, 링크는 클립보드에 복사됩니다.
스크립트 2 — "빠른 가져오기" (전체 로컬 수집)
왜 별도의 방법이 있는가
일반적인 링크 가져오기는 사용자의 컴퓨터가 아니라 저희 서버에서 기록을 다운로드합니다. 동시에 가져오기를 실행하는 모든 사람이 게임 서버에 대한 같은 요청 한도를 공유하기 때문에, 동시에 가져오는 사람이 많을수록 모두가 더 오래 기다리게 됩니다. "빠른 가져오기"는 이를 다르게 해결합니다: 스크립트가 사용자 본인의 컴퓨터에서 직접 기록을 다운로드하므로, 모두가 공유하는 한도가 아니라 사용자 본인의 인터넷 한도만 적용됩니다.
스크립트는 일반 방식과 동일한 임시 뽑기 기록 링크를 찾지만, 거기서 멈추지 않습니다. 전체 기록을 스스로 페이지별로 넘기며 뽑기 기록을 수집하고, 이번 가져오기를 위해 발급된 짧은 일회용 접근 키로 사이트에 전송합니다. 어떤 단계에서도 게임이나 사이트 비밀번호가 필요하지 않습니다.
기다리는 동안 일어나는 일
1. 이 창에만 적용되는 권한
명령어는 Set-ExecutionPolicy Bypass -Scope Process로 시작합니다. "-Scope Process"는 이 권한이 현재 열려 있는 이 PowerShell 창 하나에만 적용된다는 뜻입니다 — Windows에 영구적인 변경은 전혀 없으며, 창을 닫는 순간 사라집니다.
2. 기록 링크를 찾고 확인
일반적인 가져오기 방식과 동일한 메커니즘입니다(FAQ "안전한가요?" 참고) — 스크립트는 게임 자체의 로그와 캐시를 읽어 임시 뽑기 기록 링크를 찾고 아직 유효한지 확인합니다. 여기는 새로운 부분이 아니라, 이어지는 과정의 첫 단계일 뿐입니다.
3. 배너별로 직접 기록을 넘기며 수집
찾은 링크를 사용해 스크립트는 게임 공식 서버에 다시 여러 번 연속으로 요청합니다 - 한 번에 약 20건씩, 각 배너별로 따로 진행됩니다. 요청 사이에는 약 0.5초의 간격을 두어, 사용자가 직접 기록을 끝까지 스크롤하는 것 이상으로 게임 서버에 부하를 주지 않습니다.
4. 콘솔에 진행 상황 표시
가져오는 동안 PowerShell 창에는 어떤 배너를 수집 중인지, 지금까지 몇 건을 모았는지가 표시됩니다. 백그라운드에서 조용히 진행되는 것은 없습니다 - 문제가 생기면 즉시 화면에 표시됩니다.
5. 수집한 데이터를 사이트로 전송
배너 하나의 수집이 끝나면 스크립트는 그 기록을 2단계에서 찾은 임시 기록 링크와 함께 gacha-tracker.com로 전송합니다 - 일반 가져오기가 사용하는 것과 같은 링크입니다. 비밀번호가 아니라 짧은 일회용 접근 키로 본인임을 증명합니다 - 사이트가 업로드 페이지에 로그인해 있는 동안 이번 가져오기 전용으로 발급한 키이며, 더 이상 필요 없어지면 스스로 만료됩니다.
그다음 - 이미 사이트에서 일어나는 일
사이트는 스크립트로부터 뽑기 목록(어떤 아이템, 언제, 어떤 배너인지), 게임 내 UID, 그리고 그 임시 기록 링크를 받습니다. 링크는 한 가지 용도로만 쓰입니다: 사이트가 공식 서버에서 배너당 몇 페이지 — 최신 페이지와 기록 깊숙한 곳의 한두 페이지 — 를 가져와 스크립트가 보낸 내용과 대조해, 누구도 지어낸 기록을 리더보드에 올릴 수 없게 합니다. 링크는 가져오기가 열려 있는 한 시간 동안 서버 메모리에만 있으며 계정과 함께 저장되지 않습니다. 그다음은 일반적인 링크 가져오기와 같은 과정입니다: 사이트는 중복을 제거하고(이미 가져온 것은 다시 집계되지 않음), 천장 카운트를 재계산하며, 이미 로그인한 계정에 저장합니다. 스크립트가 실행되는 동안 페이지의 진행 상황은 스스로 업데이트되며, 따로 클릭할 필요가 없습니다.
스크립트가 절대 하지 않는 일
직접 확인하는 방법
.ps1)입니다 - 실행 전에 어떤 텍스트 편집기로든 열어 전체를 읽어볼 수 있습니다이 질문에 대한 짧은 답변은 FAQ에 있습니다. 다른 가져오기 관련 질문들도 그곳에 있습니다