Tested on Raspberry Pi 5 running Raspberry Pi OS 64-bit Lite.

# --- Setup ---
sudo apt install -y openjdk-21-jre-headless
sudo adduser --system --home /opt/minecraft --group minecraft
sudo mkdir -p /opt/minecraft/server
sudo chown -R minecraft:minecraft /opt/minecraft

# --- Download and install Fabric installer ---
cd /opt/minecraft/server
sudo -u minecraft wget <fabric-server-installer>
sudo -u minecraft java -jar fabric-installer-x.x.x.jar server

# --- Accept EULA agreement ---
sudo -u minecraft sed -i 's/eula=false/eula=true/' eula.txt

# --- Download mods ---
sudo -u minecraft mkdir -p /opt/minecraft/server/mods
sudo -u minecraft wget <mod-url>

# --- Tune the server for performance ---
sudo -u minecraft nano /opt/minecraft/server/server.properties
# view-distance=6
# simulation-distance=4
# max-players=8
# sync-chunk-writes=false

# --- Launch Minecraft ---
sudo -u minecraft java -Xms1G -Xmx2G -jar fabric-server-launch.jar nogui