treewide: Remove minecraft server
This has fallen into disuse since the big Java vulnerability, and I have ideas for better ways of doing this. Meanwhile it's making maintenance and refactoring more difficult. Hence I'll remove the server completely for the time being.
This commit is contained in:
parent
046a88905d
commit
7095ab2631
207 changed files with 5 additions and 17764 deletions
configuration/services
|
@ -1,141 +0,0 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
minecraft-server-args = [
|
||||
"-Xms2G"
|
||||
"-Xmx2G"
|
||||
"-Dsun.rmi.dgc.server.gcInterval=2157583646"
|
||||
"-XX:+UseG1GC"
|
||||
"-XX:+ParallelRefProcEnabled"
|
||||
"-XX:MaxGCPauseMillis=200"
|
||||
"-XX:+UnlockExperimentalVMOptions"
|
||||
"-XX:+DisableExplicitGC"
|
||||
"-XX:+AlwaysPreTouch"
|
||||
"-XX:G1NewSizePercent=30"
|
||||
"-XX:G1MaxNewSizePercent=40"
|
||||
"-XX:G1HeapRegionSize=8M"
|
||||
"-XX:G1ReservePercent=20"
|
||||
"-XX:G1HeapWastePercent=5"
|
||||
"-XX:G1MixedGCCountTarget=4"
|
||||
"-XX:InitiatingHeapOccupancyPercent=15"
|
||||
"-XX:G1MixedGCLiveThresholdPercent=90"
|
||||
"-XX:G1RSetUpdatingPauseTimePercent=5"
|
||||
"-XX:SurvivorRatio=32"
|
||||
"-XX:+PerfDisableSharedMem"
|
||||
"-XX:MaxTenuringThreshold=1"
|
||||
];
|
||||
ops = pkgs.writeText "ops.json" (builtins.toJSON [
|
||||
{
|
||||
uuid = "140d177a-966f-41b8-a4c0-e305babd291b";
|
||||
name = "TLATER";
|
||||
level = 4;
|
||||
bypassesPlayerLimit = true;
|
||||
}
|
||||
]);
|
||||
whitelist = pkgs.writeText "whitelist.json" (builtins.toJSON [
|
||||
{
|
||||
uuid = "59cd1648-14a4-4bcf-8f5a-2e1bde678f2c";
|
||||
name = "romino25";
|
||||
}
|
||||
{
|
||||
uuid = "0ab6e3d1-544a-47e7-8538-2e6c248e49a4";
|
||||
name = "lasi25";
|
||||
}
|
||||
{
|
||||
uuid = "01c9e737-fc9d-4d55-b8c2-610ca80eb4be";
|
||||
name = "Nampeyo25";
|
||||
}
|
||||
{
|
||||
uuid = "140d177a-966f-41b8-a4c0-e305babd291b";
|
||||
name = "tlater";
|
||||
}
|
||||
]);
|
||||
eula = pkgs.writeText "eula.txt" "eula=true";
|
||||
in {
|
||||
users = {
|
||||
extraUsers.minecraft = {
|
||||
uid = config.ids.uids.minecraft;
|
||||
group = config.users.extraGroups.minecraft.name;
|
||||
isSystemUser = true;
|
||||
description = "Minecraft server user";
|
||||
};
|
||||
extraGroups.minecraft = {gid = config.ids.gids.minecraft;};
|
||||
};
|
||||
|
||||
virtualisation.oci-containers.containers.minecraft-voor-kia = let
|
||||
properties = ./configs/minecraft/voor-kia/server.properties;
|
||||
icon = ./configs/minecraft/voor-kia/server-icon.png;
|
||||
in {
|
||||
image = "tlaternet/minecraft-voor-kia";
|
||||
|
||||
imageFile = pkgs.dockerTools.buildImage {
|
||||
name = "tlaternet/minecraft-voor-kia";
|
||||
tag = "latest";
|
||||
contents = [
|
||||
(pkgs.local.forge-server.override {
|
||||
jre_headless = pkgs.jdk11_headless;
|
||||
mods = pkgs.local.voor-kia;
|
||||
modConfig = ./configs/minecraft/voor-kia/config;
|
||||
defaultconfigs = ./configs/minecraft/voor-kia/defaultconfigs;
|
||||
})
|
||||
];
|
||||
|
||||
config = let
|
||||
uid = toString config.users.extraUsers.minecraft.uid;
|
||||
gid = toString config.users.extraGroups.minecraft.gid;
|
||||
in {
|
||||
Cmd = ["forge-server"] ++ minecraft-server-args;
|
||||
WorkingDir = "/var/lib/minecraft";
|
||||
Volumes = {
|
||||
"/var/lib/minecraft" = {};
|
||||
# Required because some things will try to write to /tmp,
|
||||
# which doesn't exist if it's not defined as a volume.
|
||||
"/tmp" = {};
|
||||
};
|
||||
ExposedPorts = {"25565" = {};};
|
||||
User = "${uid}:${gid}";
|
||||
};
|
||||
};
|
||||
|
||||
extraOptions = ["--cpus=1.0"];
|
||||
autoStart = false;
|
||||
ports = ["25565:25565"];
|
||||
volumes = [
|
||||
"minecraft:/var/lib/minecraft"
|
||||
"${eula}:/var/lib/minecraft/eula.txt:ro"
|
||||
"${icon}:/var/lib/minecraft/server-icon.png:ro"
|
||||
"${ops}:/var/lib/minecraft/ops.json:ro"
|
||||
"${properties}:/var/lib/minecraft/server.properties:ro"
|
||||
"${whitelist}:/var/lib/minecraft/whitelist.json:ro"
|
||||
];
|
||||
};
|
||||
|
||||
systemd.timers.podman-minecraft-voor-kia-off = {
|
||||
description = "Turns off the minecraft server every day at 4 am";
|
||||
wantedBy = ["podman-minecraft-voor-kia.service"];
|
||||
timerConfig = {
|
||||
Unit = "podman-minecraft-voor-kia-starter@stop.service";
|
||||
OnCalendar = "04:00:00";
|
||||
};
|
||||
};
|
||||
|
||||
systemd.timers.podman-minecraft-voor-kia-on = {
|
||||
description = "Turns on the minecraft server every day at 2 pm";
|
||||
wantedBy = ["podman-minecraft-voor-kia.service"];
|
||||
timerConfig = {
|
||||
Unit = "podman-minecraft-voor-kia-starter@start.service";
|
||||
OnCalendar = "14:00:00";
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services."podman-minecraft-voor-kia-starter@" = {
|
||||
description = "Unit to stop/start the minecraft server";
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.systemd}/bin/systemctl %i podman-minecraft-voor-kia.service";
|
||||
Type = "oneshot";
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue