Skip to content

Joining on vanilla Minecraft Classic causes Classic Client to hang #20

@FloppyMacguffum

Description

@FloppyMacguffum

General Info

  • ProjectObsidian version 7823af7
  • Python 3.10.12
  • Operating System: Linux Mint 21.3 x86_64 (Kernel 5.15.0-164-generic)

Simply connecting the the server using a normal Minecraft Classic Client causes the client to freeze and then crash.

Reproduction

Connect using a normal unmodified classic client.

Image Image

Possible explanation

This probably happens because an extra 0x00 is sent in place of a 0x02 Level Initialize packet/byte which confuses the client.
This can be seen in an excerpt of a packet dump I've attatched below.

0000   00 07 4D 69 6E 65 63 72 61 66 74 20 53 65 72 76    ..Minecraft Serv
0010   65 72 20 20 20 20 20 20 20 20 20 20 20 20 20 20    er              
0020   20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                    
0030   20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                    
0040   20 20 50 79 74 68 6F 6E 20 53 65 72 76 65 72 20      Python Server 
0050   49 6D 70 6C 65 6D 65 6E 74 61 74 69 6F 6E 20 20    Implementation  
0060   20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                    
0070   20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                    
0080   20 20 00 02                                          ..
(Level Initialize packet is messed up above)
0000   03 04 00 1F 8B 08 00 1A 8B 60 69 02 FF EC C1 01    .........`i.....
0010   0D 00 00 0C C3 A0 3E F7 EF 79 46 80 AB 1E 00 00    ......>..yF.....
0020   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
[snip]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions