CSGOFloat est un service API gratuit et open source qui vous permet d'obtenir le flotteur et la graine de peinture de n'importe quel élément CSGO en utilisant son lien d'inspection.
Extension CSGOFloat
Site Web CSGOFloat
API
Exemples
Exemples
GET /
GET /
(À l'aide d'une URL d'inspection)
Répondre
Erreurs
Comment installer
Docker
Manuel
Mesures
Comment se connecter pour la première fois à un robot
Changements révolutionnaires
Args
GET /
Les paramètres s, a, d, m peuvent être trouvés dans le lien d'inspection d'un élément csgo.
Paramètre | Description |
---|---|
s | Facultatif : s'il s'agit d'un article en stock, remplissez ce paramètre à partir de l'URL d'inspection. |
un | Obligatoire : Inspecter le paramètre "a" de l'URL |
d | Obligatoire : Inspecter le paramètre "d" de l'URL |
m | Facultatif : s'il s'agit d'un article du marché, remplissez ce paramètre à partir de l'URL d'inspection. |
http://<ip>:<port>/?m=563330426657599553&a=6710760926&d=9406593057029549017
http://<ip>:<port>/?s=76561198084749846&a=6777992090&d=3378412659870065794
GET /
(À l'aide d'une URL d'inspection)Paramètre | Description |
---|---|
URL | Obligatoire : inspecter l'URL de l'élément 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 réponse de cette API est basée sur ce protobuf CSGO.
Attribut | Type de données | Description |
---|---|---|
identifiant de l'article | uint32 | Identifiant de l'article |
définirindex | uint32 | ID d'arme |
indice de peinture | uint32 | ID de peinture de l'arme (skin) |
rareté | uint32 | Valeur de rareté de l'arme |
qualité | uint32 | Qualité de l'arme |
vêtements de peinture | uint32 | Usure de l'extérieur de la peau |
graine de peinture | uint32 | Graine pour le RNG qui définit comment placer la texture de la peau |
valeur tueur | uint32 | Si l'objet est StatTrak, c'est le nombre de victimes |
nom personnalisé | chaîne | Si l'article a un badge, il s'agit du nom personnalisé |
autocollants | tableau | Contient des données sur le placement des autocollants |
origine | uint32 | ID d'origine de l'arme |
valeur flottante | flotter | Usure extérieure de la peau dans sa représentation flottante |
URL de l'image | chaîne | Facultatif : Image de l'article |
min | flotter | Usure minimale de la peau |
maximum | flotter | Usure maximale de la peau |
nom_élément | uint32 | Facultatif : Nom du skin |
type_d'arme | chaîne | Nom du type d'arme |
nom_origine | chaîne | Nom d'origine (Trade-Up, Dropped, etc...) |
nom_qualité | chaîne | Nom de qualité (Souvenir, Stattrak, etc...) |
nom_rareté | chaîne | Nom de rareté (Covert, Mil-Spec, etc...) |
porter_nom | chaîne | Nom d'usure (Nouveau d'usine, Usure minimale, etc...) |
nom_article_complet | chaîne | Nom complet de l'article (ex. SSG 08 Blue Spruce (usure minimale)) |
{ "iteminfo": { "accountid": null, "itemid": "13874827217", "defindex": 7, "paintindex": 282, "rareté": 5, "qualité": 4, "paintseed": 361, "killeaterscoretype": null, "killeatervalue": null, "customname": null, "stickers": [], "inventaire": 11, "origine": 8, "questid": null, "dropreason": null, "musicindex": null, "s": "0", "a": "13874827217", "d": "4649025583329100061", "m " : "2608048286785948758", "valeur flottante" : 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": "Classified", "quality_name": "Unique", "origin_name": "Trouvé dans la caisse", "wear_name": "Testé sur le terrain", "full_item_name": "AK-47 | Redline (testé sur le terrain)" } }
POST /bulk
Vous permet de demander les données du lien d’inspection pour plusieurs éléments à la fois.
REMARQUE : assurez-vous d'envoyer les en-têtes Content-Type: application/json
appropriés.
Corps de la demande :
{ "liens": [ {"lien": "steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20M2906459769049600931A18971892678D9403672490970763167"}, {"lien": "steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20M2907585668964658722A17231546984D5353704955732169451"} ] }
Exemple de réponse :
{"18971892678": {"origine": 8,"qualité": 4,"rarité": 5,"a": "18971892678", "d": "9403672490970763167", "paintseed": 49, "defindex": 7,"paintindex": 282,// STUB...},"17231546984": {"origine": 4,"qualité": 4,"rareté": 4,"a": "17231546984", "d": "5353704955732169451", "paintseed": 597 ,"defindex": 9,"paintindex": 838,// STUB...},...}
GET /stats
Donne quelques données sur l'état actuel de vos robots et de votre file d'attente.
Exemple:
{"bots_online":100,"bots_total":100,"queue_size":20,"queue_concurrency":100}
Code | Description |
---|---|
1 | Structure de paramètres incorrecte |
2 | Structure de lien d'inspection invalide |
3 | Vous ne pouvez avoir que X demandes en attente à la fois. |
4 | Les serveurs de Valve n'ont pas répondu à temps |
5 | Les serveurs de Valve semblent être hors ligne, veuillez réessayer plus tard ! |
6 | Quelque chose s'est mal passé de notre côté, veuillez réessayer |
7 | Format de corps incorrect |
8 | Mauvais secret |
{ "error": "Les serveurs de Valve n'ont pas répondu à temps", "code": 4}
Si vous utilisez une requête /bulk
et que l'erreur s'applique uniquement à un lien d'inspection spécifique, la réponse renvoyée sera remplacée tandis que les autres liens d'inspection seront traités normalement. Si l'erreur s'applique à l'intégralité de la requête (c'est-à-dire au corps du message incorrect), elle renverra une erreur au niveau racine, comme indiqué ci-dessus.
Exemple:
{ "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 } }
Afin de récupérer les valeurs flottantes des armes de cette manière, vous devez disposer d'un ou plusieurs comptes Steam avec une copie de CS:GO. Chaque compte peut demander 1 float par seconde. CSGOFloat vous permet d'avoir autant de robots que vous le souhaitez en saisissant les informations de connexion dans config.js.
Chaque instance de CSGOFloat peut gérer environ 300 comptes. Il est recommandé soit de configurer un serveur Postgres, soit de configurer un autre cache tel que Varnish ou Nginx devant votre serveur.
Extrayez l'image du docker et montez le répertoire de configuration
docker pull step7750/csgofloat:master docker run -d --name csgofloat -v /host/config:/config -p 80:80 -p 443:443 step7750/csgofloat:master
La première fois que vous démarrez le conteneur Docker, il copie le fichier config.js
dans le répertoire de configuration et s'arrête. Vous devrez modifier ce fichier et inclure les informations de connexion de vos robots, puis redémarrer le docker. Voir la section Comment se connecter pour la première fois à un robot pour plus d'informations.
Assurez-vous de configurer un serveur Postgres à utiliser pour la mise en cache !
Nécessite Node.js v14+ !
Clonez le dépôt (ou npm install csgofloat
) et installez les dépendances Node.js à l'aide de npm install
ou yarn install
dans le répertoire racine.
Copiez config.example.js
dans config.js
Ajoutez les informations de connexion de votre (vos) bot (s) à config.js
Modifiez config.js
avec les paramètres souhaités
Assurez-vous que Postgres est en cours d'exécution si vous avez défini l'URL de sa base de données
Exécutez node index.js
dans le répertoire principal
Comment se connecter pour la première fois à un robot
Accédez à l'adresse IP sur laquelle le serveur est hébergé et interrogez l'API à l'aide de la documentation ci-dessus !
Remarque : Si le bot ne s'est jamais connecté au client Steam auparavant et que Mobile 2FA n'est pas activé (nouveau compte), vous pouvez simplement saisir le nom d'utilisateur et le mot de passe et il devrait se connecter avec succès sans e-mail 2FA.
Si votre bot ne possède pas CS:GO, CSGOFloat tentera automatiquement d'obtenir une licence pour celui-ci au démarrage.
Utiliser la messagerie 2FA
Remplissez uniquement les champs user
et pass
pour le bot (assurez-vous que le champ auth
est vide ou supprimé)
Démarrez CSGOFloat
Il vous dira qu'un code d'authentification a été envoyé à votre adresse e-mail
Saisissez le code de votre e-mail dans le champ auth
du bot
Redémarrer CSGOFloat
Il doit réussir à se connecter et à créer des fichiers de jetons d'authentification de machine pour chaque compte dans le répertoire de configuration actuel de l'utilisateur node-steam-user.
Le champ auth
peut désormais être éventuellement supprimé dans votre fichier de connexion pour d'autres connexions
Utiliser la 2FA mobile
Remplissez les champs user
et pass
pour le bot
Remplissez le champ auth
avec le shared_secret
pour le bot
Démarrez CSGOFloat
Il doit réussir à se connecter et à créer des fichiers de jetons d'authentification de machine pour chaque compte dans le répertoire de configuration actuel de l'utilisateur node-steam-user.
Vous devrez conserver le champ auth
rempli pour les futures connexions
MongoDB n'est plus pris en charge, utilisez plutôt Postgres
L'accès à Socket.io n'est plus pris en charge
La gestion HTTPS intégrée a été supprimée, proxy inverse vers HTTP à la place
Puisque nous utilisons désormais node-steam-user au lieu de node-steam, l'emplacement du dossier sentinelle dépend désormais de votre système. Si vous souhaitez migrer les fichiers sentinelles de la version 2.0 plutôt que d'avoir à réauthentifier les comptes de messagerie 2FA, vous devrez copier vos fichiers sentinelles et les renommer pour qu'ils correspondent au format de l'utilisateur node-steam.
allow_simultaneous_requests
a maintenant été remplacé par max_simultaneous_requests
. Vous pouvez définir max_simultaneous_requests
sur -1
pour autoriser un nombre infini de requêtes simultanées par la même IP.
-c
/ --config
(par défaut ./config.js
)Emplacement du fichier de configuration CSGOFloat
-s
/ --steam_data
(répertoire de configuration node-steam-user par défaut)répertoire de configuration node-steam-user