Войти или зарегистрироваться

Утилита [BATCH] Скрипт для сборки клиента из лицензии

TaoGunner

Активный участник
Пользователь
Баллы
66
Имя в Minecraft
TaoGunner
Исключительно для обучения! Скрипт только для обладателей лицензии. Позволяет быстро сделать полную копию лицензионного клиента в указанный каталог, для дальнейших экспериментов или для раздачи друзьям. Да, понимаю, что есть TLauncher'ы и прочее, но если хочется собрать клиент собственноручно, можно посмотреть, что делает скрипт и попытаться повторить процесс самостоятельно

Внимание! Данный скрипт на этапе 0 удаляет все версии Minecraft из каталога лицензии для дальнейшей перекачки и создания клиента только из нужных файлов.

Как с этим работать:
  • Переименовать start.txt в start.bat;
  • Запустить скрипт. Он почистит папку .minecraft и сам запустит официальный лаунчер, после чего будет ждать вашей команды на продолжение;
  • В официальном лаунчере выбираете нужную вам версию, качаете и запускаете её;
  • После запуска клиента переходите в скрипт и периодически жмете [Enter]. Этапы создания клиента продолжатся;
  • Клиент собран, осталось только отредактировать скрипт запуска run.bat. Открываете его блокнотом, меняете имя, accessToken, версию;
  • Проверяете работоспособность.
Что в результате? :
В результате мы имеем чистый клиент без мусора, который запускается через bat-файл run.bat, в котором есть возможность редактировать параметры запуска. После того, как клиент закрывается, bat-файл удаляет конфиги, настройки и прочее, сохраняя клиент чистым. Кстати да, bat-файл тоже полезен для изучения начинающим.

upload_2019-3-24_16-18-10.png
В данном случае чистый клиент для версии 1.10.2 весит 140МБ.
​
Код скрипта :

Код:
REM | ЗДЕСЬ УКАЖИТЕ ПУТЬ ДЛЯ СОЗДАНИЯ КАТАЛОГА
SET DESTINATION=C:\Minecraft-Client

REM | ЭТАП №0 : ПОЛНОЕ УДАЛЕНИЕ ВСЕХ ОРИГИНАЛЬНЫХ ФАЙЛОВ MINECRAFT ДЛЯ ДАЛЬНЕЙШЕЙ ПЕРЕКАЧКИ
REM | ПОСЛЕ ЭТОГО ЭТАПА ОБЯЗАТЕЛЬНО ЗАПУСТИТЕ ЛАУНЧЕР И ПЕРЕКАЧАЙТЕ !НУЖНУЮ! ВЕРСИЮ КЛИЕНТА
RMDIR /S /Q %APPDATA%\.minecraft\libraries
RMDIR /S /Q %APPDATA%\.minecraft\assets
RMDIR /S /Q %APPDATA%\.minecraft\versions
CD "%ProgramFiles(x86)%
CD "Minecraft Launcher"
START MinecraftLauncher.exe
CLS
ECHO !!! СЕЙЧАС СКАЧАЙТЕ НУЖНУЮ ВЕРСИЮ КЛИЕНТА И ЗАТЕМ НАЖМИТЕ [ENTER] !!!
PAUSE
ECHO !!! ВЫ ТОЧНО ГОТОВЫ? !!!
PAUSE
CLS

REM | ЭТАП №1 : ЕСЛИ В КАТАЛОГЕ ЧТО-ТО УЖЕ БЫЛО - ЭТО УДАЛИТСЯ!!!
RMDIR /S /Q %DESTINATION%\libraries
RMDIR /S /Q %DESTINATION%\assets
DEL %DESTINATION%\*.jar
DEL %DESTINATION%\run.bat
PAUSE
CLS

REM | ЭТАП №2 : СОЗДАНИЕ НОВЫХ ПОДКАТАЛОГОВ ДЛЯ КЛИЕНТА
mkdir %DESTINATION%\libraries
mkdir %DESTINATION%\libraries\natives
mkdir %DESTINATION%\assets
PAUSE
CLS

