Skip to content

authlib-injector

authlib-injector 为玩家提供统一的非 Mojang 登录体验。大多数的外置登录都使用 authlib-injector 来实现。

这不是插件,也不是 Mod

authlib-injector 使用方式较为特殊,将其 JAR 文件放入服务端的 plugins/mods/ 目录下不会有任何作用。

获取 JAR 文件

下载 authlib-injector-.jar 文件后,将其放入 服务端启动脚本服务端文件 所在的文件夹中。

配置各类服务端

🤗 在面板服上配置 authlib-injector

配置 authlib-injector 时不可避免地需要修改服务端启动命令/参数。

部分 Minecraft 服务器租赁商可能会使用 MCSManagerPterodactyl® Panel 翼龙面板 等 Minecraft 服务器管理面板以便销售和管理服务器实例。

有些用户可能无法自行修改服务端启动命令/参数。请与服务器租赁商沟通,让其帮助你配置。

单服务端(非群组服)✨ 常用

  1. 将服务器配置文件 server.propertiesonline-mode 一项的值设为 true

    properties
    online-mode=true
  2. 在你的服务端的启动指令的 -jar 参数前添加如下参数

    bash
    -javaagent:authlib-injector-.jar=https://helloskin.cn/api/yggdrasil
    bash
    java -Xms4G -Xmx16G -javaagent:authlib-injector-.jar=https://helloskin.cn/api/yggdrasil -jar paper-1.20.4-409.jar --nogui
    • authlib-injector-.jar 为指向 authlib-injector 的 jar 的路径或文件名
    • https://helloskin.cn/api/yggdrasil 为 HelloSkin 的 Yggdrasil API 地址

Velocity Minecraft 1.13 +

Modern forwarding 是 Velocity 支持的一种独创格式。它以高效的二进制格式转发所有玩家信息。但是,它仅适用于 Minecraft 1.13 或更高版本。

提示

本文仅会对「为 Velocity modern forwarding 配置 HelloSkin 外置登录」做出说明。

本案例使用 Velocity + Paper 作为示例。

具体的 Velocity 配置请结合参考 Velocity 文档

  • 对于 Velocity

    • 检查 velocity.toml 文件,确保 online-mode 项的值为 true 👈

      toml
      # Should we authenticate players with Mojang? By default, this is on.
      online-mode = true
  • 对于 Paper 子服

    • 检查子服务器的 server.properties 文件,确保 online-mode 项的值为 false 👈
      这会阻止子服务器对玩家进行身份验证,Velocity 将会承担起对玩家进行身份验证的职责。

    • 检查子服务器的 config/paper-global.yaml 中的 online-mode 项的值为 true 👈
      这个值在任何情况下都应该与 velocity.toml 中的 online-mode 项的值保持一致。

      对于 Paper 1.18.2 或更低版本,online-mode 将会位于 settings.velocity-support.online-mode

      properties
      online-mode=false
      yaml
        velocity:
          enabled: true
          online-mode: true
          secret: '************'
  • 对于以上所有

    每个服务端都应该配置 authlib-injector,以便其能正确地处理外置登录。

    每个服务端的启动指令的 -jar 参数前添加如下参数。

    bash
    -javaagent:authlib-injector-.jar=https://helloskin.cn/api/yggdrasil
    bash
    java "-Dauthlibinjector.disableHttpd" -Xms512M -Xmx512M -XX:+UseG1GC -XX:G1HeapRegionSize=4M -XX:+UnlockExperimentalVMOptions -XX:+ParallelRefProcEnabled -XX:+AlwaysPreTouch -javaagent:authlib-injector-.jar=https://helloskin.cn/api/yggdrasil -jar velocity-3.3.0-SNAPSHOT-351.jar
    bash
    java -Xms4G -Xmx16G -javaagent:authlib-injector-.jar=https://helloskin.cn/api/yggdrasil -jar paper-1.20.4-409.jar --nogui
    • authlib-injector-.jar 为指向 authlib-injector 的 jar 的路径或文件名
    • https://helloskin.cn/api/yggdrasil 为 HelloSkin 的 Yggdrasil API 地址

Waterfall / BungeeCord 不再推荐

BungeeCord 和 Waterfall 属于亲兄弟好姐妹,因此,以下配置同时适用于两者。

  • 对于 Waterfall / BungeeCord

    检查 config.yml,确保 online-mode 项的值为 true 👈

    yaml
    online-mode: true
  • 对于子服务端

    检查 server.properties 文件,确保 online-mode 项的值为 false 👈

    properties
    online-mode=false
  • 对于以上所有

    每个服务端都应该配置 authlib-injector,以便其能正确地处理外置登录。

    每个服务端的启动指令的 -jar 参数前添加如下参数。

    bash
    -javaagent:authlib-injector-.jar=https://helloskin.cn/api/yggdrasil
    bash
    java -Xms512M -Xmx512M -javaagent:authlib-injector-.jar=https://helloskin.cn/api/yggdrasil -jar waterfall-562.jar
    bash
    java -Xms4G -Xmx16G -javaagent:authlib-injector-.jar=https://helloskin.cn/api/yggdrasil -jar paper-1.20.4-409.jar --nogui