Вопрос Не подгружаются ассеты в лоадере, помогите

Начинающий
Статус
Оффлайн
Регистрация
10 Май 2023
Сообщения
580
Реакции[?]
8
Поинты[?]
3K
Я сделал лоадер через ChatGPT (NoAd) и когда у меня все файлы загрузились = ассеты не подгружаются, вот код:

import java.io.*
import java.net.HttpURLConnection
import java.net.URL
import java.util.*
import java.util.zip.ZipEntry
import java.util.zip.ZipInputStream

fun main() {
println("""
███████╗██╗░░░░░██╗░░░░░░█████╗░███╗░░██╗████████╗
██╔════╝██║░░░░░██║░░░░░██╔══██╗████╗░██║╚══██╔══╝
█████╗░░██║░░░░░██║░░░░░███████║██╔██╗██║░░░██║░░░
██╔══╝░░██║░░░░░██║░░░░░██╔══██║██║╚████║░░░██║░░░
███████╗███████╗███████╗██║░░██║██║░╚███║░░░██║░░░
╚══════╝╚══════╝╚══════╝╚═╝░░╚═╝╚═╝░░╚══╝░░░╚═╝░░░
""".trimIndent())

println("\nДобро пожаловать в Ellant Free!\n")

val defaultUsername = "Nakson_Play"

val scanner = Scanner(System.in)

print("[#] Никнейм: ")
val username = scanner.nextLine()

if (username != defaultUsername) {
println("[X] Никнейм введен неправильно, лоадер закрывается.")
println("[X] Лоудер закроется через 5 секунд.")
Thread.sleep(5000)
return
}

print("[#] Количество ОЗУ (в МБ): ")
val memory = scanner.nextInt()

val baseDir = File("C:\\Ellant Free")
val directories = listOf(
baseDir to "",
File(baseDir, "jdk") to "Ссылка на скачивание JDK",
File(baseDir, "assets") to "Ссылка на скачивание ассетов",
File(baseDir, "natives") to "Ссылка на скачивание нативок"
)

directories.forEach { (dir, url) ->
if (!dir.exists()) {
dir.mkdir()
}
val zipFile = File(dir, dir.name + ".zip")
if (url.isNotEmpty() && !zipFile.exists()) {
println("[$] Скачиваю ${dir.name}..")
try {
downloadFile(url, zipFile)
println("[$] ${dir.name} загружен.")
println("[$] Распаковываю ${dir.name}..")
unzip(zipFile, dir)
} catch (e: Exception) {
println("[X] Ошибка при загрузке ${dir.name}: ${e.message}")
return
}
} else {
println("[$] ${dir.name} уже существует, загрузка не требуется.")
}
}

val jarFile = File(baseDir, "Ellant Free.jar")
if (!jarFile.exists()) {
println("[$] Скачиваю джарку..")
try {
downloadFile("Ссылка на скачивание джарки", jarFile)
println("[$] Джарка загружена.")
} catch (e: Exception) {
println("[X] Ошибка при загрузке джарки: ${e.message}")
return
}
} else {
println("[$] Джарка Ellant Free уже существует, загрузка не требуется.")
}

val javaExePath = File(baseDir, "jdk/bin/java.exe").absolutePath
if (!File(javaExePath).exists()) {
println("[X] Исполняемый файл Java не найден в JDK.")
return
}

println("[$] Запуск Эллант Фри..")
try {
val processBuilder = ProcessBuilder(
javaExePath, "-Xmx${memory}M",
"-Djava.library.path=${File(baseDir, "natives").absolutePath}",
"-cp", "${jarFile.absolutePath}${File.pathSeparator}${File(baseDir, "assets").absolutePath}",
"net.minecraft.client.main.Main",
"--username", username,
"--accessToken", "854",
"--version", "Optifine 1.16.5"
)
processBuilder.directory(baseDir)
processBuilder.redirectErrorStream(true)
val process = processBuilder.start()

BufferedReader(InputStreamReader(process.inputStream)).use { reader ->
reader.lines().forEach { println(it) }
}

val exitCode = process.waitFor()
println("[X] Клиент был закрыт. Код завершения: $exitCode")
} catch (e: Exception) {
println("[X] Ошибка при запуске клиента: ${e.message}")
}
}

fun downloadFile(url: String, destination: File) {
val connection = URL(url).openConnection() as HttpURLConnection
connection.requestMethod = "GET"
connection.connect()

val fileSize = connection.contentLengthLong
val buffer = ByteArray(1024)
var bytesRead: Int
var totalBytesRead: Long = 0

println("[@] Скачиваю файл ${destination.name}:")

connection.inputStream.use { input ->
FileOutputStream(destination).use { output ->
while (input.read(buffer).also { bytesRead = it } != -1) {
output.write(buffer, 0, bytesRead)
totalBytesRead += bytesRead
val progress = ((totalBytesRead.toDouble() / fileSize) * 100).toInt()
print("\r[$] Скачивание ${destination.name} - $progress%")
}
}
}
println()
}

