Aufgabe #2025
offenTest von Minecraft Server auf einer Desktopkiste
0%
Beschreibung
Referat Kultur Bereich Gaming wollte einen Minecraft Server haben. Da haben sich mir einige Fragen gestellt.
1. Ist die Hardware der uns zur Verfügbaren Hardware genug für mehr als 20 Leute.
Weitere Fragen die eher für Verwaltung sind:
- Dürfen wir einen Spiel Server im DFN hosten?
- Wie gestalten wir die Zugangskontrolle? Griefer sind überall und manche Studenten haben eher Spaß am zerstören...
Von MathisBluemel vor 8 Tagen aktualisiert · Edited
- Status wurde von Neu zu In Bearbeitung geändert
Es wurde eine Instanz für den Betrieb des Dienstes Minecraft eingerichtet. Diese ist CT120 auf dem Test PVE. IP: 141.56.51.70 Wichtig ist, dass der Port 25565 (Spiel) und 25566 (Minecraft Shell (RCON)) erreichbar ist, da diese für Minecraft verwendet werden. Alle für Minecraft relevanten Daten liegen in /var/lib/mc (interner Server) und /var/lib/mc-event (Eventserver). Die Nix Config lautet:
{ config, pkgs, ... }:
{
imports = [
<nixpkgs/nixos/modules/virtualisation/proxmox-lxc.nix>
];
proxmoxLXC.manageHostName = true;
system = {
stateVersion = "24.11";
autoUpgrade = {
enable = true;
allowReboot = true;
};
};
nix = {
settings.auto-optimise-store = true;
optimise.automatic = true;
gc = {
automatic = true;
options = "--delete-older-than 5d";
};
};
time.timeZone = "Europe/Berlin";
services.openssh.enable = false;
networking = {
useDHCP = false;
enableIPv6 = false;
firewall.allowedTCPPorts = [ 25565 25566];
};
#Erstelle einen user ohne Previlegien um den server zu betreiben
users.users.mc={
isSystemUser=true;
group = "mc";
};
users.groups.mc = {};
#Systemd Service um den Server zu starten
systemd.services.mcserver = {
enable = true;
description = "Minecraft Server";
after = [ "network.target"];
serviceConfig = {
User="mc";
Nice=1;
SuccessExitStatus=0;
WorkingDirectory="/var/lib/mc";
ExecStart="${pkgs.jdk21_headless.outPath}/bin/java -Xms1G -Xmx7G -jar paper.jar nogui";
Restart="on-failure";
};
wantedBy = [ "multi-user.target" ];
};
}
Bei einem Event wird der interne Server heruntergefahren und in der Nix Config die WorkingDirectory des Systemd Services auf den Ordner des Eventservers geändert. Nach dem Event werden die Änderungen wieder rückgängig gemacht.