CS2의 간단한 점검 서비스입니다. 이 서비스는 Nest.js, TypeORM, Redis 및 PostgreSQL을 사용하여 구축되었습니다.
종속성을 설치하려면 pnpm을 사용하는 것이 좋습니다. pnpm이 설치되어 있지 않은 경우 다음 명령을 사용하여 설치할 수 있습니다.
$ npm install -g pnpm
그런 다음 다음 명령을 사용하여 종속성을 설치할 수 있습니다.
$ pnpm install
다음 명령을 사용하여 서버를 배포할 수 있습니다.
$ pnpm run build
서버는 dist
디렉토리에 구축됩니다. 다음 명령을 사용하여 서버를 실행할 수 있습니다.
$ node dist/main.js
다음 명령을 사용하여 서버를 실행할 수도 있습니다.
$ pnpm run deploy
그러면 PM2를 사용하여 하나의 명령으로 서버를 구축하고 실행합니다.
Docker를 사용하여 서버를 실행할 수도 있습니다. 다음 명령을 사용하여 Docker 이미지를 빌드할 수 있습니다.
$ docker build -t cs2-inspect-server .
그런 다음 다음 명령을 사용하여 Docker 컨테이너를 실행할 수 있습니다.
$ docker run -p 3000:3000 -d cs2-inspect-server
서버는 포트 3000에서 실행되도록 구성되어 있습니다. 포트를 변경하려면 .env
파일에서 PORT
환경 변수를 수정하면 됩니다.
PORT=3000
서버는 PostgreSQL 데이터베이스를 사용하여 데이터를 저장합니다. 데이터베이스는 .env
파일의 환경 변수를 사용하여 구성됩니다.
POSTGRESQL_HOST=
POSTGRESQL_PORT=
POSTGRESQL_USER=
POSTGRESQL_PASSWORD=
POSTGRESQL_DB=
서버는 Redis 데이터베이스를 사용하여 세션 데이터를 저장합니다. 데이터베이스는 .env
파일의 환경 변수를 사용하여 구성됩니다.
REDIS_HOST=
REDIS_PORT=
REDIS_PASSWORD=
서버는 프록시를 사용하여 인터넷에 연결합니다. 프록시는 .env
파일의 환경 변수를 사용하여 구성됩니다.
PROXY_URL=[socks5 | http]://[username][session]:[password]@[url]:[port]
PING_PRICEMPIRE
환경 변수를 true
로 설정하여 Pricempire와 데이터를 공유할 수 있습니다.
PING_PRICEMPIRE=true
ALLOW_REFRESH
환경 변수를 true
로 설정하여 스티커를 새로 고칠 수 있습니다.
ALLOW_REFRESH=true
스티커를 새로 고치려면 refresh
쿼리 매개변수에 true
전달합니다. (이는 ALLOW_REFRESH
가 true
로 설정된 경우에만 작동합니다.) (새로 고침 요청으로 엔드포인트에 스팸을 보내는 것은 GC에 의해 금지될 수 있으므로 권장하지 않습니다.)
$ curl -X GET -H " Content-Type: application/json " http://localhost:3000/ ? url=steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561198023809011A35678726741D4649654965632117657 & refresh=true
POSTGRESQL_LOGGING
환경 변수를 true
로 설정하여 PostgreSQL 데이터베이스에 대한 로깅을 활성화할 수 있습니다.
POSTGRESQL_LOGGING=true
GC_DEBUG
환경 변수를 true
로 설정하여 GameCoordiantor에 대한 로깅을 활성화할 수 있습니다.
GC_DEBUG=true
accounts.txt
파일에는 사용자를 인증하는 데 사용되는 계정이 포함되어 있습니다. 파일은 root
디렉터리에 있습니다.
# accounts.txt
username1:password1
username2:password2
.env
파일에는 서버를 구성하는 데 사용되는 환경 변수가 포함되어 있습니다.
# .env
PORT=3000
POSTGRESQL_HOST=
POSTGRESQL_PORT=
POSTGRESQL_USER=
POSTGRESQL_PASSWORD=
POSTGRESQL_DB=
REDIS_HOST=
REDIS_PORT=
REDIS_PASSWORD=
PROXY_URL=[socks5 | http]://[username][session]:[password]@[url]:[port]
POSTGRESQL_LOGGING=false
GC_DEBUG=false
PING_PRICEMPIRE=true
ALLOW_REFRESH=false
다음 명령을 사용하여 서버를 실행할 수 있습니다.
$ pnpm start
서버는 .env
파일에 지정된 포트에서 시작됩니다.
다음 명령을 사용하여 개발 모드에서 서버를 실행할 수 있습니다.
$ pnpm run start:dev
서버는 .env
파일에 지정된 포트에서 시작됩니다.
서버에는 다음과 같은 API 엔드포인트가 있습니다.
이 끝점은 서버로 전송되는 데이터를 검사하는 데 사용됩니다.
$ curl -X GET -H " Content-Type: application/json " http://localhost:3000/ ? url=steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561198023809011A35678726741D4649654965632117657
{
"iteminfo" : {
"stickers" : [
{
"slot" : 0 ,
"stickerId" : 5935 ,
"codename" : " csgo10_blue_gem_glitter " ,
"material" : " csgo10/blue_gem_glitter " ,
"name" : " Blue Gem (Glitter) "
}
],
"itemid" : " 35675800220 " ,
"defindex" : 1209 ,
"paintindex" : 0 ,
"rarity" : 4 ,
"quality" : 4 ,
"paintseed" : 0 ,
"inventory" : 261 ,
"origin" : 8 ,
"s" : " 76561198023809011 " ,
"a" : " 35675800220 " ,
"d" : " 12026419764860007457 " ,
"m" : " 0 " ,
"floatvalue" : 0 ,
"min" : 0.06 ,
"max" : 0.8 ,
"weapon_type" : " Sticker " ,
"item_name" : " - " ,
"rarity_name" : " Remarkable " ,
"quality_name" : " Unique " ,
"origin_name" : " Found in Crate " ,
"full_item_name" : " Sticker | Blue Gem (Glitter) "
}
}
다음 명령을 사용하여 이전 CSFloat 데이터베이스에서 데이터를 가져올 수 있습니다.
$ pnpm run import
.env
파일에서 POSTGRESQL_HOST_SOURCE
, POSTGRESQL_PORT_SOURCE
, POSTGRESQL_USER_SOURCE
, POSTGRESQL_PASSWORD_SOURCE
, POSTGRESQL_DB_SOURCE
환경 변수를 설정하는 것을 잊지 마세요.
# .env
POSTGRESQL_HOST_SOURCE=
POSTGRESQL_PORT_SOURCE=
POSTGRESQL_USER_SOURCE=
POSTGRESQL_PASSWORD_SOURCE=
POSTGRESQL_DB_SOURCE=
그러면 이전 CSFloat 데이터베이스의 데이터를 새 데이터베이스로 가져옵니다.
프로젝트에 기여하고 싶다면 끌어오기 요청을 생성하여 기여할 수 있습니다.
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.
질문이 있으시면 Discord에서 저에게 연락하실 수 있습니다.