Загрузка данных
@echo off
chcp 65001 >nul
title The Pink Valley - Мультиплеер
color 0D
:: Автоопределение папки с игрой
cd /d "%~dp0"
:check_gzdoom
if exist "gzdoom.exe" goto found
if exist "..\gzdoom.exe" (
cd ..
goto found
)
echo ========================================
echo GZDOOM НЕ НАЙДЕН!
echo ========================================
echo.
echo Положи этот файл в папку с gzdoom.exe
echo Или укажи путь вручную:
echo.
set /p gzdoom_path="Путь к gzdoom.exe: "
if exist "%gzdoom_path%" (
cd /d "%gzdoom_path%\.."
goto found
)
echo Неверный путь! Попробуй снова.
pause
goto check_gzdoom
:found
echo GZDoom найден: %cd%\gzdoom.exe
:menu
cls
echo ============================================
echo THE PINK VALLEY - МУЛЬТИПЛЕЕР
echo ============================================
echo.
echo [1] СТАТЬ СЕРВЕРОМ (ХОСТ)
echo [2] ПОДКЛЮЧИТЬСЯ К ДРУГУ
echo [3] ЛОКАЛЬНАЯ СЕТЬ (АВТО)
echo [4] ВЫХОД
echo.
set /p choice="Выбери режим (1-4): "
if "%choice%"=="1" goto host
if "%choice%"=="2" goto client
if "%choice%"=="3" goto lan
if "%choice%"=="4" exit
goto menu
:host
cls
echo.
echo ==========================================
echo ЗАПУСК СЕРВЕРА
echo ==========================================
echo.
echo ВНИМАНИЕ! Твоё устройство станет СЕРВЕРОМ!
echo Все игроки подключатся к ТЕБЕ.
echo При выходе сервер передастся другому.
echo.
set /p players="Сколько игроков (2-8)?: "
if "%players%"=="" set players=4
set /p map="Название карты (MAP01)?: "
if "%map%"=="" set map=MAP01
echo.
echo ==========================================
echo ДАННЫЕ ДЛЯ ПОДКЛЮЧЕНИЯ ДРУЗЕЙ:
echo ==========================================
echo.
echo ТВОЙ IP АДРЕС (дай его друзьям):
for /f "tokens=2 delims=:" %%a in ('ipconfig ^| findstr /i "IPv4" ^| findstr /v "127.0.0.1"') do (
echo >>> %%a
)
echo.
echo Порт: 5029
echo Карта: %map%
echo Игроков: %players%
echo.
echo ==========================================
echo Нажми ЛЮБУЮ КЛАВИШУ для запуска сервера...
pause >nul
start gzdoom.exe -host %players% -warp %map% -file pinkvalley.pk3 pinkvalley_multiplayer.pk3 +set pinkvalley_autohost 1
echo.
echo Сервер запущен! Не закрывай это окно.
echo Для остановки сервера просто закрой GZDoom.
echo.
pause
goto menu
:client
cls
echo.
echo ==========================================
echo ПОДКЛЮЧЕНИЕ К ДРУГУ
echo ==========================================
echo.
echo Попроси у друга его IP адрес
echo (он должен запустить режим СЕРВЕРА)
echo.
set /p host_ip="IP адрес друга: "
if "%host_ip%"=="" goto client
echo.
echo Подключаюсь к %host_ip%:5029...
echo.
echo ==========================================
echo Нажми ЛЮБУЮ КЛАВИШУ для подключения...
pause >nul
start gzdoom.exe -join %host_ip%:5029 -file pinkvalley.pk3 pinkvalley_multiplayer.pk3 +set pinkvalley_autohost 2
echo.
echo Подключение запущено! Жди загрузки...
echo.
pause
goto menu
:lan
cls
echo.
echo ==========================================
echo ЛОКАЛЬНАЯ СЕТЬ
echo ==========================================
echo.
echo Ищу другие серверы в твоей сети...
echo.
:: Показываем свой IP
echo Твой IP:
for /f "tokens=2 delims=:" %%a in ('ipconfig ^| findstr /i "IPv4" ^| findstr /v "127.0.0.1"') do (
set myip=%%a
echo %%a
)
echo.
echo [1] Я буду СЕРВЕРОМ (если ещё нет)
echo [2] Подключиться к существующему серверу
echo.
set /p lan_choice="Выбери (1-2): "
if "%lan_choice%"=="1" (
echo Запускаю сервер для локальной сети...
start gzdoom.exe -host 4 -file pinkvalley.pk3 pinkvalley_multiplayer.pk3 +set pinkvalley_autohost 1
)
if "%lan_choice%"=="2" (
set /p lan_ip="IP сервера в сети: "
start gzdoom.exe -join %lan_ip%:5029 -file pinkvalley.pk3 pinkvalley_multiplayer.pk3 +set pinkvalley_autohost 2
)
echo.
pause
goto menu