SSD Nodes Learn Hosting plans →
تعلیمی Matt Connorتحریر: Matt Connor

کیا VPS پر گیم کھیلی جا سکتی ہے یا صرف سرور بنے گا؟

standard VPS پر خود گیم کھیلنا ممکن نہیں، کیونکہ اس میں GPU نہیں ہوتا۔ لیکن اسی VPS پر dedicated game server host کرنا کم لاگت اور مؤثر حل ہے۔

کیا VPS پر گیم کھیلی جا سکتی ہے؟ مختصر جواب

کیا VPS پر گیم کھیلی جا سکتی ہے؟ یہ سوال دو طرح کے لوگ پوچھتے ہیں، اور انہیں ایک دوسرے سے مختلف جواب درکار ہوتے ہیں۔ اگر آپ rented server پر خود گیم کھیلنا چاہتے ہیں اور اس کی تصویر اپنی اسکرین پر دیکھنا چاہتے ہیں، تو standard VPS یہ کام نہیں کر سکتا، اور configuration میں کوئی تبدیلی اس مسئلے کو حل نہیں کرتی۔ اگر آپ ایسا game server host کرنا چاہتے ہیں جس سے دوسرے players connect ہوں، تو VPS رقم کے لحاظ سے rented server کے بہترین اختیارات میں سے ایک ہے، اور ایک small plan اکثر کافی ہوتا ہے۔

اگر آپ hosting کے بارے میں معلومات چاہتے ہیں، تو براہ راست game servers کے لیے VPS منتخب کرنا یا VPS پر Minecraft server چلانا پڑھیں۔ ذیل کے sections میں وضاحت کی گئی ہے کہ خود گیم کھیلنے والا طریقہ کیوں کام نہیں کرتا، کیونکہ اس سوال کا واضح جواب اکثر نہیں ملتا۔

معیاری VPS میں GPU کیوں نہیں ہوتا

معیاری VPS مشترکہ host کا ایک حصہ ہوتا ہے: virtual CPU cores، RAM، disk اور network port۔ host ایک rack server ہوتا ہے، اور rack server میں consumer graphics card نہیں ہوتا، کیونکہ gaming GPU (graphics processing unit) ایسے desktop case کے لیے بنایا جاتا ہے جس میں اس کے اپنے fans اور بجلی کا بڑا budget ہو۔ آپ کی virtual machine کو ایک virtual display adapter ملتا ہے تاکہ boot console پر output دکھایا جا سکے۔ graphics سے متعلق پوری صورتِ حال یہی ہے۔

lspci | grep -i -E 'vga|3d|display'
ls -l /dev/dri

پہلا command ایک سطر دکھاتا ہے، جو عموماً Cirrus Logic GD 5446 یا Red Hat, Inc. Virtio 1.0 GPU جیسی ہوتی ہے۔ معیاری plan میں دونوں صرف 2D rendering کرتے ہیں۔ Cirrus adapter میں 3D engine نہیں ہوتا، جبکہ virtio GPU صرف اسی صورت میں 3D acceleration دے سکتا ہے جب host میں موجود GPU کو کام سونپا جائے؛ ایسے host میں یہ ممکن نہیں ہوتا جس میں GPU موجود نہ ہو۔ دوسرا command اکثر ls: cannot access '/dev/dri': No such file or directory کا جواب دیتا ہے۔ اگر یہ card0 یا virtio driver کی طرف سے renderD128 بھی دکھائے تو یہ node virtual adapter سے متعلق ہے، اور اس کے پیچھے 3D hardware موجود نہیں ہوتا۔ حقیقی GPU instance پر یہی command اصل card سے منسلک card0 اور renderD128 دکھاتا ہے۔

