Randy
  1. uk
Randy
  • en
    • About API
    • Update log
    • /api/v2/info
      • games
        • session info
      • players
        • {platform}
          • {accountID}
            • save account
            • overview
            • party
            • inventory
            • seasons
            • season overview
            • profile_id
  • uk
    • Про API
    • Журнал оновлень
    • /api/v2/info
      • games
        • інформація про гру
      • players
        • {platform}
          • {accountID}
            • зберегти акаунт
            • загальний огляд
            • паті гравця
            • інвентар
            • огляд сезонів
            • статистика сезону
            • отримати profile_id
  1. uk

Про API

⚠️ УВАГА ⚠️#

Починаючи з 26 червня 2025 року, Shatterline змістить свою увагу з онлайн-мультиплеєра на однокористувацький режим. Це означає, що сервери онлайн-мультиплеєра будуть закриті.
ℹ️ Щоб бути впевненим, що ваш прогрес не буде втрачено у майбутньому збережіть його на сервері Randy прямо зараз.

Питання пов'язані з API#

Що це API може?#

Надати інформацію про гравців Shatterline та ігрові сесії.

Для чого це?#

Наприклад, щоб створити Discord бота для отримання пресетів досвідчених гравців.

Де взяти gameID?#

Достатньо під час гри подивитись на технічний рядок справа знизу
image.png

Де взяти accountID?#

Для Epic Games Store#

Його можна побачити у
посиланні профілю store.epicgames.com/en-US/u/ b04c429ab83b49919d4c7b38a6ea796b
на сторінці налаштувань акаунта під полем Account Information буде написано ID: ...
Screenshot 2024-11-30 at 06-01-10 Account Settings.png

Для Steam#

Потрібен SteamID64, наприклад, 76561198117708360. Його можна
інколи побачити у посиланні на профіль: steamcommunity.com/profiles/ 76561198117708360
отримати з цього сайту вставивши, наприклад, посилання на профіль, яке не містить SteamID64 у самому посиланні

Які ліміти?#

Наразі, лише один: не більше 1-го запиту на секунду. Якщо вам цього недостатньо, то сконтактуйте зі мною зручним для вас способом, для отримання особистого токену.

Питання не пов`язані з API напряму#

Чому б розробникам не зробити офіційне API?#

Думаю, у них є багато більш пріоритетних завдань аніж статистика чи перегляд встановлених модулів на зброю, наприклад, можливість створення приватних кімнат.

Як це працює?#

Мій сервер емолює клієнт гри 24/7. Коли приходить вхідний запит, він відправляє від імені гри запит на отримання статистики. Коли інформація приходить від серверів Shatterline, то дані перекодовуються у JSON формат і відправляються до клієнта.
З цього пояснення цілком логічно випливає наступне: API не працюватиме під час оновлення гри і деякий час (~1 день) після нього, оскільки треба зрозуміти які зміни були внесені в ігровий клієнт, пропатчити емулятор та знову "зайти у гру".
Зазвичай, якщо відкинути оновлення, все працює як швейцарський годинник, але це не означає, що так буде завжди. Розробники можуть у черговому аптейті ненавмисне вбити це API повністю змінивши механізм отримання даних, наприклад, для удосконалення меню гри або оптимізації обробки вхідних запитів, але такого ще жодного разу не траплялось тож це радше теоретична можливість, а не реальна проблема.

Що таке Randy?#

Під час розробки емулятор отримав кодове ім'я Randy на честь бота-диспетчера з місії Прикордонний контроль.

Чи можна за допомогою цього емулятора чітирити?#

Ні, це неможливо з багатьох причин:
все на що здатен емулятор це приєднатись до головного серверу, так як це робить гра перед відкриттям головного меню. Він не може підключитись до ігрової сесії, оскільки це зовсім інший протокол;
навіть якби я і розібрав би як працює цей окремий протокол і написав відповідний код, то при спробі підключення EAC засіче, що гра запущена без античіта і заблокує цю спробу;
якщо якимось незвіданим чином прикрутити до цієї магічної неіснуючої вундервафлі клієнт античіта, то він одразу побачить, що за вакханалія тут твориться і відправить відповідну інформацію на сервер.
* Для особливо допитливих :) одразу напишу, що на даний момент написати свій клієнт-обманку для серверів EAC у мене немає, ні бажання, ні технічних навичок.

Як взагалі можна було зробити емулятор?#

Маючи дамп усього трафіку між грою та сервером, усе стає як на долоні. Набагато легше зробити щось по прикладу аніж займатись реверс-інжинірингом щоб зрозуміти як працює гра, тому написання емулятора було лише питанням часу. Якби не дамп, навряд у мене було б бажання витратити сотні годин на це.

Хіба гра не використовує шифрування?#

Гра використовує стандартний на сьогоднішній день криптографічний протокол TLS 1.2, який широко використовується для передачі даних не лише банками, а й Дією.
Проте, деякими хитрощами вдалось підмінити сертифікат шифрування у клієнті гри. Експлойт давно відправлений розробникам та оперативно виправлений.

Чи буде опубліковано цей емулятор у майбутньому?#

Малоймовірно. На це є багато причин.
Modified at 2025-06-10 09:50:47
Previous
profile_id
Next
Журнал оновлень
Built with