آموزش نصب و راه اندازی SteamCMD برای گیم سرور استیم
SteamCMD
SteamCMD یک نسخه خط فرمان از سرویس گیرنده Steam است که با بازی هایی که از SteamPipe استفاده می کنند کار می کند. این به شما امکان می دهد بازی های سازگار را از طریق خط فرمان نصب و به روز کنید. اگر قصد دارید بازی های Steam را روی گیم سرور خود میزبانی کنید، نصب SteamCMD یک پیش نیاز است.
در این مقاله شما نحوه نصب و راه اندازی SteamCMD را در سرور مجازی خود خود یاد میگیرید. برای اطلاعات بیشتر و تنظیمات پیشرفته به صفحه ویکی SteamCMD Valve مراجعه کنید.
شما نیاز به یک سرور مجازی لینوکس (اوبونتو یا دبیان) دارید.
همچنین برای اجرای دائمی SteamCMD به ابزار screen نیاز دارید که میتوانید آن را با دستور زیر نصب کنید:
sudo apt install screen
پیکربندی فایروال با استفاده از iptable
1. برای اجرای قوانین جدید فایروال IPv4 و IPv6 خود، دو فایل به نامهای v4 و v6 در دایرکتوری اصلی خود ایجاد کنید. این فایل هارو از لینک زیر دانلود و سپس به سرور منتقل کنید
Steam همچنین میتواند از چندین محدوده پورت برای اهداف مختلف استفاده کند، اما تنها در صورتی مجاز هستند که بازی(های) شما از آن خدمات استفاده کنند. برای اطلاعات بیشتر به این صفحه پشتیبانی Steam مراجعه کنید.
Steam در حال حاضر از بازی چند نفره فقط از طریق IPv4 پشتیبانی می کند، بنابراین یک سرور Steam فقط به قوانین پایه فایروال IPv6 نیاز دارد که در زیر نشان داده شده است.
2. قوانین را به فایروال خود وارد کنید تا فعال شوند:
3. iptables-persistent را نصب کنید. اگر این نرمافزار را نصب نکنید، قوانین فایروال شما بعد از راهاندازی مجدد سرور مجازی باقی نمیماند.
در دبیان یا اوبونتو از دستور زیر برای بررسی اینکه آیا iptables-persistent قبلاً نصب شده است استفاده کنید:
sudo apt install iptables-persistence
در طول نصب، دو بار از شما خواسته می شود. اولین درخواست این است که می پرسد آیا می خواهید قوانین IPv4 فعلی خود را ذخیره کنید.
دومین درخواست ذخیره قوانین پیکربندی شده برای IPv6 است.
پس از اتمام نصب، باید زیر شاخه iptables را ببینید. دستور ls /etc/iptables را اجرا کنید و ببینید که قوانین که لود کردین در این دایرکتوری موجود باشند:
4. اگر iptables-persistent قبلاً نصب شده بود، بسته را مجدداً پیکربندی کنید تا قوانین جدید شما را بشناسد:
sudo dpkg-reconfigure iptables-persistence
5. تأیید کنید که قوانین فایروال شما فعال هستند:
iptables -vL
باید خروجی مانند زیر باشد:
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- lo any anywhere anywhere
0 0 REJECT all -- !lo any localhost/8 anywhere reject-with icmp-port-unreachable
0 0 ACCEPT icmp -- any any anywhere anywhere state NEW icmp echo-request
0 0 ACCEPT tcp -- any any anywhere anywhere state NEW tcp dpt:ssh
0 0 ACCEPT udp -- any any anywhere anywhere udp dpts:27000:27030
0 0 ACCEPT udp -- any any anywhere anywhere udp dpt:4380
0 0 ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED
0 0 LOG all -- any any anywhere anywhere limit: avg 3/min burst 5 LOG level debug prefix "iptables_INPUT_denied: "
0 0 REJECT all -- any any anywhere anywhere reject-with icmp-port-unreachable
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 LOG all -- any any anywhere anywhere limit: avg 3/min burst 5 LOG level debug prefix "iptables_FORWARD_denied: "
0 0 REJECT all -- any any anywhere anywhere reject-with icmp-port-unreachable
Chain OUTPUT (policy ACCEPT 60 packets, 8304 bytes)
pkts bytes target prot opt in out source destination
6. اگر در آینده قوانین جدیدی را به فایروال خود وارد کنید، باید مطمئن شوید که iptables-persistent را دوباره پیکربندی کنید:
sudo dpkg-reconfigure iptables-persistence
پیکربندی فایروال با FirewallD
این ابزار برای سیستم عامل های ردهت بیس بیشتر مورد استفاده قرار میگیرد. اگر دبیان بیس یا اوبونتو بیس هستید این بخش رو رد کنید
1. مجموعه قوانین خود را با دستورات زیر تنظیم کنید و فایروال را روشن کنید و قوانین خود را تأیید کنید:
SteamCMD را می توان از طریق مدیر پکیج توزیع شما یا از طریق روش دستی نصب کرد.
نصب SteamCMD از طریق پکیج منیجر به شما این امکان را میدهد که بهروزرسانیها و وصلههای امنیتی را راحتتر دانلود کنید، بنابراین اگر توزیع شما شامل بسته SteamCMD است، اکیداً توصیه میکنیم از این روش استفاده کنید. این پکیج برای اوبونتو و دبیان در دسترس است.
Ubuntu 20.04
1. مخزن چندجهانی (multiverse) و معماری i386 را اضافه کنید:
نکته : در پنجره ظاهر شده ممکن است لازم باشد کلیدهای shift + tab را وارد کنید تا گزینه ok را انتخاب کنید.
4. یک symlink به فایل اجرایی steamcmd در یک مکان مناسب، مانند فهرست home خود ایجاد کنید:
cd ~
ln -s /usr/games/steamcmd steamcmd
Debian
1. منطقه non-free را به مخازن موجود در لیست منابع خود اضافه کنید، زیرا بسته steamcmd فقط از این ناحیه در دسترس است. برای انجام این کار، فایل /etc/apt/sources.list خود را ویرایش کنید و non-free را در انتهای هر خط deb و deb-src قرار دهید، مانند این مثال:
فایل /etc/apt/sources.list :
deb http://mirrors.linode.com/debian stretch main non-free
deb-src http://mirrors.linode.com/debian stretch main non-free
...
2. معماری i386 را اضافه کنید، لیست پکیج خود را به روز کنید و steamcmd را نصب کنید
نکته : در پنجره ای که به دنبال دستور نصب steamCMD ظاهر می شود، ممکن است لازم باشد کلیدهای shift + tab را وارد کنید تا گزینه ok را انتخاب کنید.
3. یک symlink به فایل اجرایی steamcmd در یک مکان مناسب، مانند فهرست home خود ایجاد کنید:
بعد از اجری دستور بالا خروجی زیر را میبینید و وارد خط فرمان Steam> میشوید
2. اکثر گیم سرور های Steam اجازه ورود anonymous را می دهند. شما می توانید این را برای عنوان خود با لیست سرورهای اختصاصی لینوکس Valve تأیید کنید.
برای ورود ناشناس:
login anonymous
برای ورود با نام کاربری Steam خود:
login username password
چگونه می توانم گیم سرور SteamCMD خود را به روز کنم ؟
برای به روز رسانی سرور SteamCMD، مراحل زیر را دنبال کنید:
1. اگر SteamCMD از قبل در ال اجرا نیست یکی از دستورات زیر را وارد کنید:
steamcmd
یا
screen ~/.steam/steamcmd.sh
یا
screen ~/.steam/steamcmd/steamcmd.sh
۲. بعد میبایست با یوزر خود لاگین کنین و سپس برنامه را بهروزرسانی کنید: ($app-id را با شماره/id برنامه بازی که میخواهید بهروزرسانی کنید جایگزین کنید.)
login anonymous
یا
login $username
app_update $app-id
خروج از SteamCMD
خروج از سشن screen:
برای خروج از سشنی که در حال اجرای فرآیند Steam است بدون ایجاد اختلال در فرآیند استیم، Control+A و سپس Control+D را در صفحه کلید خود وارد کنید. بعداً می توانید با وارد کردن: screen -r به سنش screen بازگردید.
توقف SteamCMD:
برای متوقف کردن فرآیند Steam و حذف سشن صفحه نمایش خود، در خط فرمان Steam> دستور quit را وارد کنید یا Control+C را در صفحه کلید خود وارد کنید.
جمع بندی
شما آماده نصب اولین گیم سرور Steam خود هستید. از اینجا، برخی از بازیها ممکن است به چند کتابخانه i386 یا قوانین فایروال بیشتر نیاز داشته باشند و بیشتر آنها نیاز به تغییر تنظیمات پیکربندی خود دارند. گیم سرور باید امکان دسترسی آسان مدیریتی را با کمترین وقفه برای بازیکنان فراهم کند. نرم افزار آن باید به طور مکرر به روز شود و ادامه بازی باید زمانی که سرور به درستی خاموش شود ذخیره شود.