【Minecraft】在我的世界Minecraft服务端上开启第三方认证,并支持皮肤

这篇文章也可以在我的博客中查看

前言

上篇文章我们讲到如何在客户端使用皮肤。但提到多人联机中需要服务端的支持。但其实对服务端而言,这并不只是一个更换皮肤的问题,而是一个认证系统的问题,因此这篇文章我们谈谈如何配置服务端,使其支持第三方认证,并支持皮肤。

Yggdrasil

Yggdrasil是MC所采用的身份认证系统,第三方认证服务器通过实现Yggdrasil认证接口,并劫持官方认证链接到指定链接,即可替代官方认证服务器对玩家身份进行“认证”。
皮肤信息传输也随认证信息一起返回,因此,如果第三方认证服务器是皮肤站(比如LittleSkin),就意味着皮肤数据可以在多人游戏中使用。

有关更多第三方认证服务器的客户端配置,请见上篇文章

authlib-injector

authlib-injector是劫持官方认证链接的解决方案之一。

将authlib-injector下载到服务器后,即可使用以下命令启动服务端,以将官方认证服务器替换为指定第三方认证服务器:

java -Xmx1024M -Xms1024M -javaagent:authlib-injector-1.1.18-daa6fb4.jar=https://example.com/api/yggdrasil -jar minecraft_server.jar nogui

其中

  • authlib-injector-1.1.18-daa6fb4.jarjar文件的路径,如果没放在服务端根目录,注意修改路径。
  • https://example.com/api/yggdrasilYggdrasil服务器 API根路径,具体需要看第三方认证服务器的文档。
  • 后面的部分就是正常启动参数

然后修改server.properties文件,开启在线认证:

online-mode=true

但不推荐使用这个方法,因为它是替换了原有的官方认证服务器,这意味着,正版玩家将无法登入服务器。

MultiLogin

MultiLogin解决了上述只能存在一个认证服务器的问题,它允许最多同时存在128个认证服务器。但是他的缺点是:他是插件,只能安装在插件服务器。如果你的服务器是不能安装插件的纯净服或mod服,那就没办法用这个插件了。

其使用的方式非常简单,按照一般插件安装的方法即可。

同样需要修改server.properties文件,开启在线认证:

online-mode=true

裝插件首次运行后,会在插件目录产生MultiLogin目录。我们需要打开并修改其中的配置文件。其配置文件的存放路径位于MultiLogin/services目录。
MultiLogin/examples有编辑配置文件的详细模板,GitHub仓库的Wiki也有配置相关的文档可以参考。

再次提醒:在services目录下的配置文件才会生效

总结

  • 通过劫持官方认证服务器地址可以使用第三方认证服务器认证。
  • authlib-injector可以替换官方认证服务器为皮肤站,但也就意味着正版玩家无法登录。
  • MultiLogin支持多个认证服务器共存,正版玩家和皮肤站注册玩家可以一起玩,但它只能安装在支持插件的服务器上。
  • 无论使用哪种方式,离线玩家都将无法登录服务器,请购买正版或注册游戏服务器支持的第三方认证服务器(咨询服主)。

你可能感兴趣的:(我的世界,服务器,linux,经验分享,游戏)