fun unzip(zipFile: File, outputDir: File) {
ZipInputStream(FileInputStream(zipFile)).use { zis ->
var entry: ZipEntry?
while (zis.nextEntry.also { entry = it } != null) {
val newFile = File(outputDir, entry!!.name)
if (entry!!.isDirectory) {
newFile.mkdirs()
} else {
newFile.parentFile?.mkdirs()
FileOutputStream(newFile).use { fos ->
zis.copyTo(fos)
}
}
}
}
}


Помогите
 
Начинающий
Статус
Оффлайн
Регистрация
29 Авг 2021
Сообщения
15
Реакции[?]
0
Поинты[?]
0
Привет, замени это
"--username", username,
"--accessToken", "854",
"--version", "Optifine 1.16.5"
на это:
"--username", username,
"--accessToken", "854",
"--version", "Optifine 1.16.5",
"--assetsDir=(путь до папки с ассетами)"
 
Забаненный
Статус
Оффлайн
Регистрация
2 Фев 2024
Сообщения
852
Реакции[?]
7
Поинты[?]
4K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Я сделал лоадер через ChatGPT (NoAd) и когда у меня все файлы загрузились = ассеты не подгружаются, вот код:

import java.io.*
import java.net.HttpURLConnection
import java.net.URL
import java.util.*
import java.util.zip.ZipEntry
import java.util.zip.ZipInputStream

fun main() {
println("""
███████╗██╗░░░░░██╗░░░░░░█████╗░███╗░░██╗████████╗
██╔════╝██║░░░░░██║░░░░░██╔══██╗████╗░██║╚══██╔══╝
█████╗░░██║░░░░░██║░░░░░███████║██╔██╗██║░░░██║░░░
██╔══╝░░██║░░░░░██║░░░░░██╔══██║██║╚████║░░░██║░░░
███████╗███████╗███████╗██║░░██║██║░╚███║░░░██║░░░
╚══════╝╚══════╝╚══════╝╚═╝░░╚═╝╚═╝░░╚══╝░░░╚═╝░░░
""".trimIndent())

println("\nДобро пожаловать в Ellant Free!\n")

val defaultUsername = "Nakson_Play"

val scanner = Scanner(System.in)

print("[#] Никнейм: ")
val username = scanner.nextLine()

if (username != defaultUsername) {
println("[X] Никнейм введен неправильно, лоадер закрывается.")
println("[X] Лоудер закроется через 5 секунд.")
Thread.sleep(5000)
return
}

print("[#] Количество ОЗУ (в МБ): ")
val memory = scanner.nextInt()

val baseDir = File("C:\\Ellant Free")
val directories = listOf(
baseDir to "",
File(baseDir, "jdk") to "Ссылка на скачивание JDK",
File(baseDir, "assets") to "Ссылка на скачивание ассетов",
File(baseDir, "natives") to "Ссылка на скачивание нативок"
)

directories.forEach { (dir, url) ->
if (!dir.exists()) {
dir.mkdir()
}
val zipFile = File(dir, dir.name + ".zip")
if (url.isNotEmpty() && !zipFile.exists()) {
println("[$] Скачиваю ${dir.name}..")
try {
downloadFile(url, zipFile)
println("[$] ${dir.name} загружен.")
println("[$] Распаковываю ${dir.name}..")
unzip(zipFile, dir)
} catch (e: Exception) {
println("[X] Ошибка при загрузке ${dir.name}: ${e.message}")
return
}
} else {
println("[$] ${dir.name} уже существует, загрузка не требуется.")
}
}

val jarFile = File(baseDir, "Ellant Free.jar")
if (!jarFile.exists()) {
println("[$] Скачиваю джарку..")
try {
downloadFile("Ссылка на скачивание джарки", jarFile)
println("[$] Джарка загружена.")
} catch (e: Exception) {
println("[X] Ошибка при загрузке джарки: ${e.message}")
return
}
} else {
println("[$] Джарка Ellant Free уже существует, загрузка не требуется.")
}

val javaExePath = File(baseDir, "jdk/bin/java.exe").absolutePath
if (!File(javaExePath).exists()) {
println("[X] Исполняемый файл Java не найден в JDK.")
return
}

println("[$] Запуск Эллант Фри..")
try {
val processBuilder = ProcessBuilder(
javaExePath, "-Xmx${memory}M",
"-Djava.library.path=${File(baseDir, "natives").absolutePath}",
"-cp", "${jarFile.absolutePath}${File.pathSeparator}${File(baseDir, "assets").absolutePath}",
"net.minecraft.client.main.Main",
"--username", username,
"--accessToken", "854",
"--version", "Optifine 1.16.5"
)
processBuilder.directory(baseDir)
processBuilder.redirectErrorStream(true)
val process = processBuilder.start()

BufferedReader(InputStreamReader(process.inputStream)).use { reader ->
reader.lines().forEach { println(it) }
}

val exitCode = process.waitFor()
println("[X] Клиент был закрыт. Код завершения: $exitCode")
} catch (e: Exception) {
println("[X] Ошибка при запуске клиента: ${e.message}")
}
}

