AuthStatusCommand class
Пакет: com.hypixel.hytale.server.core.command.commands.server.auth
Файл: com/hypixel/hytale/server/core/command/commands/server/auth/AuthStatusCommand.java
extends: CommandBase
Поля (23)
| Модификаторы | Тип | Имя |
|---|---|---|
|
Message |
var10 |
|
|
var10 |
|
|
var10 |
|
Instant |
var11 |
|
long |
var12 |
|
String |
var13 |
|
long |
var14 |
|
long |
var16 |
|
long |
var18 |
|
ServerAuthManager |
var2 |
|
Message |
var20 |
|
Message |
var21 |
|
|
var21 |
|
|
var21 |
|
SessionServiceClient.GameProfile[] |
var22 |
|
Message |
var3 |
|
ServerAuthManager.AuthMode |
var4 |
|
Message |
var5 |
|
String |
var6 |
|
|
var6 |
|
SessionServiceClient.GameProfile |
var7 |
|
String |
var8 |
|
Message |
var9 |
Методы (5)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
if if(var7 != null) |
|
|
if if(var11 != null) |
|
|
if if(var12 > 0L) |
|
|
if if(var22 != null) |
abstract |
|
super super("status", "server.commands.auth.status.desc") |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.command.commands.server.auth;
class="kw">import com.hypixel.hytale.server.core.Message;
class="kw">import com.hypixel.hytale.server.core.Options;
class="kw">import com.hypixel.hytale.server.core.auth.ServerAuthManager;
class="kw">import com.hypixel.hytale.server.core.auth.SessionServiceClient;
class="kw">import com.hypixel.hytale.server.core.command.system.CommandContext;
class="kw">import com.hypixel.hytale.server.core.command.system.basecommands.CommandBase;
class="kw">import java.awt.Color;
class="kw">import java.time.Instant;
class="kw">import javax.annotation.Nonnull;
class="kw">public class AuthStatusCommand class="kw">extends CommandBase {
@Nonnull
class="kw">private class="kw">static class="kw">final Message MESSAGE_STATUS_CONNECTION_MODE_AUTHENTICATED = Message.translation("server.commands.auth.status.connectionMode.authenticated")
.color(Color.GREEN);
@Nonnull
class="kw">private class="kw">static class="kw">final Message MESSAGE_STATUS_CONNECTION_MODE_OFFLINE = Message.translation("server.commands.auth.status.connectionMode.offline")
.color(Color.YELLOW);
@Nonnull
class="kw">private class="kw">static class="kw">final Message MESSAGE_STATUS_CONNECTION_MODE_INSECURE = Message.translation("server.commands.auth.status.connectionMode.insecure")
.color(Color.ORANGE);
@Nonnull
class="kw">private class="kw">static class="kw">final Message MESSAGE_STATUS_MODE_NONE = Message.translation("server.commands.auth.status.mode.none").color(Color.RED);
@Nonnull
class="kw">private class="kw">static class="kw">final Message MESSAGE_STATUS_MODE_SINGLEPLAYER = Message.translation("server.commands.auth.status.mode.singleplayer").color(Color.GREEN);
@Nonnull
class="kw">private class="kw">static class="kw">final Message MESSAGE_STATUS_MODE_EXTERNAL = Message.translation("server.commands.auth.status.mode.external").color(Color.GREEN);
@Nonnull
class="kw">private class="kw">static class="kw">final Message MESSAGE_STATUS_MODE_OAUTH_BROWSER = Message.translation("server.commands.auth.status.mode.oauthBrowser").color(Color.GREEN);
@Nonnull
class="kw">private class="kw">static class="kw">final Message MESSAGE_STATUS_MODE_OAUTH_DEVICE = Message.translation("server.commands.auth.status.mode.oauthDevice").color(Color.GREEN);
@Nonnull
class="kw">private class="kw">static class="kw">final Message MESSAGE_STATUS_MODE_OAUTH_STORE = Message.translation("server.commands.auth.status.mode.oauthStore").color(Color.GREEN);
@Nonnull
class="kw">private class="kw">static class="kw">final Message MESSAGE_STATUS_TOKEN_PRESENT = Message.translation("server.commands.auth.status.tokenPresent").color(Color.GREEN);
@Nonnull
class="kw">private class="kw">static class="kw">final Message MESSAGE_STATUS_TOKEN_MISSING = Message.translation("server.commands.auth.status.tokenMissing").color(Color.RED);
@Nonnull
class="kw">private class="kw">static class="kw">final Message MESSAGE_STATUS_HELP = Message.translation("server.commands.auth.status.help").color(Color.YELLOW);
@Nonnull
class="kw">private class="kw">static class="kw">final Message MESSAGE_STATUS_PENDING = Message.translation("server.commands.auth.status.pending").color(Color.YELLOW);
class="kw">public AuthStatusCommand() {
super("status", "server.commands.auth.status.desc");
}
@Override
class="kw">protected void executeSync(@Nonnull CommandContext var1) {
ServerAuthManager var2 = ServerAuthManager.getInstance();
Message var3 = class="kw">switch ((Options.AuthMode)Options.getOptionSet().valueOf(Options.AUTH_MODE)) {
case AUTHENTICATED -> MESSAGE_STATUS_CONNECTION_MODE_AUTHENTICATED;
case OFFLINE -> MESSAGE_STATUS_CONNECTION_MODE_OFFLINE;
case INSECURE -> MESSAGE_STATUS_CONNECTION_MODE_INSECURE;
};
ServerAuthManager.AuthMode var4 = var2.getAuthMode();
Message var5 = class="kw">switch (var4) {
case NONE -> MESSAGE_STATUS_MODE_NONE;
case SINGLEPLAYER -> MESSAGE_STATUS_MODE_SINGLEPLAYER;
case EXTERNAL_SESSION -> MESSAGE_STATUS_MODE_EXTERNAL;
case OAUTH_BROWSER -> MESSAGE_STATUS_MODE_OAUTH_BROWSER;
case OAUTH_DEVICE -> MESSAGE_STATUS_MODE_OAUTH_DEVICE;
case OAUTH_STORE -> MESSAGE_STATUS_MODE_OAUTH_STORE;
};
String var6 = "";
SessionServiceClient.GameProfile var7 = var2.getSelectedProfile();
if (var7 != null) {
String var8 = var7.username != null ? var7.username : "Unknown";
var6 = var8 + " (" + var7.uuid + ")";
}
Message var20 = var2.hasSessionToken() ? MESSAGE_STATUS_TOKEN_PRESENT : MESSAGE_STATUS_TOKEN_MISSING;
Message var9 = var2.hasIdentityToken() ? MESSAGE_STATUS_TOKEN_PRESENT : MESSAGE_STATUS_TOKEN_MISSING;
Message var10 = Message.empty();
Instant var11 = var2.getTokenExpiry();
if (var11 != null) {
long var12 = var11.getEpochSecond() - Instant.now().getEpochSecond();
if (var12 > 0L) {
long var14 = var12 / 3600L;
long var16 = var12 % 3600L / 60L;
long var18 = var12 % 60L;
var10 = Message.translation("server.commands.auth.status.remaining")
.param("hours", String.format("%02d", var14))
.param("minutes", String.format("%02d", var16))
.param("seconds", String.format("%02d", var18));
} else {
var10 = Message.translation("server.commands.auth.status.expired");
}
}
Message var21;
if (var2.getServerCertificate() != null) {
String var13 = var2.getServerCertificateFingerprint();
var21 = var13 != null ? Message.raw(var13.substring(0, 16) + "...") : Message.translation("server.commands.auth.status.certificate.unknown");
} else {
var21 = Message.translation("server.commands.auth.status.certificate.notLoaded");
}
var1.sendMessage(
Message.translation("server.commands.auth.status.format")
.param("connectionMode", var3)
.param("tokenMode", var5)
.param("profile", var6)
.param("sessionToken", var20)
.param("identityToken", var9)
.param("expiry", var10)
.param("certificate", var21)
);
if (var4 == ServerAuthManager.AuthMode.NONE && !var2.isSingleplayer()) {
if (var2.hasPendingProfiles()) {
var1.sendMessage(MESSAGE_STATUS_PENDING);
SessionServiceClient.GameProfile[] var22 = var2.getPendingProfiles();
if (var22 != null) {
AuthSelectCommand.sendProfileList(var1, var22);
}
} else {
var1.sendMessage(MESSAGE_STATUS_HELP);
}
}
}
}