From 81f58ee9bf42a698e9f017b1ad26127c2bcfe993 Mon Sep 17 00:00:00 2001 From: James Cahill Date: Tue, 25 Aug 2020 14:29:55 +0100 Subject: [PATCH] Add Server Name config option (#1170) * Add bedrock.server-name config option * Fix spelling mistake oops! * Remove trailing whitespace --- .../geysermc/platform/sponge/GeyserSpongeConfiguration.java | 5 +++++ .../connector/configuration/GeyserConfiguration.java | 2 ++ .../connector/configuration/GeyserJacksonConfiguration.java | 4 ++++ .../geysermc/connector/network/session/GeyserSession.java | 6 ++++-- connector/src/main/resources/config.yml | 2 ++ 5 files changed, 17 insertions(+), 2 deletions(-) diff --git a/bootstrap/sponge/src/main/java/org/geysermc/platform/sponge/GeyserSpongeConfiguration.java b/bootstrap/sponge/src/main/java/org/geysermc/platform/sponge/GeyserSpongeConfiguration.java index 35bbf97d..ba416110 100644 --- a/bootstrap/sponge/src/main/java/org/geysermc/platform/sponge/GeyserSpongeConfiguration.java +++ b/bootstrap/sponge/src/main/java/org/geysermc/platform/sponge/GeyserSpongeConfiguration.java @@ -205,6 +205,11 @@ public class GeyserSpongeConfiguration implements GeyserConfiguration { public String getMotd2() { return node.getNode("motd2").getString("GeyserMC"); } + + @Override + public String getServerName() { + return node.getNode("server-name").getString("Geyser"); + } } @AllArgsConstructor diff --git a/connector/src/main/java/org/geysermc/connector/configuration/GeyserConfiguration.java b/connector/src/main/java/org/geysermc/connector/configuration/GeyserConfiguration.java index 2cf9a181..5803ff13 100644 --- a/connector/src/main/java/org/geysermc/connector/configuration/GeyserConfiguration.java +++ b/connector/src/main/java/org/geysermc/connector/configuration/GeyserConfiguration.java @@ -95,6 +95,8 @@ public interface GeyserConfiguration { String getMotd1(); String getMotd2(); + + String getServerName(); } interface IRemoteConfiguration { diff --git a/connector/src/main/java/org/geysermc/connector/configuration/GeyserJacksonConfiguration.java b/connector/src/main/java/org/geysermc/connector/configuration/GeyserJacksonConfiguration.java index 8390640f..378eba68 100644 --- a/connector/src/main/java/org/geysermc/connector/configuration/GeyserJacksonConfiguration.java +++ b/connector/src/main/java/org/geysermc/connector/configuration/GeyserJacksonConfiguration.java @@ -29,6 +29,7 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Getter; import lombok.Setter; +import org.geysermc.connector.GeyserConnector; import org.geysermc.connector.common.serializer.AsteriskSerializer; import java.nio.file.Path; @@ -118,6 +119,9 @@ public abstract class GeyserJacksonConfiguration implements GeyserConfiguration private String motd1; private String motd2; + + @JsonProperty("server-name") + private String serverName = GeyserConnector.NAME; } @Getter diff --git a/connector/src/main/java/org/geysermc/connector/network/session/GeyserSession.java b/connector/src/main/java/org/geysermc/connector/network/session/GeyserSession.java index 72dc0dac..b208aaf3 100644 --- a/connector/src/main/java/org/geysermc/connector/network/session/GeyserSession.java +++ b/connector/src/main/java/org/geysermc/connector/network/session/GeyserSession.java @@ -590,8 +590,10 @@ public class GeyserSession implements CommandSender { startGamePacket.setFromWorldTemplate(false); startGamePacket.setWorldTemplateOptionLocked(false); - startGamePacket.setLevelId("world"); - startGamePacket.setLevelName("world"); + String serverName = connector.getConfig().getBedrock().getServerName(); + startGamePacket.setLevelId(serverName); + startGamePacket.setLevelName(serverName); + startGamePacket.setPremiumWorldTemplateId("00000000-0000-0000-0000-000000000000"); // startGamePacket.setCurrentTick(0); startGamePacket.setEnchantmentSeed(0); diff --git a/connector/src/main/resources/config.yml b/connector/src/main/resources/config.yml index f59939b6..af588185 100644 --- a/connector/src/main/resources/config.yml +++ b/connector/src/main/resources/config.yml @@ -20,6 +20,8 @@ bedrock: # The MOTD that will be broadcasted to Minecraft: Bedrock Edition clients. Irrelevant if "passthrough-motd" is set to true motd1: "GeyserMC" motd2: "Another GeyserMC forced host." + # The Server Name that will be sent to Minecraft: Bedrock Edition clients. Visible in both the pause menu and the settings menu. + server-name: "Geyser" remote: # The IP address of the remote (Java Edition) server # If it is "auto", for standalone version the remote address will be set to 127.0.0.1,