Твій ігровий сервер у VPN, і ніхто не може приєднатися
Тунель це не вхідний шлях. Вибери вхід, яким користуються гравці, і зроби так, щоб відповідь поверталася тим самим шляхом, перш ніж чіпати адресу прив'язки.
Сервер працює, VPN підключено, а ззовні ніхто не може приєднатися. Усі всередині тунелю можуть, і через це здається, що річ у правилі доступу. Бракує не дозволу, а шляху: адреси й порту, до яких гравці можуть дістатися, і маршруту, яким відповіді повернуться тим самим шляхом. Вихідна адреса VPN не є функцією вхідного хостингу.
Чотири способи, якими гравці можуть дістатися до сервера
Справжній вибір це хто твоя аудиторія і як входять її пакети, і є чотири форми, які варто назвати.
| Design | Who can join | What it costs |
|---|---|---|
| Private VPN players | Only members of the tunnel | Every player needs a profile and identity |
| Provider public mapping | Anyone with the assigned address and port | Depends on supported protocol and mapping lifetime |
| Your own public relay | Anyone who can reach the relay | You run and secure the relay |
| Deliberate direct entry | Anyone who can reach your line | Split routing has to stay coherent |
Приватна схема найпростіша і найменш зручна: авторизовані гравці входять в обмежену мережу й дістаються гри за її приватною адресою. Дай їм доступ до ігрової служби, а не спільну ідентичність, яка може блукати кожним хостом, який ти маєш.
Схема з ретранслятором та, яку недооцінюють. Досяжний шлюз приймає публічний трафік і передає його через приватний тунель до хоста, тому гравці ніколи не входять до серверного VPN. Ретранслятор має нести транспорт гри, а HTTP-проксі не є універсальним UDP-ретранслятором.
Стеж за відповіддю так само уважно, як за приходом
Для будь-якого перекладеного входу запиши чотири речі: зовнішню адресу, протокол, порт і внутрішню ціль. Довідка з переспрямування портів від Netgate пояснює розбіжність, на якій люди спотикаються: вона відокремлює трансляцію призначення від правила брандмауера, яке пропускає трафік далі. Налаштуй одне без іншого й отримаєш зіставлення, яке виглядає правильним і нічого не пропускає.
Далі перевір повернення. Пересланий запит може прийти бездоганно і все одно не спрацювати, бо хост відповідає через інший вихід. Ретранслятор може перекладати джерело внутрішнього потоку або зберігати джерело й покладатися на маршрутизацію; це різні схеми, і вони змінюють те, що хост гри бачить як адресу гравця.
Шифрування не рятує зламаний зворотний шлях. Воно захищає сегмент, а не топологію.
Чого тунель не робить приватним
Автентифікація, оновлення й політика допуску гри далі роблять свою роботу. Приватний внутрішній тунель не робить навмисно публічний вхід приватним і зовсім не шифрує ділянку від гравця до публічного входу. Це дві різні ділянки з двома різними експозиціями, і проєктна нотатка про те, що гра працює через VPN, описує рівно одну з них.
Запиши, яка ділянка захищена, а яка ні, перш ніж оголошувати адресу будь-кому.
Вибери аудиторію раніше за адресу
Виріши, хто має мати змогу приєднатися, і вибери відповідну схему. Лише друзі означають приватний тунель або ретранслятор зі списком дозволених. Публічна спільнота означає ретранслятор або прямий вхід із реальною експозицією, плюс модерацію. Коли це визначено, використовуй задокументовані порти гри та її поведінку з оголошеною адресою в обраній схемі.
Не переставляй адаптери VPN, доки не пройде тест. Це дає робочий сервер із незадокументованим шляхом, який ніхто не відтворить після наступного оновлення.
Тест це два гравці, один у тунелі й один ззовні, обидва завершують приєднання та одне коло трафіку. Менше за це не доводить, що вхід працює.