This repository has been archived on 2026-10-17. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
SashegDev b8e5df778e Модлоадер RustexRemake: агент, патч лаунчера, установщик и сборка
Моды грузятся через -javaagent, game.jar не патчится, переживают ре-обфускацию.

Что внутри:
- агент rsx-bridge.jar: профиль сборки игры, патчи A2/A6, загрузка модов
  через родной загрузчик игры (ilxq -> special.Main)
- патч лаунчера: окно выбора «С модами / Ванилла» по кнопке «Играть»
  и защита от автоапдейта лаунчера
- install/uninstall: всё ставится в %LOCALAPPDATA%\rsx-mod, пути не хардкодятся
- build: три готовых артефакта в dist, нужен только JDK
- testserver: локальный сервер, принимает любой ник и токен

Проверено на живом клиенте: мод грузится и выполняется в игровом потоке,
в логе видно игрока и мир.
2026-10-17 00:32:10 +03:00

41 lines
1.6 KiB
PowerShell

# Starts the patched launcher directly, without updater.exe.
#
# updater.exe re-downloads app.jar whenever its hash differs from the
# manifest, which is exactly what a patched jar looks like - so launching
# through the desktop shortcut silently undoes the patch. This runs the
# launcher itself, with the JavaFX runtime that ships next to it.
$ErrorActionPreference = 'Stop'
$LauncherHome = Join-Path $env:APPDATA 'kjstudio\launcher'
$Java = Join-Path $LauncherHome 'runtime\java\bin\javaw.exe'
$Jar = Join-Path $LauncherHome 'app.jar'
$FxLib = Join-Path $LauncherHome 'runtime\javafx\lib'
$FxBin = Join-Path $LauncherHome 'runtime\javafx\bin'
if (-not (Test-Path $Java) -or -not (Test-Path $Jar)) {
Write-Host " Нет лаунчера: $Jar" -ForegroundColor Red
exit 1
}
Remove-Item (Join-Path $LauncherHome 'app.lock') -Force -ErrorAction SilentlyContinue
$env:JAVA_TOOL_OPTIONS = ''
Write-Host ' Запускаю лаунчер напрямую (без updater.exe)...'
Start-Process -FilePath $Java -ArgumentList @(
'--module-path', "`"$FxLib`"",
'--add-modules', 'ALL-MODULE-PATH',
"-Djava.library.path=`"$FxBin`"",
'-Dprism.order=sw',
'-cp', "`"$Jar`"",
'application.Main'
) -WorkingDirectory $LauncherHome | Out-Null
Start-Sleep -Seconds 12
$up = Get-Process -ErrorAction SilentlyContinue |
Where-Object { $_.MainWindowTitle -like '*Koptojop*' }
if ($up) {
Write-Host ' Лаунчер запущен, окно должно появиться.' -ForegroundColor Green
} else {
Write-Host ' Лаунчер не поднялся, смотри logs в папке лаунчера.' -ForegroundColor Yellow
exit 1
}