added configuration options
This commit is contained in:
parent
6dc4269367
commit
5191d5ece3
4
.gitignore
vendored
4
.gitignore
vendored
@ -28,4 +28,6 @@ replay_pid*
|
||||
|
||||
.idea
|
||||
.gradle
|
||||
build/*
|
||||
build/*
|
||||
|
||||
/resources
|
@ -7,10 +7,15 @@ import eu.mhsl.minenet.minigames.server.tasks.TablistUpdateTask;
|
||||
import eu.mhsl.minenet.minigames.server.provider.ByPlayerNameUuidProvider;
|
||||
import io.github.bloepiloepi.pvp.PvpExtension;
|
||||
import net.minestom.server.MinecraftServer;
|
||||
import net.minestom.server.extras.bungee.BungeeCordProxy;
|
||||
import net.minestom.server.extras.lan.OpenToLAN;
|
||||
import net.minestom.server.extras.velocity.VelocityProxy;
|
||||
import net.minestom.server.timer.TaskSchedule;
|
||||
import org.spongepowered.configurate.ConfigurateException;
|
||||
import org.spongepowered.configurate.ConfigurationNode;
|
||||
import org.spongepowered.configurate.yaml.YamlConfigurationLoader;
|
||||
|
||||
import java.util.Objects;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
public class Main {
|
||||
@ -18,15 +23,28 @@ public class Main {
|
||||
* Starts minenet minigames services
|
||||
*/
|
||||
private final static Logger logger = Logger.getGlobal();
|
||||
public static void main(String[] args) {
|
||||
private static ConfigurationNode globalConfig;
|
||||
|
||||
public static void main(String[] args) throws ConfigurateException {
|
||||
//noinspection ResultOfMethodCallIgnored
|
||||
Resource.values(); // This initializes and preloads the enum and extracts the resources
|
||||
Languages.getInstance(); //Preload languages into the jvm
|
||||
|
||||
globalConfig = YamlConfigurationLoader
|
||||
.builder()
|
||||
.path(Resource.CONFIG.getPath())
|
||||
.build()
|
||||
.load();
|
||||
|
||||
ConfigurationNode serverConfig = globalConfig.node("server");
|
||||
|
||||
logger.info("Initialize Minecraft server...");
|
||||
MinecraftServer server = MinecraftServer.init();
|
||||
PvpExtension.init();
|
||||
|
||||
MinecraftServer.setBrandName("mhsl.eu - minenet - credits to minestom");
|
||||
MinecraftServer.setCompressionThreshold(0);
|
||||
System.setProperty("minestom.chunk-view-distance", "12");
|
||||
MinecraftServer.setCompressionThreshold(serverConfig.node("compression-threshold").getInt(0));
|
||||
System.setProperty("minestom.chunk-view-distance", String.valueOf(serverConfig.node("view-distance").getInt()));
|
||||
|
||||
MinecraftServer.getConnectionManager().setUuidProvider(new ByPlayerNameUuidProvider());
|
||||
|
||||
@ -35,15 +53,18 @@ public class Main {
|
||||
|
||||
MinecraftServer.getSchedulerManager().scheduleTask(new TablistUpdateTask(), TaskSchedule.tick(20), TaskSchedule.tick(20));
|
||||
|
||||
//noinspection ResultOfMethodCallIgnored
|
||||
Resource.values(); // This initializes and preloads the enum and extracts the resources
|
||||
Languages.getInstance(); //Preload languages into the jvm
|
||||
|
||||
logger.info("Starting Minecraft server ... ");
|
||||
OpenToLAN.open();
|
||||
//MojangAuth.init(); LET NON MIGRATORS PLAY!
|
||||
VelocityProxy.enable("sKkDO9lGfpS7");
|
||||
server.start("0.0.0.0", 25565);
|
||||
|
||||
if(serverConfig.node("open-to-lan").getBoolean()) OpenToLAN.open();
|
||||
|
||||
if(globalConfig.node("bungeecord", "enabled").getBoolean()) BungeeCordProxy.enable();
|
||||
|
||||
if(globalConfig.node("velocity", "enabled").getBoolean()) {
|
||||
VelocityProxy.enable(Objects.requireNonNull(globalConfig.node("velocity", "secret").getString()));
|
||||
|
||||
}
|
||||
|
||||
server.start("0.0.0.0", serverConfig.node("port").getInt(25565));
|
||||
System.gc();
|
||||
|
||||
MinecraftServer.getSchedulerManager().scheduleNextTick(() -> logger.info("Minecraft server is now running!"));
|
||||
|
@ -11,6 +11,7 @@ import java.util.logging.Logger;
|
||||
* Predefined resources which are extracted on Runtime
|
||||
*/
|
||||
public enum Resource {
|
||||
CONFIG("config.yml"),
|
||||
HUB_MAP("maps/hub"),
|
||||
LOBBY_MAP("maps/lobby"),
|
||||
|
||||
|
14
src/main/resources/config.yml
Normal file
14
src/main/resources/config.yml
Normal file
@ -0,0 +1,14 @@
|
||||
server:
|
||||
port: 25565
|
||||
view-distance: 12
|
||||
compression-threshold: 0
|
||||
open-to-lan: false
|
||||
|
||||
bungeecord:
|
||||
enabled: false
|
||||
|
||||
velocity:
|
||||
enabled: false
|
||||
secret: ''
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user