fun downloadFile(url: String, destination: File) {
val connection = URL(url).openConnection() as HttpURLConnection
connection.requestMethod = "GET"
connection.connect()

val fileSize = connection.contentLengthLong
val buffer = ByteArray(1024)
var bytesRead: Int
var totalBytesRead: Long = 0

println("[@] Скачиваю файл ${destination.name}:")

connection.inputStream.use { input ->
FileOutputStream(destination).use { output ->
while (input.read(buffer).also { bytesRead = it } != -1) {
output.write(buffer, 0, bytesRead)
totalBytesRead += bytesRead
val progress = ((totalBytesRead.toDouble() / fileSize) * 100).toInt()
print("\r[$] Скачивание ${destination.name} - $progress%")
}
}
}
println()
}

fun unzip(zipFile: File, outputDir: File) {
ZipInputStream(FileInputStream(zipFile)).use { zis ->
var entry: ZipEntry?
while (zis.nextEntry.also { entry = it } != null) {
val newFile = File(outputDir, entry!!.name)
if (entry!!.isDirectory) {
newFile.mkdirs()
} else {
newFile.parentFile?.mkdirs()
FileOutputStream(newFile).use { fos ->
zis.copyTo(fos)
}
}
}
}
}


Помогите
лоадер на джава? сильно
 
Начинающий
Статус
Оффлайн
Регистрация
10 Май 2023
Сообщения
580
Реакции[?]
8
Поинты[?]
3K
Привет, замени это
"--username", username,
"--accessToken", "854",
"--version", "Optifine 1.16.5"
на это:
"--username", username,
"--accessToken", "854",
"--version", "Optifine 1.16.5",
"--assetsDir=(путь до папки с ассетами)"
Не помогло :(
лоадер на джава? сильно
Я не ебу, как сделать его на пайтоне
 
Забаненный
Статус
Оффлайн
Регистрация
2 Фев 2024
Сообщения
852
Реакции[?]
7
Поинты[?]
4K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Забаненный
Статус
Оффлайн
Регистрация
2 Фев 2024
Сообщения
852
Реакции[?]
7
Поинты[?]
4K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Забаненный
Статус
Оффлайн
Регистрация
2 Фев 2024
Сообщения
852
Реакции[?]
7
Поинты[?]
4K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Забаненный
Статус
Оффлайн
Регистрация
2 Фев 2024
Сообщения
852
Реакции[?]
7
Поинты[?]
4K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Начинающий
Статус
Оффлайн
Регистрация
10 Май 2023
Сообщения
580
Реакции[?]
8
Поинты[?]
3K
могу через 4 часа в дс пойти помочь

могу дать гуй лоадер вилда там чучуть дописать нада думаю сделаеш
не надо, мне главное забилдить лоадер на C# в exe и сделать так чтобы он открывался через консоль, только вопрос, как забилдить?
 
Забаненный
Статус
Оффлайн
Регистрация
2 Фев 2024
Сообщения
852
Реакции[?]
7
Поинты[?]
4K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
не надо, мне главное забилдить лоадер на C# в exe и сделать так чтобы он открывался через консоль, только вопрос, как забилдить?
dotnet run запустить dotnet build - public вроде так
 
Забаненный
Статус
Оффлайн
Регистрация
2 Фев 2024
Сообщения
852
Реакции[?]
7
Поинты[?]
4K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
сможешь помочь, когда будешь свободен? Дс: nakson_play
ок могу дать скид нурик лоадера там типо полная копия с запуском и проверкой файлов кроме загрузки файлов из сайта
 
Начинающий
Статус
Оффлайн
Регистрация
10 Май 2023
Сообщения
580
Реакции[?]
8
Поинты[?]
3K
Забаненный
Статус
Оффлайн
Регистрация
2 Фев 2024
Сообщения
852
Реакции[?]
7
Поинты[?]
4K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Сверху Снизу