رفتن به محتوای اصلی
FA

خانه / وبلاگ / DNS و شبکه

چرا بازی‌ها از راه پروکسی بدتر می‌شوند — UDP و نوع NAT و تنظیم تأخیر

DNS و شبکه2026-06-181593 واژه4 دقیقه مطالعه
چرا بازی‌ها از راه پروکسی بدتر می‌شوند — UDP و نوع NAT و تنظیم تأخیر

«بعد از روشن کردن پروکسی بازی‌ام بدتر شد» بازخورد رایجی است. دلیلش این نیست که پروکسی بی‌فایده است، بلکه این است که ترافیک بازی و ترافیک وب چیزهای کاملاً متفاوتی می‌خواهند.

سه ویژگی ترافیک بازی

چرا شتاب دادن به بازی سخت استاز UDP استفاده می‌کند نه TCPپروکسی سیستم اصلاً UDP را دست نمی‌گیرد، پس TUN اجباری اسبه‌شدت به تأخیر حساس است۲۰۰ میلی‌ثانیه کندتر روی صفحهٔ وب حس نمی‌شود، ۵۰ میلی‌ثااز دست رفتن بسته از کندی بدتر استیک بستهٔ گم‌شده یعنی یک گیر یا جهش، و ارسال دوباره دیر م
وب گذردهی کل را بهینه می‌کند؛ بازی به‌موقع رسیدن تک‌تک بسته‌ها را

چرا TUN لازم است

پروکسی سیستم (HTTP/SOCKS) فقط TCP را دست می‌گیرد. دادهٔ بی‌درنگ بازی — همگام‌سازی موقعیت، اجرای مهارت — تقریباً تماماً UDP است و پروکسی سیستم آن را نمی‌بیند.

نتیجه: ورود و فروشگاه و به‌روزرسانی از پروکسی می‌روند (TCP) ولی ترافیک واقعی مسابقه روی مسیر اصلی می‌ماند. این وضع نیمه‌نیمه گاهی از نبود پروکسی هم بدتر است.

برای اینکه ترافیک بازی واقعاً مسیریابی شود باید TUN را روشن کنید.

اما گره باید UDP را پشتیبانی کند

مقدار udp: true در پیکربندی فقط اعلامی از سمت کلاینت است؛ اینکه سرور واقعاً UDP را جلو می‌فرستد به ارائه‌دهنده بستگی دارد.

proxies:
  - name: "HK-01"
    type: trojan
    server: hk.example.com
    port: 443
    password: "pwd"
    udp: true        # پشتیبانی را اعلام می‌کند؛ کار کردنش به سرور بستگی دارد

نوع NAT یعنی چه

نوع NAT که بازی‌های چندنفره گزارش می‌کنند (باز/متوسط/سختگیر یا Type 1/2/3) توصیف می‌کند که آیا میزبان‌های بیرونی می‌توانند به دستگاه شما اتصال آغاز کنند یا نه.

سه نوع NATباز Full Coneهر میزبان بیبیشترین شانس P2P مستقیمایده‌آلمتوسط Restrictedفقط میزبان‌هدر بیشتر موارد کار می‌کندحالت رایجسختگیر Symmetricبرای هر مقصدP2P تقریباً همیشه شکست می‌خوردبه بازپخش نیاز دارد که تأخیر می‌افزاید
از راه پروکسی، نوع NAT را سرور گره تعیین می‌کند نه روتر خانگی شما

پروکسی نوع NAT شما را عوض می‌کند — احتمالاً در هر دو جهت:

  • اگر سرور گره IP عمومی اختصاصی بدون محدودیت پورت داشته باشد ← ممکن است Full Cone بگیرید، بهتر از اینترنت خانه
  • اگر گره یک واسط با IP مشترک باشد یا نگاشت پورت سختگیرانه اعمال کند ← Symmetric می‌شوید و بازی چندنفره سخت‌تر می‌شود

همین علت معمول «پروکسی را روشن کردم و حالا نمی‌توانم وارد لابی شوم» است.

تأخیر تنها معیار نیست — از دست رفتن بسته مهم‌تر است

