Este é um serviço de inspeção simples para o CS2. O serviço é construído usando Nest.js, TypeORM, Redis e PostgreSQL.
Recomenda-se usar pnpm para instalar as dependências. Se você não tiver o pnpm instalado, poderá instalá-lo usando o seguinte comando:
$ npm install -g pnpm
Então, você pode instalar as dependências usando o seguinte comando:
$ pnpm install
Você pode implantar o servidor usando o seguinte comando:
$ pnpm run build
O servidor será construído no diretório dist
. Você pode executar o servidor usando o seguinte comando:
$ node dist/main.js
Você também pode usar o seguinte comando para executar o servidor:
$ pnpm run deploy
Isto irá construir e executar o servidor em um comando com PM2.
Você também pode executar o servidor usando Docker. Você pode construir a imagem Docker usando o seguinte comando:
$ docker build -t cs2-inspect-server .
Em seguida, você pode executar o contêiner Docker usando o seguinte comando:
$ docker run -p 3000:3000 -d cs2-inspect-server
O servidor está configurado para rodar na porta 3000. Se desejar alterar a porta, você pode fazer isso modificando a variável de ambiente PORT
no arquivo .env
.
PORT=3000
O servidor usa um banco de dados PostgreSQL para armazenar os dados. O banco de dados é configurado usando as variáveis de ambiente no arquivo .env
.
POSTGRESQL_HOST=
POSTGRESQL_PORT=
POSTGRESQL_USER=
POSTGRESQL_PASSWORD=
POSTGRESQL_DB=
O servidor usa um banco de dados Redis para armazenar os dados da sessão. O banco de dados é configurado usando as variáveis de ambiente no arquivo .env
.
REDIS_HOST=
REDIS_PORT=
REDIS_PASSWORD=
O servidor usa um proxy para se conectar à Internet. O proxy é configurado usando as variáveis de ambiente no arquivo .env
.
PROXY_URL=[socks5 | http]://[username][session]:[password]@[url]:[port]
Você pode compartilhar os dados com Pricempire definindo a variável de ambiente PING_PRICEMPIRE
como true
.
PING_PRICEMPIRE=true
Você pode atualizar os adesivos definindo a variável de ambiente ALLOW_REFRESH
como true
.
ALLOW_REFRESH=true
Passe true
para o parâmetro de consulta refresh
para atualizar os adesivos. (Isso só funcionará se ALLOW_REFRESH
estiver definido como true
) (Não é recomendado enviar spam ao endpoint com solicitações de atualização, pois isso resultará em um banimento pelo GC.)
$ curl -X GET -H " Content-Type: application/json " http://localhost:3000/ ? url=steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561198023809011A35678726741D4649654965632117657 & refresh=true
Você pode ativar o log do banco de dados PostgreSQL definindo a variável de ambiente POSTGRESQL_LOGGING
como true
.
POSTGRESQL_LOGGING=true
Você pode ativar o log do GameCoordiantor definindo a variável de ambiente GC_DEBUG
como true
.
GC_DEBUG=true
O arquivo accounts.txt
contém as contas usadas para autenticar os usuários. O arquivo está localizado no diretório root
.
# accounts.txt
username1:password1
username2:password2
O arquivo .env
contém as variáveis de ambiente usadas para configurar o servidor.
# .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
Você pode executar o servidor usando o seguinte comando:
$ pnpm start
O servidor iniciará na porta especificada no arquivo .env
.
Você pode executar o servidor em modo de desenvolvimento usando o seguinte comando:
$ pnpm run start:dev
O servidor iniciará na porta especificada no arquivo .env
.
O servidor tem os seguintes endpoints de API:
Este endpoint é usado para inspecionar os dados que estão sendo enviados ao servidor.
$ 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) "
}
}
Você pode importar os dados do antigo banco de dados CSFloat usando o seguinte comando:
$ pnpm run import
Não se esqueça de definir as variáveis de ambiente POSTGRESQL_HOST_SOURCE
, POSTGRESQL_PORT_SOURCE
, POSTGRESQL_USER_SOURCE
, POSTGRESQL_PASSWORD_SOURCE
, POSTGRESQL_DB_SOURCE
no arquivo .env
.
# .env
POSTGRESQL_HOST_SOURCE=
POSTGRESQL_PORT_SOURCE=
POSTGRESQL_USER_SOURCE=
POSTGRESQL_PASSWORD_SOURCE=
POSTGRESQL_DB_SOURCE=
Isso importará os dados do antigo banco de dados CSFloat para o novo banco de dados.
Se quiser contribuir com o projeto, você pode fazê-lo criando uma solicitação pull.
Este projeto está licenciado sob a licença MIT - consulte o arquivo LICENSE para obter detalhes.
Se você tiver alguma dúvida, pode entrar em contato comigo pelo Discord.