هذه خدمة فحص بسيطة لـ 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. إذا كنت تريد تغيير المنفذ، يمكنك القيام بذلك عن طريق تعديل متغير بيئة PORT
في ملف .env
.
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]
يمكنك مشاركة البيانات مع Pricempire عن طريق ضبط متغير البيئة PING_PRICEMPIRE
على true
.
PING_PRICEMPIRE=true
يمكنك تحديث الملصقات عن طريق ضبط متغير البيئة ALLOW_REFRESH
على true
.
ALLOW_REFRESH=true
مرر true
لمعلمة استعلام refresh
لتحديث الملصقات. (لن يعمل هذا إلا إذا تم تعيين 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 عن طريق ضبط متغير البيئة POSTGRESQL_LOGGING
على true
.
POSTGRESQL_LOGGING=true
يمكنك تمكين التسجيل لـ GameCoordiantor عن طريق تعيين متغير البيئة GC_DEBUG
إلى true
.
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
لا تنس تعيين متغيرات البيئة POSTGRESQL_HOST_SOURCE
و POSTGRESQL_PORT_SOURCE
و POSTGRESQL_USER_SOURCE
و POSTGRESQL_PASSWORD_SOURCE
و POSTGRESQL_DB_SOURCE
في ملف .env
.
# .env
POSTGRESQL_HOST_SOURCE=
POSTGRESQL_PORT_SOURCE=
POSTGRESQL_USER_SOURCE=
POSTGRESQL_PASSWORD_SOURCE=
POSTGRESQL_DB_SOURCE=
سيؤدي هذا إلى استيراد البيانات من قاعدة بيانات CSFloat القديمة إلى قاعدة البيانات الجديدة.
إذا كنت تريد المساهمة في المشروع، يمكنك القيام بذلك عن طريق إنشاء طلب سحب.
هذا المشروع مرخص بموجب ترخيص MIT - راجع ملف الترخيص للحصول على التفاصيل.
إذا كان لديك أي أسئلة، يمكنك الاتصال بي على Discord.