REM | ЭТАП №3 : КОПИРОВАНИЕ ВСЕХ БИБЛИОТЕК И АССЕТОВ
for /R "%APPDATA%\.minecraft\libraries\" %%n in ("*.jar") do ( copy %%n %DESTINATION%\libraries\ )
for /R "%APPDATA%\.minecraft\versions\" %%n in ("*.jar") do ( copy %%n %DESTINATION%\ )
XCOPY %APPDATA%\.minecraft\assets %DESTINATION%\assets\ /E
PAUSE
CLS

REM | ЭТАП №4 : РАСПАКОВКА НАТИВНЫХ БИБЛИОТЕК И ЧИСТКА ЗА СОБОЙ
for /R "%DESTINATION%\libraries\" %%n in ("*natives*.jar") do ( REN %%n "*.zip" )
for /R "%DESTINATION%\libraries\" %%n in ("*.zip") do ( powershell Expand-Archive %%n -DestinationPath %DESTINATION%\libraries\natives )
DEL %DESTINATION%\libraries\*.zip
RMDIR /S /Q %DESTINATION%\libraries\natives\META-INF
PAUSE
CLS

REM | ЭТАП №4-1 : ЭТОТ ЭТАП ПОВТОРЯЛ ПРОШЛУЮ ОПЕРАЦИЮ, НО С ЗАПУЩЕННЫМ КЛИЕНТОМ (ДЛЯ ВЕРСИЙ WINDOWS < 10)
REM | for /R "%USERPROFILE%\AppData\Local\Temp\" %%a in ("jinput-*.dll") do ( copy %%a %DESTINATION%\libraries\natives\ )
REM | for /R "%USERPROFILE%\AppData\Local\Temp\" %%a in ("lwjgl*.dll") do ( copy %%a %DESTINATION%\libraries\natives\ )
REM | for /R "%USERPROFILE%\AppData\Local\Temp\" %%a in ("OpenAL*.dll") do ( copy %%a %DESTINATION%\libraries\natives\ )
REM | PAUSE
REM | CLS

REM | ЭТАП №5 : СОЗДАНИЕ BAT-ФАЙЛА ДЛЯ ЗАПУСКА КЛИЕНТА (ТРЕБУЕТСЯ СКОРРЕКТИРОВАТЬ ВЕРСИЮ ПОСЛЕ ГЕНЕРАЦИИ)
(
    ECHO SET version_major=1.10
    ECHO SET version_minor=2
    ECHO SET username=Player
    ECHO SET uuid=9e4fef5be96f3b909d8с2f01bb6276ce
    ECHO SET accessToken=9e0eef5be96f3b909d842f02ff6276ce
    ECHO java -Djava.library.path=./libraries/natives/ -cp "./libraries/*;./%%version_major%%.%%version_minor%%.jar" net.minecraft.client.main.Main --username %%username%% --version %%version_major%%.%%version_minor%% --gameDir . --assetsDir ./assets --assetIndex %%version_major%% --uuid %%uuid%% --accessToken %%accessToken%% --userProperties {} --userType mojang
    ECHO PAUSE
    ECHO RMDIR /s /q saves
    ECHO RMDIR /s /q resourcepacks
    ECHO RMDIR /s /q logs
    ECHO RMDIR /s /q config
    ECHO RM options.txt
) >> %DESTINATION%\run.bat
CLS

REM | ВСЁ ГОТОВО! ТЕПЕРЬ ПОПРАВЬТЕ BAT-ФАЙЛ НА НУЖНЫЕ ВАМ ВЕРСИЮ И ИМЯ ИГРОКА
PAUSE


Буду рад советам бывалых batch-гуру.​
 

Вложения:

Как все запущено. Мой труелаунчер в гробу перевернулся :D. Да и опоздал на оверлет.
Ему не надо ничего удалять, просто вписал версию нажал галгу дампа и запустил игру.
Я через него делаю труеклиент онли jar, вот на примере, клиент апрельской шутки -> https://cloud.mail.ru/public/BynB/UTTz5YMSC
 
Назад
Верх