وزن هر عامل در حس بازی (نمادین)از دست رفتن بستهیک درصد از دست رفتن گیر آشکاری می‌سازدلرزش (jitter)تأخیر نوسانی از تأخیر بالای یکنواخت بدتر استتأخیر میانگین۶۰ و ۹۰ میلی‌ثانیه کمتر از آنچه فکر می‌کنید فرق دارندپهنای باندخود بازی‌ها خیلی کم مصرف می‌کنندوزن‌های نسبی برای نمایش؛ جزئیات بسته به سبک بازی فرق می‌کند

url-test فقط تأخیر را می‌سنجد؛ از دست رفتن و لرزش را نمی‌بیند. پس گرهٔ بازی را با گروه خودکار انتخاب نکنید.

سنجش از دست رفتن بسته

# ویندوز: صد پینگ، بعد نرخ از دست رفتن را بخوانید
ping -n 100 ip-گره
# macOS / Linux
ping -c 100 ip-گره

# ابزار بهتر: mtr از دست رفتن را در هر پرش نشان می‌دهد
mtr -r -c 100 ip-گره

به Loss% در خط آخر نگاه کنید. بالای یک درصد برای بازی رقابتی مناسب نیست.

mtr همچنین می‌گوید از دست رفتن کجا اتفاق می‌افتد — اگر پرش میانی از دست رفتن نشان بدهد ولی پرش آخر نه، آن روتر احتمالاً ICMP را محدود می‌کند نه اینکه ترافیک شما را بیندازد.

پیکربندی متمرکز بر بازی

۱. یک گروه سیاست اختصاصی بازی

proxy-groups:
  - name: "🎮 بازی"
    type: fallback              # fallback، نه url-test
    proxies: ["اختصاصی-HK", "اختصاصی-JP", "معمولی-HK"]
    url: "http://www.gstatic.com/generate_204"
    interval: 600               # بازهٔ بلند، تعویض کمتر

چرا fallback: عوض شدن گره وسط بازی یعنی قطع و اتصال دوباره. fallback فقط وقتی گرهٔ فعلی واقعاً بمیرد عوض می‌کند که به‌مراتب از url-test پایدارتر است.

۲. تنظیم‌های TUN

tun:
  enable: true
  stack: gvisor          # بهترین سازگاری با UDP
  auto-route: true
  auto-detect-interface: true
  dns-hijack: [any:53]
  mtu: 1400              # کمی پایین‌تر، برای کاهش تکه‌تکه شدن

۳. هدایت به گروه بازی بر پایهٔ فرایند یا دامنه

prepend-rules:
  # بر پایهٔ فرایند
  - PROCESS-NAME,steam.exe,🎮 بازی
  - PROCESS-NAME,Battle.net.exe,🎮 بازی
  # بر پایهٔ دامنه
  - DOMAIN-SUFFIX,steamserver.net,🎮 بازی
  - DOMAIN-SUFFIX,battle.net,🎮 بازی
  # بر پایهٔ پورت (خیلی از بازی‌ها بازهٔ ثابتی دارند)
  - AND,((NETWORK,UDP),(DST-PORT,27000-27100)),🎮 بازی

قواعد فرایندی به find-process-mode: strict نیاز دارند؛ توضیح قواعد فرایندی را ببینید.

۴. خاموش کردن قابلیت‌هایی که ممکن است مزاحم شوند

sniffer:
  enable: true
  skip-domain:
    - "+.steamserver.net"      # تشخیص می‌تواند با پروتکل بازی تداخل کند

پروتکل سفارشی بعضی بازی‌ها را تشخیص‌دهنده اشتباه می‌خواند، پس به skip-domain اضافه‌شان کنید.

چه گره‌ای به درد بازی می‌خورد

به ترتیب مناسب بودن1خطوط اختصاصی IPLC IEPL2واسط به‌علاوهٔ خروجی خوبورودی بهینه‌شده، خروجی در منطقهٔ هدف3واسط BGPدسترسی چنداپراتوری، در ساعت اوج بهتر4مرکز دادهٔ سادهدر روز خوب است، شب شلوغ می‌شود5طرح‌های ارزان پرحجممعمولاً پهنای باند به‌شدت مشترک، برای بازی نامناسب
بازی یک مرتبه بیشتر از ویدیو از خط انتظار دارد

