blockgiven / takumi-server_list_ping

minecraft server list ping packet and tools.
https://rubygems.org/gems/takumi-server_list_ping
MIT License
1 stars 0 forks source link

Can't handle servers with server icons #2

Open cyberarm opened 9 years ago

cyberarm commented 9 years ago

Servers that have an icon and have at least one player in-game, their response is incomplete. Here is an attempt to JSON parse the response:

757: unexpected token at '{"description":"§a~\u003dRUBY\u003d~ §2Clan §fMinecraft Server","players":{"max":12,"online":1,"sample":[{"id":"f22d08f8-3744-42b9-a40c-b1e2f11b83cd","name":"cyberarm"}]},"version":{"name":"Spigot 1.8.8","protocol":47},"favicon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAT4klEQVR42u1bCXMb55Xk79+tSlUq\n2UqyXseO48S2bEeKJEq8QYIEcV9zYw4MjsE1uC/Kd2+/D4SWdixbskRLW5GqviIIgDPf69evX78P\n0A7+zf/tvAXgLQBvAXgLwKv699133936+vbbb58+fqMAkA19+eWXaDSa8IMQdi2A6dRhuw0E9TaC\nsIVGu4Oo01Wr2+1jOBwhjodoN1totVro9/toNNsImxFXSz2u15uwbB8VzYZl1aDrBqbT6ZsFgGxm\nNpuhUKjg5DSNs4yOu4d5fH5QwoPTKo7TFjKlGjQCIqBUdReG5SEkKJWKgYvHe0js7eE0reEkVcHx\npYEHZxU8PtfwOFnFvcMyHvP3TMlBMpVFqVzFfL54JSDsvGzg33zzLaKog2y2iPNUHoWqh1w1QLJQ\nQ7bCQJ0QjteC60tmO2hFfYSNDnyywguasHUbwfkxCgf38fCkhILJjHttmF4ErdZG3gxxVgqQ0UOU\n7RZKThO5kkU2BAR9/tIg7LxM8F988QVMy8XBcRp7J3lmyEWWq2IG0OyQtI8U3Xs9oXYHXp1AMHDb\nb8GqNeCaPjplB52LBKLLR0gcnyNdYfm4Lfj8W8tto6AFuCwHSHEVrQayBEQnCGXNhW7WyISXA2Hn\nlwY/Go1Ixxz++nkCuydVnKZ0XGYtZseB6zXQjrposeYbrYgMaKJq1ZE3JJN1pBhkoeCgUfIxKgbo\nnicwKx+gcnZIupeQKPjI8X35aojzQoDTrI+zvI+sHqjnM5XgGgSPJeW/FAg7Lxr4119/zQB97B6m\n8cE/zvHxXgX75yYu8w5KFY9Z8SmAIVy3SSYw2LKLi6KLRK6Gk7yHJOl8WSRIfH5YbSMueGgnjrAg\nAFE+gbsPTnH/1MZpzkOmWkdWYwnw785yPi4IWKrocbkEIoBBgc1rNVRYRqJBvwSEnRcJfrFY4OIy\njz/99RH+59MMg6/iYcLAeb6GKoO1SWuDAFQMZrDiI03aJrnZFAXwgqUhASQJhFFxEDst'
c:/Users/cyberarm/.pik/rubies/Ruby222/lib/ruby/gems/2.2.0/gems/json-1.8.3/lib/json/common.rb:155:in `parse'
c:/Users/cyberarm/.pik/rubies/Ruby222/lib/ruby/gems/2.2.0/gems/json-1.8.3/lib/json/common.rb:155:in `parse'
c:/Users/cyberarm/.pik/rubies/Ruby222/lib/ruby/gems/2.2.0/gems/takumi-server_list_ping-0.0.5/lib/takumi/server_list_ping/status_response.rb:14:in `initialize'
c:/Users/cyberarm/.pik/rubies/Ruby222/lib/ruby/gems/2.2.0/gems/takumi-packet-0.0.2/lib/takumi/packet/dsl.rb:19:in `new'
c:/Users/cyberarm/.pik/rubies/Ruby222/lib/ruby/gems/2.2.0/gems/takumi-packet-0.0.2/lib/takumi/packet/dsl.rb:19:in `decode'
c:/Users/cyberarm/.pik/rubies/Ruby222/lib/ruby/gems/2.2.0/gems/takumi-server_list_ping-0.0.5/lib/takumi/server_list_ping.rb:38:in `ping'
c:/Users/cyberarm/Google Drive/data/code/mineserver_query/tcp_status.rb:17:in `get_status'
c:/Users/cyberarm/Google Drive/data/code/mineserver_query/tcp_status.rb:13:in `initialize'
mineserver_query.rb:34:in `new'
mineserver_query.rb:34:in `block (2 levels) in loop_check'
mineserver_query.rb:20:in `each'
mineserver_query.rb:20:in `block in loop_check'
mineserver_query.rb:19:in `loop'
mineserver_query.rb:19:in `loop_check'
mineserver_query.rb:15:in `initialize'
mineserver_query.rb:86:in `new'
mineserver_query.rb:86:in `<main>'
cyberarm commented 9 years ago

Rescuing and appending "} to the json string makes it parsable.