Mesa پھر بھی llvmpipe کے ذریعے OpenGL فراہم کرتا ہے۔ یہ اس کا software renderer ہے، جو ہر triangle کو CPU پر draw کرتا ہے۔ یہ desktop یا پرانے 2D game کے لیے کافی ہے۔ جدید 3D title چند frames فی second کی رفتار سے چلتا ہے، اور CPU اس کام میں مصروف ہو جاتا ہے جس کے لیے وہ سب سے کم موزوں ہے۔ نتیجتاً game logic بھی سست ہو جاتا ہے۔

وہ چیز جو remote play کو ناکام بناتی ہے، input latency ہے

remote play ایک loop ہے۔ آپ کا key press server تک جاتا ہے، server ایک frame render کرتا ہے، اس frame کو video کے طور پر encode کر کے واپس بھیجتا ہے، پھر آپ کا client اسے decode کر کے screen پر دکھاتا ہے۔ ہر مرحلے میں چند milliseconds لگتے ہیں، اور یہ وقت جمع ہو جاتا ہے۔

چارٹTypical published latency for a hardware-encoded game stream, same region
اس چارٹ کے پیچھے کا ڈیٹا
[
  {
    "label": "Input capture and send",
    "typical_ms": 5
  },
  {
    "label": "Network round trip",
    "typical_ms": 15
  },
  {
    "label": "Frame render on the server",
    "typical_ms": 12
  },
  {
    "label": "Hardware video encode",
    "typical_ms": 8
  },
  {
    "label": "Decode and display on the client",
    "typical_ms": 15
  },
  {
    "label": "Sum of the stages above",
    "typical_ms": 55
  }
]

اس میں سے صرف 15 ms network round trip کا ہوتا ہے، اور server کو اپنے قریب منتخب کر کے آپ اسی حصے کو بہتر بنا سکتے ہیں۔ باقی وقت pipeline خود لیتی ہے، اور اسے اس بات سے فرق نہیں پڑتا کہ server کہاں موجود ہے۔ Game اپنا کوئی کام شروع کرنے سے پہلے یہ مراحل مجموعی طور پر 55 ms کی delay پیدا کرتے ہیں۔ یہ اسی region میں موجود client کو hardware encoder کے ذریعے streaming کے لیے عام طور پر شائع کیے گئے اعداد ہیں، کسی ایک machine کی measurements نہیں۔ اس لیے انہیں مسئلے کی نوعیت سمجھنے کے لیے استعمال کریں۔

یہ delay feedback loop کے اندر شامل ہو جاتی ہے۔ آپ mouse حرکت دیتے ہیں، نتیجہ دیکھتے ہیں، پھر correction کرتے ہیں۔ اضافی delay کی وجہ سے ہر correction دیر سے پہنچتی ہے، اس لیے آپ target سے آگے نکل جاتے ہیں اور دوبارہ correction کرتے ہیں۔ Turn based games، strategy games، management sims اور card games اسے آسانی سے برداشت کر لیتے ہیں۔ Shooters، fighting games، rhythm games اور racing games ایسا نہیں کرتیں۔

Jitter اور packet loss مختلف طریقے سے نقصان پہنچاتے ہیں۔ Video stream retransmission کا انتظار نہیں کر سکتی، کیونکہ جس frame سے وہ packet متعلق ہے وہ پہلے ہی late ہو چکا ہوتا ہے۔ اس لیے loss کا نتیجہ pause کے بجائے blocking artifacts یا frozen picture کی صورت میں ظاہر ہوتا ہے۔ یہی وجہ ہے کہ remote desktop اس کام کے لیے غلط tool ہے۔ VNC (virtual network computing) تبدیل شدہ rectangles کو TCP کے ذریعے بھیجتا ہے۔ TCP ہر چیز کو ترتیب سے deliver کرتا ہے، اس لیے ایک lost packet باقی stream کو اس وقت تک روک دیتا ہے جب تک وہ دوبارہ send نہ ہو جائے۔ جو screen ہر second میں 60 بار مکمل طور پر تبدیل ہوتی ہو، اس میں بہت سے changed rectangles اور ایسے بہت سے stalls پیدا ہوتے ہیں۔ RDP (remote desktop protocol) اپنا traffic TCP کے ساتھ ساتھ UDP پر بھی چلا سکتا ہے۔ اس سے یہ مخصوص stall ختم ہو جاتا ہے، لیکن اوپر بیان کی گئی input delay پر اس کا کوئی اثر نہیں ہوتا۔

