«بعد از روشن کردن پروکسی بازیام بدتر شد» بازخورد رایجی است. دلیلش این نیست که پروکسی بیفایده است، بلکه این است که ترافیک بازی و ترافیک وب چیزهای کاملاً متفاوتی میخواهند.
سه ویژگی ترافیک بازی
چرا 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 شما را عوض میکند — احتمالاً در هر دو جهت:
- اگر سرور گره IP عمومی اختصاصی بدون محدودیت پورت داشته باشد ← ممکن است Full Cone بگیرید، بهتر از اینترنت خانه
- اگر گره یک واسط با IP مشترک باشد یا نگاشت پورت سختگیرانه اعمال کند ← Symmetric میشوید و بازی چندنفره سختتر میشود
همین علت معمول «پروکسی را روشن کردم و حالا نمیتوانم وارد لابی شوم» است.
تأخیر تنها معیار نیست — از دست رفتن بسته مهمتر است
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 اضافهشان کنید.
چه گرهای به درد بازی میخورد
مناسب بودن یک خط برای بازی را بهتر است با اندازهگیری قضاوت کنید نه با برگهٔ مشخصات. این را روی ترافیک آزمایشی اجرا کنید:
کِی نباید از راه پروکسی بازی کرد
بازیهای محلی همیشه باید مستقیم بروند. قاعدهای بگذارید که صریحاً مستثنایشان کند:
prepend-rules:
- PROCESS-NAME,local-game.exe,DIRECTدربارهٔ ضد تقلب
سامانههای ضد تقلب بعضی بازیها کارتهای مجازی و مسیرهای شبکهای غیرعادی را تشخیص میدهند. استفاده از پروکسی معمولاً نقض قوانین نیست، اما:
- شرایط خدمات بعضی بازیها ابزارهای شبکهٔ شخص ثالث را منع میکند
- IP که مدام عوض میشود میتواند کنترل ریسک را فعال کند (تشخیص مکان غیرعادی)
- تعداد کمی از ضد تقلبها با وجود کارت مجازی اصلاً اجرا نمیشوند
پیش و پس
خلاصه
- بازیها از UDP استفاده میکنند و فقط TUN میتواند حملش کند — پروکسی سیستم اینجا بیفایده است
- گره باید واقعاً UDP را پشتیبانی کند؛
udp: trueفقط یک اعلام است - از دست رفتن بسته و لرزش از تأخیر مهمترند — با mtr بسنجید
- برای گروه بازی fallback بردارید نه url-test، تا وسط مسابقه عوض نشود
- بازیهای محلی مستقیم میروند؛ پروکسی کردنشان فقط بدتر میکند
- پاسخ واقعی برای بازی خط اختصاصی (IPLC/IEPL) است؛ واسط معمولی بهندرت به این حد میرسد
بیشتر بخوانید: درون TUN و توضیح قواعد فرایندی.
مستندات مرتبط
fake-ip واقعاً چطور کار میکند، چه فرقی با redir-host دارد، تقسیم کار میان nameserver و fallback، چطور جلوی نشت DNS را بگیریم، و چرا نامهای داخلی از حل شدن بازمیمانند.
حالت TUN از دید یک بسته چه میکند: ساختن کارت مجازی، بازنویسی جدول مسیریابی، ربودن پورت ۵۳، و انتخاب میان پشتههای gvisor و system و mixed.
هر ستون چه معنایی دارد و چطور به کارش ببریم: یافتن برنامهای که ترافیک را میخورد، علت انفجار تعداد اتصال، گلوگاه گذردهی کجاست، و پایش پیوسته از راه API.