@echo off setlocal EnableExtensions if "%SERVER_ROOT%"=="" set "SERVER_ROOT=C:\scumserver" set "SERVER_ROOT_WINDOWS=%SERVER_ROOT:/=\%" if "%SERVER_EXECUTABLE_REF%"=="" set "SERVER_EXECUTABLE_REF=SCUM\Binaries\Win64\SCUMServer.exe" if "%SERVER_INSTALL_DIR%"=="" set "SERVER_INSTALL_DIR=%SERVER_ROOT_WINDOWS%" set "SERVER_INSTALL_DIR_WINDOWS=%SERVER_INSTALL_DIR:/=\%" if "%SERVER_CREATE_GAMEPORT%"=="" set "SERVER_CREATE_GAMEPORT=7779" if "%SERVER_CREATE_MAXPLAYERS%"=="" set "SERVER_CREATE_MAXPLAYERS=128" if "%SERVER_LOG_FLAG%"=="" set "SERVER_LOG_FLAG=-log" set "SCUM_INSTALL_UPDATE=%~dp0scum-install-update.cmd" set "SCUM_EXE_MARKER=%SERVER_ROOT_WINDOWS%\.scum-exe-path" if exist "%SCUM_EXE_MARKER%" set /p SCUM_EXE=<"%SCUM_EXE_MARKER%" if "%SCUM_EXE%"=="" set "SCUM_EXE=%SERVER_ROOT_WINDOWS%\%SERVER_EXECUTABLE_REF:/=\%" if not exist "%SCUM_EXE%" call :resolve_scum_exe set "SCUM_NEEDS_INSTALL=0" if not exist "%SCUM_EXE%" set "SCUM_NEEDS_INSTALL=1" if not exist "%SCUM_EXE%" ( echo [scum-start] SCUM executable was not found. Running plugin install/update script. call :install_or_update ) if "%SCUM_NEEDS_INSTALL%"=="1" if errorlevel 1 exit /b %ERRORLEVEL% if "%SCUM_NEEDS_INSTALL%"=="1" call :resolve_scum_exe if not exist "%SCUM_EXE%" ( echo [scum-start] SCUM executable is still missing after install/update. exit /b 2 ) >"%SCUM_EXE_MARKER%" echo(%SCUM_EXE% for %%I in ("%SCUM_EXE%") do set "SCUM_EXE_DIR=%%~dpI" for %%I in ("%SCUM_EXE_DIR%..\..\..") do set "SCUM_WORKDIR=%%~fI" if not exist "%SCUM_WORKDIR%" set "SCUM_WORKDIR=%SERVER_ROOT_WINDOWS%" pushd "%SCUM_WORKDIR%" echo [scum-start] Starting "%SCUM_EXE%" -port=%SERVER_CREATE_GAMEPORT% -MaxPlayers=%SERVER_CREATE_MAXPLAYERS% %SERVER_LOG_FLAG% "%SCUM_EXE%" -port=%SERVER_CREATE_GAMEPORT% -MaxPlayers=%SERVER_CREATE_MAXPLAYERS% %SERVER_LOG_FLAG% set "SCUM_START_RESULT=%ERRORLEVEL%" popd exit /b %SCUM_START_RESULT% :install_or_update if not exist "%SCUM_INSTALL_UPDATE%" ( echo [scum-start] Missing plugin install/update script: %SCUM_INSTALL_UPDATE% exit /b 3 ) call "%SCUM_INSTALL_UPDATE%" exit /b %ERRORLEVEL% :resolve_scum_exe set "SCUM_EXE=%SERVER_ROOT_WINDOWS%\%SERVER_EXECUTABLE_REF:/=\%" if exist "%SCUM_EXE%" exit /b 0 set "SCUM_EXE=%SERVER_INSTALL_DIR_WINDOWS%\%SERVER_EXECUTABLE_REF:/=\%" if exist "%SCUM_EXE%" exit /b 0 set "SCUM_EXE=%SERVER_ROOT_WINDOWS%\steamcmd\steamapps\common\SCUM Server\%SERVER_EXECUTABLE_REF:/=\%" if exist "%SCUM_EXE%" exit /b 0 set "SCUM_EXE=%SERVER_ROOT_WINDOWS%\SCUM Server\%SERVER_EXECUTABLE_REF:/=\%" exit /b 0