实践——通过authlib-injector实现服务器外置登录

发布于 2020-08-22  669 次阅读


Authlib-injector是什么?

通过运行时修改 authlib 实现游戏外登录,并为 Yggdrasil 服务端的实现提供规范。

——yushijinhun/authlib-injector

简而言之,Authlib-injector为我们提供了除Minecraft正版登录以外的船新外置登录方式,同时可以在不使用任何mod的情况下实现更换皮肤&披风(依赖于第三方皮肤站)。

优劣对比

  • ✔更方便于开发或使用第三方登录系统
  • ✔即使无力购买正版或无法直连Minecraft正版验证服务器,也能随意更换皮肤和披风(可用Yggdrasil API for Blessing Skin实现)
  • ✔相比于直接使用Whitelist与Authme来管理服务器玩家,这种实现方式更加高效可控,并且可以避免假人攻击。
  • ✘任何人都可以部署Yggdrasil API ,您需要提防首次访问攻击
  • ✘需要确保您使用的Yggdrasil API提供商是可信且稳定的

使用例——为自己的服务器加载LittleSkin的Yggdrasil API外置登录

*此处可参考LittleSkin的官方文档

首先要做的,是在服务端加载authlib-injector

在 server.properties 中,将 online-mode 设置为 true

在服务端启动时加载最新版本的authlib-injector,以及你所需要使用的Yggdrasil API地址。这里以 Paper-125.jar&&authlib-injector-1.1.30.jar&&LittleSkin Yggdrasil API 作为示范

如若报道没有出现偏差,就可以正常使用了。

HMCL登录例

正版启动器登录例

编辑你需要启动的版本

手动在末尾添加 JVM 参数来加载 authlib-injector

结语

Authlib Injector作为一个让人耳目一新的外置登录方案,相比于传统登录方式(登录验证插件/正版登录验证)拥有更多的灵活性和泛用性,感谢这些开发者,使这篇文章得以诞生: