Thinkofname / steven-go

Go Minecraft Client
http://steven.thinkofdeath.uk/
Apache License 2.0
302 stars 26 forks source link

steven: crash after a few seconds on server #50

Closed ghost closed 9 years ago

ghost commented 9 years ago

After a few seconds on gommehd.net steven crashes… Full error log

Thinkofname commented 9 years ago

The server is sending packets out of order. At this point I don't plan to support invalid uses of the protocol

ghost commented 9 years ago

Oh okay, so what kind of packets are they sending?

Thinkofname commented 9 years ago

The spawn player packet before the tab list entry for the player.

lenovouser commented 9 years ago

Told ya @sha-2 :wink:

7ERr0r commented 9 years ago

Vanilla minecraft client doesn't crash on this... https://github.com/thinkofdeath/steven/issues/38

Thinkofname commented 9 years ago

@Szperak doesn't matter, it isn't valid. Best case I turn it into a disconnect.

7ERr0r commented 9 years ago

Thanks.

geNAZt commented 9 years ago

We don't send packets out of order. We send the Player infos first and then (in the same tick) we send the spawn packet.

Thinkofname commented 9 years ago

@geNAZt That is not how it ends up at the client.

geNAZt commented 9 years ago

I will fix that later this day

Thinkofname commented 9 years ago

Awesome, in case it helps I grabbed a packet log

