prevent-client-proxy-connections blocks all connections from private IPs
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 2.3k
- Forks
- 959
- Avg merge
- 5d 10h
- Merged PRs (30d)
- 2
Description
Expected Behavior
The point of prevent-client-proxy-connections is to prevent connections where the client's IP address from the proxy's perspective is different from the IP address used to authenticate with Mojang's servers. This makes sense for most use cases, but not for connections across a private network because Mojang will never see the private IP address, and will always prevent the connection.
I think that an exemption should be made for connections from private networks so that this feature can still be used for players connecting from the public internet while not blocking players connecting over a private network (such as a VPN).
Actual Behavior
Player fails to authenticate with the usual "You are not logged into your Minecraft account..." message.
Steps to Reproduce
To reproduce this, the client must be attempting to connect to the Velocity server with a private IP (e.g. 10.0.0.1), but the client and proxy must have different public IPs when connecting to Mojang's servers. This is a common configuration when using a VPN.
Plugin List
None
Velocity Version
Velocity 3.3.0-SNAPSHOT (git-09f687e5-b413)
Additional Information
I've been running a patch with the change I mentioned above and can submit a PR if this is acceptable.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the prevent-client-proxy-connections setting through the client authentication flow. Reproduce a connection from a private IP where the proxy and Mojang use different public IPs, then verify that private-network connections are exempted while public-internet connections remain protected.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- authentication, backend, networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100