Skip to content

Unable to connect to non-NeoForge server through a proxy when the mod is installed #1388

Description

@BlackRandomCraft

Description

I am unable to connect to a non-NeoForge server through a BungeeCord-compatible proxy while this mod is installed on the client.

The proxy is running NullCordX, a BungeeCord fork, and is used to connect multiple backend servers together. One of the servers in the network is a modded NeoForge server, while the server I am trying to connect to in this case is a standard Minecraft server without NeoForge.

The client disconnects with the following message:

Image

It seems that the presence of the mod on the client causes the connection to be rejected when the target backend server does not run NeoForge.

Environment

  • Minecraft version: 1.21.1
  • NeoForge version: 21.1.242
  • Mod version: sable-neoforge-1.21.1-2.0.3.jar
  • Other installed mods:
    • create-1.21.1-6.0.10.jar
    • create-aeronautics-bundled-1.21.1-1.3.0.jar
    • Mod Menu (NeoForge Edition) 1.21.1-1.0.2.jar
    • plasmovoice-neoforge-1.21.1-2.1.13.jar

Client log

[16:09:04] [Render thread/INFO] [minecraft/ConnectScreen]: Connecting to *proxy.nullcordx*, 25565
[16:09:04] [Server Connector #1/INFO] [de.ry.sa.Sable/]: Starting remote client UDP channel future
[16:09:04] [Netty Client IO #5/INFO] [de.ry.sa.Sable/]: Client UDP channel active
[16:09:05] [Netty Client IO #5/INFO] [de.ry.sa.Sable/]: Client UDP channel inactive
[16:09:05] [Netty Client IO #5/INFO] [de.ry.sa.Sable/]: Closed UDP channel!
[16:09:05] [Render thread/WARN] [minecraft/ClientCommonPacketListenerImpl]: Client disconnected with reason: You are trying to connect to a server that is not running NeoForge, but you have mods that require it. A connection could not be established.

Proxy log

The proxy is running NullCordX, a BungeeCord fork.

The proxy network contains multiple backend servers. At least one of them is running NeoForge, while the lobby server used in this test is not running NeoForge.

[16:10:12 INFO] [BaronessAuth]: Logged in BlackRandomCraft from Russia, REDACTED (0.0.0.0) using premium
[16:10:12 INFO]: [/0.0.0.0:62901|BlackRandomCraft|1.21] <-> ServerConnector [lobby] has connected
[16:10:13 INFO]: [/0.0.0.0:62901|BlackRandomCraft|1.21] -> UpstreamBridge has disconnected
[16:10:13 INFO]: [/0.0.0.0:62901|BlackRandomCraft|1.21] <-> DownstreamBridge <-> [lobby] has disconnected

Configuration

The client configuration was not modified. All settings are using their default values.
https://gist.github.com/BlackRandomCraft/e9192374b18fb3c39adc6dbc13544d27

Steps to reproduce

  1. Install the mod on a NeoForge client.
  2. Keep the mod configuration at its default values.
  3. Connect to a BungeeCord-compatible proxy (in my case, NullCordX).
  4. Use the proxy to connect to a backend server that is not running NeoForge.
  5. The client disconnects with the error shown above.

Expected behavior

The client should be able to connect to non-NeoForge servers through the proxy.

This seems particularly relevant for proxy networks where multiple backend servers are connected together. For example, a network may contain a NeoForge modded server as well as vanilla or plugin-based servers such as a lobby, survival server, or minigame server.

It would be useful if the mod could remain installed on the client while connecting to servers where the mod is not present or where NeoForge is not required.

If the NeoForge server requirement is necessary for the mod to function, could the check be made optional or configurable, so that the client can still connect to non-NeoForge servers when the mod's functionality is simply not available there?

Actual behavior

The client is disconnected during the connection process because the target server is detected as not running NeoForge.

The same server can be accessed through the proxy when the mod is not installed on the client.

The proxy itself successfully establishes a connection to the lobby backend, but the client disconnects immediately afterwards.

Additional information

The modded NeoForge server is part of the same proxy network as the non-NeoForge server.

I am not sure whether this behavior is intentional or required by the mod's design. However, I am wondering whether it is possible to allow the mod to be installed client-side without forcing every server accessed through the proxy to run NeoForge.

Could this be related to the mod's NeoForge server-side requirement or the handshake performed during the connection?

Is there a technical reason why the client must be prevented from connecting to non-NeoForge servers when the mod is installed?

If possible, could the server-side requirement be made optional, or could the mod simply disable its functionality when connecting to a server that does not support it?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions