Closed TheDeafCreeper closed 1 year ago
Did 3 games with 4 players, and had 2, 1, and 3 players get kicked after they were sent to the lobby family.
(Also the messages don't appear to be showing up in /rc message list
)
what does your /rc message list
look like? are you looking at the right page?
You can switch pages using /rc message list <page number>
oof yeah plz use pastebin for this lmao.
Check your exception again, just under it, it should say something like To view the thrown away message use: /rc message get <some long number>
Also the reason why the PING
messages aren't cached is probably because your save-trashed-messages
setting in logger.yml
is set to false
But tbh if the message hasn't appeared on one of those pages, it's probably been pushed out of the cache by now by all the PONG messages.
I'd probably say to try and reproduce the error and then immediately get that message so we can take a look.
Just going to delete that wall of text. Managed to catch the message though and it's not very helpful.
Status: EXECUTING_ERROR
Reason: There was an issue connecting you to the server!
ID: 1121281686382854144
Timestamp: Thu Jun 22 03:33:06 UTC 2023
Contents: {"k":"[KEY]","v":1,"t":"SEND","o":"SERVER","a":"ns1006130.ip-135-148-52.us:41227","p":{"f":"woolsacre-lobby","p":"726b6a4a-e654-47bb-9764-d067ee3c056b"}}
This error appeared as well
[03:33:06 ERROR]: java.lang.NullPointerException: Cannot invoke "group.aelysium.rustyconnector.plugin.velocity.lib.module.PlayerServer.playerLeft()" because "server" is null
>
[03:33:06 ERROR]: at group.aelysium.rustyconnector.plugin.velocity.lib.events.OnPlayerDisconnect.lambda$onPlayerDisconnect$0(OnPlayerDisconnect.java:32)
>
[03:33:06 ERROR]: at com.velocitypowered.api.event.EventTask$1.execute(EventTask.java:66)
>
[03:33:06 ERROR]: at com.velocitypowered.proxy.event.VelocityEventManager$ContinuationTask.execute(VelocityEventManager.java:545)
>
[03:33:06 ERROR]: at com.velocitypowered.proxy.event.VelocityEventManager.fire(VelocityEventManager.java:604)
>
[03:33:06 ERROR]: at com.velocitypowered.proxy.event.VelocityEventManager.lambda$fire$5(VelocityEventManager.java:478)
>
[03:33:06 ERROR]: at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
>
[03:33:06 ERROR]: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
>
[03:33:06 ERROR]: at java.base/java.lang.Thread.run(Thread.java:833)
That was after the "There was an issue connecting you to the server!" error so it could just be caused by the player getting kicked.
Actually, I wonder if it's caused by Party and Friends at all, let me test a bit more.
Ok, It does seem to be some sort of conflict between Party and Friends and Rusty Connector, since when not in a party no one seems to get kicked, and I (the party leader) never got kicked.
My guess is that the send is started at the same time for all players, then when I (the party leader) get moved, Party and Friends moves everyone else. Then, any players that ended up being sent after me get kicked since they're no longer in the server Rusty Connector expects them to be in and panics.
(Also Persistence is off in woolsacre-lobby)
Based on what I can tell it seems that line 198/199 in ScalarServerFamily
is the actual error being triggered.
Could it be because the player gets sent to the other server before Rusty Connector get's to it, then since it's trying send the player to the family it's already in it fails, kicking the player because of how the send was triggered?
Yeah so as you said it def seems like that other plug-in is causing some sort of issue. Technically speaking, it doesn't actually matter if the player is in the family that they are trying to connect to (so I'm in lobby and then I attempt to send myself to lobby again)
What I think may be causing this is that the party's plugin is making a connection request to Velocity almost at the exact same time that RC is making that same request. So I wonder if Velocity itself just shits the bed.
In the morning I'm gonna read through all this again and see if there are any improvements I can make that might be able to solve this issue. If not, I'll focus more on getting the party's system for v0.6.0 done faster so that using this conflicting plugin won't be necessary.
Because of how much RC deals with connections and the servers and such, anything that inserts it's own connection behavior is basically fair game lmao That's why RC specifically disables the default /server command that comes with Velocity. The plug-in has specific orders of operations which are pretty important for different things
As RC doesn't play nice with any other plugins attempting to inject their own connection stuff. This has been "patched" by adding our own version of a Friends/Party system. This feature was already in the plans/works but this issue accelerated the desire to develop it.
Redis still being bad it seems.
Error on Proxy:
Code I'm using to send players is: