CSGOFloat es un servicio API gratuito y de código abierto que le permite obtener la semilla flotante y de pintura de cualquier elemento de CSGO mediante su enlace de inspección.
Extensión CSGOFloat
Sitio web CSGOFloat
API
Ejemplos
Ejemplos
GET /
GET /
(Usando una URL de inspección)
Responder
Errores
Cómo instalar
Estibador
Manual
Pasos
Cómo iniciar sesión por primera vez en un bot
Cambios importantes
argumentos
GET /
Los parámetros s, a, d, m se pueden encontrar en el enlace de inspección de un elemento csgo.
Parámetro | Descripción |
---|---|
s | Opcional: si es un artículo de inventario, complete este parámetro desde la URL de inspección |
a | Obligatorio: inspeccionar el parámetro URL "a" |
d | Obligatorio: inspeccionar el parámetro "d" de la URL |
metro | Opcional: si es un artículo de mercado, complete este parámetro desde la URL de inspección |
http://<ip>:<port>/?m=563330426657599553&a=6710760926&d=9406593057029549017
http://<ip>:<port>/?s=76561198084749846&a=6777992090&d=3378412659870065794
GET /
(Usando una URL de inspección)Parámetro | Descripción |
---|---|
URL | Obligatorio: inspeccionar la URL del elemento 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
La respuesta de esta API se basa en este protobuf de CSGO.
Atributo | Tipo de datos | Descripción |
---|---|---|
id de artículo | uint32 | ID del artículo |
definir índice | uint32 | ID de arma |
índice de pintura | uint32 | ID de pintura del arma (piel) |
rareza | uint32 | Valor de rareza del arma. |
calidad | uint32 | Calidad del arma |
ropa de pintura | uint32 | Desgaste del exterior de la piel. |
semilla de pintura | uint32 | Semilla del RNG que define cómo colocar la textura de la piel. |
valor del asesino | uint32 | Si el elemento es StatTrak, esta es la cantidad de muertes. |
nombre personalizado | cadena | Si el artículo tiene una etiqueta con su nombre, este es el nombre personalizado. |
pegatinas | formación | Contiene datos sobre la colocación de pegatinas. |
origen | uint32 | ID de origen del arma. |
valor flotante | flotar | Desgaste exterior de la piel en su representación flotante. |
URL de imagen | cadena | Opcional: Imagen del artículo |
mín. | flotar | Desgaste mínimo de la piel. |
máximo | flotar | Máximo desgaste de la piel. |
nombre_artículo | uint32 | Opcional: Nombre de la piel |
tipo_arma | cadena | Nombre del tipo de arma |
nombre_origen | cadena | Nombre de origen (Trade-Up, Dropped, etc...) |
nombre_calidad | cadena | Nombre de la calidad (Souvenir, Stattrak, etc...) |
nombre_rareza | cadena | Nombre de rareza (Covert, Mil-Spec, etc...) |
nombre_desgaste | cadena | Nombre de uso (Nuevo de fábrica, Desgaste mínimo, etc...) |
nombre_elemento_completo | cadena | Nombre completo del artículo (ej. SSG 08 Blue Spruce (desgaste mínimo)) |
{ "iteminfo": { "accountid": null, "itemid": "13874827217", "defindex": 7, "paintindex": 282, "rarity": 5, "quality": 4, "paintseed": 361, "killeaterscoretype": nulo, "killeatervalue": nulo, "nombre personalizado": nulo, "pegatinas": [], "inventario": 11, "origen": 8, "questid": nulo, "dropreason": nulo, "musicindex": nulo, "s": "0", "a": "13874827217", "d": "4649025583329100061", "m": "2608048286785948758 ", "valor flotante": 0.22740158438682556, "URL de imagen": "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": "Clasificado", "quality_name": "Único", "origin_name": "Encontrado en caja", "wear_name": "Probado en campo", "full_item_name": "AK-47 | Redline (probado en campo)" } }
POST /bulk
Le permite solicitar los datos del enlace de inspección para varios elementos a la vez.
NOTA: Asegúrese de enviar Content-Type: application/json
Cuerpo de la solicitud:
{ "enlaces": [ {"link": "steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20M2906459769049600931A18971892678D9403672490970763167"}, {"link": "steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20M2907585668964658722A17231546984D5353704955732169451"} ] }
Ejemplo de respuesta:
{"18971892678": {"origen": 8,"calidad": 4,"rareza": 5,"a": "18971892678","d": "9403672490970763167","paintseed": 49,"defindex": 7, "índice de pintura": 282,// STUB...},"17231546984": {"origen": 4,"calidad": 4,"rareza": 4,"a": "17231546984","d": "5353704955732169451","paintseed": 597 ,"defindex": 9,"paintindex": 838,// STUB...},...}
GET /stats
Proporciona algunos datos sobre el estado actual de sus bots y cola.
Ejemplo:
{"bots_online":100,"bots_total":100,"queue_size":20,"queue_concurrency":100}
Código | Descripción |
---|---|
1 | Estructura de parámetros inadecuada |
2 | Estructura de enlace de inspección no válida |
3 | Es posible que solo tengas X solicitudes pendientes a la vez |
4 | Los servidores de Valve no respondieron a tiempo |
5 | Los servidores de Valve parecen estar desconectados. ¡Inténtelo de nuevo más tarde! |
6 | Algo salió mal por nuestra parte, inténtalo de nuevo. |
7 | Formato de cuerpo inadecuado |
8 | Mal secreto |
{ "error": "Los servidores de Valve no respondieron a tiempo", "code": 4}
Si utiliza una solicitud /bulk
y el error solo se aplica a un enlace de inspección específico, la respuesta devuelta se reemplazará mientras que otros enlaces de inspección se procesarán normalmente. Si el error se aplica a toda la solicitud (es decir, cuerpo de publicación incorrecto), devolverá un error de nivel raíz como se muestra arriba.
Ejemplo:
{ "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 los valores flotantes de las armas de esta manera, debes tener cuentas de Steam con una copia de CS:GO. Cada cuenta puede solicitar 1 flotación por segundo. CSGOFloat le permite tener tantos bots como desee ingresando la información de inicio de sesión en config.js.
Cada instancia de CSGOFloat puede operar alrededor de 300 cuentas. Se recomienda configurar un servidor Postgres o configurar otro caché como Varnish o Nginx frente a su servidor.
Extraiga la imagen de la ventana acoplable y monte el directorio de configuración
docker pull step7750/csgofloat:master docker run -d --name csgofloat -v /host/config:/config -p 80:80 -p 443:443 step7750/csgofloat:master
La primera vez que inicie el contenedor Docker, copiará el archivo config.js
al directorio de configuración y se detendrá. Deberá editar este archivo e incluir la información de inicio de sesión de sus bots y luego iniciar la ventana acoplable nuevamente. Consulte la sección Cómo iniciar sesión por primera vez en un bot para obtener más información.
¡Asegúrese de configurar un servidor Postgres para usarlo como almacenamiento en caché!
¡Requiere Node.js v14+!
Clone el repositorio (o npm install csgofloat
) e instale las dependencias de Node.js usando npm install
o yarn install
en el directorio raíz.
Copie config.example.js
a config.js
Agregue la información de inicio de sesión de su(s) bot(s) a config.js
Edite config.js
con la configuración que desee
Asegúrese de que Postgres se esté ejecutando si ha configurado la URL de su base de datos
Ejecute node index.js
en el directorio principal
Cómo iniciar sesión por primera vez en un bot
Navegue hasta la IP en la que está alojado el servidor y consulte la API utilizando los documentos anteriores.
Nota : Si el bot nunca ha iniciado sesión en el cliente Steam antes y no tiene Mobile 2FA habilitado (cuenta nueva), simplemente puede ingresar el nombre de usuario y la contraseña y debería iniciar sesión correctamente sin correo electrónico 2FA.
Si su bot no posee CS:GO, CSGOFloat intentará automáticamente obtener una licencia durante el inicio.
Uso de correo electrónico 2FA
Complete solo los campos user
y pass
para el bot (asegúrese de que el campo auth
esté vacío o eliminado)
Iniciar CSGOFloat
Le dirá que se envió un código de autenticación a su correo electrónico.
Ingrese el código de su correo electrónico en el campo auth
del bot
Reiniciar CSGOFloat
Debería iniciar sesión correctamente y crear archivos de token de autenticación de máquina para cada cuenta en el directorio de configuración actual de nodo-steam-user.
El campo auth
ahora se puede eliminar opcionalmente en su archivo de inicio de sesión para realizar más inicios de sesión.
Usando 2FA móvil
Complete los campos user
y pass
para el bot
Complete el campo auth
con el shared_secret
para el bot.
Iniciar CSGOFloat
Debería iniciar sesión correctamente y crear archivos de token de autenticación de máquina para cada cuenta en el directorio de configuración actual de nodo-steam-user.
Deberá mantener el campo auth
completo para futuros inicios de sesión.
MongoDB ya no es compatible, use Postgres en su lugar
El acceso a Socket.io ya no es compatible
Se ha eliminado el manejo de HTTPS incorporado; en su lugar, se utiliza proxy inverso a HTTP.
Dado que ahora usamos node-steam-user en lugar de node-steam, la ubicación de la carpeta centinela ahora depende de su sistema. Si desea migrar archivos centinela desde la versión 2.0 en lugar de tener que volver a autenticar las cuentas de correo electrónico 2FA, deberá copiar sus archivos centinela y cambiarles el nombre para que coincidan con el formato del usuario de nodo-steam.
allow_simultaneous_requests
ahora ha sido reemplazado por max_simultaneous_requests
. Puede configurar max_simultaneous_requests
en -1
para permitir una cantidad infinita de solicitudes simultáneas por la misma IP.
-c
/ --config
(predeterminado ./config.js
)Ubicación del archivo de configuración CSGOFloat
-s
/ --steam_data
(directorio de configuración predeterminado de nodo-steam-usuario)directorio de configuración de usuario de vapor de nodo