[Unit] Description=Ralpha UE5 Asset Server After=network-online.target Wants=network-online.target [Service] Type=simple User=ralpha Group=ralpha Environment="DISPLAY=:99" Environment="RALPHA_UE5_DIR=/opt/ralpha-ue5" Environment="UE5_DIR=/opt/UnrealEngine" # Sync assets before starting ExecStartPre=/opt/ralpha-ue5/scripts/droplet-sync.sh # Start virtual framebuffer ExecStartPre=/usr/bin/Xvfb :99 -screen 0 1920x1080x24 & # Launch UE5 with ralpha-ue5 project (headless, MCP server enabled) ExecStart=/opt/UnrealEngine/Engine/Binaries/Linux/UnrealEditor \ /opt/ralpha-ue5/Ralpha.uproject \ -RenderOffscreen \ -NoSound \ -NullRHI=0 \ -Vulkan \ -log \ -unattended Restart=on-failure RestartSec=10 # Logging StandardOutput=append:/var/log/ralpha/ue5.log StandardError=append:/var/log/ralpha/ue5-error.log [Install] WantedBy=multi-user.target