CSGOFloat — это бесплатный API-сервис с открытым исходным кодом, который позволяет вам получать начальные значения float и Paint любого элемента CSGO, используя ссылку проверки.
CSGOFloat-Расширение
CSGOFloat-сайт
API
Примеры
Примеры
GET /
GET /
(с использованием URL-адреса проверки)
Отвечать
Ошибки
Как установить
Докер
Руководство
Шаги
Как впервые войти в систему с ботом
Критические изменения
Аргументы
GET /
Параметры s, a, d, m можно найти в ссылке проверки элемента CSGO.
Параметр | Описание |
---|---|
с | Необязательно: если это предмет инвентаря, заполните этот параметр из URL-адреса проверки. |
а | Обязательно: проверьте параметр URL «a». |
д | Обязательно: проверьте параметр URL «d». |
м | Необязательно: если это рыночный товар, заполните этот параметр из URL-адреса проверки. |
http://<ip>:<port>/?m=563330426657599553&a=6710760926&d=9406593057029549017
http://<ip>:<port>/?s=76561198084749846&a=6777992090&d=3378412659870065794
GET /
(с использованием URL-адреса проверки)Параметр | Описание |
---|---|
URL | Обязательно: проверьте URL-адрес элемента CSGO. |
http://<ip>:<port>/?url=steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561198084749846A698323590D7935523998312483177
http://<ip>:<port>/?url=steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20M625254122282020305A6760346663D30614827701953021
Ответ этого API основан на этом прототипе CSGO.
Атрибут | Тип данных | Описание |
---|---|---|
идентификатор элемента | uint32 | Идентификатор предмета |
дефиндекс | uint32 | Идентификатор оружия |
индекс рисования | uint32 | Краска ID оружия (скина) |
редкость | uint32 | Значение редкости оружия |
качество | uint32 | Качество оружия |
лакокрасочное покрытие | uint32 | Износ внешней поверхности кожи |
семя краски | uint32 | Начальное значение для генератора случайных чисел, определяющее, как разместить текстуру кожи. |
ценность убийцы | uint32 | Если предмет StatTrak, это количество убийств. |
пользовательское имя | нить | Если у предмета есть именной ярлык, это собственное имя. |
наклейки | множество | Содержит данные о размещении наклеек |
источник | uint32 | Идентификатор происхождения оружия |
значение с плавающей запятой | плавать | Внешний износ кожи в плавающем представлении |
URL-адрес изображения | нить | Необязательно: изображение предмета. |
мин | плавать | Минимальный износ кожи |
Макс | плавать | Максимальный износ кожи |
имя_элемента | uint32 | Необязательно: Название скина |
тип_оружия | нить | Название типа оружия |
origin_name | нить | Название происхождения (Trade-Up, Dropped и т. д.) |
имя_качества | нить | Название качества (Сувенир, Stattrak и т. д.) |
редкое_имя | нить | Редкое имя (Тайное, Армейское и т. д.) |
носить_имя | нить | Название изделия (Прямо с завода, Немногие поношенные и т. д.) |
полное_имя_элемента | нить | Полное название предмета (например, SSG 08 Blue Spruce (Немного поношенное)) |
{ "iteminfo": { "accountid": null, "itemid": "13874827217", "defindex": 7, "paintindex": 282, "rarity": 5, "quality": 4, "paintseed": 361, «killeaterscoretype»: ноль, «killeatervalue»: ноль, «пользовательское имя»: ноль, «стикеры»: [], "inventory": 11, "origin": 8, "questid": null, "dropreason": null, "musicindex": null, "s": "0", "a": "13874827217", " д": "4649025583329100061", "м": "2608048286785948758", "floatvalue": 0,22740158438682556, "imageurl": "http://media.steampowered.com/apps/730/icons/econ/default_generated/weapon_ak47_cu_ak47_cobra_light_large.7494bfdf4855fd4e6a2dbd983ed0a243c80ef830.png", "min": 0,1, "max": 0,7, "weapon_type": "AK-47", "item_name": "Redline", "rarity_name": "Секретно", "quality_name": "Уникальный", "origin_name": "Найдено в ящике", "wear_name": "Field -Проверено", "full_item_name": "АК-47 | Redline (После полевых испытаний)" } }
POST /bulk
Позволяет запрашивать данные ссылки проверки для нескольких элементов одновременно.
ПРИМЕЧАНИЕ. Убедитесь, что вы отправляете правильные заголовки Content-Type: application/json
Тело запроса:
{ "ссылки": [ {"ссылка": "steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20M2906459769049600931A18971892678D9403672490970763167"}, {"ссылка": "steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20M2907585668964658722A17231546984D5353704955732169451"} ] }
Пример ответа:
{"18971892678": {"origin": 8, "quality": 4, "rarity": 5, "a": "18971892678", "d": "9403672490970763167", "paintseed": 49, "defindex": 7, «индекс рисования»: 282, // STUB...},"17231546984": {"origin": 4,"quality": 4,"rarity": 4,"a": "17231546984","d": "5353704955732169451","paintseed": 597 ,"defindex": 9,"paintindex": 838,// ЗАШИЛКА...},...}
GET /stats
Предоставляет некоторые данные о текущем состоянии ваших ботов и очереди.
Пример:
{"bots_online": 100, "bots_total": 100, "queue_size": 20, "queue_concurrency": 100}
Код | Описание |
---|---|
1 | Неправильная структура параметров |
2 | Неверная структура ссылки проверки |
3 | Одновременно у вас может быть только X ожидающих запросов. |
4 | Серверы Valve не ответили вовремя |
5 | Серверы Valve отключены от сети. Повторите попытку позже! |
6 | Что-то пошло не так с нашей стороны, попробуйте еще раз |
7 | Неправильный формат тела |
8 | Плохой секрет |
{ "ошибка": "Серверы Valve не ответили вовремя", "код": 4}
Если при использовании запроса /bulk
ошибка относится только к определенной ссылке проверки, возвращенный ответ на нее будет заменен, в то время как другие ссылки проверки будут обрабатываться нормально. Если ошибка относится ко всему запросу (т. е. к неправильному телу сообщения), она вернет ошибку корневого уровня, как показано выше.
Пример:
{ "18971892678": { "origin": 8, "quality": 4, "rarity": 5, "a": "18971892678", "d": "9403672490970763167", "paintseed": 49, "defindex": 7, "paintindex": 282, // STUB... }, "16231546984": { "error": "Valve's servers didn't reply in time", "code": 4, "status": 500 } }
Чтобы получить значения float для оружия таким способом, у вас должны быть учетные записи Steam с копией CS:GO. Каждая учетная запись может запрашивать 1 флоат в секунду. CSGOFloat позволяет вам иметь столько ботов, сколько вам нужно, путем ввода данных для входа в config.js.
Каждый экземпляр CSGOFloat может работать с около 300 учетными записями. Рекомендуется либо настроить сервер Postgres, либо настроить другой кеш, например Varnish или Nginx, перед вашим сервером.
Вытащите образ из докера и смонтируйте каталог конфигурации.
docker pull step7750/csgofloat:master docker run -d --name csgofloat -v /host/config:/config -p 80:80 -p 443:443 step7750/csgofloat:master
При первом запуске Docker-контейнера он скопирует файл config.js
в каталог конфигурации и остановится. Вам нужно будет отредактировать этот файл, включив в него данные для входа в систему ботов, а затем снова запустить докер. Дополнительную информацию см. в разделе «Как впервые войти в систему с ботом».
Обязательно настройте сервер Postgres для кэширования!
Требуется Node.js v14+!
Клонируйте репозиторий (или npm install csgofloat
) и установите зависимости Node.js с помощью npm install
или yarn install
в корневом каталоге.
Скопируйте config.example.js
в config.js
Добавьте информацию для входа в систему вашего бота в config.js
Отредактируйте config.js
с нужными настройками.
Убедитесь, что Postgres запущен, если вы установили URL-адрес его базы данных.
Запустите node index.js
в основном каталоге.
Как впервые войти в систему с ботом
Перейдите к IP-адресу, на котором размещен сервер, и запросите API, используя приведенную выше документацию!
Примечание . Если бот никогда раньше не входил в клиент Steam и у него не включена мобильная 2FA (новая учетная запись), вы можете просто ввести имя пользователя и пароль, и он должен успешно войти в систему без 2FA по электронной почте.
Если у вашего бота нет CS:GO, CSGOFloat автоматически попытается получить для него лицензию во время запуска.
Использование электронной почты 2FA
Заполняйте только поля user
и pass
для бота (убедитесь, что поле auth
пусто или удалено)
Запустите CSGOFloat.
Он сообщит вам, что код авторизации был отправлен на вашу электронную почту.
Введите код из вашей электронной почты в поле auth
для бота.
Перезапустить CSGOFloat
Он должен успешно войти в систему и создать файлы токенов аутентификации компьютера для каждой учетной записи в текущем каталоге конфигурации node-steam-user.
Поле auth
теперь можно при желании удалить из вашего файла входа для дальнейшего входа в систему.
Использование мобильного 2FA
Заполняем user
и pass
поля для бота
Заполните поле auth
shared_secret
для бота.
Запустите CSGOFloat
Он должен успешно войти в систему и создать файлы токенов аутентификации компьютера для каждой учетной записи в текущем каталоге конфигурации node-steam-user.
Вам нужно будет оставить поле auth
заполненным для будущих входов в систему.
MongoDB больше не поддерживается, вместо этого используйте Postgres.
Доступ к Socket.io больше не поддерживается.
Встроенная обработка HTTPS была удалена, вместо этого используется обратный прокси-сервер для HTTP.
Поскольку теперь мы используем node-steam-user вместо node-steam, расположение папки Sentry теперь зависит от вашей системы. Если вы хотите перенести файлы Sentry из версии 2.0 вместо повторной аутентификации учетных записей электронной почты 2FA, вам необходимо скопировать файлы Sentry и переименовать их в соответствии с форматом node-steam-user.
allow_simultaneous_requests
теперь заменен на max_simultaneous_requests
. Вы можете установить для max_simultaneous_requests
значение -1
, чтобы разрешить бесконечное количество одновременных запросов с одного и того же IP-адреса.
-c
/ --config
(по умолчанию ./config.js
)Расположение файла конфигурации CSGOFloat
-s
/ --steam_data
(каталог конфигурации node-steam-user по умолчанию)каталог конфигурации node-steam-user