ایک حقیقی cloud gaming باکس کے لیے کیا درکار ہوگا

یہ کام درست طریقے سے ممکن ہے۔ اس کے لیے بیک وقت چار چیزیں درکار ہیں۔

  • datacenter card والا GPU instance، کیونکہ provider کے پاس کرائے پر دینے کا لائسنس صرف اسی قسم کے GPU کے لیے ہوتا ہے۔
  • hardware video encoder، مثلاً NVENC، جو NVIDIA کا built-in encoder ہے، کیونکہ software میں encoding کرنے سے CPU time زیادہ استعمال ہوتا ہے اور تاخیر بڑھتی ہے۔
  • games کے لیے بنایا گیا streaming pair، نہ کہ desktops کے لیے۔ Server پر Sunshine اور client پر Moonlight عام open source انتخاب ہے۔
  • اپنے metro region میں server، کیونکہ round trip کا انحصار فاصلے پر ہوتا ہے، اور fibre میں فاصلہ ہی light کی رفتار کو محدود کرتا ہے۔

اب اس کی قیمت نکالیں۔ GPU instances کی قیمت عموماً فی گھنٹہ بتائی جاتی ہے، اس لیے ماہانہ لاگت معلوم کرنے کے لیے hourly rate کو 730 سے ضرب دیں، اگر instance پورا مہینہ چلتا رہے۔ کچھ providers اہل instances کے لیے کم monthly rate بھی دیتے ہیں، اس لیے دیکھیں کہ آپ کا provider یہ سہولت دیتا ہے یا نہیں۔ August 2026 تک یہ US dollars میں تین ہندسوں والی ماہانہ لاگت بنتی ہے۔ اس رقم سے ایک سال کے اندر console براہ راست خریدا جا سکتا ہے، اور اس کے علاوہ game licences کی قیمت بھی ادا کرنا پڑتی ہے۔ GPU VPS حقیقت میں کیا فراہم کرتا ہے اور GPU hours کرائے پر لینے کا break-even حساب ان اعداد کی تفصیل بیان کرتے ہیں۔

اگر آپ صرف کھیلنا چاہتے ہیں تو commercial cloud gaming services پہلے ہی یہ مکمل stack آپ کے قریب datacenters سے چلاتی ہیں، اور licensing بھی طے شدہ ہوتی ہے۔ ایک شہر میں موجود ایک VPS اس کام کے لیے بنائے گئے network کا مقابلہ نہیں کر سکتا۔

این پابندیوں اور لائسنسنگ کے بعد کیا باقی رہ جاتا ہے

بہترین GPU سرور بھی قواعد کی پابندی سے مستثنیٰ نہیں ہوتا۔ Windows 11 پر Riot کا Vanguard، TPM 2.0 (trusted platform module) اور Secure Boot کا تقاضا کرتا ہے۔ یہ virtual machine کے اندر چلنے سے انکار کرتا ہے، اس لیے Valorant کرائے کے cloud hardware پر start نہیں ہوگا۔ Easy Anti-Cheat اور BattlEye بھی hypervisor کا پتا لگا سکتے ہیں۔ ان کو استعمال کرنے والے کئی games virtual machines کو block کرتے ہیں یا اس وجہ سے ban کر دیتے ہیں۔ یہ جان بوجھ کر کیا جاتا ہے۔ cheat developers اپنے tooling کو چھپانے کے لیے virtual machines استعمال کرتے ہیں۔ اس لیے virtual machine کے اندر game چلانے سے انکار، game کے لیے کم لاگت والا تحفظ ہے۔

