CSGOFloat는 검사 링크를 사용하여 모든 CSGO 항목의 플로트 및 페인트 시드를 얻을 수 있는 무료 오픈 소스 API 서비스입니다.
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 | 필수: 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를 기반으로 합니다.
기인하다 | 데이터 유형 | 설명 |
---|---|---|
항목 ID | uint32 | 아이템 ID |
색인 해제 | uint32 | 무기 ID |
페인트 인덱스 | uint32 | 무기(스킨)의 페인트 ID |
희박 | uint32 | 무기의 희소성 가치 |
품질 | uint32 | 무기의 품질 |
페인트웨어 | uint32 | 피부 외부의 마모 |
페인트씨 | uint32 | 스킨 텍스처 배치 방법을 정의하는 RNG용 시드 |
킬러 값 | uint32 | 아이템이 StatTrak인 경우 킬 수입니다. |
사용자 정의 이름 | 끈 | 항목에 이름표가 있는 경우 이것이 맞춤 이름입니다. |
스티커 | 정렬 | 스티커 배치에 대한 데이터가 포함되어 있습니다. |
기원 | uint32 | 무기의 원본 ID |
부동 소수점 값 | 뜨다 | 플로트 표현으로 피부의 외부 마모 |
이미지 URL | 끈 | 선택사항: 상품 이미지 |
분 | 뜨다 | 피부의 최소 마모 |
최대 | 뜨다 | 피부의 최대 마모 |
item_name | uint32 | 선택사항: 스킨 이름 |
무기_유형 | 끈 | 무기 종류 이름 |
원산지_이름 | 끈 | 원산지 이름(Trade-Up, Dropped 등...) |
품질_이름 | 끈 | 품질 이름(기념품, Stattrak 등...) |
희귀성_이름 | 끈 | 희귀도 이름(Covert, Mil-Spec 등...) |
wear_name | 끈 | 착용 이름(공장 새 제품, 최소 마모 등...) |
전체_항목_이름 | 끈 | 전체 품목 이름(예: SSG 08 Blue Spruce(최소 마모)) |
{ "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", "최소": 0.1, "최대": 0.7, "무기 유형": "AK-47", "item_name": "Redline", "rarity_name": "기밀", "quality_name": "고유", "origin_name": "상자에서 발견됨", "wear_name": "현장 테스트 완료", "full_item_name": "AK-47 | 레드라인(현장 테스트 완료)" } }
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": {"원산지": 8,"품질": 4,"희귀도": 5,"a": "18971892678","d": "9403672490970763167","paintseed": 49,"defindex": 7,"페인트 인덱스": 282,// 스텁...},"17231546984": {"원산지": 4,"품질": 4,"희귀도": 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 | 나쁜 비밀 |
{ "오류": "밸브 서버가 제때에 응답하지 않았습니다.", "코드": 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 } }
이런 방식으로 무기의 부동 소수점 값을 검색하려면 CS:GO 사본이 있는 Steam 계정이 있어야 합니다. 각 계정은 초당 1개의 부동 소수점을 요청할 수 있습니다. CSGOFloat를 사용하면 로그인 정보를 config.js에 입력하여 원하는 만큼 많은 봇을 가질 수 있습니다.
CSGOFloat의 각 인스턴스는 약 300개의 계정을 운영할 수 있습니다. Postgres 서버를 구성하거나 서버 앞에 Varnish 또는 Nginx와 같은 다른 캐시를 설정하는 것이 좋습니다.
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
파일이 config 디렉터리에 복사되고 중지됩니다. 이 파일을 편집하고 봇 로그인 정보를 포함시킨 다음 Docker를 다시 시작해야 합니다. 자세한 내용은 봇에 처음 로그인하는 방법 섹션을 참조하세요.
캐싱에 사용할 Postgres 서버를 구성했는지 확인하세요!
Node.js v14 이상이 필요합니다!
repo(또는 npm install csgofloat
)를 복제하고 루트 디렉터리에 npm install
또는 yarn install
사용하여 Node.js 종속성을 설치합니다.
config.example.js
config.js
에 복사합니다.
config.js
에 봇 로그인 정보를 추가하세요.
원하는 설정으로 config.js
편집하세요.
데이터베이스 URL을 설정한 경우 Postgres가 실행 중인지 확인하세요.
기본 디렉터리에서 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
.
봇의 shared_secret
으로 auth
필드를 입력하세요.
CSGOFloat 시작
현재 node-steam-user 구성 디렉터리의 각 계정에 대해 성공적으로 로그인하고 시스템 인증 토큰 파일을 생성해야 합니다.
향후 로그인을 위해 auth
필드를 계속 채워야 합니다.
MongoDB는 더 이상 지원되지 않습니다. 대신 Postgres를 사용하세요.
Socket.io 액세스는 더 이상 지원되지 않습니다.
내장된 HTTPS 처리가 제거되었습니다. 대신 HTTP로 역방향 프록시를 사용합니다.
이제 node-steam 대신 node-steam-user를 사용하므로 센트리 폴더 위치는 이제 시스템에 따라 다릅니다. 이메일 2FA 계정을 재인증하는 대신 v2.0에서 센트리 파일을 마이그레이션하려면 센트리 파일을 복사하고 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 구성 디렉터리)노드-스팀-사용자 구성 디렉터리