{{ template "layout" . }} {{ define "title" }}{{ .App.Config.ApplicationName }}{{ end }} {{ define "content" }} {{ template "header" . }}

Log in

{{ $dividerNeeded := false }} {{ if gt (len .WebOIDCProviders) 0 }} {{ if $dividerNeeded }}
or
{{ $dividerNeeded = false }} {{ end }}

{{ range $provider := $.WebOIDCProviders }}

Sign in with {{ $provider.Name }}

{{ end }} {{ $dividerNeeded = true }} {{ end }} {{ if .App.Config.AllowPasswordLogin }} {{ if $dividerNeeded }}
or
{{ $dividerNeeded = false }} {{ end }}
{{ $dividerNeeded = true }} {{ end }}

Configuring your client

Using {{ .App.Config.ApplicationName }} on the client requires a third-party launcher that supports custom API servers. Fjord Launcher, a fork of Prism Launcher, is recommended, but HMCL also works. Both are free/libre.

Fjord Launcher

  1. Click your account in the top right and select "Manage Accounts...".
  2. Click "Add authlib-injector" in the right-hand sidebar.
  3. Enter your player name and your {{ .App.Config.ApplicationName }} password or Minecraft Token, and use {{ .App.AuthlibInjectorURL }} for the URL. Click "OK".

HMCL

  1. Go to the "Account List" view by clicking the account at the top of the sidebar.
  2. At the bottom left, click "New Auth Server" and enter {{ .App.AuthlibInjectorURL }}. Click "Next" and then "Finish".
  3. In the sidebar, click the newly-added authentication server, labeled "{{ .App.Config.InstanceName }}". Enter your {{ .App.Config.ApplicationName }} player name and password and click "Login".

Other Launchers

Use the authlib-injector URL {{ .App.AuthlibInjectorURL }}.

Or, if your launcher supports custom API servers but not via authlib-injector, use the following URLs:

Authentication Server: {{ .App.AuthURL }}
Account Server: {{ .App.AccountURL }}
Session Server: {{ .App.SessionURL }}
Services Server: {{ .App.ServicesURL }}

Configuring your server

Minecraft 1.16 and later

On recent versions of Minecraft, you can use {{ .App.Config.ApplicationName }} on an unmodified Vanilla server. To do so, add the following arguments before you specify the jar file when you start the server:
-Dminecraft.api.env=custom
-Dminecraft.api.auth.host={{ .App.AuthURL }}
-Dminecraft.api.account.host={{ .App.AccountURL }}
-Dminecraft.api.session.host={{ .App.SessionURL }}
-Dminecraft.api.services.host={{ .App.ServicesURL }}
For example, the full command you use to start the server might be:
java -Xmx1024M -Xms1024M \
    -Dminecraft.api.env=custom \
    -Dminecraft.api.auth.host={{ .App.AuthURL }} \
    -Dminecraft.api.account.host={{ .App.AccountURL }} \
    -Dminecraft.api.session.host={{ .App.SessionURL }} \
    -Dminecraft.api.services.host={{ .App.ServicesURL }} \
    -jar server.jar nogui

Minecraft 1.7.2 through 1.15.2

Refer to the authlib-injector documentation on setting up a server: https://github.com/yushijinhun/authlib-injector/blob/develop/README.en.md#deploy.

Alternatively, you can patch your server to use a newer version of Mojang's authlib that supports the arguments for custom API servers. Replace the files under com/mojang/authlib in your server.jar with the files in authlib-1.6.25.jar.

Late Classic, Alpha, Beta, etc. through Minecraft 1.6.4

Use OnlineModeFix and start the server with the -Dminecraft.api.*.host arguments described above. For example, the full command you use to start the server might be:

java -Xmx1024M -Xms1024M \
    -Dminecraft.api.env=custom \
    -Dminecraft.api.auth.host={{ .App.AuthURL }} \
    -Dminecraft.api.account.host={{ .App.AccountURL }} \
    -Dminecraft.api.session.host={{ .App.SessionURL }} \
    -Dminecraft.api.services.host={{ .App.ServicesURL }} \
    -Djava.protocol.handler.pkgs=gg.codie.mineonline.protocol \
    -cp server.jar:OnlineModeFix.jar \
    net.minecraft.server.MinecraftServer \
    nogui

{{ template "footer" . }} {{ end }}