بزرگترین مشکل من با استیم، دانلود بازیهاش بود چون حجم خیلی خیلی زیادی دارن. ساعت دانلود رایگان داشتم ولی باید دستی دانلود رو شروع میکردم. خب شروع کردم به جستجو و تحقیق که به این روش رسیدم؛ اینطوری میشه هر برنامهای رو با استیم به راحتی دانلود کرد.
من برای اجرای فرمانها در ساعات مقرر از cron
استفاده میکنم. وقتی که cron دستوری رو اجرا میکنه، خیلی از متغییرهای رایج از جمله DISPLAY
ست نمیشن و اگر دستور دادهشده نیازمند سیستم گرافیکی باشه با خطا روبرو میشه و کار نمیکنه. اینجاست که Xvfb
به کمکمون میاد: یه مانیتور غیر واقعی و قلابی!
استیم برای اجرا شدن به محیط گرافیکی نیاز داره و اگر ما توی cron فراخوانیش کنیم کار نمیکنه. پس یه مانیتور مجازی میسازیم که این مشکل رفع بشه.
۱. نصب Xvfb
root@debian:~# apt-get install xvfb
۲. به دست آوردن ID برنامه یا بازی مورد نظر
هر برنامهای توی استیم یک ID داره. مثلا من میخوام ID بازی Dota2 رو به دست بیارم. اسمش رو جستجو میکنم و به همچین لینکی میرسم:
http://store.steampowered.com/app/570
بینگو! یقیناً اون 570
انتهای لینک ID مورد نظر ماست.
۳. ساختن اسکریپت دانلود
این اسکریپت به ترتیب این کارها رو برامون انجام میده:
- ساختن یک صفحهنمایش مجازی
- تنظیم
DISPLAY
- رفتن به پوشهی خانگی(استیم باید توی
PWD=$HOME
اجرا بشه) - اجرای خود استیم و لاگ کردن خروجیش
Xvfb :5 -screen 0 1280x720x24 +extension GLX +render -noreset > /dev/null 2>&1 &
export DISPLAY=:5
cd
/usr/games/steam -applaunch <APPID> >> steam.log 2>&1
نکته: یادتون نره که <APPID>
رو با ID برنامهتون عوض کنین. مثلا همون 570
که مربوط میشه به Dota2.
حالا هربار که اسکریپت رو اجرا کنین، دانلود برنامه شروع میشه. عملیات ادامهی دانلود و توقفش و غیره به عهدهی خود استیمه پس خیالتون از ادامه دادن یا سالم بودن فایلهای دانلود شده راحت باشه. در نهایت اسکریپت رو به cron عزیز بسپارید تا از بازیتون لذت ببرید.