diff --git a/.gitignore b/.gitignore
index f003e0142..9b233578c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -224,3 +224,4 @@ nbdist/
### Geyser ###
config.yml
logs/
+public-key.pem
diff --git a/api/src/main/java/org/geysermc/api/AuthType.java b/api/src/main/java/org/geysermc/api/AuthType.java
new file mode 100644
index 000000000..55d97c204
--- /dev/null
+++ b/api/src/main/java/org/geysermc/api/AuthType.java
@@ -0,0 +1,30 @@
+package org.geysermc.api;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+@AllArgsConstructor
+@Getter
+public enum AuthType {
+ OFFLINE("offline"),
+ ONLINE("online"),
+ FLOODGATE("floodgate");
+
+ public static final AuthType[] VALUES = values();
+
+ private String name;
+
+ public static AuthType getById(int id) {
+ return id < VALUES.length ? VALUES[id] : OFFLINE;
+ }
+
+ public static AuthType getByName(String name) {
+ String lowerCase = name.toLowerCase();
+ for (AuthType type : VALUES) {
+ if (type.getName().equals(lowerCase)) {
+ return type;
+ }
+ }
+ return OFFLINE;
+ }
+}
\ No newline at end of file
diff --git a/api/src/main/java/org/geysermc/api/Connector.java b/api/src/main/java/org/geysermc/api/Connector.java
index 708372e33..9259eefe8 100644
--- a/api/src/main/java/org/geysermc/api/Connector.java
+++ b/api/src/main/java/org/geysermc/api/Connector.java
@@ -73,4 +73,9 @@ public interface Connector {
* Shuts down the connector
*/
void shutdown();
+
+ /**
+ * The auth type for the remote server
+ */
+ AuthType getAuthType();
}
diff --git a/connector/pom.xml b/connector/pom.xml
index 60ecfc557..5b4a2bcf5 100644
--- a/connector/pom.xml
+++ b/connector/pom.xml
@@ -22,6 +22,12 @@
1.0-SNAPSHOT
compile
+
+ org.geysermc
+ floodgate-common
+ 1.0-SNAPSHOT
+ compile
+
com.fasterxml.jackson.dataformat
jackson-dataformat-yaml
diff --git a/connector/src/main/java/org/geysermc/connector/GeyserConnector.java b/connector/src/main/java/org/geysermc/connector/GeyserConnector.java
index 4abe763ff..3b7b1a701 100644
--- a/connector/src/main/java/org/geysermc/connector/GeyserConnector.java
+++ b/connector/src/main/java/org/geysermc/connector/GeyserConnector.java
@@ -28,9 +28,9 @@ package org.geysermc.connector;
import com.nukkitx.protocol.bedrock.BedrockPacketCodec;
import com.nukkitx.protocol.bedrock.BedrockServer;
import com.nukkitx.protocol.bedrock.v388.Bedrock_v388;
-
import lombok.Getter;
import org.fusesource.jansi.AnsiConsole;
+import org.geysermc.api.AuthType;
import org.geysermc.api.Connector;
import org.geysermc.api.Geyser;
import org.geysermc.api.Player;
@@ -66,17 +66,16 @@ import java.util.concurrent.TimeUnit;
@Getter
public class GeyserConnector implements Connector {
-
public static final BedrockPacketCodec BEDROCK_PACKET_CODEC = Bedrock_v388.V388_CODEC;
-
public static final String NAME = "Geyser";
public static final String VERSION = "1.0-SNAPSHOT";
- private final Map