inspect:Source Code that Powers the CSFloat Inspect Link API

Source Code that Powers the CSFloat Inspect Link API

分支16Tags17
文件最后提交记录最后更新时间
3 年前
1 年前
7 年前
9 年前
7 年前
3 年前
9 年前
5 个月前
3 年前
7 年前
3 年前
1 年前
1 年前
1 年前
1 年前

GitHub stars GitHub forks GitHub issues GitHub license Website Chrome Web Store Docker

已弃用

自2026年3月起,所有CS2检视链接均自行编码物品详情,请使用@csfloat/cs-inspect-serializer等库。

仓库链接

CSGOFloat-Extension

CSGOFloat-Website

目录

API

GET /

参数 s、a、d、m 可在 CSGO 物品的检视链接中找到。

参数 说明
s 可选:如果是库存物品,从检视 URL 中填写此参数
a 必填:检视 URL 中的 "a" 参数
d 必填:检视 URL 中的 "d" 参数
m 可选:如果是市场物品,从检视 URL 中填写此参数
示例

http://<ip>:<port>/?m=563330426657599553&a=6710760926&d=9406593057029549017

http://<ip>:<port>/?s=76561198084749846&a=6777992090&d=3378412659870065794

GET /(使用检视 URL)

参数 说明
url 必填:CSGO 物品的检视 URL
示例

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 protobuf

属性 数据类型 说明
itemid uint32 物品 ID
defindex uint32 武器 ID
paintindex uint32 武器的涂装 ID(皮肤)
rarity uint32 武器的稀有度值
quality uint32 武器的品质
paintwear uint32 皮肤外观的磨损度
paintseed uint32 用于定义皮肤纹理放置方式的随机数生成器种子
killeatervalue uint32 如果物品是 StatTrak( stattrak™),则此为击杀数量
customname string 如果物品有名称标签,则此为自定义名称
stickers array 包含贴纸放置数据
origin uint32 武器的来源 ID
floatvalue float 皮肤外观磨损度的浮点表示
imageurl string 可选:物品图片
min float 皮肤的最小磨损度
max float 皮肤的最大磨损度
item_name uint32 可选:皮肤名称
weapon_type string 武器类型名称
origin_name string 来源名称(如:交易升级、掉落等)
quality_name string 品质名称(如:纪念品、StatTrak 等)
rarity_name string 稀有度名称(如:隐秘、军规级等)
wear_name string 磨损度名称(如:崭新出厂、略有磨损等)
full_item_name string 物品全称(例如:SSG 08
{
	"iteminfo": {
		"accountid": null,
		"itemid": "13874827217",
		"defindex": 7,
		"paintindex": 282,
		"rarity": 5,
		"quality": 4,
		"paintseed": 361,
		"killeaterscoretype": null,
		"killeatervalue": null,
		"customname": null,
		"stickers": [],
		"inventory": 11,
		"origin": 8,
		"questid": null,
		"dropreason": null,
		"musicindex": null,
		"s": "0",
		"a": "13874827217",
		"d": "4649025583329100061",
		"m": "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": "Classified",
		"quality_name": "Unique",
		"origin_name": "Found in Crate",
		"wear_name": "Field-Tested",
		"full_item_name": "AK-47 | Redline (Field-Tested)"
	}
}

POST /bulk

允许您一次性请求多个物品的检查链接数据。

注意:确保发送正确的 Content-Type: application/json 头信息

请求体:

{
	"links": [
		{"link": "steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20M2906459769049600931A18971892678D9403672490970763167"},
		{"link": "steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20M2907585668964658722A17231546984D5353704955732169451"}
	]
}

示例响应:

{
    "18971892678": {
        "origin": 8,
        "quality": 4,
        "rarity": 5,
        "a": "18971892678",
        "d": "9403672490970763167",
        "paintseed": 49,
        "defindex": 7,
        "paintindex": 282,
        // STUB...
    },
    "17231546984": {
        "origin": 4,
        "quality": 4,
        "rarity": 4,
        "a": "17231546984",
        "d": "5353704955732169451",
        "paintseed": 597,
        "defindex": 9,
        "paintindex": 838,
        // STUB...
    },
    ...
}

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 密钥错误
错误示例
{
	"error": "Valve's servers didn't reply in time",
	"code": 4
}

如果使用 /bulk 请求,且错误仅适用于特定的 inspect link,则该 inspect link 返回的响应将被替换,而其他 inspect link 将正常处理。如果错误适用于整个请求(例如,错误的请求体),则会返回如上所示的根级错误。

示例:

{
    "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
    }
}

安装方法

要通过这种方式获取武器的磨损值,您必须拥有至少一个已购买 CS:GO 的 Steam 账号。每个账号每秒可请求 1 次磨损值。CSGOFloat 允许您通过在 config.js 中输入登录信息来添加任意数量的机器人账号。

每个 CSGOFloat 实例可运行约 300 个账号。建议配置 Postgres 服务器,或在服务器前设置 Varnish 或 Nginx 等其他缓存。

Docker

从 Docker 拉取 镜像 并挂载配置目录

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 文件复制到配置目录并停止。你需要编辑此文件,填入机器人的登录信息,然后重新启动 docker。有关更多信息,请参阅如何首次登录机器人部分。

确保你已配置好用于缓存的 Postgres 服务器!

手动部署

需要 Node.js v14 或更高版本!

克隆仓库(或执行 npm install csgofloat),然后在根目录中使用 npm installyarn install 安装 Node.js 依赖。

步骤:

  1. config.example.js 复制为 config.js
  2. config.js 中添加你的机器人登录信息
  3. 编辑 config.js 以设置所需参数
  4. 如果你已设置数据库 URL,请确保 Postgres 正在运行
  5. 在主目录中运行 node index.js
  6. 如何首次登录机器人
  7. 导航到服务器所在的 IP,并使用上述文档查询 API!

如何首次登录机器人

注意:如果机器人从未登录过 Steam 客户端,且未启用手机二次验证(新账户),你只需输入用户名和密码,无需邮箱二次验证即可成功登录。

如果你的机器人未拥有《反恐精英:全球攻势》(CS:GO),CSGOFloat 会在启动时自动尝试获取其许可证。

  • 使用邮箱二次验证

    • 只需填写机器人的 userpass 字段(确保 auth 字段为空或已删除)
    • 启动 CSGOFloat
    • 系统会提示已向你的邮箱发送验证码
    • 将邮箱中的验证码输入到机器人的 auth 字段
    • 重新启动 CSGOFloat
    • 机器人应成功登录,并在当前的 node-steam-user 配置目录 中为每个账户创建机器授权令牌文件
    • 后续登录时,auth 字段可选择删除
  • 使用手机二次验证

    • 填写机器人的 userpass 字段
    • auth 字段中填写机器人的 shared_secret
    • 启动 CSGOFloat
    • 机器人应成功登录,并在当前的 node-steam-user 配置目录 中为每个账户创建机器授权令牌文件
    • 未来登录时,auth 字段需保持填写状态

重大变更

v3.0 -> v4.0

  • 不再支持 MongoDB,请改用 Postgres
  • 不再支持 Socket.io 访问
  • 已移除内置 HTTPS 处理,请反向代理至 HTTP

v2.0 -> v3.0

  • 由于我们现在使用 node-steam-user 而非 node-steam,sentry 文件夹位置现在取决于您的系统。如果您希望从 v2.0 迁移 sentry 文件,而不必重新验证启用邮箱两步验证的账户,您需要复制 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 配置目录

项目介绍

Source Code that Powers the CSFloat Inspect Link API

定制我的领域