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

42 lines
1.0 KiB
Groovy

// Build settings for a RustexRemake mod.
//
// A mod is compiled ONCE against the stable API and never rebuilt: the bridge
// resolves every logical name against whatever build is installed, so a vendor
// re-obfuscation does not invalidate anything that was already built.
plugins {
id 'java'
}
group = 'com.example'
version = '1.0.0'
java {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
dependencies {
// the only thing a mod ever compiles against
compileOnly files('libs/rsx-api.jar')
}
tasks.withType(JavaCompile).configureEach {
options.encoding = 'UTF-8'
options.release = 8
}
jar {
archiveFileName = "${project.name}.jar"
manifest {
// the bridge reads this to find the class to instantiate
attributes('Rsx-Mod-Entrypoint': 'com.example.ExampleMod')
}
}
// convenience: drop the built mod straight into the client's mods folder
tasks.register('installMod', Copy) {
dependsOn 'jar'
from jar
into "${projectDir}/../../rsx-mod/mods"
}