diff --git a/connector/src/main/java/org/geysermc/connector/GeyserConnector.java b/connector/src/main/java/org/geysermc/connector/GeyserConnector.java
index 173e41573..1d5cd3f81 100644
--- a/connector/src/main/java/org/geysermc/connector/GeyserConnector.java
+++ b/connector/src/main/java/org/geysermc/connector/GeyserConnector.java
@@ -379,9 +379,40 @@ public class GeyserConnector {
             logger.warning(LanguageUtils.getLocaleStringLog("geyser.core.movement_warn"));
         }
 
+        checkForOutdatedJava();
+
         newsHandler.handleNews(null, NewsItemAction.ON_SERVER_STARTED);
     }
 
+    private void checkForOutdatedJava() {
+        final int supportedJavaVersion = 16;
+        // Taken from Paper
+        String javaVersion = System.getProperty("java.version");
+        Matcher matcher = Pattern.compile("(?:1\\.)?(\\d+)").matcher(javaVersion);
+        if (!matcher.find()) {
+            getLogger().debug("Could not parse Java version string " + javaVersion);
+            return;
+        }
+
+        String version = matcher.group(1);
+        int majorVersion;
+        try {
+            majorVersion = Integer.parseInt(version);
+        } catch (NumberFormatException e) {
+            getLogger().debug("Could not format as an int: " + version);
+            return;
+        }
+
+        if (majorVersion < supportedJavaVersion) {
+            getLogger().warning("*********************************************");
+            getLogger().warning("");
+            getLogger().warning(LanguageUtils.getLocaleStringLog("geyser.bootstrap.unsupported_java.header"));
+            getLogger().warning(LanguageUtils.getLocaleStringLog("geyser.bootstrap.unsupported_java.message", supportedJavaVersion, javaVersion));
+            getLogger().warning("");
+            getLogger().warning("*********************************************");
+        }
+    }
+
     public void shutdown() {
         bootstrap.getGeyserLogger().info(LanguageUtils.getLocaleStringLog("geyser.core.shutdown"));
         shuttingDown = true;
diff --git a/connector/src/main/resources/languages b/connector/src/main/resources/languages
index c8923b1f7..d0cbd4b61 160000
--- a/connector/src/main/resources/languages
+++ b/connector/src/main/resources/languages
@@ -1 +1 @@
-Subproject commit c8923b1f71c7f66621729be47dec7f911606c6a1
+Subproject commit d0cbd4b616be6c057115fdb13d75866b8452893e