Comments (13)
What progress / fix are you expecting given the above comments?
from bungeecord.
Presumably? Provide a solution for players who use your software. Bungeecord is one of the most important pieces of networking software right next to Velocity.
While there are forks who try to patch these issues, it would be nice if stuff gets solved downstream. As plugin developers have to take the blame when a user goes "WAAA, your plugin doesnt work!!!! WHAAAA, I will review you 1 star because bungeecord doesn't work, WHAAAA". While this isn't even the fault of the developers of a plugin, but the software the plugin runs on.
from bungeecord.
While there are forks who try to patch these issues, it would be nice if stuff gets solved downstream.
They're welcome to provide a pull request upstream.
As per the ticket above it's very unclear what the fix for this is or if it's even a bug. Please explain what about BungeeCord is not working. You haven't contributed anything helpful to this discussion.
from bungeecord.
This is unavoidable due to Mojang's addition of an extra step in the protocol. What exactly is the bug you think needs addressing?
from bungeecord.
I am unable to use the event to send stuff, because it gets cleared right away. So I need a workaround.
I came up with 2 ideas on my plugin side, both of which are highly questionable and I'm looking for some confirmation if it's up to me or something can be done on bungeecord side about this. I have no way to know if player received the packet after switching or not yet.
from bungeecord.
Maybe a suitable solution could be to move ServerConnectedEvent
call in ServerConnector to after we sent Login packets in that method and NEZNAMY should then use ServerConnectedEvent
.
But to be honest with this change I feel even more lost inside bungee's code. What is called in which state of the protocol, what will happen afterwards etc. I think there is a need of some diagrams detailing what methods will be called and which packets are sent/expected to be recieved for first connection / server switches per mc version.
from bungeecord.
I think I found a similar problem with the events in the 1.20.1 / 1.20.2. While the ServerConnectedEvent is called on an initial login in 1.20.1 without a server (see figure 1), in 1.20.2 a server is already assigned to the player (see figure 2).
Running version git:BungeeCord-Bootstrap:1.20-R0.2-SNAPSHOT:1ef4d27:1754
Fig. 1 (connecting with 1.20.1)
Fig. 2 (connecting with 1.20.2)
This causes problems with plugins that rely on the event behavior remaining the same especially when the bungeecord version is the same
from bungeecord.
I think something has to give, it is impossible for 1.20.1 and 1.20.2 to have the same behaviour. If not this (minor) difference you get a much bigger difference of the connection not being in a state to send most packets.
from bungeecord.
Do you think we can somehow distinguish between an initial connect or server switch in the ServerConnectedEvent? This would at least the problem I am facing with the changes in 1.20.2.
from bungeecord.
Adding an event when login packet is sent would also solve this.
from bungeecord.
Is there any progress to this?
from bungeecord.
Will this be fixed?
from bungeecord.
Some food for thought, it would be beneficial if there was some event that could be fired when the configuration stage is completed on the client and they are now in the GAME protocol state.
I guess it's fair that this event firing here would cause these errors, but I think it's most reasonable to assume that the current functionality of the event doesn't really serve the best purpose-wise. Most notably previous code that communicated with the backend server in this stage now errors due to the player not yet being in the world. (Bukkit#getPlayer returns null)
I now add a ~500 MS delay after this event's invocation before trying to communicate with the backend (java server)... however, this is not the perfect solution as the client can potentially take longer than 500ms to ack the actual configuration stage.
from bungeecord.
Related Issues (20)
- Forced hosts placeholder HOT 4
- Forced hosts alias HOT 1
- Integrate BungeeGuard for more safety out of the box HOT 9
- "Already connected to this proxy"
- Personalized Messages HOT 2
- Error in console when joining and contantly gets kicked.
- DownstreamBridge
- Bedrock Kicks over bungeecord-chat HOT 1
- Allow setting custom server brand to show to clients HOT 2
- Player Invisible to others in 1.20.4 HOT 3
- ClickEvent doesn't work properly. HOT 2
- HAProxy 2.0+ Proxy Protocol Spam - InitialHandler - NativeIoException: recvAddress(..) failed: Connection reset by peer HOT 4
- Team npc_team_189 already exists in this scoreboard HOT 1
- ComponentStyle#isEmpty is inverted
- Error when disconnecting player on PostLoginEvent
- You can no longer join with 1.20.2 or higher HOT 5
- UTF-8 isn't working HOT 3
- Possible unintentional functionality with "formatless" strings HOT 2
- Change Gson to faster serialization library HOT 68
- All methods are deprecated in PreLoginEvent HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bungeecord.