[connection.go:238] Read: *protocol.PlayerInfo(&{Action:0 Players:[{UUID:[146 157 200 216 100 70 73 72 191 35 112 161 188 28 152 26] Name:Padasch Properties:[{Name:textures Value:eyJ0aW1lc3RhbXAiOjE0MzMxNTc3NzczNTgsInByb2ZpbGVJZCI6IjkyOWRjOGQ4NjQ0NjQ5NDhiZjIzNzBhMWJjMWM5ODFhIiwicHJvZmlsZU5hbWUiOiJQYWRhc2NoIiwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2JhNjdiMGFhOTcyNjI2YjhjZDEwNzI4ODRmNDE2YzZmOGZhMjY0MzlmNjI1ZGZhZTgzYTUxOGMzY2EzNzY3YSJ9fX0= IsSigned:true Signature:L7OXyowrjnT1vj2rgcRDVZ/ZsjoQaXlOQYG0fymMNaRcLgGGszVILVk+Sgt+1pZQlJGTYLQcVGbyCt+lXnKw5M8Q9b65zbxI543j4Yyu2hsH140hrMwh6pEptAvU5qUy7MROgCalE9fw/C3Y/L91CaiIBY8MjhcJcNopWhn/paeq6Ny1U5OuH1BRxcKG3OtIowwA/oDk5Y0gv5+Vn7W7NkZfB30ojMHsjMEQU9eq5fs73/iDPc4Gzd1thqzBKhL5m0NLoIbTzthOUNQ66HSCA9SzgcxQ3UzdZONhUY/+ibAB5H0azP2apMQRSR0s/YB9ReE97xMlFHFFhV4AjyZuDElP7uH2YYJY9JHCMush9Onk5bPz4+PyyNEPo8EJMnpT2tSUIn26Z7xveCf1AVEzrXk0ZU3NOAu5x/NYcDPH4mX0UW93FqyxLk3JZ4FHodpsyvOM4hu4fg0XrQI3aauYkIreyUUYCHmErNEHQICZRHlcgZAg+5Qe2DPUJhfqyWpPMZytt7WoEVTGxb+huw7xVgsPZgQskQcbhYKn2VPLsRXFLDvKOd8V0VfonQfdsFCDVWvc//G6uSBDfRndXqpZsaUXOGbqnz1hL8+AolQWN8EC3Gp5m2cmyMaq7fi0fAgsinc4gbZ0ZLm4WZSSXlhdRyebKuo8fykKD4dNEhojKec=}] GameMode:0 Ping:0 HasDisplay:false DisplayName:<nil>}]})
[connection.go:238] Read: *protocol.SpawnPlayer(&{EntityID:29245 UUID:[146 157 200 216 100 70 73 72 191 35 112 161 188 28 152 26] X:-41744 Y:928 Z:5872 Yaw:0 Pitch:0 CurrentItem:0 Metadata:map[18:0 17:0 16:0 9:0 8:0 7:0 6:20 1:300 0:0]})
[connection.go:238] Read: *protocol.EntityMetadata(&{EntityID:29245 Metadata:map[18:0 7:0 6:20 1:300 17:0 16:0 10:0 9:0 8:0 0:0]})
[connection.go:238] Read: *protocol.EntityProperties(&{EntityID:29245 Properties:[{Key:generic.movementSpeed Value:0.10000000149011612 Modifiers:[]} {Key:generic.maxHealth Value:20 Modifiers:[]}]})
[connection.go:238] Read: *protocol.EntityHeadLook(&{EntityID:29245 HeadYaw:2})
[connection.go:238] Read: *protocol.EntityHeadLook(&{EntityID:29245 HeadYaw:2})
[connection.go:238] Read: *protocol.PlayerInfo(&{Action:0 Players:[{UUID:[146 157 200 216 100 70 73 72 191 35 112 161 188 28 152 26] Name:Padasch Properties:[{Name:textures Value:eyJ0aW1lc3RhbXAiOjE0MzMxNTc3NzczNTgsInByb2ZpbGVJZCI6IjkyOWRjOGQ4NjQ0NjQ5NDhiZjIzNzBhMWJjMWM5ODFhIiwicHJvZmlsZU5hbWUiOiJQYWRhc2NoIiwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2JhNjdiMGFhOTcyNjI2YjhjZDEwNzI4ODRmNDE2YzZmOGZhMjY0MzlmNjI1ZGZhZTgzYTUxOGMzY2EzNzY3YSJ9fX0= IsSigned:true Signature:L7OXyowrjnT1vj2rgcRDVZ/ZsjoQaXlOQYG0fymMNaRcLgGGszVILVk+Sgt+1pZQlJGTYLQcVGbyCt+lXnKw5M8Q9b65zbxI543j4Yyu2hsH140hrMwh6pEptAvU5qUy7MROgCalE9fw/C3Y/L91CaiIBY8MjhcJcNopWhn/paeq6Ny1U5OuH1BRxcKG3OtIowwA/oDk5Y0gv5+Vn7W7NkZfB30ojMHsjMEQU9eq5fs73/iDPc4Gzd1thqzBKhL5m0NLoIbTzthOUNQ66HSCA9SzgcxQ3UzdZONhUY/+ibAB5H0azP2apMQRSR0s/YB9ReE97xMlFHFFhV4AjyZuDElP7uH2YYJY9JHCMush9Onk5bPz4+PyyNEPo8EJMnpT2tSUIn26Z7xveCf1AVEzrXk0ZU3NOAu5x/NYcDPH4mX0UW93FqyxLk3JZ4FHodpsyvOM4hu4fg0XrQI3aauYkIreyUUYCHmErNEHQICZRHlcgZAg+5Qe2DPUJhfqyWpPMZytt7WoEVTGxb+huw7xVgsPZgQskQcbhYKn2VPLsRXFLDvKOd8V0VfonQfdsFCDVWvc//G6uSBDfRndXqpZsaUXOGbqnz1hL8+AolQWN8EC3Gp5m2cmyMaq7fi0fAgsinc4gbZ0ZLm4WZSSXlhdRyebKuo8fykKD4dNEhojKec=}] GameMode:0 Ping:0 HasDisplay:false DisplayName:<nil>}]})
[connection.go:238] Read: *protocol.EntityHeadLook(&{EntityID:29244 HeadYaw:3})
[connection.go:238] Read: *protocol.EntityMetadata(&{EntityID:29245 Metadata:map[0:0 18:0 16:0 1:300 8:0 7:0 6:20 17:0 10:0 9:0]})
[connection.go:238] Read: *protocol.EntityProperties(&{EntityID:29245 Properties:[{Key:generic.movementSpeed Value:0.10000000149011612 Modifiers:[]}]})
[connection.go:238] Read: *protocol.KeepAliveClientbound(&{ID:-819192123})
[connection.go:238] Read: *protocol.Teams(&{Name:g Mode:4 DisplayName: Prefix: Suffix: Flags:0 NameTagVisibility: Color:0 Players:[TadiiiHD]})
[connection.go:238] Read: *protocol.PlayerInfo(&{Action:4 Players:[{UUID:[19 205 136 167 218 238 66 203 133 5 100 195 136 169 23 22] Name: Properties:[] GameMode:0 Ping:0 HasDisplay:false DisplayName:<nil>}]})
[connection.go:238] Read: *protocol.Teams(&{Name:g Mode:4 DisplayName: Prefix: Suffix: Flags:0 NameTagVisibility: Color:0 Players:[DiamondCrafter20]})
[connection.go:238] Read: *protocol.PlayerInfo(&{Action:4 Players:[{UUID:[255 155 214 165 155 237 74 68 190 176 156 180 5 216 186 211] Name: Properties:[] GameMode:0 Ping:0 HasDisplay:false DisplayName:<nil>}]})
[connection.go:238] Read: *protocol.Teams(&{Name:g Mode:2 DisplayName:g Prefix:§a Suffix: Flags:3 NameTagVisibility:always Color:15 Players:[]})
[connection.go:238] Read: *protocol.Teams(&{Name:g Mode:3 DisplayName: Prefix: Suffix: Flags:0 NameTagVisibility: Color:0 Players:[Lockenmax]})
[connection.go:238] Read: *protocol.PlayerInfo(&{Action:0 Players:[{UUID:[209 198 85 126 152 170 69 41 135 188 234 205 103 160 44 250] Name:Lockenmax Properties:[{Name:textures Value:eyJ0aW1lc3RhbXAiOjE0MzMxNTU2MTg1MzQsInByb2ZpbGVJZCI6ImQxYzY1NTdlOThhYTQ1Mjk4N2JjZWFjZDY3YTAyY2ZhIiwicHJvZmlsZU5hbWUiOiJMb2NrZW5tYXgiLCJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjIzN2ZlZWVlNTc5Nzc3OThjZThjYjZmOTZlNjFiYWY3MDQ0ZjdhYWE0Y2IyNTc0ODc0Njk5ZTliNjIxNiJ9fX0= IsSigned:true Signature:aDcDLIjIpEgz+EgtaJwMN5EEuaoiDeeaTvgFFi//t+fs1+wsEn4SQJcW1ya8VbJwZjPxoGrz1sAytzsuWXcFAdhwX71mt2eTZz/Dc2/5aNXVrSgj883oGSD2QvNU1lYVWOy5bDdUW/Eszlh6oT5TeH/ZlIkDohVD/rfBmzAsThoDMHLJ4Ry3djvu7Vx0iZjg9SCjLFTSsZ4X8NJ/iaCwchDh3jWlxqHO8pUWYNLmPM5HvmgfGMVyjJuIuM3CETr1X3X+8CI8BlqyGHeLhiqOKcNa/yjuh3ad4sbnJLkstiTGul1elq7pcnInrmehZBR1g6d/Ref6FtS07Bj7BqwAioCxvM74wY1vyhBTXWwkL8/QLob648ZfUqOZD7u+Vj16Y2HSPQSzvI0icPyIHRT9krm7WbMuTdPx6uRDUbqbmfyVZsl7A/oSCz9TURLGJAyT6/nqQS1k7XRA8jFX1ifHRMCsnVBP9Glk7I7iD80tyJ924qZFwyplBs+0DPJ/wqm7ATNKqKT16pXdCKGUsYVj3K0Z4HZKwNf0ggalyICADA/iY6NJ/NT9jbGht/gBnHMp/2E4TNK46vXOjJKbVMOdz6VeVKJpXzJjawVe6y5PQ37egumG4gIBt5gC4FSC3ipbfG/4STfKmEjMNCm8lrusUt2HhYp/BAMgJT0IvXHxfbk=}] GameMode:0 Ping:0 HasDisplay:false DisplayName:<nil>}]})
[connection.go:238] Read: *protocol.SpawnPlayer(&{EntityID:29248 UUID:[199 230 97 187 145 14 67 126 128 52 20 152 99 203 91 119] X:-42159 Y:945 Z:5801 Yaw:0 Pitch:0 CurrentItem:0 Metadata:map[8:0 1:300 0:0]})
[entitymodels.go:155] Missing player info for [199 230 97 187 145 14 67 126 128 52 20 152 99 203 91 119]
[connection.go:238] Read: *protocol.PlayerInfo(&{Action:2 Players:[{UUID:[129 20 157 52 5 177 74 26 185 152 113 100 108 222 213 238] Name: Properties:[] GameMode:0 Ping:187 HasDisplay:false DisplayName:<nil>}]})
[connection.go:238] Read: *protocol.TimeUpdate(&{WorldAge:211031705 TimeOfDay:-1201600})
[connection.go:238] Read: *protocol.EntityTeleport(&{EntityID:29212 X:-39064 Y:444 Z:6679 Yaw:0 Pitch:0 OnGround:false})
[connection.go:238] Read: *protocol.EntityDestroy(&{EntityIDs:[29244]})
[connection.go:238] Read: *protocol.EntityDestroy(&{EntityIDs:[29245]})
[connection.go:238] Read: *protocol.EntityDestroy(&{EntityIDs:[29248]})
[connection.go:238] Read: *protocol.PlayerInfo(&{Action:2 Players:[{UUID:[164 172 121 239 127 138 71 152 148 203 238 163 115 55 95 2] Name: Properties:[] GameMode:0 Ping:28 HasDisplay:false DisplayName:<nil>}]})
[connection.go:238] Read: *protocol.Teams(&{Name:g Mode:2 DisplayName:g Prefix:§a Suffix: Flags:3 NameTagVisibility:always Color:15 Players:[]})
[connection.go:238] Read: *protocol.Teams(&{Name:g Mode:3 DisplayName: Prefix: Suffix: Flags:0 NameTagVisibility: Color:0 Players:[rusol]})
[connection.go:238] Read: *protocol.PlayerInfo(&{Action:0 Players:[{UUID:[184 110 161 32 251 101 78 29 131 135 17 125 227 201 205 226] Name:rusol Properties:[{Name:textures Value:eyJ0aW1lc3RhbXAiOjE0MzMxNTc3Nzg3NzYsInByb2ZpbGVJZCI6ImI4NmVhMTIwZmI2NTRlMWQ4Mzg3MTE3ZGUzYzljZGUyIiwicHJvZmlsZU5hbWUiOiJydXNvbCIsInRleHR1cmVzIjp7IlNLSU4iOnsidXJsIjoiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS84M2EzZjI4ZjFlMWNmZTY1YmQzYjhkNWJlOGU0NTY5ZWYxY2RjZGEwNWY2MTdhMTVhODAyOWY2ODEyMzhmOCJ9fX0= IsSigned:true Signature:HC4J3t8XUoZ1WoPkKArXGLpb191dHowgsKBhDSPMk+Hlk8MpWfXV4chHQklhAQdGVR8yWYIK4CbBhO8AKKLmHOzB5lzXzgqjtZWpEpxHsmvsM1ObfKBtAcuujrg4YernuZ8qTi8UIdAxtgfzT+12OYI/DaO5TS1H7hw0QmVovH421Ex1Hpohvi2Vja5c8yfS1g2E/2b0S1hC8LHQgyTDY/sA7ePpx9guJbBZcJMsdjpCvAaFJYA3xObg3berDTTpyzRrU3G9imWopi8nVZtn0MB89y8w7lXaqxp1WGTzXm+NvwD6DxRdVs5WzBOE0DgjtHPjwo2ess3YcH0qP+V81Q05irF37W6MQiIf5fZzuu2WV9hFI4a0mYYe2jKlCrvlwnnchFOeZwJMKuzvT9VAroQzw+YQXgkSo5mMy9GLMXSDlwSMeeO01MMv+uP8Kw1r1zc78FTT6865R5/3QDGz+2vlsxVTeCiV+REzfbdAAafRy0ylJqA+/OS5GxJllbPl5JFSVMZnSSFcToO2Ot2XiWoeM8f/Nll/QAwmL0YpLrQL9wP5PTsS/OfjizMKjmHR3Uf7mgr2iJUWGe9NEtFv6lodQs4/UVl1voWo/qrtS7qIFAXboldj6PmVN81TCpIB6uHDteKCIhmujBymwGGAtJz+qzBTDVWbAUGymCEQPgI=}] GameMode:0 Ping:0 HasDisplay:false DisplayName:<nil>}]})
[connection.go:238] Read: *protocol.SpawnPlayer(&{EntityID:29252 UUID:[184 110 161 32 251 101 78 29 131 135 17 125 227 201 205 226] X:-42000 Y:928 Z:6000 Yaw:0 Pitch:0 CurrentItem:0 Metadata:map[9:0 8:0 7:0 6:20 0:0 18:0 17:0 16:0 1:300]})
[connection.go:238] Read: *protocol.EntityMetadata(&{EntityID:29252 Metadata:map[18:0 17:0 7:0 0:0 16:0 10:0 9:0 8:0 6:20 1:300]})
[connection.go:238] Read: *protocol.EntityProperties(&{EntityID:29252 Properties:[{Key:generic.maxHealth Value:20 Modifiers:[]} {Key:generic.movementSpeed Value:0.10000000149011612 Modifiers:[]}]})
[connection.go:238] Read: *protocol.EntityHeadLook(&{EntityID:29252 HeadYaw:3})

https://gist.github.com/thinkofdeath/2f02f637ec1403f6fd28

(Note that the player is spawned but the info is never sent, they'll be invisible on vanilla)

geNAZt commented 9 years ago

Awesome. Thanks