From cbecb21ea3b21d4cc1b7075e5da0b4a21e717bf3 Mon Sep 17 00:00:00 2001 From: CyberL1 Date: Sun, 7 Jul 2024 12:59:32 +0200 Subject: [PATCH] feat: entrypoint --- .../Minecraft-Realms-Emulator.csproj | 1 + .../Modes/Realms/Controllers/WorldsController.cs | 2 +- .../Resources/files/template/Dockerfile | 16 ++-------------- .../Resources/files/template/entrypoint | 14 ++++++++++++++ 4 files changed, 18 insertions(+), 15 deletions(-) create mode 100644 Minecraft-Realms-Emulator/Resources/files/template/entrypoint diff --git a/Minecraft-Realms-Emulator/Minecraft-Realms-Emulator.csproj b/Minecraft-Realms-Emulator/Minecraft-Realms-Emulator.csproj index ca57379..1d042d4 100644 --- a/Minecraft-Realms-Emulator/Minecraft-Realms-Emulator.csproj +++ b/Minecraft-Realms-Emulator/Minecraft-Realms-Emulator.csproj @@ -10,6 +10,7 @@ + diff --git a/Minecraft-Realms-Emulator/Modes/Realms/Controllers/WorldsController.cs b/Minecraft-Realms-Emulator/Modes/Realms/Controllers/WorldsController.cs index f724307..c1d59ff 100644 --- a/Minecraft-Realms-Emulator/Modes/Realms/Controllers/WorldsController.cs +++ b/Minecraft-Realms-Emulator/Modes/Realms/Controllers/WorldsController.cs @@ -661,7 +661,7 @@ namespace Minecraft_Realms_Emulator.Modes.Realms.Controllers var world = _context.Worlds.Find(wId); var server = new DockerHelper(world); - server.RunCommand("rm -rf world"); + server.RunCommand($"rm -rf slot-{world.ActiveSlot}"); server.RebootServer(); return Ok(true); diff --git a/Minecraft-Realms-Emulator/Resources/files/template/Dockerfile b/Minecraft-Realms-Emulator/Resources/files/template/Dockerfile index d19b3fe..a22bd68 100644 --- a/Minecraft-Realms-Emulator/Resources/files/template/Dockerfile +++ b/Minecraft-Realms-Emulator/Resources/files/template/Dockerfile @@ -3,7 +3,7 @@ FROM eclipse-temurin:21-jre-alpine COPY . . RUN apk upgrade -RUN apk add openssl at +RUN apk add openssl RUN wget -O rcon-cli.tar.gz https://github.com/itzg/rcon-cli/releases/download/1.6.7/rcon-cli_1.6.7_linux_amd64.tar.gz RUN tar xzf rcon-cli.tar.gz @@ -15,16 +15,4 @@ WORKDIR mc RUN wget -O server.jar https://piston-data.mojang.com/v1/objects/450698d1863ab5180c25d7c804ef0fe6369dd1ba/server.jar EXPOSE 25565 - -RUN java -jar server.jar - -RUN echo "$(openssl rand -hex 20)" > .rcon-pwd - -RUN echo eula=true > eula.txt -RUN echo "enable-rcon=true" >> server.properties -RUN echo "rcon.password=$(cat .rcon-pwd)" >> server.properties - -RUN echo "password: $(cat .rcon-pwd)" >> /root/.rcon-cli.yaml - -RUN rm .rcon-pwd -CMD ["java", "-jar", "server.jar"] \ No newline at end of file +ENTRYPOINT ["/entrypoint"] \ No newline at end of file diff --git a/Minecraft-Realms-Emulator/Resources/files/template/entrypoint b/Minecraft-Realms-Emulator/Resources/files/template/entrypoint new file mode 100644 index 0000000..3abcd43 --- /dev/null +++ b/Minecraft-Realms-Emulator/Resources/files/template/entrypoint @@ -0,0 +1,14 @@ +#!/bin/sh + +RCON_PASSWORD="$(openssl rand -hex 20)" +echo "password: $RCON_PASSWORD" >> /root/.rcon-cli.yaml + +[ ! -f eula.txt ] && echo "eula=true" > eula.txt + +if [ ! -f server.properties ]; then + echo "enable-rcon=true" >> server.properties + echo "rcon.password=$RCON_PASSWORD" >> server.properties + echo "level-name=slot-1" >> server.properties +fi + +java -jar server.jar \ No newline at end of file