New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Proxy Support #48
Proxy Support #48
Conversation
…port and removed online_mode option
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good so far!
…dress length check, changed send_plugin_message parameters, moved velocity secret and moved ConnectionMode Docs
…ecord handshake server_address check
Where did you get your information on how the proxies work? |
I've read the source code of Velocity and the PaperMC Implementation |
Reviewing this now. Will be pushing changes tomorrow. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changes I've Made
- Cleaned up documentation in
config.rs
. - The
handle_login
function was quite large so I moved all that logic into a new submodule. - Removed the
proxy
module since there wasn't much there. - Removed incorrect uses of
unwrap
andexpect
. (If we panic it would bring down the whole server). - Used existing types to parse where applicable.
- Set the IP address of the client in the BungeeCord login procedure.
- Removed Velocity version check. Let me know if it was wrong to remove this.
- More descriptive error messages.
- Many stylistic adjustments and optimizations.
Issues to Resolve Before Merging
- The second element of the NUL-delimited list in the BungeeCord procedure appears to be the client's IP address, but I'm not certain. Can you confirm?
-
VELOCITY_MODERN_FORWARDING_WITH_KEY_V2
is unimplemented. Probably not a blocker for merging. Not sure how important it is. - After logging in with
ConnectionMode::BungeeCord
orConnectionMode::Velocity
, the client fails to fully join and is disconnected with the following error. This problem exists before and after my changes.
I think it's the IP you have used to conntect to the server. (e.g. 127.0.0.1 or localhost)
I think i forget to Push These changes, so i'll push them later. |
When I tried it, the first element was |
I'm going to go ahead and merge what we have here to avoid conflicts. |
This PR adds Proxy Support.
TODO
Closes #39