@@ -103,19 +103,29 @@ export class NativeServerConnection extends events.EventEmitter implements Serve
103103 this . state === ConnectionState . LOGIN
104104 ) {
105105 this . state =
106- version >= protocolMap [ '1.20.2' ]
107- ? ConnectionState . CONFIGURATION // Ack sent by native code
108- : ConnectionState . PLAY
106+ version >= protocolMap [ '1.20.2' ] ? ConnectionState . CONFIGURATION : ConnectionState . PLAY
107+ this . writePacket (
108+ packetIds . SERVERBOUND_LOGIN_ACKNOWLEDGED ( version ) ?? 0 ,
109+ Buffer . alloc ( 0 ) ,
110+ ) . catch ( ( err : unknown ) => this . emit ( 'error' , err ) )
109111 } else if (
110112 packet . id === packetIds . CLIENTBOUND_FINISH_CONFIGURATION ( version ) &&
111113 this . state === ConnectionState . CONFIGURATION
112114 ) {
113- this . state = ConnectionState . PLAY // Ack sent by native code
115+ this . state = ConnectionState . PLAY
116+ this . writePacket (
117+ packetIds . SERVERBOUND_ACK_FINISH_CONFIGURATION ( version ) ?? 0 ,
118+ Buffer . alloc ( 0 ) ,
119+ ) . catch ( ( err : unknown ) => this . emit ( 'error' , err ) )
114120 } else if (
115121 packet . id === packetIds . CLIENTBOUND_START_CONFIGURATION ( version ) &&
116122 this . state === ConnectionState . PLAY
117123 ) {
118- this . state = ConnectionState . CONFIGURATION // Ack sent by native code
124+ this . state = ConnectionState . CONFIGURATION
125+ this . writePacket (
126+ packetIds . SERVERBOUND_ACKNOWLEDGE_CONFIGURATION ( version ) ?? 0 ,
127+ Buffer . alloc ( 0 ) ,
128+ ) . catch ( ( err : unknown ) => this . emit ( 'error' , err ) )
119129 } else if (
120130 ( packet . id === packetIds . CLIENTBOUND_DISCONNECT_LOGIN ( version ) &&
121131 this . state === ConnectionState . LOGIN ) ||
0 commit comments