@echo off
title DOOM Multiplayer Server/Client
color 0A
:: ============================================
:: НАСТРОЙКИ (ИЗМЕНИ ПОД СЕБЯ)
:: ============================================
set GZDOOM_PATH="C:\GZDoom\gzdoom.exe"
set IWAD="doom2.wad"
set PWAD="" :: Оставь пустым, если нет
set MAP="map01"
set SKILL=4 :: 1-5 (самый сложный - 5)
set MAXPLAYERS=8
set PORT=10666
set EXTRARGS=-host %MAXPLAYERS% -port %PORT% -skill %SKILL% +map %MAP% +sv_cheats 0 +sv_weaponstay 0 +sv_itemrespawn 0
:: ============================================
:: ПРОВЕРКА ФАЙЛОВ
:: ============================================
if not exist %GZDOOM_PATH% (
echo ОШИБКА: GZDoom не найден по пути %GZDOOM_PATH%
echo Измени переменную GZDOOM_PATH в файле.
pause
exit /b
)
if not exist %IWAD% (
echo ОШИБКА: Файл %IWAD% не найден!
echo Положи doom2.wad в папку с этим BAT-файлом.
pause
exit /b
)
:: ============================================
:: ВЫБОР РЕЖИМА
:: ============================================
echo ========================================
echo DOOM MULTIPLAYER MENU
echo ========================================
echo [1] Запустить как СЕРВЕР (хост)
echo [2] Подключиться к СЕРВЕРУ
echo [3] Запустить ОДНОВРЕМЕННО сервер+клиент
echo [4] Сменить порт (сейчас %PORT%)
echo [5] Сменить карту (сейчас %MAP%)
echo ========================================
set /p choice="Выберите действие (1-5): "
if "%choice%"=="4" (
set /p PORT="Введите новый порт (1024-65535): "
set EXTRARGS=-host %MAXPLAYERS% -port %PORT% -skill %SKILL% +map %MAP% +sv_cheats 0 +sv_weaponstay 0 +sv_itemrespawn 0
echo Порт изменён на %PORT%
pause
goto :EOF
)
if "%choice%"=="5" (
set /p MAP="Введите название карты (например map01, map02): "
set EXTRARGS=-host %MAXPLAYERS% -port %PORT% -skill %SKILL% +map %MAP% +sv_cheats 0 +sv_weaponstay 0 +sv_itemrespawn 0
echo Карта изменена на %MAP%
pause
goto :EOF
)
if "%choice%"=="1" goto SERVER
if "%choice%"=="2" goto CLIENT
if "%choice%"=="3" goto BOTH
echo Неверный выбор!
pause
goto :EOF
:: ============================================
:: РЕЖИМЫ ЗАПУСКА
:: ============================================
:SERVER
echo.
echo ========================================
echo ЗАПУСК СЕРВЕРА (порт %PORT%)
echo Чтобы подключиться, введите в консоли:
echo connect 127.0.0.1:%PORT%
echo ========================================
echo.
echo ДЛЯ ОСТАНОВКИ СЕРВЕРА: закройте это окно
echo.
%GZDOOM_PATH% -iwad %IWAD% %PWAD% %EXTRARGS% +sv_hostname "Doom Server" +sv_maxclients %MAXPLAYERS% +sv_banfile banlist.txt
pause
goto :EOF
:CLIENT
echo.
set /p IP="Введите IP сервера (Enter = 127.0.0.1): "
if "%IP%"=="" set IP=127.0.0.1
echo.
echo ПОДКЛЮЧЕНИЕ К %IP%:%PORT%
%GZDOOM_PATH% -iwad %IWAD% %PWAD% -join %IP% -port %PORT%
pause
goto :EOF
:BOTH
echo.
echo ЗАПУСК СЕРВЕРА И КЛИЕНТА В ОДНОМ ОКНЕ
echo (Сервер в фоне, клиент запустится отдельно)
echo.
start "DOOM Server" %GZDOOM_PATH% -iwad %IWAD% %PWAD% %EXTRARGS% +sv_hostname "Doom Server" +sv_maxclients %MAXPLAYERS% +sv_banfile banlist.txt
timeout /t 3 /nobreak >nul
echo Запуск клиента...
%GZDOOM_PATH% -iwad %IWAD% %PWAD% -join 127.0.0.1 -port %PORT%
pause
goto :EOF