درود!
با صحبتهای اخیر در تاپیکهای مختلف در مورد استیم, به نظرم بهتر بود یه سری مطالب را اینجا بنویسم که مثل همیشه توی فرومهای انگلیسی زبان زیاد راجعشون صحبت شده ولی در منابع فارسی پیداشون نکردم, از اونجایی بازی با استیم توی ایران برای عوام یکم غیرمعقول هست (دلایلش را میدونید, نیازی به توضیح نیست) ممکنه یه سری شبهه براتون پیش اومده باشه نسبت به استیم که مهم ترینش میشه رد کردن استیم از تور!
موضوعاتی که میخوام راجع بهشون صحبت کنم; نصب استیم و معرفی چند بازی (خوب) که از گنو/لینوکس هم پشتیبانی کنند, رد کردن استیم از تور, راه حل مشکل رایج "failed to load drivers".
با فرض اینکه هر کسی این مقاله را میخونه, میدونه استیم چی هست, پیش میریم, اگر هم نمیدونید استیم دقیقا چی هست و چیکار میکنه و به صورت تصادفی به این تاپیک برخوردید و براتون جذاب شده, میتونید توی گوگل در موردش جست و جو کنید
برای نصب استیم روی توزیعهای مختلف میتونید از دستورات زیر استفاده کنید.
آرچ لینوکس و توزیعهای برپایهی آن:sudo pacman -S steam
اوبونتو و مینت:sudo apt install steam
فدورا:استیم در مخازن رسمی فدورا نیست:
$ dnf provides steam
steam-1.0.0.54-13.fc27.i686 : Installer for the Steam software distribution
: service
Repo : rpmfusion-nonfree-updates
Matched from:
Provide : steam = 1.0.0.54-13.fc27
steam-1.0.0.54-11.fc27.i686 : Installer for the Steam software distribution
: service
Repo : rpmfusion-nonfree
Matched from:
Provide : steam = 1.0.0.54-11.fc27
برای نصب آن باید مخزن RPM Fusion را اضافه کنید:
sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
و سپس:
sudo dnf install steam
دبیان:توی دبیان هم داستان یکم فرق میکنه, از اونجا که استیم غیرآزاد هست و دبیان به صورت پیش فرض در سورس لیستش Repo غیرآزاد نداره, باید ابتدا سورس لیست را ویرایش کنیم و مخزن مورد نظرمون را بهش اضافه کنیم و بعد استیم را نصب کنیم.
اطلاعات بیشتر:
https://wiki.debian.org/Steam#Installationvim /etc/apt/sources.list
اضافه کردن خطوط زیر:
# Debian Jessie
deb http://httpredir.debian.org/debian/ jessie main contrib non-free
آپدیت بعد از ویرایش سورس لیست و نصب استیم:
sudo apt update
sudo apt install steam
خب استیم نصب شد, بریم سراغ ادامهی ماجرا!
به شخصه سهتا بازی خوب توی استیم دیدم که روی گنو/لینوکس هم نصب میشند که معرفیشون میکنم: (اگر شما هم بازیهایی سراغ دارید که ارزش بازی کردن را دارند و در استیم وجود دارند و از گنو/لینوکس پشتیبانی میکنند, خوشحال میشم مثل من در موردش بنویسید و پست کنید تا به این پست اضافه کنم)
CSGO; Counter Strike Global Offensive:
لینک به ویکیپدیا:
https://en.wikipedia.org/wiki/Counter-Strike:_Global_OffensiveCsgo یک بازی مولتی پلیر و سبک First Person Shooter هست, دو تیم پنج نفره جلوی همدیگه بازی میکنن که یک گروه Terrorists و گروه دیگه Counter-Terrorists هستند و با وجود mapهای مختلف سعی در حذف کردن (کشتن) تمام بازیکنهای تیم حریف دارند هر چند اهداف دیگهای هم در هر دور بازی دنبال میشه که توی لینکی که بالاتر دادم نوشته شده, هر تیمی بتونه زودتر از تیم دیگر و حداقل برنده 16 دور (Round) بشه, برنده میشه!
این بازی به صورت رایگان در استیم وجود نداره و باید اون را خریداری کنید.
(خودم تجربهی Csgo بازی کردن ندارم و فقط توی توییچ و ویکی در موردش اطلاعات بدست آوردم, اگر جایی را اشتباه گفتم یا فکر میکنید مطلبی هست که باید اضافه کنم, پست کنید)
Dota2:لینک به ویکیپدیا:
https://en.wikipedia.org/wiki/Dota_2در مورد این یکی میتونم کتاب بنویسم
این بازی کمی متفاوت هست و ممکنه اگر برای اولین بار امتحانش کنید ازش خوشتون نیاد در صورتی بازی فوقالعاده جذاب و اعتیاد آوری هست, این بازی به سبک MOBA هست, درست مثل LOL, به صورتی که شما یک شخصیت را در شروع بازی از شخصیتهای موجود انتخاب میکنید که اصطلاحا بهشون میگن "Hero" و سعی در نابود کردن Ancient حریف دارید.
این بازی یکم پیچیده هست, تقریبا 113تا هیرو وجود داره که البته با حساب کردن سه هیرویی که در آپدیتهای پچ هفت اضافه شد, فکر کنم بشن 116تا, هر هیرویی معمولا در یک پست خاص بازی میشه هر چند هیروهایی هم هستند که شما در هر پوزیشنی میتونید باهاشون بازی کنید و تقریبا جوابگو هستند, هیروها نسبت به Primary Attribute به سه دسته Strength, Intelligence و Agilty تقسیم میشن و نسبت به اینکه هیرو شما چیه و در چه شرایطی هستید, برای اون هیرو آیتم خریداری میکنید و غیره که باید خودتون بازی کنید تا متوجه بشید دقیقا چی میگم
هر چند حرف ناگفته مانند مفاهیم, Offlane, SafeLane, Midlane, Carry, Support, Offlaner, Roamer, Semi carry و خیلی خیلی اصطلاح دیگه زیاده, ولی همینجا این بحث را خاتمه میدم و به ادامهی بحث میپردازم!
Team Fortress2لینک به ویکیپدیا:
https://en.wikipedia.org/wiki/Team_Fortress_2این را زیاد بازی نکردم ولی تقریبا مثل کانتر میمونه با این تفاوت که تنها حذف کردن همهی بازیکنهای تیم دشمن کافی نیست و نسبت به اینکه در چه Mapی بازی میکنید یه سری Objective دارید که باید انجامش بدید!
مهمترین بخش که در مورد استیم و پروکسی هست را پیش میریم!خب طبق چیزهایی که تا اینجا خوندم و فهمیدم, استیم به خاطر یه سری سیاستهاش به شما اجازه نمیده که از پروکسی استفاده کنید, در اینجا استفاده کردن از پروکسی به این معنی بود که قابلیت Proxy در تنظیماتش نیست که دلایل خودش را هم داره, یکی از دلایلش که مهمترین دلیلش هم هست اینه که محل زندگیتون را به صورت تقلبی وارد نکنید و شدیدا هم سعی میکنه متوجه شه که شما دارید از پروکسی استفاده میکنید و سنگ جلوی پاتون میندازه, قدیما سر trade کردن خودم این مشکلات را داشم و کلی کار عجیب و غریب انجام دادم و آخرش نتیجه نداد تا بالاخره استیم رفع فیلتر شد (داستانش طولانیه وگرنه بیشتر توضیح میدادم
)
برسیم به بحث تور, مهران عزیز در پستی که لینکش را میذارم گفته بود که هر موقع شما قبل از اجرای یه ابزاری در خط فرمان عبارت torsocks را اضافه کنید از تور رد میشه و میتونید از اون استفاده کنید که البته کاملا هم درست نیست!!
هر دستوری رو قبلش torsocks بنویسی یا برنامهای رو با ترمینال با استفاده از torsocks اجرا کنی اون دستور یا برنامه از تور استفاده میکنه!
لینک تاپیک:
https://forum.ubuntu-ir.org/index.php/topic,147474.0.htmlخب تور از پروتکل TCP استفاده میکنه, حالا در مورد استیم:
Steam Client
UDP 27000 to 27015 inclusive (Game client traffic)
UDP 27015 to 27030 inclusive (Typically Matchmaking and HLTV)
UDP 27031 and 27036 (incoming, for In-Home Streaming)
TCP 27036 and 27037 (incoming, for In-Home Streaming)
UDP 4380
منبع:
https://support.steampowered.com/kb_article.php?ref=8571-GLVN-8711تور از ساکس پشتیبانی میکنه و استیم با HTTP کار میکنه و به خاطر همون سیاستهایی که گفتم دارند از Socks پشتیبانی نمیکنند, کافیه لینک زیر را ببنید:
https://github.com/ValveSoftware/steam-for-linux/issues/1943افراد زیادی گفتند که این قابلیت اضافه بشه ولی خب ...
پس شما میخواهید با ابزاری مثل تور که از TCP استفاده میکنه و با Socks کار میکنه از کلاینتی که از UDP استفاده میکنه و socks را پشتبانی نمیکنه و با HTTP هست, عبور کنید, که در حالت عادی شدنی نیست, شاید مجبور شید از Polipo و Privoxy و همینطور یه سری ترفند برای اینکه استیم را بیارید روی TCP (که در مورد اینم خوندم و فکر میکنم بشه), اینکار را بکنید که مطمئنا دردسرهای زیادی داره و کار شخصی هست که یه دید کلی نسبت به این مسائل داشته باشه و مثل همیشه عوام نمیتونن و باید بیخیال این موضوع بشند, البته اینهایی که من گفتم در صورتی هست که استیم سخت نگیره که استیم هم شدیدا سخت گیره به طوری که اگر با تور لاگین کنید توی استیم کلاینت که روی کامپیوتر دارید و روی موبایل با IP ایران وصل باشید به استیم باز هم دچار مشکل میشید, پس باید Exit node را بذارید مثلا روی RU از اون طرف هم روی موبایل با Orbot سعی کنید Exit node را بذارید روی RU و بعد ....
بیخیال خیلی پیچیده شد! فقط بدونید به راحتی یه Torsocks نیست!
ولی اگر کمی باهوش باشید با VPN به صورت سیستم واید میتونید استیم را دور بزنید
حل مشکل رایج "failed to load drivers"زمانی که شما میخواید استیم را اجرا کیند, یه خطایی هست که معمولا بین کاربران زیاد پیش میاد و خیلی اذیت میکنه, خروجی را ببنید:
[hossein@ArchLinux ~]$ steam
Running Steam on arch rolling 64-bit
STEAM_RUNTIME is enabled automatically
Installing breakpad exception handler for appid(steam)/version(1459463254)
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
این مشکل مربوط میشه به کتابخانههای استیم (قبلا آرکوش عزیز کامل راجع بهش توضیح داد بود که از اونجایی که در تلگرام بود, پیامهاش در دسترس نیست!)
برای حلش یه سری دستور وجود داره, ولی قبل از اینکه اجراشون کنید, باید بدونید دقیقا دارید چیکار میکنید, معمولا مشکلی پیش نمیاد ولی یه بار من یه قسمتش را اشتباه وارد کردم و کل Home پاک شد (اون دستور را اینجا قرار ندادم فعلا), خب این هم از دستورات که قراره یه سری کتابخانه را پیدا و پاک کنند تا مشکل حل بشه:
find ~/.steam/root/ \( -name "libgcc_s.so*" -o -name "libstdc++.so*" -o -name "libxcb.so*" -o -name "libgpg-error.so*" \) -print -delete
find ~/.steam/root/ -name "libgpg-error.so*" -print -delete
find ~/.local/share/Steam/ \( -name "libgcc_s.so*" -o -name "libstdc++.so*" -o -name "libxcb.so*" -o -name "libgpg-error.so*" \) -print -delete
تموم شد, امیدوارم خوشتون اومده باشه, سایونارو