اس کے علاوہ licensing بھی لاگو ہوتی ہے۔ NVIDIA کی GeForce drivers کے لیے licence، datacenter استعمال کو محدود کرتا ہے۔ اسی لیے providers desktop cards کے بجائے datacenter cards کرائے پر دیتے ہیں۔ Windows کے لیے ایسا licence درکار ہے جو آپ کی ملکیت نہ ہونے والے hardware پر اسے چلانے کی اجازت دے۔ Storefront terms یہ طے کرتی ہیں کہ کسی copy کو کہاں چلایا جا سکتا ہے۔ ان میں سے کسی ایک پابندی سے الگ نمٹا جا سکتا ہے۔ لیکن سب پابندیاں مل کر یہ نتیجہ دیتی ہیں کہ ہاتھ سے تیار کیا گیا cloud gaming rig، زیادہ تر وہ competitive games نہیں چلا سکے گا جن کے لیے لوگ اسے بنانا چاہتے ہیں۔

CPU-only VPS پر کون سی خدمات بہت اچھی چلتی ہیں

اب دوسرے قاری کا معاملہ دیکھیں۔ Dedicated game server کبھی کوئی frame render نہیں کرتا۔ یہ world کو simulate کرتا ہے، ہر player کے input کا اطلاق کرتا ہے، اور network کے ذریعے state updates واپس بھیجتا ہے۔ Rendering players کی اپنی مشینیں کرتی ہیں۔ Rendering نہ ہونے کی وجہ سے GPU درکار نہیں ہوتا، اس لیے جو box گیم کھیلنے کے لیے بے کار ہے، hosting کے لیے موزوں ہوتا ہے۔

  • Minecraft، Valheim، Terraria، Factorio، Rust، Project Zomboid اور زیادہ تر دیگر titles کے لیے dedicated servers، بشرطیکہ ان کا headless server build دستیاب ہو۔
  • Voice chat۔ Mumble server اتنا ہلکا ہوتا ہے کہ اسی چھوٹے plan پر game server کے ساتھ چل سکتا ہے۔
  • Plain HTTP کے ذریعے mod اور map downloads، نیز وہ web panel جس سے players دیکھتے ہیں کہ کون online ہے۔
  • Matchmaking، stats، leaderboards، Discord bots، اور ان کے پیچھے چلنے والا database۔
  • شیڈول شدہ world backups جو box سے باہر محفوظ ہوں، تاکہ corrupted save کی صورت میں صرف ایک گھنٹے کا data ضائع ہو، پوری map نہیں۔

RAM عموماً بنیادی حد ہوتی ہے، اور ان میں سے کئی games کے لیے core count کے مقابلے میں single-core speed زیادہ اہم ہوتی ہے، کیونکہ Minecraft یا Factorio server کا main simulation tick ایک thread پر چلتا ہے۔ آٹھ سست cores والا plan چار تیز cores والے plan سے کم کارکردگی دے سکتا ہے۔ Bandwidth کا تعلق CPU کے مقابلے میں player count سے زیادہ ہوتا ہے۔ بہت سے providers transfer کو meter کرتے ہیں، اور unmetered کے نام سے فروخت کیے جانے والے plans میں بھی بعض regions میں port speed محدود یا quota مقرر ہو سکتا ہے، اس لیے plan منتخب کرنے سے پہلے allowance پڑھیں۔

درست ports کھولیں، اور یاد رکھیں کہ زیادہ تر in-game traffic TCP کے بجائے UDP (user datagram protocol) استعمال کرتا ہے۔

sudo ufw allow 25565/tcp
sudo ufw allow 27015/udp
sudo ufw status

