Từng script nhập dữ liệu thực sự làm gì
Hai script khác nhau, hai nhiệm vụ khác nhau — hãy đọc chính xác từng script làm gì trước khi chạy bất kỳ script nào
Script 1 — "Lấy liên kết" (nhập thông thường)
Đây là script đứng sau nút "Sao chép lệnh" trong nhập bằng URL thông thường — phiên bản đơn giản, được dùng từ trước khi có Nhập nhanh. Tất cả những gì nó làm là tìm một liên kết và sao chép vào bộ nhớ tạm; bản thân script không bao giờ gửi bất cứ thứ gì đi đâu cả.
1. Quyền chỉ dành cho cửa sổ này
Lệnh bắt đầu bằng Set-ExecutionPolicy Bypass -Scope Process. "-Scope Process" nghĩa là quyền này chỉ áp dụng cho đúng một cửa sổ PowerShell đang mở này — không có gì thay đổi vĩnh viễn trong Windows, và mọi thứ biến mất ngay khi bạn đóng cửa sổ.
2. Tìm nơi cài đặt trò chơi
Script đọc Player.log — một tệp nhật ký thông thường mà chính trò chơi ghi lại để gỡ lỗi cho chính nó. Bên trong đó, nó tìm đường dẫn tới thư mục cài đặt trò chơi, do chính trò chơi ghi vào đó.
3. Đọc một bản sao bộ nhớ đệm của chính trò chơi
Bên trong thư mục trò chơi có một thư mục webCaches — bộ nhớ đệm trình duyệt mà trò chơi dùng để vẽ các cửa sổ bật lên như lịch sử quay của bạn (màn hình đó được vẽ như một trang web nhúng, không phải một phần của trò chơi 3D). Script sao chép một tệp từ đó vào một thư mục tạm — một bản sao, không phải bản gốc — và tìm trong đó một liên kết chứa getGachaLog: cùng địa chỉ mà chính trò chơi mở để hiển thị lịch sử của bạn.
4. Một lần kiểm tra, rồi xong
Trước khi đưa liên kết cho bạn, script gửi một yêu cầu thử nghiệm duy nhất tới máy chủ chính thức của trò chơi để xác nhận liên kết vẫn còn hoạt động — cùng loại yêu cầu mà chính trò chơi sẽ gửi. Bản sao tạm thời bị xóa, và liên kết được sao chép vào bộ nhớ tạm.
Script 2 — "Nhập nhanh" (lấy dữ liệu cục bộ đầy đủ)
Vì sao lại có một phương thức riêng
Nhập bằng liên kết thông thường tải lịch sử của bạn không phải từ máy tính của bạn, mà từ máy chủ của chúng tôi — và tất cả những ai nhập cùng lúc đều chia sẻ chung một hạn mức yêu cầu tới máy chủ trò chơi. Càng nhiều người nhập cùng lúc, mọi người càng phải chờ lâu hơn. Nhập nhanh giải quyết việc này theo cách khác: script tải lịch sử của bạn trực tiếp từ chính máy của bạn, chỉ giới hạn bởi internet của riêng bạn, không phải giới hạn dùng chung với tất cả mọi người.
Script tìm cùng một liên kết tạm thời tới lịch sử quay giống như cách thông thường, nhưng không dừng lại ở đó. Nó tự lật qua toàn bộ lịch sử, thu thập các lượt quay, và gửi chúng lên trang web bằng một khóa truy cập ngắn, dùng một lần, được cấp riêng cho lần nhập này. Nó không bao giờ cần mật khẩu trò chơi hay trang web của bạn ở bất kỳ bước nào.
Điều gì xảy ra trong khi bạn chờ
1. Quyền chỉ dành cho cửa sổ này
Lệnh bắt đầu bằng Set-ExecutionPolicy Bypass -Scope Process. "-Scope Process" nghĩa là quyền này chỉ áp dụng cho đúng một cửa sổ PowerShell đang mở này — không có gì thay đổi vĩnh viễn trong Windows, và mọi thứ biến mất ngay khi bạn đóng cửa sổ.
2. Tìm và kiểm tra liên kết lịch sử
Cùng cơ chế với phương thức nhập thông thường (xem FAQ "Có an toàn không?") — script đọc nhật ký và bộ nhớ đệm của chính trò chơi, tìm liên kết tạm thời tới lịch sử quay và xác nhận nó vẫn còn hoạt động. Không có gì mới ở đây, chỉ là bước đầu tiên trước những gì tiếp theo.
3. Tự lật qua lịch sử, từng banner một
Dùng liên kết tìm được, script liên hệ lại với máy chủ chính thức của trò chơi, nhiều lần liên tiếp — khoảng 20 mục mỗi lần, riêng cho từng banner. Giữa các yêu cầu có khoảng nghỉ khoảng nửa giây, để không gây tải cho máy chủ trò chơi nhiều hơn việc bạn tự cuộn lịch sử của mình đến hết.
4. Hiển thị tiến trình ngay trong console
Trong khi lấy dữ liệu, cửa sổ PowerShell hiển thị đang thu thập banner nào và đã thu thập được bao nhiêu. Không có gì diễn ra âm thầm phía sau — nếu có sự cố, nó sẽ hiện ngay trên màn hình.
5. Gửi những gì thu thập được lên trang web
Sau khi một banner được thu thập đầy đủ, script gửi các bản ghi đó tới gacha-tracker.com, cùng với liên kết lịch sử tạm thời tìm được ở bước 2 — chính liên kết mà cách nhập thông thường sử dụng. Nó chứng minh đúng là bạn không bằng mật khẩu, mà bằng một khóa truy cập ngắn, dùng một lần — trang web đã cấp khóa này riêng cho lần nhập này khi bạn đang đăng nhập ở trang tải lên, và khóa tự ngừng hoạt động khi không còn cần thiết nữa.
Điều gì xảy ra tiếp theo — đã ở phía trang web
Trang web nhận từ script danh sách các lượt quay (vật phẩm nào, khi nào, từ banner nào), UID trong game của bạn và liên kết lịch sử tạm thời đó. Liên kết chỉ dùng cho một việc: trang web tải vài trang cho mỗi banner từ máy chủ chính thức — trang mới nhất và một hai trang sâu hơn trong lịch sử — rồi đối chiếu với những gì script đã gửi, để không ai có thể đưa lịch sử bịa đặt lên bảng xếp hạng. Nó chỉ nằm trong bộ nhớ máy chủ trong một giờ khi phiên nhập còn mở và không bao giờ được lưu cùng tài khoản của bạn. Từ đó, quy trình giống hệt như nhập bằng liên kết thông thường: trang web loại bỏ trùng lặp (những gì đã nhập trước đó sẽ không bị tính hai lần), tính lại thống kê pity và lưu tất cả vào tài khoản mà bạn đã đăng nhập. Tiến trình trên trang tự cập nhật trong khi script vẫn đang chạy — không có gì để bấm cả.
Những điều nó không bao giờ làm
Tự mình kiểm chứng
.ps1) — bạn có thể mở bằng bất kỳ trình soạn thảo văn bản nào và đọc toàn bộ trước khi chạyVẫn còn thắc mắc?
Việc nhập chỉ mất vài phút — toàn bộ lịch sử được đưa vào và lưu giữ mãi mãi
Nhập lịch sử cầu nguyệnCâu trả lời ngắn gọn cho câu hỏi này nằm trong FAQ. Đó cũng là nơi có các câu hỏi khác về việc nhập dữ liệu