Хостинг серверов Minecraft playvds.com
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

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

Тема в разделе "Руководства, инструкции, утилиты", создана пользователем TaoGunner, 24 мар 2019.

  1. Автор темы
    TaoGunner

    TaoGunner Активный участник Пользователь

    Баллы:
    61
    Имя в 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-гуру.
     

    Вложения:

    • start.txt
      Размер файла:
      3 КБ
      Просмотров:
      1
  2. Mr Hosting
  3. alexandrage

    alexandrage Старожил Пользователь

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

Поделиться этой страницей