ufw status میں ہر rule کے ساتھ ALLOW موجود ہونا چاہیے۔ اگر یہاں port open ہے اور server پھر بھی unreachable ہے تو اپنے provider کے control panel میں الگ network firewall دیکھیں، کیونکہ machine کے اندر موجود rule اس filter پر اثر نہیں ڈالتا جو اس کے سامنے لگا ہوتا ہے۔

اسے اپنی مداخلت کے بغیر چلتا رکھیں۔ systemd unit یا Docker restart policy reboot کے بعد server دوبارہ شروع کر دیتی ہے، اور ایسا compose stack جو boot پر خود شروع ہو جائے عام طریقہ ہے۔ اس کے ساتھ شیڈول شدہ off-box backups استعمال کریں تاکہ world file disk کے خراب ہونے کے بعد بھی محفوظ رہے۔

VPS پر میزبانی شروع کرنے سے پہلے اس کی جانچ کیسے کریں

آپ کے players تک latency طے کرتی ہے کہ server کا استعمال کتنا بہتر محسوس ہوگا، اور اسے ناپا جا سکتا ہے۔ provider سے مطلوبہ region میں ایک test address لیں، پھر یہ commands server سے نہیں بلکہ کسی player کے network سے چلائیں۔

ping -c 20 203.0.113.10
mtr -r -c 100 203.0.113.10

ping آخر میں ایک summary line دکھاتا ہے، جیسے rtt min/avg/max/mdev = 18.4/19.1/24.6/1.2 ms۔ آخری number jitter ہوتا ہے۔ کم jitter کے ساتھ مستحکم average، ایسے کم average سے بہتر محسوس ہوتا ہے جو مسلسل اتار چڑھاؤ کا شکار ہو۔ mtr ہر hop پر packet loss دکھاتا ہے۔ Loss صرف آخری line پر دیکھیں، کیونکہ درمیان کے routers اپنی ICMP (internet control message protocol) replies کو کم ترین priority دیتے ہیں اور اکثر ایسا loss رپورٹ کرتے ہیں جس سے حقیقی network traffic متاثر نہیں ہوتا۔

اس کے بعد دیکھیں کہ host oversubscribed تو نہیں۔

vmstat 1 5

st column steal time دکھاتا ہے۔ یہ اس وقت کا حصہ ہے جب آپ کا virtual CPU چلنے کے لیے ready تھا، لیکن physical host نے وہ cycles کسی دوسرے guest کو دے دیں۔ وہاں مسلسل non zero value کا مطلب ہے کہ load کے دوران آپ کی tick rate میں اتار چڑھاؤ آئے گا، چاہے plan page کچھ بھی کہتا ہو۔ Steal time اور noisy neighbours میں اسے پڑھنے کا طریقہ بتایا گیا ہے، جبکہ VPS کی خود benchmarking میں ان باقی numbers کا احاطہ کیا گیا ہے جنہیں ایک سال کے لیے commit کرنے سے پہلے جمع کرنا چاہیے۔

دونوں سوالات کا سیدھا جواب

اگر آپ کھیلنا چاہتے ہیں تو گیم ایسے hardware پر چلائیں جس تک آپ کی براہِ راست رسائی ہو، یا گیم streaming کے لیے بنائی گئی service استعمال کریں۔ عام مقصد والا VPS rendering نہیں کر سکتا، اور GPU instance کی لاگت hardware سے زیادہ ہوتی ہے جبکہ anti-cheat کے معاملے میں پھر بھی کم مؤثر رہتا ہے۔ اگر آپ host کرنا چاہتے ہیں تو VPS کرائے پر لیں۔ یہ کم قیمت میں واقعی موزوں انتخاب ہے، اور یہی box گیمز کے درمیان دوسری سروسز بھی چلا دے گا۔

FAQ

کیا میں VPS پر Steam انسٹال کر کے اپنی گیمز کھیل سکتا ہوں؟

