
Proxy Compatible Forge
Мод Proxy Compatible Forge добавляет поддержку современных прокси (Velocity, BungeeGuard, BungeeCord) на сервера NeoForge и Forge. Позволяет передавать данные об игроках через прокси, решая проблемы с IP, UUID и командами.
Proxy Compatible Forge
Если вы администрируете сервер Minecraft на Forge или NeoForge и хотите поставить его за прокси вроде Velocity или BungeeCord - без этого мода не обойтись. Дело в том, что ванильные Forge-сервера не умеют корректно передавать информацию об игроках (IP, UUID, онлайн-статус) через прокси. Из-за этого ломаются античиты, плагины на выдачу прав и многие другие механики. Proxy Compatible Forge (PCF) решает эту проблему, добавляя поддержку всех популярных режимов пересылки данных.
Мод работает на Forge (начиная с версии 1.7.2) и NeoForge (1.20.1+). Поддерживает три режима форвардинга:
- MODERN - современный протокол Velocity (версии 1-4)
- BUNGEEGUARD - через плагин BungeeGuard для BungeeCord
- LEGACY - старый режим BungeeCord (не рекомендуется, но можно)
Также встроена система CrossStitch - обёртка модных аргументов команд. Без неё при подключении через прокси вылетает ошибка CorruptedFrameException из-за того, что Velocity не знает, как обрабатывать кастомные аргументы от модов. PCF автоматически упаковывает их, и всё работает.
Поддерживаемые версии и платформы
- Forge: 1.7.2 - 26.2 (для старых версий нужны дополнительные моды: MixinBootstrap для 1.14-1.15.1, ModernMixins для 1.13.x, MixinBooter для 1.8-1.12.2, UniMixins для 1.7.x)
- NeoForge: 1.20.1 - 26.2
- SpongeForge/SpongeNeo: обычно не нужен, но если стоит Forgified Fabric API - может потребоваться PCF
- Гибридные сервера Bukkit+Neo/Forge: используйте встроенную поддержку прокси, если она есть
Установка
- Скачайте мод Proxy Compatible Forge (JAR-файл) и положите в папку
modsвашего сервера. - Запустите сервер - сгенерируется конфиг.
- Остановите сервер.
- Откройте файл
config/proxy-compatible-forge.tomlи укажите секрет форвардинга в полеforwarding.secret(тот же, что на прокси). - В
server.propertiesпоставьтеonline-mode=false. - Запустите сервер - теперь можно подключаться через Velocity!
Настройка
Конфиг лежит в config/proxy-compatible-forge.toml. Основные параметры:
| Группа | Параметр | По умолчанию | Описание |
|---|---|---|---|
forwarding | enabled | true | Включить форвардинг. Требует перезапуска. |
forwarding | mode | "MODERN" | Режим: MODERN, BUNGEEGUARD или LEGACY. |
forwarding | secret | "" | Секретный ключ для проверки прокси. |
forwarding | approvedProxyHosts | [] | Список разрешённых хостов/IP прокси. Пусто - разрешить все. |
crossStitch | enabled | true | Включить обёртку аргументов команд. |
crossStitch | forceWrappedArguments | [] | Принудительно обернуть конкретные аргументы (ID). |
crossStitch | forceWrapVanillaArguments | false | Обернуть все ванильные аргументы (если моды сдвигают ID). |
debug | enabled | false | Логи отладки. |
debug | disabledMixins | [] | Отключить конкретные миксины. |
advanced | modernForwardingVersion | "NO_OVERRIDE" | Принудительная версия MODERN форвардинга (полезно при проблемах с подписью чата). |
Возможности
Форвардинг данных об игроках
PCF поддерживает все версии MODERN протокола Velocity:
| Название | Значение | Версии Minecraft |
|---|---|---|
MODERN_DEFAULT | 1 | Любая |
MODERN_FORWARDING_WITH_KEY | 2 | 1.19 |
MODERN_FORWARDING_WITH_KEY_V2 | 3 | 1.19.1 - 1.19.2 |
MODERN_LAZY_SESSION | 4 | 1.19.3+ |
Если возникают проблемы с подписью чата (chat signing), попробуйте выставить advanced.modernForwardingVersion = "MODERN_DEFAULT".
Режим BUNGEEGUARD требует установки плагина BungeeGuard на BungeeCord или использования соответствующего режима в Velocity.
LEGACY - старый режим BungeeCord. Используйте его только если нет другого выхода, и обязательно настройте forwarding.approvedProxyHosts.
CrossStitch - обёртка модных аргументов команд
Без этой функции при подключении через Velocity вы увидите ошибку:
io.netty.handler.codec.CorruptedFrameException: Error decoding class com.velocitypowered.proxy.protocol.packet.AvailableCommandsPacket
PCF автоматически упаковывает кастомные аргументы от модов, чтобы Velocity мог их прочитать. BungeeCord не поддерживает обёрнутые аргументы - если используете его, отключите CrossStitch.
Иногда моды регистрируют свои аргументы под неймспейсом minecraft или модифицируют ванильные - тогда PCF может их пропустить. В таком случае добавьте ID аргумента в crossStitch.forceWrappedArguments. Если моды сдвигают все ID аргументов (например, регистрируются раньше ванильных), включите crossStitch.forceWrapVanillaArguments. Это костыль, но работает.
Частые проблемы
Too Many Channels (слишком много каналов)
Ошибка на клиенте:
Invalid payload REGISTER!
Решение для Velocity: добавьте в аргументы запуска -Dvelocity.max-known-packs=124 (число = 64 + количество модов * 1.5).
Ошибка на Paper:
Couldn't register custom payload ... Too many channels registered!
Решение: добавьте -Dpaper.disableChannelLimit=true в аргументы Paper.
An internal server connection error occurred
Ошибка на клиенте:
An internal server connection error occurred.
Ошибка на Velocity:
Packet sent for class ... PluginMessagePacket was too big (expected X bytes, got Y bytes)
Решение: увеличьте лимит размера пакета через -Dvelocity.max-plugin-message-payload-size=####### (подставьте число чуть больше Y).
Итог
Proxy Compatible Forge - must-have для любого серьёзного сервера на Forge или NeoForge, который работает через прокси. Без него вы либо не сможете подключиться, либо получите кучу ошибок с командами и данными игроков. Ставьте, настраивайте секрет и наслаждайтесь стабильной работой связки Minecraft + прокси.
Как поиграть с друзьями с модом Proxy Compatible Forge?
Мод Proxy Compatible Forge куда интереснее в компании: поднимите сервер Майнкрафт с уже установленным модом, позовите друзей и играйте по своим правилам. Хостинг Майнкрафт для мода Proxy Compatible Forge будет готов за пару минут - BungeeHost сделает всё за вас.
