#Mod that removes the "Out of order chat" kick from server

84 messages · Page 1 of 1 (latest)

queen sparrow
#

I attempted to do this once just by overriding the boolean to make it always true, but even then I was still getting kick.
The error is as follows on the server (client has no error):

[19:10:54] [Netty Epoll Play IO Thread #1/WARN]: QPCrummer sent out-of-order chat: 'fill -896 103 -140 -895 104 -140 minecraft:cyan_terracotta replace air'
[19:10:54] [Server thread/INFO]: QPCrummer lost connection: Out-of-order chat packet received. Did your system time change?
[19:10:54] [Server thread/INFO]: QPCrummer left the game

You can easily reproduce this when pasting something into a multiplayer world with litematica. Thanks to anyone who can find a fix for this, it is really annoying tater

hollow tendon
#

have you tried using no chat reports?

#

if the chat verification system isnt active, it probably wont kick you

queen sparrow
#

I have it on the client and server

#

although I no longer have NoChatReports because it breaks Polymer

hollow tendon
#

huh

#

dunno then

queen sparrow
#

There is a method that checks if chat packets are in order

#

I would've thought just overriding it would be fine... but I guess not :P

nova elk
#

Did you use @Override or @ Overwrite?

#

Damn it Discord

#

Sorry for ping

queen sparrow
# nova elk Did you use @Override or @ Overwrite?
@Mixin(ServerPlayNetworkHandler.class)
public class ServerLoginNetworkHandler_IgnoreMessageOrder {
    @Inject(method = "isInProperOrder", at = @At("HEAD"), cancellable = true)
    private void isInProperOrder(Instant timestamp, CallbackInfoReturnable<Boolean> cir) {
        cir.setReturnValue(true);
    }
}

I did implement

#

but made it always return true

patent cloak
#

should probably use an overwrite for that

hushed juniper
queen sparrow
queen sparrow
hushed juniper
#

Do you think I remember that stuff?

queen sparrow
#

Well, it wasn't a very big issue

#

it only spammed the console a lot, but both mods still worked

#

I finally removed NCR because it was breaking Geyser

#
    @Overwrite
    private boolean isInProperOrder(Instant timestamp) {
        return true;
    }
}

This also didn't work

#

I'm actually now wonder if it is Velocity being a pain

#

You were kicked from lobby: multiplayer.disconnect.out_of_order_chat
It is mentioned in Velocity's logs

#

but I'd assume that the server would be sending that to the client, not Velocity

#

what in the world... I removed the disconnect message from the code entirely and it still disconnected me

#

I really think Velocity is behind this

hushed juniper
#

Or client

queen sparrow
#

nope

#

it is Velocity

#

just used my "backdoor" method to my test server without Velocity and it worked fine

#

I was able to do 64 commands per tick

#

great...

hollow tendon
#

can you somehow use mixin on velocity?

queen sparrow
#

I don't think it supports mixin

#

would be extraordinarily nice if it did

hollow tendon
#

well you see

#

cant fabric in theory mod any java program?

queen sparrow
hollow tendon
#

this would mean you could potentially use fabric to mod velocity

#

it'd be exceedingly cursed, but possible

patent cloak
#

it’s pretty easy to do that actually

hollow tendon
queen sparrow
#

I um... should 100% not be responsible for this idea

hollow tendon
#

its the perfect solution

#

what do you mean

queen sparrow
#

I shouldn't be coding that lol

#

it would be a disaster :P

patent cloak
#

since velocity doesn’t operate with vanilla code and you have the actual source, that could be neat flaminking

#

I wonder why there isn’t a fabric proxy already

queen sparrow
#

um

#

dunno

hollow tendon
#

cause making a proxy is a pain i'd imagine

queen sparrow
#

well there is a rust proxy

patent cloak
hollow tendon
#

most proxies also handle auth though

#

and seamless switching between servers

patent cloak
#

documented, but still pain, yeah

#

but it’s easier than custom clients or servers

hollow tendon
#

oh yea definitely

#

there's a reason everyone is modding the vanilla server jar instead of just making one from scratch

queen sparrow
#

heh, found the chat time control code in Velocity

#

ChatTimeKeeper is the name of the class

#

I will say, it would be super nice to have Velocity's plugin system to be able to modify its own code

#

then I wouldn't have to keep a fork updated 24/7 with the main project

hollow tendon
#

i'm telling you

#

mixin is the way to go

queen sparrow
#

yeah...

potent rock
#

wait.. did modern versions of the game KICK players if it determines that messages are "out of order"?

#

wtf

queen sparrow
#

Also, it turns out is wasn't Velocity at all

potent rock
#

that kind of thing really turns me down to update

#

i mean

#

i agree the need of moderation, even more considering children play this game

queen sparrow
#

It just so happened to be that my mixin just wasn't working. I literally had to move it to another class name in order for it to work mixinthonk

potent rock
#

but breaking things internally or making things difficult for modders should not be done

queen sparrow
#

yep, I think it should've had a toggle and maybe a thing that required parent's approval or something if a kid was under a certain age

#

idk

#

but yeah, it's all good now