diff --git a/server/src/main/java/mc/server/PacketHandler.java b/server/src/main/java/mc/server/PacketHandler.java index 11ae54f..20ed7c9 100644 --- a/server/src/main/java/mc/server/PacketHandler.java +++ b/server/src/main/java/mc/server/PacketHandler.java @@ -63,7 +63,9 @@ public class PacketHandler { serverInfo.version().name(ProtocolConstant.PROTOCOL_NAME); serverInfo.version().protocol(ProtocolConstant.PROTOCOL_NUMBER); serverInfo.players().max(config.players().maxOnlile()); - serverInfo.players().online(config.players().onlile()); + if (config.players().fakeOnline().enable()) { + serverInfo.players().online(config.players().fakeOnline().value()); + } serverInfo.players().sample(Collections.emptyList()); serverInfo.description(TextSerializer.fromPlain(config.motd())); diff --git a/server/src/main/java/mc/server/config/Config.java b/server/src/main/java/mc/server/config/Config.java index 5d99eb4..3c5f3d2 100644 --- a/server/src/main/java/mc/server/config/Config.java +++ b/server/src/main/java/mc/server/config/Config.java @@ -33,8 +33,17 @@ public class Config { @Setter @ToString public static class Players { + private final FakeOnline fakeOnline = new FakeOnline(); + private int maxOnlile; - private int onlile; + } + + @Getter + @Setter + @ToString + public static class FakeOnline { + private boolean enable; + private int value; } @Getter diff --git a/server/src/main/java/mc/server/di/ConfigModule.java b/server/src/main/java/mc/server/di/ConfigModule.java index 12bb65f..76635e8 100644 --- a/server/src/main/java/mc/server/di/ConfigModule.java +++ b/server/src/main/java/mc/server/di/ConfigModule.java @@ -27,10 +27,14 @@ public class ConfigModule { config.server().host(fromYamlPath("server/host", map, "127.0.0.1")); config.server().port(fromYamlPath("server/port", map, 25565)); + config.motd(fromYamlPath("motd", map, "")); config.disconnectReason(fromYamlPath("disconnect-reason", map, "")); + config.players().maxOnlile(fromYamlPath("players/max-online", map, 0)); - config.players().onlile(fromYamlPath("players/online", map, 0)); + config.players().fakeOnline().enable(fromYamlPath("players/fake-online/enable", map, false)); + config.players().fakeOnline().value(fromYamlPath("players/fake-online/value", map, 0)); + config.world().viewDistance(fromYamlPath("world/view-distance", map, 0)); if (Boolean.TRUE.equals(fromYamlPath("icon/enable", map, false))) { diff --git a/server/src/main/resources/config-sample.yml b/server/src/main/resources/config-sample.yml index d96b359..bfb8600 100644 --- a/server/src/main/resources/config-sample.yml +++ b/server/src/main/resources/config-sample.yml @@ -10,7 +10,9 @@ disconnect-reason: '&4Server is not available.' players: max-online: 0 - online: 0 + fake-online: + enable: true + value: 0 # Размер значка: 64x64 px icon: