#!/bin/bash set -e # Ensure wineprefix exists if [ ! -d "$WINEPREFIX" ]; then echo "Initializing wineprefix at $WINEPREFIX..." mkdir -p "$WINEPREFIX" wine64 wineboot --init || true fi # Install DXVK manually (no GUI installer) DXVK_DIR="/data/dxvk/dxvk-$DXVK_VERSION" DXVK_X64="$DXVK_DIR/x64" DXVK_X32="$DXVK_DIR/x32" if [ -d "$DXVK_DIR" ]; then echo "Installing DXVK $DXVK_VERSION into wineprefix..." # 64-bit DLLs if [ -d "$DXVK_X64" ]; then echo "Applying DXVK 64-bit..." cp "$DXVK_X64"/*.dll "$WINEPREFIX/drive_c/windows/system32/" || true fi # 32-bit DLLs if [ -d "$DXVK_X32" ]; then echo "Applying DXVK 32-bit..." cp "$DXVK_X32"/*.dll "$WINEPREFIX/drive_c/windows/syswow64/" || true fi # Register DLL overrides echo "Setting DXVK DLL overrides..." wine64 reg add "HKCU\\Software\\Wine\\DllOverrides" /v d3d11 /d native /f || true wine64 reg add "HKCU\\Software\\Wine\\DllOverrides" /v dxgi /d native /f || true fi # Ensure SteamCMD exists STEAMCMD="${STEAMCMD_DIR}/steamcmd.sh" if [ ! -f "$STEAMCMD" ]; then echo "SteamCMD missing!" exit 1 fi # Run manager service echo "Starting mini-windrose-manager..." node /app/dist/index.js