مناسب بودن یک خط برای بازی را بهتر است با اندازه‌گیری قضاوت کنید نه با برگهٔ مشخصات. این را روی ترافیک آزمایشی اجرا کنید:

فهرست اندازه‌گیریدستور mtr -c 100 برای نرخ از دست رفتن؛ زیر یک درصد می‌خواهیدپینگ پیوسته برای دیدن لرزش؛ نوسان باید در محدودهٔ ±۲۰ میلی‌ثانیه بماندواقعاً یک مسابقه بازی کنید و مراقب جهش و تأخیر مهارت‌ها باشیددر اوج شب بسنجید نه سحرگاهمطمئن شوید UDP واقعاً کار می‌کند (وارد مسابقه می‌شوید نه اینکه فقط لاگین کنید)

کِی نباید از راه پروکسی بازی کرد

کِی به کار ببریم و کِی نهبه کار ببریدسرور در خارج است و تأخیردر اتصال مستقیم از دست رفتن بسته شدید استباید به یک سکوی بازی خارجی برسیدبه کار نبریدسرور محلی است و مستقیم پگره‌تان یک خط ارزان مشترک استبازی ضد تقلبی دارد که به کارت مجازی واکنش نشان می‌دهد
پروکسی کردن سرور بازی محلی تقریباً همیشه اوضاع را بدتر می‌کند

بازی‌های محلی همیشه باید مستقیم بروند. قاعده‌ای بگذارید که صریحاً مستثنایشان کند:

prepend-rules:
  - PROCESS-NAME,local-game.exe,DIRECT

دربارهٔ ضد تقلب

سامانه‌های ضد تقلب بعضی بازی‌ها کارت‌های مجازی و مسیرهای شبکه‌ای غیرعادی را تشخیص می‌دهند. استفاده از پروکسی معمولاً نقض قوانین نیست، اما:

  • شرایط خدمات بعضی بازی‌ها ابزارهای شبکهٔ شخص ثالث را منع می‌کند
  • IP که مدام عوض می‌شود می‌تواند کنترل ریسک را فعال کند (تشخیص مکان غیرعادی)
  • تعداد کمی از ضد تقلب‌ها با وجود کارت مجازی اصلاً اجرا نمی‌شوند

پیش و پس

پیکربندی غلط رایج در برابر تنظیم‌شدهپیش از تنظیمفقط پروکسی سیستمانتخاب خودکار با url-testهمهٔ ترافیک در یک گروهپشته روی systemپس از تنظیمTUN روشن با پشتهبازی روی گروه fallbackترافیک بازی جداگانه مسیریابی می‌شودMTU روی ۱۴۰۰
دو تغییر بزرگ: TUN اجباری است، و ترافیک بازی نباید دنبال گروه خودکار برود

خلاصه

  • بازی‌ها از UDP استفاده می‌کنند و فقط TUN می‌تواند حملش کند — پروکسی سیستم اینجا بی‌فایده است
  • گره باید واقعاً UDP را پشتیبانی کند؛ udp: true فقط یک اعلام است
  • از دست رفتن بسته و لرزش از تأخیر مهم‌ترند — با mtr بسنجید
  • برای گروه بازی fallback بردارید نه url-test، تا وسط مسابقه عوض نشود
  • بازی‌های محلی مستقیم می‌روند؛ پروکسی کردنشان فقط بدتر می‌کند
  • پاسخ واقعی برای بازی خط اختصاصی (IPLC/IEPL) است؛ واسط معمولی به‌ندرت به این حد می‌رسد

بیشتر بخوانید: درون TUN و توضیح قواعد فرایندی.


مستندات مرتبط

پیکربندی DNS در Clash — fake-ip یا redir-host؟
DNS و شبکه پیکربندی DNS در Clash — fake-ip یا redir-host؟

fake-ip واقعاً چطور کار می‌کند، چه فرقی با redir-host دارد، تقسیم کار میان nameserver و fallback، چطور جلوی نشت DNS را بگیریم، و چرا نام‌های داخلی از حل شدن بازمی‌مانند.

2026-07-131664 واژه4 دقیقه مطالعه