@@ -22,20 +22,15 @@ func authHandler(c *rcontest.Context) {
2222 case "another" :
2323 rcon .NewPacket (rcon .SERVERDATA_AUTH_RESPONSE , 42 , "" ).WriteTo (c .Conn ())
2424 case "makeslice" :
25- size := int32 (len ([]byte ("" )) + int ( rcon . PacketPaddingSize )) // Some minecraft servers does not add header size
25+ size := int32 (len ([]byte ("" )))
2626
2727 buffer := bytes .NewBuffer (make ([]byte , 0 , size + 4 ))
2828
2929 _ = binary .Write (buffer , binary .LittleEndian , size )
3030 _ = binary .Write (buffer , binary .LittleEndian , c .Request ().ID )
3131 _ = binary .Write (buffer , binary .LittleEndian , rcon .SERVERDATA_RESPONSE_VALUE )
3232
33- // Write command body, null terminated ASCII string and an empty ASCIIZ string.
34- buffer .Write (append ([]byte ("" ), 0x00 , 0x00 ))
35-
3633 buffer .WriteTo (c .Conn ())
37-
38- rcon .NewPacket (rcon .SERVERDATA_AUTH_RESPONSE , c .Request ().ID , "" ).WriteTo (c .Conn ())
3934 case c .Server ().Settings .Password :
4035 rcon .NewPacket (rcon .SERVERDATA_RESPONSE_VALUE , c .Request ().ID , "" ).WriteTo (c .Conn ())
4136 rcon .NewPacket (rcon .SERVERDATA_AUTH_RESPONSE , c .Request ().ID , "" ).WriteTo (c .Conn ())
@@ -135,31 +130,27 @@ func TestDial(t *testing.T) {
135130 }
136131 })
137132
138- t .Run ("auth success" , func (t * testing.T ) {
139- conn , err := rcon .Dial (server .Addr (), "password" )
140- if err != nil {
141- t .Errorf ("got err %q, want %v" , err , nil )
142- return
143- }
144-
145- conn .Close ()
146- })
147-
148133 t .Run ("makeslice" , func (t * testing.T ) {
149134 server := rcontest .NewServer (
150135 rcontest .SetSettings (rcontest.Settings {Password : "makeslice" }),
151136 rcontest .SetAuthHandler (authHandler ),
152137 )
138+ defer server .Close ()
153139
154- conn , err := rcon .Dial (server .Addr (), "makeslice" )
140+ _ , err := rcon .Dial (server .Addr (), "makeslice" )
141+ if ! errors .Is (err , rcon .ErrAuthNotRCON ) {
142+ t .Errorf ("got err %q, want %q" , err , rcon .ErrAuthNotRCON )
143+ }
144+ })
145+
146+ t .Run ("auth success" , func (t * testing.T ) {
147+ conn , err := rcon .Dial (server .Addr (), "password" )
155148 if err != nil {
156149 t .Errorf ("got err %q, want %v" , err , nil )
157- server .Close ()
158150 return
159151 }
160152
161153 conn .Close ()
162- server .Close ()
163154 })
164155}
165156
0 commit comments