Як збільшити затримку часу пінгу / підключення до мережі в Windows?


6

Мені потрібно постійно збільшувати затримку в мережі приблизно на 100 мс, не втрачаючи пакетів.

Причина: На певній грі на сервері та в Інтернеті мій пінг набагато нижчий, ніж у інших гравців. У мене 15 мс, коли в середньому 150 мс, що дає мені шахрайські переваги.

Тож також з цікавості я шукаю способи підвищити свій ping, зберігаючи зв’язок стабільним. Які мої варіанти, якщо такі є?

Я думав про VPN-сервіси, але це здається поганим варіантом, оскільки ігри використовують UDP?

Чи є якийсь маршрутизатор / програмне забезпечення, яке могло б допомогти мені у цьому?

Я на вікнах.


дискусійний, якщо ви отримуєте перевагу чи недолік. наприклад, в 2D грі продано, вам потрібно мати високий пінг, щоб мати перевагу. для цього більшість гравців активує клієнт p2p.
— Ванданг

Я бачу. Що ж, гра, про яку йде мова, - FPS під назвою Red Orchestra. Ви не отримаєте жодної переваги, будучи млявим. Це просто несправедливо, як зараз, адже сервер знаходиться в декількох метрах від дому (Нью-Йорк), а люди в моїй команді перебувають у Південній Америці, а опоненти - у Європі, тому я отримую переваги перед усіма. Я не зможу приєднатися до турнірів, якщо не знайду способу збільшити свій пінг.
— rzb

Насінні потоки? Встановіть підключення / обмеження швидкості та початкові дистрибутиви Linux. Під час торрентінгу - або навіть завантаження - мій пінг проходить повсюдно.
— tombull89

Це зробило б речі нестабільними, оскільки я, мабуть, втратив багато пакетів.
— rzb

8
Я не знаю, як подолати вашу проблему, але я просто хотів заграти і сказати, що це дуже нерозумно, якщо ти не можеш потрапити на турнір за занадто хороший зв'язок.
— BigJayMalcolm

Відповіді:


6

Ви можете зняти манекена :

Додавання затримки

Ми можемо керувати трафіком, додаючи правила, що відповідають певним даним пакетів, а потім надсилати пакети через трубу Dummynet з додатковою затримкою або втратою пакету. Наприклад, ми можемо додати затримку 100 мс до всього заголовку трафіку на xkcd.com, наприклад:

$ sudo ipfw pipe 1 config delay 100ms
$ sudo ipfw add 100 pipe 1 ip from any to xkcd.com
00100 pipe 1 ip from any to any dst-ip 107.6.106.82

Перша команда тут налаштовує трубу Dummynet з id 1, створюючи трубу, якщо вона ще не існувала. Друга команда створює правило, що має число 100, яке відповідає пакетам з потрібною адресою призначення та здійснює маршрутизацію їх через трубу. Зауважте, що будь-яке правило, яке намагається передати пакети через неіснуючу трубу, заблокує трафік і видасть помилку, тому не забудьте налаштувати труби перед їх використанням. Використання списку знову дозволяє нам переглянути оновлений набір правил.

$ sudo ipfw list
00100 pipe 1 ip from any to 107.6.106.82
65535 allow ip from any to any

Pinging xkcd.com повинен показувати час у зворотному напрямку 100 мс плюс незалежно від фактичної затримки поточного струму через з'єднання.

$ ping xkcd.com
PING xkcd.com (107.6.106.82): 56 data bytes
64 bytes from 107.6.106.82: icmp_seq=0 ttl=55 time=117.092 ms
64 bytes from 107.6.106.82: icmp_seq=1 ttl=55 time=124.583 ms
64 bytes from 107.6.106.82: icmp_seq=2 ttl=55 time=117.916 ms
64 bytes from 107.6.106.82: icmp_seq=3 ttl=55 time=121.067 ms

У більшості випадків ми б хотіли моделювати повне дуплексне з'єднання, додавши відповідне правило для пакетів, що надходять від віддаленого хоста, щоб затримка застосовувалася в обох напрямках. Коли ми закінчимо грати з нашим новим правилом, ми можемо видалити його та трубу наступним чином.

$ sudo ipfw delete 100
$ sudo ipfw pipe 1 delete

джерело


Схоже, що проект dummynet включає бінарні файли для Windows. Для адаптації команд повинно бути досить просто запустити ipfwкоманди з підвищеного командного рядка. Наприклад:

ipfw pipe 1 config delay 100ms
ipfw add 100 pipe 1 ip from any to server-ip
ipfw add 101 pipe 1 ip from server-ip to any

0

Я в кінцевому рахунку використовував openvpn . Це легкий вітер, який працює досить добре. Пінгс стабільний, втрат пакету немає. Єдина майбутня проблема - обмеження 100Mb руху. Я не впевнений, наскільки швидко я доберуся до цього, просто граючи в ігри.


Я рекомендую спробувати вставляти штучні затримки локально, якщо це можливо - VPN ставлять вас на розсуд зовнішнього провайдера / мережі, тому їх продуктивність може відрізнятися, особливо для ігор. Це означає, що якщо у вас є сервер десь (навіть дешевий VPS), ви можете встановити власну кінцеву точку VPN з трохи більшим контролем. Іншим потенційним недоліком VPN є те, що вони, як правило, повторно передаються у випадку втрати пакету, тоді як більшість FPS-ігор використовують UDP і просто приймають втрати, наздоганяючи майбутні пакети. Ретрансляція може спричинити значні затримки (зазвичай їх сприймають як стрибки затримки).
— Боб

Гарна інформація. Чи знаєте ви, як я міг би вставити штучні затримки на місцевому рівні? Здається, це дуже справна річ для маршрутизатора, але настільки незвична, що її важко було знайти.
— rzb

Саме це намагається вирішити моя відповідь, хоча це не перевірено в Windows, і це лише здогадка. Ви можете спробувати у будь-якому випадку, якщо хочете.
— Боб

2
Той, який я запропонував у своїй відповіді (dummynet), не має нічого спільного з VPN. Це ефективно мережевий фільтр, який у цій конфігурації може утримувати запити протягом певного часу залежно від умови. Він повністю локальний і працює на вашій машині. Він також може працювати на деяких маршрутизаторах, але це, звичайно, не обов'язково. Приклад додає затримку в 100 мс для будь-яких запитів від вашої машини до xkcd. Ви можете зробити так само для запитів з вашого комп'ютера до вашого ігрового сервера, а потім від ігрового сервера до машини.
— Боб

1
У своєму першому коментарі до вашої власної відповіді я запропонував кінцеву точку VPN, якою ви володієте (незначно) кращою за якусь іншу службу VPN. Але моя основна пропозиція залишається - використовувати локальний інструмент, а не маршрутизацію через зовнішню мережу .
— Боб
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.