آپ Linux VPS پر Steam client انسٹال کر سکتے ہیں، اور یہ گیمز download بھی کرے گا۔ مسئلہ انہیں کھیلنے میں پیش آتا ہے۔ عام plan میں GPU نہیں ہوتا، اس لیے 3D titles چند frames per second کی رفتار سے CPU rendering پر چلتی ہیں، اور بہت سی جدید گیمز supported renderer کے بغیر شروع ہی نہیں ہوتیں۔ جو output render ہو بھی جائے، اسے آپ کی screen تک stream کرنے سے encode اور network delay مزید شامل ہو جاتا ہے۔ Steam Remote Play اس مقصد کے لیے بنایا گیا ہے کہ آپ کی ملکیت والی حقیقی gaming machine سے stream کیا جائے، اور یہ فرض کرتا ہے کہ اس machine میں graphics card موجود ہے۔

کیا GPU VPS مجھے اپنی ملکیت کی کوئی بھی گیم کھیلنے دے گا؟

اس سے rendering کا مسئلہ دور ہو جاتا ہے، لیکن باقی مسائل برقرار رہتے ہیں۔ آپ کو اب بھی hardware encoder، Moonlight جیسا low latency client، اور اتنا قریب server درکار ہوتا ہے کہ round trip کا وقت کم رہے۔ اصل رکاوٹ anti-cheat ہے: Riot's Vanguard virtual machine میں چلنے سے انکار کرتا ہے، جبکہ Easy Anti-Cheat اور BattlEye hypervisor کا پتا چلا سکتے ہیں، اس لیے competitive shooters قابلِ عمل نہیں رہتے۔ Single player اور نسبتاً سست رفتار گیمز حقیقت پسندانہ استعمال ہیں، لیکن ان کی ماہانہ لاگت مقامی hardware کی قیمت سے زیادہ ہو سکتی ہے۔

دس دوستوں کے لیے Minecraft server چلانے کو مجھے کتنے سائز کا VPS درکار ہے؟

دس players کے لیے vanilla Java server 2 vCPU اور 4 GB RAM پر اطمینان سے چلتا ہے۔ JVM (Java virtual machine) کو -Xmx3G کے ساتھ تقریباً 3 GB دیں اور باقی memory operating system کے لیے چھوڑ دیں۔ -Xmx مقررہ allocation کے بجائے زیادہ سے زیادہ حد ہے، لیکن load کے دوران garbage collector heap کو اس حد تک بڑھا سکتا ہے، اور kernel کو page cache کے لیے پھر بھی memory درکار ہوتی ہے۔ بڑا modpack جواب بدل دیتا ہے: صرف heap کے لیے 6 GB سے 8 GB مختص کریں، اور زیادہ تیز single core والا plan منتخب کریں، کیونکہ main world tick ایک thread پر چلتا ہے۔

remote desktop ٹھیک محسوس ہوتا ہے لیکن game کیوں نہیں؟

Desktop ایک وقت میں screen کے صرف چھوٹے حصے کو تبدیل کرتا ہے، اور اگر کسی window کا redraw 100 ms دیر سے آئے تو عموماً کسی کو محسوس نہیں ہوتا۔ Game ہر second میں درجنوں بار ہر pixel تبدیل کرتا ہے اور آپ کے ہاتھوں کے ذریعے feedback loop کو مسلسل چلاتا ہے۔ VNC تبدیل شدہ rectangles کو TCP کے ذریعے بھیجتا ہے، اس لیے مسلسل حرکت کرتی screen updates کی بھرمار پیدا کرتی ہے، اور ہر lost packet باقی updates کو اس وقت تک روک دیتا ہے جب تک وہ دوبارہ send نہ ہو جائے۔ RDP UDP پر بھی چل سکتا ہے، جس سے یہ stall ختم ہو جاتا ہے۔ مناسب video stream بھی input delay کو برقرار رکھتی ہے، اور aim کرنے کی کوشش کے دوران آپ کو یہی delay محسوس ہوتا ہے۔

#gaming#vps#gpu#game-servers#cloud-gaming