Comments (12)
Investigating
from pledge.
Seems to be caused by the new pipeline now after 1.20.2
from pledge.
Seems to be caused by the new pipeline now after 1.20.2
I was wrong, very stupid mistake... b20ceff
from pledge.
Feel free to reopen if issue still persists
from pledge.
I now seem to get a bunch of DecoderException's when using the frame pinger, but the normal clientpinger works fine
this.pledge = Pledge.getOrCreate(this); // Create or get when already registered to another plugin
framePinger = pledge.createFramePinger(1, 200);
this.getServer().getPluginManager().registerEvents(this, this);
Bukkit.getScheduler().scheduleSyncRepeatingTask(this, () -> {
for (Player onlinePlayer : Bukkit.getOnlinePlayers()) {
framePinger.getOrCreate(onlinePlayer);
}
}, 0L, 1L);
from pledge.
I think it must be something to do with the additional pipeline handlers, but I don't know enough about these for what the issue could be
from pledge.
I'm able to reproduce this, seems to be a different issue
from pledge.
@ThomasOM
Reverting the position of the handlers to 2.0 behaviour worked for me: EmpireWar@b4a6cf2
channel.pipeline()
.addAfter("prepender", "pledge_queue_handler", queueHandler)
.addAfter("encoder", "pledge_queue_primer", queuePrimer);
from pledge.
Actually just moving the queue handler is sufficient. The primer needs to be last otherwise the filter doesn't work. It also needs to check if there is a login packet to prevent a ping being sent before the join game packet which breaks on proxies.
from pledge.
@SamB440
Thanks for the investigation, I'll make sure to test moving the queue handler after the prepender instead
from pledge.
I believe MessageQueueHandler
also needs its QueueMode set to ADD_LAST
initially as it seems it gets stuck on LAST
during login otherwise, skipping some packets that should be wrapped
from pledge.
See: 78a3648.
I tested this on 1.20.4 and it seems to work just fine 👍
Also made sure to use ADD_LAST
for MessageQueueHandler
the moment the login packet is received so you don't miss out on any packets
from pledge.
Related Issues (10)
- Client doesn't receive disconnect packets HOT 2
- Could not get channel for player when joining HOT 1
- memory leak
- Can't send packet HOT 1
- java.lang.ArrayIndexOutOfBoundsException: -1 when joining
- Using PacketSendEvent from packetevents makes the frame go around the next tick rather than the current packet/tick. HOT 9
- Server join broken HOT 12
- Pledge interacts badly with PacketEvents HOT 3
- Unable to join 1.8 server with 1.9+ client when Pledge is enabled 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 pledge.