接受一个端口上的传入连接,检查数据,并传递给另一个端口上的进程

时间:2013-12-03 00:58:33

标签: ruby minecraft

我正在尝试用Ruby创建一个Minecraft服务器控制器。我已经完成了很多基础知识并且对Ruby中的编程有很好的理解。

除了控制一切的网站之外,我的最终目标是在一个端口M上安装Minecraft,在另一个端口P上安装另一个进程。我希望用户连接到端口P,我的进程将检查他们的流量和聊天日志,然后在端口M上传递给Minecraft。目标是允许或拒绝每个玩家的单独操作请求。

如果这是可能的,或者如果我接近这个错误,任何帮助或方向都会受到赞赏。

当然,一个问题是如果这会降低游戏玩法,使游戏无法播放。

1 个答案:

答案 0 :(得分:1)

虽然使用Bukkit插件可以更好地实现目标,但您仍然可以使用代理执行此操作。您需要让代理了解Minecraft protocol,并将服务器设置为脱机模式并使代理处理播放器身份验证。你不应该看到太多的性能损失。

但是,我建议使用SMProxy来实现您的目标。它不是Ruby(它是C#),但它是一个功能非常强大且跨平台的Minecraft代理,具有良好的插件支持以满足您的需求。它也经常更新,所以你可以毫不费力地掌握新版本的Minecraft(这是最难的部分,逆向工程Minecraft不是一件小事)。