所以我在 GitHub 上 fork了这个 gem,认为我可以修复和更新它的一些问题,以便在 Rails 项目中使用。我基本上得到了这个输出:
irb(main):020:0> query = Query::simpleQuery('xx.xxx.xxx.xx', 25565)
=> [false, #<Encoding::CompatibilityError: incompatible character encodings: UTF-8 and ASCII-8BIT>]
irb(main):021:0> query = Query::simpleQuery('xx.xxx.xxx.xx', 25565)
=> {:motd=>"Craftnet", :gametype=>"SMP", :map=>"world", :numplayers=>"0", :maxplayers=>"48"}
第一个响应是编码错误的例子,第二个是想要的输出(IP 被取出)。基本上这是查询 Minecraft 服务器以获取有关它的信息。
我尝试使用
Encoding.default_external = Encoding::UTF_8
Encoding.default_internal = Encoding::UTF_8
但这只是给出了相同的响应,随机吐出编码错误而不是。
这是包含所有代码的相关 GitHub 存储库:RubyMinecraft
任何帮助将不胜感激。