
RDO solo. (Not a mod and not bannable)
Hello there, i made an .bat based code using ai that lets you play RDO solo without any other players. It works in way that it creates an firewall thingy that does block your player data or whatever transition with other players blocking P2P system of RDO and all this in the interface made in command bar, Also this prevents almost any crashes.
If u wanna use it then can just make .txt file and text the code ill paste lower and then "Save as" then choose .bat file and save it. then if u open it with admin perm just use instruction in the interface.
(THE INTERFACE HAS ONE MEME FEATURE DON'T MIND IT. "kitty" COMMAND. u also can see this weird thing in the code so just ignore it)
Right now the interface supports 2 languages Russian and English that is choosen when bat is opened
The recording (without interface)
Now time for the code i was talking about before (CHANGE THE u/echo AT START ON @ echo without space, cuz the reddit changes it to u/echo) or also u can install the txt file on this file loader https://fileport.io/DWwfgPbBNwpb it is random file loader i found so idk how long this link will be active:
u/echo off
setlocal enabledelayedexpansion
:: Настройка шрифта консоли на Lucida Console и кодировки на UTF-8
reg add "HKCU\Console" /v "FaceName" /t REG_SZ /d "Lucida Console" /f >nul 2>&1
reg add "HKCU\Console" /v "CodePage" /t REG_DWORD /d 65001 /f >nul 2>&1
chcp 65001 > nul
:: Проверка прав администратора / Check for Administrator privileges
net session >nul 2>&1
if %errorLevel% neq 0 (
echo ОШИБКА: Запустите этот файл от имени Администратора!
echo ERROR: Please right-click this file and select "Run as Administrator"!
pause
exit /b
)
:: ============================================================================
:: [ LANGUAGE SELECT BLOCK ]
:: ============================================================================
:lang_select
cls
echo ==========================================
echo SELECT LANGUAGE / ВЫБЕРИТЕ ЯЗЫК
echo ==========================================
echo [ENG] - English Language
echo [RU] - Русский язык
echo ==========================================
set "lang="
set /p lang="Type ENG or RU: "
if /i "%lang%"=="eng" goto menu_eng
if /i "%lang%"=="ru" goto menu_ru
goto lang_select
:: ============================================================================
:: [ ENGLISH INTERFACE MENU ]
:: ============================================================================
:menu_eng
cls
echo ==========================================
echo RDO SOLO LOBBY MANAGER (V7)
echo ==========================================
netsh advfirewall firewall show rule name="RDO_SOLO" >nul 2>&1
if %errorLevel% == 0 (
netsh advfirewall firewall show rule name="RDO_SOLO" | findstr /i "Enabled" | findstr /i "Yes" >nul 2>&1
if !errorLevel! == 0 (
echo RDO Solo STATUS: Enabled
) else (
echo RDO Solo STATUS: Disabled
)
) else (
echo RDO Solo STATUS: The required rule is not created! (Option 4.)
)
echo ==========================================
echo 1. Kick everyone / Join Solo RDO
echo -
echo 2. Enable Firewall Rule (Enable RDO-Solo)
echo 3. Disable Firewall Rule (Disable RDO-Solo)
echo -
echo 4. CREATE Firewall Rule (Kept disabled)
echo 5. DELETE Firewall Rule
echo -
echo 6. Change Language / Сменить язык
echo 7. Exit
echo ==========================================
echo Type 'helpme' for instructions
echo Type 'kitty' to install viruses on your pc ;3
echo ==========================================
set "choice="
set /p choice="Choose an option: "
if /i "%choice%"=="helpme" goto help_eng
if /i "%choice%"=="kitty" goto kitty_page
if "%choice%"=="1" goto kick_everyone_eng
if "%choice%"=="2" goto enable_rule_eng
if "%choice%"=="3" goto disable_rule_eng
if "%choice%"=="4" goto create_rule_eng
if "%choice%"=="5" goto delete_rule_eng
if "%choice%"=="6" goto lang_select
if "%choice%"=="7" goto exit
goto menu_eng
:: ============================================================================
:: [ ENG FUNCTIONS ]
:: ============================================================================
:kick_everyone_eng
cls
tasklist /FI "IMAGENAME eq RDR2.exe" 2>NUL | find /I /N "RDR2.exe">NUL
if %errorLevel% neq 0 (
echo [ERROR] RDR2.exe is not running!
echo You cannot use this function while the game is closed.
pause
goto menu_eng
)
netsh advfirewall firewall show rule name="RDO_SOLO" >nul 2>&1
if %errorLevel% neq 0 (
echo [ERROR] Firewall rule 'RDO_SOLO' does not exist!
echo Create the rule first using Option 4.
pause
goto menu_eng
)
echo Freezing RDR2...
call :do_freeze
:: Запуск визуальной анимации на 8 секунд
for /l %%i in (1,1,8) do (
cls
echo ==========================================
if %%i==1 ( set "spin=|" & set "bar=▒▒▒▒▒▒▒▒" & set "pct=0" )
if %%i==2 ( set "spin=/" & set "bar=█▒▒▒▒▒▒▒" & set "pct=12" )
if %%i==3 ( set "spin=-" & set "bar=██▒▒▒▒▒▒" & set "pct=25" )
if %%i==4 ( set "spin=\" & set "bar=███▒▒▒▒▒" & set "pct=37" )
if %%i==5 ( set "spin=|" & set "bar=████▒▒▒▒" & set "pct=50" )
if %%i==6 ( set "spin=/" & set "bar=█████▒▒▒" & set "pct=62" )
if %%i==7 ( set "spin=-" & set "bar=██████▒▒" & set "pct=75" )
if %%i==8 ( set "spin=\" & set "bar=███████▒" & set "pct=87" )
echo LOADING [!spin!]
echo ==========================================
echo !bar! !pct!%%
timeout /t 1 /nobreak >nul
)
cls
echo ==========================================
echo LOADING DONE
echo ==========================================
echo ████████ 100%%
echo.
echo Resuming RDR2...
call :do_resume
echo [ DONE ] Other players are gone. Go back to RDR2!
echo.
pause
goto menu_eng
:enable_rule_eng
cls
netsh advfirewall firewall show rule name="RDO_SOLO" >nul 2>&1
if %errorLevel% neq 0 (
echo [ERROR] Firewall rule 'RDO_SOLO' does not exist!
echo Please create the rule first using Option 4.
pause
goto menu_eng
)
echo Enabling firewall rule...
netsh advfirewall firewall set rule name="RDO_SOLO" new enable=yes >nul 2>&1
echo Solo lobby restrictions are now ENABLED!
timeout /t 2 >nul
goto menu_eng
:disable_rule_eng
cls
netsh advfirewall firewall show rule name="RDO_SOLO" >nul 2>&1
if %errorLevel% neq 0 (
echo [ERROR] Firewall rule 'RDO_SOLO' does not exist!
echo There is nothing to disable.
pause
goto menu_eng
)
echo Disabling firewall rule...
netsh advfirewall firewall set rule name="RDO_SOLO" new enable=no >nul 2>&1
echo Solo lobby restrictions are now DISABLED!
timeout /t 2 >nul
goto menu_eng
:create_rule_eng
cls
echo Creating firewall rule...
netsh advfirewall firewall delete rule name="RDO_SOLO" >nul 2>&1
netsh advfirewall firewall add rule name="RDO_SOLO" dir=out action=block protocol=UDP remoteport=6672,61455,61457,61456,61458 enable=no >nul
echo Rule "RDO_SOLO" successfully CREATED (Status: Disabled).
timeout /t 2 >nul
goto menu_eng
:delete_rule_eng
cls
netsh advfirewall firewall show rule name="RDO_SOLO" >nul 2>&1
if %errorLevel% neq 0 (
echo [ERROR] Firewall rule 'RDO_SOLO' does not exist anyway!
pause
goto menu_eng
)
echo Deleting firewall rule from Windows...
:: Полная принудительная зачистка со всех профилей и направлений
netsh advfirewall firewall set rule name="RDO_SOLO" new enable=no >nul 2>&1
netsh advfirewall firewall delete rule name="RDO_SOLO" dir=out >nul 2>&1
netsh advfirewall firewall delete rule name="RDO_SOLO" >nul 2>&1
echo Rule "RDO_SOLO" successfully REMOVED.
timeout /t 2 >nul
goto menu_eng
:help_eng
cls
echo ==========================================
echo HOW TO USE THE SOLO LOBBY
echo ==========================================
echo 1. First, select Option 4 to create the
echo required rule component in the system.
echo.
echo 2. Make sure RDO Solo STATUS: Disabled.
echo.
echo 3. Launch RDO and load fully into an open
echo session with all other players.
echo.
echo 4. Alt+Tab to this script and select Option 2
echo to enable solo mode.
echo.
echo 5. Select Option 1 to "kick" players.
echo.
echo DO NOT IGNOR the RDO Solo status!
echo Track it on top of the main menu.
echo.
echo Additional Info:
echo This system works because when the game loads
echo fully, we block its access to resending player
echo packets to others (P2P system connects directly
echo to random hosts without a central server). Since
echo the game cannot pass your packets and connection
echo is impossible without it, the game redirects you
echo to your own personal host. It prevents players
echo from joining while packets are blocked. Don't
echo worry, you aren't actually kicking people, you
echo are just transferred to your own host. Option 1
echo (named player kick) freezes your game so RDR2
echo attempts to migrate you due to an artificial
echo connection error, moving you to your personal
echo server because of the aforementioned block.
echo ==========================================
pause
goto menu_eng
:: ============================================================================
:: [ RUSSIAN INTERFACE MENU ]
:: ============================================================================
:menu_ru
cls
echo ==========================================
echo УПРАВЛЕНИЕ СОЛО-ЛОББИ RDO (V7)
echo ==========================================
netsh advfirewall firewall show rule name="RDO_SOLO" >nul 2>&1
if %errorLevel% == 0 (
netsh advfirewall firewall show rule name="RDO_SOLO" | findstr /i "Enabled" | findstr /i "Yes" >nul 2>&1
if !errorLevel! == 0 (
echo СТАТУС RDO Solo: Включён
) else (
echo СТАТУС RDO Solo: Отключён
)
) else (
echo СТАТУС RDO Solo: Нужное правило не создано! (Пункт 4.)
)
echo ==========================================
echo 1. Выгнать всех / Перейти в соло лобби
echo -
echo 2. Включить правило (Активировать Соло)
echo 3. Выключить правило (Деактивировать Соло)
echo -
echo 4. СОЗДАТЬ правило брандмауэра (По умолч. выкл)
echo 5. УДАЛИТЬ правило брандмауэра
echo -
echo 6. Сменить язык / Change Language
echo 7. Выход
echo ==========================================
echo Введите 'helpme' для инструкции
echo Введите 'kitty' чтобы "скачать вирусы" ;3
echo ==========================================
set "choice="
set /p choice="Выберите пункт меню: "
if /i "%choice%"=="helpme" goto help_ru
if /i "%choice%"=="kitty" goto kitty_page
if "%choice%"=="1" goto kick_everyone_ru
if "%choice%"=="2" goto enable_rule_ru
if "%choice%"=="3" goto disable_rule_ru
if "%choice%"=="4" goto create_rule_ru
if "%choice%"=="5" goto delete_rule_ru
if "%choice%"=="6" goto lang_select
if "%choice%"=="7" goto exit
goto menu_ru
:: ============================================================================
:: [ RU FUNCTIONS ]
:: ============================================================================
:kick_everyone_ru
cls
tasklist /FI "IMAGENAME eq RDR2.exe" 2>NUL | find /I /N "RDR2.exe">NUL
if %errorLevel% neq 0 (
echo [ОШИБКА] Процесс RDR2.exe не запущен!
echo Вы не можете использовать эту функцию, пока игра выключена.
pause
goto menu_ru
)
netsh advfirewall firewall show rule name="RDO_SOLO" >nul 2>&1
if %errorLevel% neq 0 (
echo [ОШИБКА] Правило брандмауэра 'RDO_SOLO' не создано!
echo Выберите Пункт 4 в меню, чтобы сначала создать его.
pause
goto menu_ru
)
echo Замораживаем процесс RDR2...
call :do_freeze
:: Запуск визуальной анимации на 8 секунд
for /l %%i in (1,1,8) do (
cls
echo ==========================================
if %%i==1 ( set "spin=|" & set "bar=▒▒▒▒▒▒▒▒" & set "pct=0" )
if %%i==2 ( set "spin=/" & set "bar=█▒▒▒▒▒▒▒" & set "pct=12" )
if %%i==3 ( set "spin=-" & set "bar=██▒▒▒▒▒▒" & set "pct=25" )
if %%i==4 ( set "spin=\" & set "bar=███▒▒▒▒▒" & set "pct=37" )
if %%i==5 ( set "spin=|" & set "bar=████▒▒▒▒" & set "pct=50" )
if %%i==6 ( set "spin=/" & set "bar=█████▒▒▒" & set "pct=62" )
if %%i==7 ( set "spin=-" & set "bar=██████▒▒" & set "pct=75" )
if %%i==8 ( set "spin=\" & set "bar=███████▒" & set "pct=87" )
echo LOADING [!spin!]
echo ==========================================
echo !bar! !pct!%%
timeout /t 1 /nobreak >nul
)
cls
echo ==========================================
echo LOADING DONE
echo ==========================================
echo ████████ 100%%
echo.
echo Возобновляем процесс RDR2...
call :do_resume
echo [ ГОТОВО ] Игроки отключены. Возвращайся в RDR2!
echo.
pause
goto menu_ru
:enable_rule_ru
cls
netsh advfirewall firewall show rule name="RDO_SOLO" >nul 2>&1
if %errorLevel% neq 0 (
echo [ОШИБКА] Правило брандмауэра 'RDO_SOLO' не создано!
echo Выберите Пункт 4 в меню, чтобы сначала создать его.
pause
goto menu_ru
)
echo Включение правила брандмауэра...
netsh advfirewall firewall set rule name="RDO_SOLO" new enable=yes >nul 2>&1
echo Ограничения соло-лобби успешно ВКЛЮЧЕНЫ!
timeout /t 2 >nul
goto menu_ru
:disable_rule_ru
cls
netsh advfirewall firewall show rule name="RDO_SOLO" >nul 2>&1
if %errorLevel% neq 0 (
echo [ОШИБКА] Правило брандмауэра 'RDO_SOLO' не создано!
echo Отключать нечего.
pause
goto menu_ru
)
echo Отключение правила брандмауэра...
netsh advfirewall firewall set rule name="RDO_SOLO" new enable=no >nul 2>&1
echo Ограничения соло-лобби успешно ВЫКЛЮЧЕНЫ!
timeout /t 2 >nul
goto menu_ru
:create_rule_ru
cls
echo Создание правила брандмауэра...
netsh advfirewall firewall delete rule name="RDO_SOLO" >nul 2>&1
netsh advfirewall firewall add rule name="RDO_SOLO" dir=out action=block protocol=UDP remoteport=6672,61455,61457,61456,61458 enable=no >nul
echo Правило "RDO_SOLO" успешно СОЗДАНО (Статус: Выключено).
timeout /t 2 >nul
goto menu_ru
:delete_rule_ru
cls
netsh advfirewall firewall show rule name="RDO_SOLO" >nul 2>&1
if %errorLevel% neq 0 (
echo [ОШИБКА] Правило брандмауэра 'RDO_SOLO' и так не существует!
pause
goto menu_ru
)
echo Полное удаление правила из Windows...
:: Полная принудительная зачистка со всех профилей и направлений
netsh advfirewall firewall set rule name="RDO_SOLO" new enable=no >nul 2>&1
netsh advfirewall firewall delete rule name="RDO_SOLO" dir=out >nul 2>&1
netsh advfirewall firewall delete rule name="RDO_SOLO" >nul 2>&1
echo Правило "RDO_SOLO" успешно УДАЛЕНО из системы.
timeout /t 2 >nul
goto menu_ru
:help_ru
cls
echo ==========================================
echo КАК ПОЛЬЗОВАТЬСЯ СОЛО ЛОББИ
echo ==========================================
echo 1. Сначала выберите Пункт 4, чтобы создать
echo необходимое правило в системе.
echo.
echo 2. Убедитесь, что СТАТУС RDO Solo: Отключён.
echo.
echo 3. Запустите RDO и полностью загрузитесь
echo в открытую сессию с другими игроками.
echo.
echo 4. Сверните игру через Alt+Tab и выберите
echo Пункт 2, чтобы активировать соло-режим.
echo.
echo 5. Выберите Пункт 1, чтобы "кикнуть" игроков.
echo.
echo НЕ ИГНОРИРУЙТЕ статус RDO Solo
echo Отслеживайте его в верхней части меню.
echo.
echo Дополнительная информация:
echo Эта система работает, потому что при загрузке
echo игры мы блокируем её доступ к пересылке пакетов
echo другим игрокам (P2P система подключается
echo напрямую без центрального сервера). Так как
echo игра не может передать ваши пакеты, она не
echo подключает вас к НОВЫМ игрокам.
echo Пункт 1 (названный киком) искусственно
echo замораживает игру, вызывая ошибку соединения.
echo При попытке переподключения изза ошибки игра мигрирует
echo вас на личный хост с ошибкой, а включенное
echo правило запрещает кому-либо зайти.
echo ==========================================
pause
goto menu_ru
:: ============================================================================
:: [ ИЗОЛИРОВАННЫЕ КОМАНДЫ ИЗ ВАШЕГО УСПЕШНОГО ТЕСТА ]
:: ============================================================================
:do_freeze
powershell -NoProfile -Command "$p = Get-Process RDR2 -ErrorAction SilentlyContinue; if($p) { $type = Add-Type -MemberDefinition '[DllImport(\"ntdll.dll\")] public static extern int NtSuspendProcess(IntPtr handle);' -Name 'Nt' -Namespace 'Win' -PassThru; $type::NtSuspendProcess($p.Handle); }" >nul 2>&1
exit /b
:do_resume
powershell -NoProfile -Command "$p = Get-Process RDR2 -ErrorAction SilentlyContinue; if($p) { $type = Add-Type -MemberDefinition '[DllImport(\"ntdll.dll\")] public static extern int NtResumeProcess(IntPtr handle);' -Name 'Nt' -Namespace 'Win' -PassThru; $type::NtResumeProcess($p.Handle); }" >nul 2>&1
exit /b
:: ============================================================================
:: [ SECRET KITTY PAGE ]
:: ============================================================================
:kitty_page
cls
echo Nuh uh no viruses >;3
echo Opening the cute kitty...
echo.
start "" "https://youtube.com"
powershell -NoProfile -Command "$txt = Get-Content -LiteralPath '%~f0' -Encoding UTF8; $idx = [array]::IndexOf($txt, ':: [KITTY_ART_DATA]'); if($idx -ge 0){ $txt[($idx+1)..($txt.Length-1)] | Out-File -LiteralPath 'kitty.txt' -Encoding UTF8 }" >nul 2>&1
start /wait notepad.exe kitty.txt
del kitty.txt >nul 2>&1
if /i "%lang%"=="eng" goto menu_eng
if /i "%lang%"=="ru" goto menu_ru
:exit
cls
echo Exiting...
timeout /t 2 >nul
exit /b
:: [KITTY_ART_DATA]
Nuh uh no viruses ˃;3
ᥴᥙ𝗍e ⲥat ₍ᐢ. .ᐢ₎ ₊˚⊹♡
⠀⠀⠀⠀⠀⠀⣠⣶⣶⢶⣶⣶⣶⣤⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⣤⣀⡀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⢰⡿⠃⠀⠀⠀⠀⠀⠉⠙⢻⣦⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣀⠀⢀⣠⣶⠿⠛⠉⠉⠙⣿⡄⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠩⠉⠈⠇⠀⠀⢈⠀⠈⠉⠉⠛⠻⠟⠋⠁⠀⠀⠀⠀⠀⣿⡇⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⢸⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⠀⠀⠀⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⠃⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠈⣿⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⠀⠀⠀⠈⠀⠁⠀⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡟⠀⠀⠀⠀⠀⠀
⠀⣀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣴⣶⣶⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠃⠀⠀⠀⠀⠀⠀
⠀⠛⠿⢶⣤⣄⠀⢀⣴⡟⠋⠉⠉⠙⣿⣿⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⣤⣶⣿⣿⣿⣿⣷⣦⡀⠀⠀⠀⢀⣠⣴⡆⠀
⠀⠀⠀⠀⠈⠉⠀⣾⣿⣧⠀⠀⠀⣠⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⣰⣿⣿⠋⠁⠀⠀⠈⣿⣿⣿⡆⠰⡿⠟⠋⠁⠀⠀
⢠⣴⣦⣤⣤⡀⠀⣿⣿⣿⣶⣶⣶⣿⣿⣿⣿⣿⣷⠀⠀⠀⠀⠀⢀⣿⣿⣿⣄⡀⠀⣀⣰⣿⣿⣿⡇⠀⠁⠀⠀⠀⠀⠀
⠀⠀⠀⠉⠉⠁⠀⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠶⠶⠶⠶⠶⠆
⠀⠀⠀⠀⠀⠀⠆⠀⠀⣹⣿⣿⣿⣿⣿⣧⣿⣿⠟⠀⠀⠀⠀⠀⢹⣿⣿⣿⣿⣿⣻⣿⣿⣿⡿⠟⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣾⣍⣛⠿⠿⠿⠛⠁⠀⠀⠀⠀⠀⠀⠀⠙⠿⣿⣿⣿⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠻⣾⣍⣛⠿⠿⠿⠛⠁⠀⠀⠀⠀⠀⠀⠀⠙⠿⣿⣿⣿⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢿⣶⠀⠀⠀⠀⠈⠁⠉⠀⣠⣽⠟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⡀⢀⣤⣤⣤⣤⠀⣸⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠿⠿⠋⠁___⠛⠿⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