CSGOFloat é um serviço API gratuito e de código aberto que permite obter o float e a semente de pintura de qualquer item CSGO usando seu link de inspeção.
Extensão CSGOFloat
Site CSGOFloat
API
Exemplos
Exemplos
GET /
GET /
(usando um URL de inspeção)
Responder
Erros
Como instalar
Docker
Manual
Passos
Como fazer login em um bot pela primeira vez
Quebrando mudanças
Argumentos
GET /
Os parâmetros s, a, d, m podem ser encontrados no link de inspeção de um item do CSGO.
Parâmetro | Descrição |
---|---|
é | Opcional: se for um item de inventário, preencha este parâmetro no URL de inspeção |
um | Obrigatório: inspecionar o parâmetro URL "a" |
d | Obrigatório: inspecionar parâmetro URL "d" |
eu | Opcional: se for um item de mercado, preencha este parâmetro no URL de inspeção |
http://<ip>:<port>/?m=563330426657599553&a=6710760926&d=9406593057029549017
http://<ip>:<port>/?s=76561198084749846&a=6777992090&d=3378412659870065794
GET /
(usando um URL de inspeção)Parâmetro | Descrição |
---|---|
url | Obrigatório: inspecionar URL do item 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
A resposta desta API é baseada neste protobuf CSGO.
Atributo | Tipo de dados | Descrição |
---|---|---|
ID do item | uint32 | ID do item |
definirdex | uint32 | ID da arma |
índice de pintura | uint32 | Pintar ID da arma (skin) |
raridade | uint32 | Valor de raridade da arma |
qualidade | uint32 | Qualidade da arma |
pinturas | uint32 | Desgaste do exterior da pele |
semente de tinta | uint32 | Semente para o RNG que define como colocar a textura da pele |
valor killeater | uint32 | Se o item for StatTrak, esta é a quantidade de mortes |
nome personalizado | corda | Se o item tiver um crachá, este é o nome personalizado |
adesivos | variedade | Contém dados sobre a colocação de adesivos |
origem | uint32 | ID de origem da arma |
valor flutuante | flutuador | Desgaste exterior da pele na sua representação flutuante |
URL da imagem | corda | Opcional: Imagem do item |
min | flutuador | Desgaste mínimo da pele |
máx. | flutuador | Desgaste máximo da pele |
nome_do_item | uint32 | Opcional: Nome da skin |
tipo_arma | corda | Nome do tipo de arma |
nome_origem | corda | Nome de origem (Trade-Up, Dropped, etc...) |
nome_qualidade | corda | Nome da qualidade (Souvenir, Stattrak, etc...) |
nome_raridade | corda | Nome de raridade (Covert, Mil-Spec, etc...) |
wear_name | corda | Nome do desgaste (novo de fábrica, desgaste mínimo, etc...) |
nome_item_completo | corda | Nome completo do item (ex. SSG 08 Blue Spruce (desgaste mínimo)) |
{ "iteminfo": { "accountid": null, "itemid": "13874827217", "defindex": 7, "paintindex": 282, "raridade": 5, "qualidade": 4, "paintseed": 361, "killeaterscoretype": nulo, "killeatervalue": nulo, "nome personalizado": nulo, "adesivos": [], "inventário": 11, "origem": 8, "questid": nulo, "dropreason": nulo, "musicindex": nulo, "s": "0", "a": "13874827217", "d": "4649025583329100061", "m": "2608048286785948758", "valor flutuante": 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, "máx": 0,7, "tipo de arma": "AK-47", "item_name": "Redline", "rarity_name": "Classificado", "quality_name": "Único", "origin_name": "Encontrado na caixa", "wear_name": "Testado em campo", "full_item_name": "AK-47 | Redline (testado em campo)" } }
POST /bulk
Permite solicitar dados do link de inspeção para vários itens de uma só vez.
NOTA: Certifique-se de enviar cabeçalhos Content-Type: application/json
adequados
Corpo da solicitação:
{"links": [ {"link": "steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20M2906459769049600931A18971892678D9403672490970763167"}, {"link": "steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20M2907585668964658722A17231546984D5353704955732169451"} ] }
Exemplo de resposta:
{"18971892678": {"origem": 8,"qualidade": 4,"raridade": 5,"a": "18971892678","d": "9403672490970763167","paintseed": 49,"defindex": 7,"índice de pintura": 282,// STUB...},"17231546984": {"origem": 4,"qualidade": 4,"raridade": 4,"a": "17231546984","d": "5353704955732169451","paintseed": 597 ,"defindex": 9,"paintindex": 838,// ESBOÇO...},...}
GET /stats
Fornece alguns dados sobre o status atual de seus bots e fila.
Exemplo:
{"bots_online":100,"bots_total":100,"queue_size":20,"queue_concurrency":100}
Código | Descrição |
---|---|
1 | Estrutura de parâmetros inadequada |
2 | Estrutura de link de inspeção inválida |
3 | Você só pode ter X solicitações pendentes por vez |
4 | Os servidores da Valve não responderam a tempo |
5 | Os servidores da Valve parecem estar offline. Tente novamente mais tarde! |
6 | Algo deu errado do nosso lado, tente novamente |
7 | Formato corporal inadequado |
8 | Segredo ruim |
{ "error": "Os servidores da Valve não responderam a tempo", "code": 4}
Se estiver usando uma solicitação /bulk
e o erro se aplicar apenas a um link de inspeção específico, a resposta retornada para ele será substituída enquanto outros links de inspeção serão processados normalmente. Se o erro se aplicar a toda a solicitação (ou seja, corpo da postagem inválido), ele retornará um erro no nível raiz, conforme mostrado acima.
Exemplo:
{ "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 } }
Para recuperar valores flutuantes para armas desta forma, você deve ter conta(s) Steam com uma cópia do CS:GO. Cada conta pode solicitar 1 float por segundo. CSGOFloat permite que você tenha quantos bots desejar, inserindo as informações de login em config.js.
Cada instância do CSGOFloat pode operar cerca de 300 contas. É recomendado configurar um servidor Postgres ou outro cache como Varnish ou Nginx na frente do seu servidor.
Extraia a imagem do docker e monte o diretório de configuração
docker pull step7750/csgofloat:master docker run -d --name csgofloat -v /host/config:/config -p 80:80 -p 443:443 step7750/csgofloat:master
Na primeira vez que você iniciar o contêiner do docker, ele copiará o arquivo config.js
para o diretório de configuração e parará. Você precisará editar este arquivo e incluir as informações de login do seu bot e, em seguida, iniciar a janela de encaixe novamente. Consulte a seção Como fazer login em um bot pela primeira vez para obter mais informações.
Certifique-se de configurar um servidor Postgres para usar no cache!
Requer Node.js v14+!
Clone o repositório (ou npm install csgofloat
) e instale as dependências do Node.js usando npm install
ou yarn install
no diretório raiz.
Copie config.example.js
para config.js
Adicione as informações de login do(s) seu(s) bot(s) ao config.js
Edite config.js
com as configurações desejadas
Certifique-se de que o Postgres esteja em execução se você configurou o URL do banco de dados
Execute node index.js
no diretório principal
Como fazer login em um bot pela primeira vez
Navegue até o IP onde o servidor está hospedado e consulte a API usando os documentos acima!
Nota : Se o bot nunca tiver feito login no cliente Steam antes e não tiver o Mobile 2FA ativado (conta nova), você pode apenas inserir o nome de usuário e a senha e ele deverá fazer login com sucesso sem o e-mail 2FA
Se o seu bot não possuir CS:GO, o CSGOFloat tentará automaticamente obter uma licença para ele durante a inicialização.
Usando e-mail 2FA
Preencha apenas os campos user
e pass
para o bot (certifique-se de que o campo auth
esteja vazio ou removido)
Inicie o CSGOFloat
Ele informará que um código de autenticação foi enviado para seu e-mail
Insira o código do seu e-mail no campo auth
do bot
Reinicie CSGOFloat
Ele deve fazer login e criar arquivos de token de autenticação de máquina para cada conta no diretório de configuração atual do node-steam-user
O campo auth
agora pode ser removido opcionalmente do seu arquivo de login para logins adicionais
Usando 2FA móvel
Preencha os campos user
e pass
para o bot
Preencha o campo auth
com shared_secret
para o bot
Inicie o CSGOFloat
Ele deve fazer login e criar arquivos de token de autenticação de máquina para cada conta no diretório de configuração atual do node-steam-user
Você precisará manter o campo auth
preenchido para logins futuros
MongoDB não é mais suportado, use Postgres
O acesso Socket.io não é mais suportado
O manuseio de HTTPS integrado foi removido; em vez disso, proxy reverso para HTTP
Como agora usamos node-steam-user em vez de node-steam, a localização da pasta sentinela agora depende do seu sistema. Se quiser migrar os arquivos sentry da versão 2.0 em vez de ter que autenticar novamente as contas de e-mail 2FA, você precisará copiar seus arquivos sentry e renomeá-los para corresponder ao formato do node-steam-user
allow_simultaneous_requests
agora foi substituído por max_simultaneous_requests
. Você pode definir max_simultaneous_requests
como -1
para permitir uma quantidade infinita de solicitações simultâneas pelo mesmo IP.
-c
/ --config
(padrão ./config.js
)Localização do arquivo de configuração CSGOFloat
-s
/ --steam_data
(diretório de configuração padrão do node-steam-user)diretório de configuração node-steam-user