21 Commits

Author SHA1 Message Date
8fd4745572 fix readme 2021-07-22 01:10:54 +03:00
2591b2e029 up to 1.17.1 2021-07-21 04:39:18 +03:00
f1aa69b2bd add binary builds link 2021-03-31 01:29:35 +03:00
a98834de6c add site statictics 2021-02-16 20:24:02 +03:00
fe6034506f add todo list 2021-02-15 18:27:20 +03:00
62e283a406 add portable guide 2021-02-14 08:18:28 +03:00
744feb6799 Merge branch 'master' of https://github.com/iiiypuk/minecraft-launcher 2021-02-14 05:46:51 +03:00
d0d3a7a90f make docs by docsify 2021-02-14 05:46:42 +03:00
42e948c605 fix main page 2021-02-14 05:38:06 +03:00
24418c83fa fix links 2021-02-14 05:35:10 +03:00
8a0bc87c1a fix path 2021-02-14 05:30:59 +03:00
881b12e57b fix docs 2021-02-14 05:28:41 +03:00
2e5327c61e fix basePath 2021-02-14 05:23:41 +03:00
c668af53a4 remove .nojekyll 2021-02-14 05:22:45 +03:00
23ba39313f add docs by docsify 2021-02-14 05:20:17 +03:00
c2ec0b63e4 remove trash folder 2021-02-10 22:53:24 +03:00
7ad66a0b50 remove github-docs 2021-02-10 22:50:47 +03:00
4c1ed93639 remove *.jar libs string in the code
for small size repository files
2021-02-10 22:48:03 +03:00
3222eff7c6 add LICENSE badge 2021-02-10 22:43:11 +03:00
596c93fb2d add player name user input
and add shebang
2021-02-10 22:37:47 +03:00
65d4d25ccc update natives readme 2021-02-07 18:05:36 +03:00
30 changed files with 426 additions and 170 deletions

8
.gitignore vendored
View File

@ -1,6 +1,4 @@
venv
tools/version.json
tools/libs.txt
for_build/mc_start.*
for_build/*.zip
node_modules/
package-lock.json
for_build/
Minecraft.jar

View File

@ -1,10 +1,7 @@
TODO
====
* Сделать цветной выхлоп
* Реализовать параметр вывода в файл [b38e3ca]
* Реализовать копирование в буфер обмена, при выхлопе в терминал
* Исправить автоматический выхлоп для Windows, либо сделать оповещение об этом [1ecc7be]
## 2021 jul 21
+ update launcher to 1.17.1
> java 16 to run need
2020/10/10 # 1 ------------------
## 2020/10/10
+ add return notification for generate libraries list.
+ add output parameter for make libs script.

View File

@ -1,26 +0,0 @@
English help
============
## 1. Installing
Download of [actually](https://github.com/iiiypuk/minecraft-launcher/releases/latest) version launcher.
Next [download](https://www.minecraft.net/download) Minecraft and start Demo mode. After successfully run close game.
Download required [libraries](https://mega.nz/#F!hUNg0Y6I!93cYw1NZg4MUWUHaVrCO7w) for run game for **your system** and game **version**.
## 2. Client Minecraft
By default script configured for run Minecraft from default directory:
for Windows is `%APPDATA%\.minecraft`.
for Linux is `~/.minecraft`.
Extract launcher files in game directory, if necessary, you can create a shortcut on the desktop.
Start. ENJOY!
## 3. Configuration
This launcher configurable. Configuration made by changing the parameters in the source code of the launcher.
**Parameters list and values are presented below:**
+ `%MC_DIR%` - directory with Minecraft client.
+ `%GAME_DIR%` - directory with user files. Resource packs, saves, screenshots and etc.
+ `%PLAYER%` - player name.
+ `%WINDOW_W%` - window width in window mode.
+ `%WINDOW_H%` - height width in window mode.
+ `%RAM%` - the amount of RAM that the JVM will use. The default is 2GB.

View File

@ -1,26 +0,0 @@
Русская справка
===============
## 1. Установка
Скачиваем [актуальную](https://github.com/iiiypuk/minecraft-launcher/releases/latest) версию лаунчера.
Далее [скачиваем](https://www.minecraft.net/download) Minecraft и запускаем демо-режим. После успешного запуска, закрываем игру.
Скачиваем необходимые для запуска [библиотеки](https://mega.nz/#F!hUNg0Y6I!93cYw1NZg4MUWUHaVrCO7w) для **вашей системы** и **версии игры**.
## 2. Клиент Minecraft
По умолчанию скрипт настроен на запуск Minecraft из стандартной директории:
для Windows это `%APPDATA%\.minecraft`.
для Linux это `~/.minecraft`.
Распаковываем файлы лаунчера в директорию с игрой, при необходимости можно создать ярлык на рабочем столе.
Запускаем. ENJOY!
## 3. Настройка
Этот лаунчер можно настроить. Настройка производится путём изменения параметров в исходном коде лаунчера.
**Список параметров и их значений представлены ниже:**
+ `%MC_DIR%` - директория с клиентом Minecraft.
+ `%GAME_DIR%` - директория с файлами пользователя. Ресурс-паки, сохранения, скриншоты и др.
+ `%PLAYER%` - имя игрока.
+ `%WINDOW_W%` - ширина окна в оконном режиме.
+ `%WINDOW_H%` - высота окна в оконном режиме.
+ `%RAM%` - количество оперативной памяти, которое JVM будет использовать. По умолчанию 2GB.

View File

@ -1,4 +1,4 @@
Minecraft Java Edition Batch Launcher
Minecraft [Java Edition] Batch Launcher
=====================================
[![Download this](https://img.shields.io/badge/Download-this-lightgrey?style=for-the-badge)](https://github.com/iiiypuk/minecraft-launcher/releases/latest) [![Support me](https://img.shields.io/badge/Support-me-ff4646?style=for-the-badge)](https://ko-fi.com/iiiypuk) [![Contact me](https://img.shields.io/badge/Contact-me-blue?style=for-the-badge)](https://t.me/slexbc)
@ -8,8 +8,4 @@ Minecraft Java Edition Batch Launcher
* 🧰 No need for extra deps
* ⚙️ No need configuration
### Instaling:
+ 🇺🇸 [English help](https://github.com/IIIypuk/minecraft-launcher/blob/master/INSTALLATION_EN.md)
+ 🇷🇺 [Русская справка](https://github.com/IIIypuk/minecraft-launcher/blob/master/INSTALLATION_RU.md)
![Latest release](https://img.shields.io/github/v/release/iiiypuk/minecraft-launcher?style=for-the-badge) ![Total downloads](https://img.shields.io/github/downloads/iiiypuk/minecraft-launcher/total?style=for-the-badge)
![License](https://img.shields.io/github/license/iiiypuk/minecraft-launcher?style=for-the-badge) ![Latest release](https://img.shields.io/github/v/release/iiiypuk/minecraft-launcher?style=for-the-badge) ![Total downloads](https://img.shields.io/github/downloads/iiiypuk/minecraft-launcher/total?style=for-the-badge)

10
TODO.md Normal file
View File

@ -0,0 +1,10 @@
## TODO
- [ ] Move docs to `gh-pages`
- [ ] Сделать цветной выхлоп `make_libs_list.py`
- [ ] Реализовать копирование в буфер обмена, при выхлопе в терминал
- [ ] Script for automatic make release **zip**
- [ ] Make binary archives with this launcher for vanilla and forge version
## Complete
- [x] Реализовать параметр вывода в файл [[b38e3ca](https://github.com/iiiypuk/minecraft-launcher/commit/b38e3ca913ece59809cd98c65bf29d7cdb08750e)]
- [x] Исправить автоматический выхлоп для Windows, либо сделать оповещение об этом [[1ecc7be](https://github.com/iiiypuk/minecraft-launcher/commit/1ecc7be9ce5e074b0fa920efa9480502dba34e3a)]

0
docs/.nojekyll Normal file
View File

View File

@ -1 +0,0 @@
theme: jekyll-theme-modernist

15
docs/_coverpage.md Normal file
View File

@ -0,0 +1,15 @@
![logo](_media/logo.svg ':size=10%')
# Minecraft Batch Launcher <small>1.0.0</small>
> Теперь запускать Minecraft просто
* 📋 Открытый исходный код лаунчера
* 🏷️ Возможность изменять имя персонажа
* 🧰 Не требуется дополнительный зависимостей
* ⚙️ Нет необходимости в конфигурационных файлах
[GitHub](https://github.com/iiiypuk/minecraft-launcher/)
[Начать](about)
![color](#F8F8F8)

BIN
docs/_media/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

51
docs/_media/logo.svg Normal file
View File

@ -0,0 +1,51 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 469.333 469.333" style="enable-background:new 0 0 469.333 469.333;" xml:space="preserve">
<path style="fill:#303C42;" d="M426.667,0h-384C19.135,0,0,19.135,0,42.667v384c0,23.531,19.135,42.667,42.667,42.667h384
c23.531,0,42.667-19.135,42.667-42.667v-384C469.333,19.135,450.198,0,426.667,0z"/>
<g>
<path style="fill:#E57373;" d="M448,42.667v106.667H320v-128h106.667C438.427,21.333,448,30.906,448,42.667z"/>
<rect x="170.667" y="170.667" style="fill:#E57373;" width="277.333" height="128"/>
<rect x="21.333" y="170.667" style="fill:#E57373;" width="128" height="128"/>
<path style="fill:#E57373;" d="M42.667,21.333h256v128H21.333V42.667C21.333,30.906,30.906,21.333,42.667,21.333z"/>
<path style="fill:#E57373;" d="M21.333,426.667V320h277.333v128h-256C30.906,448,21.333,438.427,21.333,426.667z"/>
<path style="fill:#E57373;" d="M426.667,448H320V320h128v106.667C448,438.427,438.427,448,426.667,448z"/>
</g>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-68.6888" y1="619.0512" x2="-43.3842" y2="607.2509" gradientTransform="matrix(21.3333 0 0 -21.3333 1430.1112 13315.2227)">
<stop offset="0" style="stop-color:#FFFFFF;stop-opacity:0.2"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path style="fill:url(#SVGID_1_);" d="M426.667,0h-384C19.135,0,0,19.135,0,42.667v384c0,23.531,19.135,42.667,42.667,42.667h384
c23.531,0,42.667-19.135,42.667-42.667v-384C469.333,19.135,450.198,0,426.667,0z"/>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 553 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

7
docs/_navbar.md Normal file
View File

@ -0,0 +1,7 @@
- [Бинарные библиотеки](https://mega.nz/#F!hUNg0Y6I!93cYw1NZg4MUWUHaVrCO7w)
- [Готовые сборки](https://mega.nz/folder/0E0QRKZL#HOyMLQ292PJ3xIE1vXbLJQ)
- Translations
- [🇷🇺 Русский](/)
- [🇺🇸 English](/en/)

10
docs/_sidebar.md Normal file
View File

@ -0,0 +1,10 @@
- [Обзор](about.md)
- Начало работы
- [Установка](installing.md)
- [Переменные](variables.md)
- [Создание портативной сборки](portable.md)
- [История изменений](changelog.md)

19
docs/about.md Normal file
View File

@ -0,0 +1,19 @@
# Minecraft Batch Launcher
Это простой скрипт для запуска Minecraft без официального лаунчера
## Для чего он нужен?
* Для запуска необходимой версии игры, с любой директории и настройками
* Для создания собственных сборок (адаптирование и бинарный лаунчер)
* Для запуска Minecraft без лицензии (для тестирования серверов)
Отсутствие необходимости в компилировании лаунчера позволяет на лету изменять параметры просто редакитуя `*.bat` файл.
## Поддержка
🩸 Вы можете поддержать автора проекта материально.
В первую очередь это мотивирует поддерживать проект и разрабатывать похожие утилиты для других игр.
Вот способы доната:
* [Ko-Fi](https://ko-fi.com/iiiypuk)
* Переводом через СБП (`Тинкофф` `СберБанк` `ВТБ`) на номер **911 313-90-95**.
## Сведения
![License](https://img.shields.io/github/license/iiiypuk/minecraft-launcher?style=for-the-badge) ![Latest release](https://img.shields.io/github/v/release/iiiypuk/minecraft-launcher?style=for-the-badge) ![Total downloads](https://img.shields.io/github/downloads/iiiypuk/minecraft-launcher/total?style=for-the-badge)

1
docs/changelog.md Normal file
View File

@ -0,0 +1 @@
# 1.0.0 (2021-02.14)

40
docs/index.html Normal file
View File

@ -0,0 +1,40 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Minecraft Batch Launcher</title>
<link rel="icon" href="_media/favicon.ico" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="description" content="Description">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0">
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify@4/lib/themes/vue.css">
</head>
<body>
<div id="app">Пожалуйста, подождите...</div>
<script>
window.$docsify = {
name: 'Minecraft Batch Launcher',
basePath: 'https://iiiypuk.github.io/minecraft-launcher/',
repo: 'https://github.com/iiiypuk/minecraft-launcher/',
coverpage: true,
onlyCover: true,
loadNavbar: true,
mergeNavbar: true,
loadSidebar: true,
// notFoundPage: true,
subMaxLevel: 2,
auto2top: true
}
</script>
<!-- Docsify v4 -->
<script src="//cdn.jsdelivr.net/npm/docsify@4"></script>
<script src="//unpkg.com/prismjs/components/prism-batch.min.js"></script>
<!-- busuanzi statistics -->
<div id="statistics" style="display: none">
<script async src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script>
<span id="busuanzi_container_site_uv">UV <span id="busuanzi_value_site_uv"></span></span>
<span id="busuanzi_container_site_pv">PV <span id="busuanzi_value_site_pv"></span></span>
</div>
</body>
</html>

View File

@ -1,17 +0,0 @@
## Minecraft Java Edition Batch Launcher
[![https://img.shields.io/badge/Download-this-lightgrey?style=for-the-badge](https://img.shields.io/badge/Download-this-lightgrey?style=for-the-badge)](https://github.com/iiiypuk/minecraft-launcher/releases/latest) ![Latest release](https://img.shields.io/github/v/release/iiiypuk/minecraft-launcher?style=for-the-badge) ![Total downloads](https://img.shields.io/github/downloads/iiiypuk/minecraft-launcher/total?style=for-the-badge)
### Features:
* Open source. Just launch the game, nothing more
* No need for extra deps
* Change player name
### Instaling / Установка:
[English help](https://github.com/IIIypuk/minecraft-launcher/blob/master/INSTALLATION_EN.md)
[Русская справка](https://github.com/IIIypuk/minecraft-launcher/blob/master/INSTALLATION_RU.md)
### Support or Contact
Alexander Popov: [Telegram](https://telegram.me/slexbc)

37
docs/installing.md Normal file
View File

@ -0,0 +1,37 @@
# Установка
## Подготовка
Прежде всего у Вас уже должен быть скачан Minecraft с необходимой версией игры.
Для этого достаточно **Demo** аккаунта.
?> Скачать Minecraft бесплатно можно по этой [ссылке](https://www.minecraft.net/ru-ru/free-trial).
## Загрузка лаунчера
Первым делом скачиваем [лаунчер](https://github.com/iiiypuk/minecraft-launcher/releases) и распаковываем его в директорию с Minecraft.
- В Windows по умолчанию `%appdata%\.minecraft`
- В Linux по умолчанию `~/.minecraft`
?> Актуальная версия лаунчера настроена на запуск последней стабильной версии игры.
Далее нам нужны бинарные файлы библиотек.
Архивы бинарных версий хранятся в облаке на **MEGA** [[Скачать](https://mega.nz/#F!hUNg0Y6I!93cYw1NZg4MUWUHaVrCO7w)].
Для запуска необходимо лишь распаковать архив с библиотеками в директорию `/bin/` и удалить из имени файла
`-windows` или `-linux`.
Библиотеки можно сгенерировать [самостоятельно](#Генерация-бинарных-библиотек).
?> Актуальная версия лаунчера всегда находится по этой [ссылке](https://github.com/iiiypuk/minecraft-launcher/releases/latest).
## Генерация бинарных библиотек
?> Если вы скачали бинарные библиотеки, пропустите этот пункт
Бинарные библиотеки генерируются при запуске игры в директории `/bin/` и удаляются после её закрытия.
Директория с бинарными файлами имеет примерно следующие название `d3ab-9be2-0b09-1052`, которое меняется каждый раз.
Счтобы их сохранить, необходимо запустить игру и скопировать директорию.
## Готово
Если Вы планируете запускать текущую стабильную версию игры, ничего настраивать не требуется. Достаточно дважды кликнуть по `mc_start.*` и наслаждать игрой.
В других случаях необходимо ознакомиться с [переменными](variables) скрипта.

116
docs/portable.md Normal file
View File

@ -0,0 +1,116 @@
# Создание портативной сборки
В данном руководстве будет продемонстрировано создание своей кастомной сборки Minecraft на примере ОС Windows.
## Подготовка
1. Создаём рабочую директорию.
В моём случае это `G:\Minecraft`.
``` batch
mkdir G:\Minecraft
G:
cd Minecraft
mkdir bin
mkdir game
```
2. Запускаем официальный **Minecraft Launcher**, выбираем версию и скачивает игру, а с ней и необходимые файлы.
![Minecraft Launcher](_media/portable/01-launcher.png)
3. По окончании загрузки и запуска игры копируем бинарные библиотеки в рабочую директорию и закрываем игру. Она нам больше не понадобится.
``` batch
xcopy %appdata%\.minecraft\bin\1c1d-a80c-5999-cc54 bin /s
```
4. Копируем остальные файлы:
``` batch
xcopy %appdata%\.minecraft\assets assets /s
xcopy %appdata%\.minecraft\libraries libs /s
xcopy %appdata%\.minecraft\versions\1.16.5 vers /s
```
## Генерация LIBRARIES_LIST
Клонируем Git репозиторий [лаунчера](https://github.com/iiiypuk/minecraft-launcher) и устанавливаем зависимости Python скрипта:
``` batch
git clone --depth 1 git@github.com:iiiypuk/minecraft-launcher.git
cd minecraft-launcher
pip install -r requirements.txt
```
Генерируем `LIBRARIES_LIST` и перемещаем его в корень сборки:
``` batch
cd tools
copy ..\..\vers\1.16.5.json version.json
python make_libs_list.py --platform win32 --output txt
move libs.txt ..\..\vers
cd ..\..
```
## Редактирование лаунчера
0. Удаляем эти строку, если нет необходимости спрашивать имя пользователя
``` batch
set /p player=What username would you like?
```
1. Изменяем переменную с директорией Minecraft `set MC_DIR=%CD%`
2. Изменяем путь к директории с файлами пользователя `set GAME_DIR=%MC_DIR%\game`
3. Изменяем путь к бинарным библиотекам `set NATIVES_DIR=%MC_DIR%\bin`
4. Заменяем в файле `libs.txt` фразы:
* `;%MC_DIR%/versions/%GAME_VERSION%/%GAME_VERSION%.jar` на `;%MC_DIR%/vers/%GAME_VERSION%.jar`
* `%MC_DIR%/libraries/` на `%MC_DIR%/libs/`
5. Копируем содержимое `libs.txt` в **%LIBRARIES_LIST%**
?> Вставить содержимое файла в перменную интерактивно
таким образом `set /p LIBRARIES_LIST=<vers\libs.txt` не получится.
Ограничение по длине :(
6. Удаляем строки
``` batch
%SystemDrive%
cd %MC_DIR%
```
## Готово
Получится что-то вроде этого:
![Листинг директори](_media/portable/02-directory.png)
Полный листинг скрипта:
```batch
rem @echo off
title Minecraft Launcher Portable
set MC_DIR=%CD%
set GAME_DIR=%MC_DIR%\game
set ASSETS_DIR=%MC_DIR%\assets
set ASSETS_INDEX=1.16
set GAME_VERSION=1.16.5
set NATIVES_DIR=%MC_DIR%\bin
set LIBRARIES_LIST=%MC_DIR%/...;%MC_DIR%/vers/%GAME_VERSION%.jar
set PLAYER_NAME=Steve
set WINDOW_W=800
set WINDOW_H=640
set "JVM_RAM="
set "JVM_ARGS="
java.exe %JVM_RAM% %JVM_ARGS% ^
-Djava.library.path=%NATIVES_DIR% ^
-cp %LIBRARIES_LIST% ^
net.minecraft.client.main.Main ^
--username %PLAYER_NAME% ^
--version %GAME_VERSION% ^
--accessToken 0 --userProperties {} ^
--gameDir %GAME_DIR% ^
--assetsDir %ASSETS_DIR% ^
--assetIndex %ASSETS_INDEX% ^
--width %WINDOW_W% ^
--height %WINDOW_H%
```
Готовые сборки ванильного Minecraft + Forge вы можете скачать по [этой ссылке](https://mega.nz/folder/0E0QRKZL#HOyMLQ292PJ3xIE1vXbLJQ).

79
docs/variables.md Normal file
View File

@ -0,0 +1,79 @@
# Переменные
Разберём перменные скрипта, для более тонкой настройки.
## MC_DIR
!> Директория Minecraft
Переменная `MC_DIR` является ключевой, на основе которой строятся пути в скрипте.
При использовании не стандартного пути, следует изменить директорию по своему усмотрению.
Можно указать относительный путь, если файл скрипта находится в директории с игрой, например:
* Для Windows `%CD%`
* Для Linux `./`
?> Однако стоит заметить, что в Windows если файл скрипта находится в другой директории и на другом локальном диске,
сначала необходимо перейти на диск, где находится игра (по умолчанию `%SystemDrive%`).
В противном случае файлы настроек и директории сохранений появятся рядом со скриптом.
## GAME_DIR
!> Директория с настройками игры
В этой директории хранятся файлы пользователя:
* `saves` - директория с сохранениями
* `resourcepacks` - директория с ресурс-паками
* `screenshots` - директория со скриншотами
* `options.txt` - файл с настройками
?> Рекомендуется хранить их в отдельной директории, чтобы избежать путаницы и легко переносить свои файлы на другие компьютеры.
?> Однако по умолчанию используется `MC_DIR`
## ASSETS_DIR
!> Директория с ассетами игры
## ASSETS_INDEX
!> Индекс ассетов для версии игры
Храниться в `version['assetIndex']['id']`.
Имеет одинаковое значение с версией игры, без учёта [патча](https://semver.org/lang/ru/#spec-item-2).
Например `1.16` для версий игры `1.16.3`, `1.16.4`, `1.16.5`.
## GAME_VERSION
!> Версия игры
## NATIVES_DIR
!> Директория с бинарными библиотеками
## LIBRARIES_LIST
!> Список путей библиотек зависимостей
В `Release` версии лаунчера присутсвует.
В остальных случаях необходимо [генерировать](/portable#000) самостоятельно.
## PLAYER_NAME
!> Имя игрока
По умолчанию при запуске скрипта пользователю предлагают вписать имя игрока в интерактивном режиме.
Если нет необходимости в смене имени при запуске скрипта, запишите в перменной необходимое имя.
``` batch
set PLAYER_NAME=Steve
```
и удалите эту строку
``` batch
set /p player=What username would you like?
```
## WINDOW_W
!> Размер игрового окна по ширине
## WINDOW_H
!> Размер игрового окна по высоте
## JVM_RAM
!> Перменная виртуальной машины Java, которая определяет размер потребляемой оперативной памяти
## JVM_ARGS
!> Перменная виртуальной машины Java, которая определяет её переменные

View File

@ -1,2 +0,0 @@
Natives catalog:
https://mega.nz/#F!hUNg0Y6I!93cYw1NZg4MUWUHaVrCO7w

View File

@ -1,6 +1,6 @@
Minecraft Natives
=========================
## Minecraft Natives
[mega.nz](https://mega.nz/#F!hUNg0Y6I!93cYw1NZg4MUWUHaVrCO7w)
Natives catalog in [Mega.nz](https://mega.nz/#F!hUNg0Y6I!93cYw1NZg4MUWUHaVrCO7w)
Natives for `1.16.3` identical for `1.16.4`.
*Notes*
* Natives for `1.16.3` identical for `1.16.4`.

5
package.json Normal file
View File

@ -0,0 +1,5 @@
{
"dependencies": {
"docsify-cli": "4.4.2"
}
}

View File

@ -1 +1,3 @@
* `make_libs_list.py` - parse `version.json` file and return libs
Moved to [iiiypuk/minecraft-libs-parser](https://github.com/iiiypuk/minecraft-libs-parser).

View File

@ -1,68 +0,0 @@
#!/usr/bin/env python3
import sys
import json
import click
__author__ = "Alexander Popov"
__version__ = "1.0.2"
__license__ = "Unlicense"
@click.command()
@click.option("--platform", default=sys.platform, help="Output platform (win32, linux, darwin).")
@click.option("--output", default="tty", help="Output option (tty, txt).")
def make_output(platform, output):
""" Return libraries list """
libraries = parse_libs()
# OS libs separate
_ = {"win32": ";", "linux": ":", "darwin": ":"}
out_lib = str()
# Generate libraries list
for lib in libraries:
out_lib = out_lib + "$MC_DIR/libraries/{0}".format(lib) + _[platform]
out_lib = out_lib + "$MC_DIR/versions/$GAME_VERSION/$GAME_VERSION.jar"
# Replace for OS shell variable symbol
if platform == "win32":
out_lib = out_lib.replace("$MC_DIR", "%MC_DIR%")
out_lib = out_lib.replace("$GAME_VERSION", "%GAME_VERSION%")
if output == "tty":
click.echo(out_lib)
if platform == "win32":
print("\nWindows generate libraries list complete!")
elif platform == "linux" or platform == "darwin":
print("\nUnix generate libraries list complete!")
elif output == "txt":
with open("./libs.txt", "w", encoding="utf-8") as f:
f.write(out_lib)
if platform == "win32":
print("\nWindows generate libraries list complete!\n" "See libs.txt file.")
elif platform == "linux" or platform == "darwin":
print("\nUnix generate libraries list complete!\n" "See libs.txt file.")
def parse_libs():
""" Make libraries list from version.json file """
_ = []
with open("./version.json", "r", encoding="utf-8") as f:
file_data = json.loads(f.read())
for lib in file_data["libraries"]:
_.append(lib["downloads"]["artifact"]["path"])
return _
if __name__ == "__main__":
make_output()

View File

@ -1,5 +1,9 @@
#!/bin/sh
echo -ne "\033]2;Minecraft Launcher\007"
# Set username
read -p "What username would you like?: " player
# A minecraft root directory
MC_DIR=~/.minecraft
@ -10,30 +14,34 @@ GAME_DIR=$MC_DIR
# Assets location
ASSETS_DIR=$MC_DIR/assets
ASSETS_INDEX=1.16
ASSETS_INDEX=1.17
# Version to use
GAME_VERSION=1.16.5
GAME_VERSION=1.17.1
# Native libs location
NATIVES_DIR=$MC_DIR/bin/$GAME_VERSION
# *.jar paths generated by make_libs_list.py
LIBRARIES_LIST=
# Player name
PLAYER_NAME=Steve
PLAYER_NAME=$player
# Game window resolution
WINDOW_W=800
WINDOW_H=640
# java machine arguments
# Java machine arguments
JVM_RAM="-Xmx2G"
JVM_ARGS="-XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M"
# Running minecraft
cd $MC_DIR
java $JVM_RAM $JVM_ARGS \
-Djava.library.path=$NATIVES_DIR \
-cp $MC_DIR/libraries/com/mojang/patchy/1.1/patchy-1.1.jar:$MC_DIR/libraries/oshi-project/oshi-core/1.1/oshi-core-1.1.jar:$MC_DIR/libraries/net/java/dev/jna/jna/4.4.0/jna-4.4.0.jar:$MC_DIR/libraries/net/java/dev/jna/platform/3.4.0/platform-3.4.0.jar:$MC_DIR/libraries/com/ibm/icu/icu4j/66.1/icu4j-66.1.jar:$MC_DIR/libraries/com/mojang/javabridge/1.0.22/javabridge-1.0.22.jar:$MC_DIR/libraries/net/sf/jopt-simple/jopt-simple/5.0.3/jopt-simple-5.0.3.jar:$MC_DIR/libraries/io/netty/netty-all/4.1.25.Final/netty-all-4.1.25.Final.jar:$MC_DIR/libraries/com/google/guava/guava/21.0/guava-21.0.jar:$MC_DIR/libraries/org/apache/commons/commons-lang3/3.5/commons-lang3-3.5.jar:$MC_DIR/libraries/commons-io/commons-io/2.5/commons-io-2.5.jar:$MC_DIR/libraries/commons-codec/commons-codec/1.10/commons-codec-1.10.jar:$MC_DIR/libraries/net/java/jinput/jinput/2.0.5/jinput-2.0.5.jar:$MC_DIR/libraries/net/java/jutils/jutils/1.0.0/jutils-1.0.0.jar:$MC_DIR/libraries/com/mojang/brigadier/1.0.17/brigadier-1.0.17.jar:$MC_DIR/libraries/com/mojang/datafixerupper/4.0.26/datafixerupper-4.0.26.jar:$MC_DIR/libraries/com/google/code/gson/gson/2.8.0/gson-2.8.0.jar:$MC_DIR/libraries/com/mojang/authlib/2.1.28/authlib-2.1.28.jar:$MC_DIR/libraries/org/apache/commons/commons-compress/1.8.1/commons-compress-1.8.1.jar:$MC_DIR/libraries/org/apache/httpcomponents/httpclient/4.3.3/httpclient-4.3.3.jar:$MC_DIR/libraries/commons-logging/commons-logging/1.1.3/commons-logging-1.1.3.jar:$MC_DIR/libraries/org/apache/httpcomponents/httpcore/4.3.2/httpcore-4.3.2.jar:$MC_DIR/libraries/it/unimi/dsi/fastutil/8.2.1/fastutil-8.2.1.jar:$MC_DIR/libraries/org/apache/logging/log4j/log4j-api/2.8.1/log4j-api-2.8.1.jar:$MC_DIR/libraries/org/apache/logging/log4j/log4j-core/2.8.1/log4j-core-2.8.1.jar:$MC_DIR/libraries/org/lwjgl/lwjgl/3.2.1/lwjgl-3.2.1.jar:$MC_DIR/libraries/org/lwjgl/lwjgl/3.2.2/lwjgl-3.2.2.jar:$MC_DIR/libraries/org/lwjgl/lwjgl-jemalloc/3.2.1/lwjgl-jemalloc-3.2.1.jar:$MC_DIR/libraries/org/lwjgl/lwjgl-jemalloc/3.2.2/lwjgl-jemalloc-3.2.2.jar:$MC_DIR/libraries/org/lwjgl/lwjgl-openal/3.2.1/lwjgl-openal-3.2.1.jar:$MC_DIR/libraries/org/lwjgl/lwjgl-openal/3.2.2/lwjgl-openal-3.2.2.jar:$MC_DIR/libraries/org/lwjgl/lwjgl-opengl/3.2.1/lwjgl-opengl-3.2.1.jar:$MC_DIR/libraries/org/lwjgl/lwjgl-opengl/3.2.2/lwjgl-opengl-3.2.2.jar:$MC_DIR/libraries/org/lwjgl/lwjgl-glfw/3.2.1/lwjgl-glfw-3.2.1.jar:$MC_DIR/libraries/org/lwjgl/lwjgl-glfw/3.2.2/lwjgl-glfw-3.2.2.jar:$MC_DIR/libraries/org/lwjgl/lwjgl-stb/3.2.1/lwjgl-stb-3.2.1.jar:$MC_DIR/libraries/org/lwjgl/lwjgl-stb/3.2.2/lwjgl-stb-3.2.2.jar:$MC_DIR/libraries/org/lwjgl/lwjgl-tinyfd/3.2.1/lwjgl-tinyfd-3.2.1.jar:$MC_DIR/libraries/org/lwjgl/lwjgl-tinyfd/3.2.2/lwjgl-tinyfd-3.2.2.jar:$MC_DIR/libraries/org/lwjgl/lwjgl/3.2.1/lwjgl-3.2.1.jar:$MC_DIR/libraries/org/lwjgl/lwjgl/3.2.2/lwjgl-3.2.2.jar:$MC_DIR/libraries/org/lwjgl/lwjgl-jemalloc/3.2.1/lwjgl-jemalloc-3.2.1.jar:$MC_DIR/libraries/org/lwjgl/lwjgl-jemalloc/3.2.2/lwjgl-jemalloc-3.2.2.jar:$MC_DIR/libraries/org/lwjgl/lwjgl-openal/3.2.1/lwjgl-openal-3.2.1.jar:$MC_DIR/libraries/org/lwjgl/lwjgl-openal/3.2.2/lwjgl-openal-3.2.2.jar:$MC_DIR/libraries/org/lwjgl/lwjgl-opengl/3.2.1/lwjgl-opengl-3.2.1.jar:$MC_DIR/libraries/org/lwjgl/lwjgl-opengl/3.2.2/lwjgl-opengl-3.2.2.jar:$MC_DIR/libraries/org/lwjgl/lwjgl-glfw/3.2.1/lwjgl-glfw-3.2.1.jar:$MC_DIR/libraries/org/lwjgl/lwjgl-glfw/3.2.2/lwjgl-glfw-3.2.2.jar:$MC_DIR/libraries/org/lwjgl/lwjgl-stb/3.2.1/lwjgl-stb-3.2.1.jar:$MC_DIR/libraries/org/lwjgl/lwjgl-tinyfd/3.2.2/lwjgl-tinyfd-3.2.2.jar:$MC_DIR/libraries/org/lwjgl/lwjgl-tinyfd/3.2.1/lwjgl-tinyfd-3.2.1.jar:$MC_DIR/libraries/org/lwjgl/lwjgl-stb/3.2.2/lwjgl-stb-3.2.2.jar:$MC_DIR/libraries/com/mojang/text2speech/1.11.3/text2speech-1.11.3.jar:$MC_DIR/libraries/com/mojang/text2speech/1.11.3/text2speech-1.11.3.jar:$MC_DIR/libraries/ca/weblite/java-objc-bridge/1.0.0/java-objc-bridge-1.0.0.jar:$MC_DIR/libraries/ca/weblite/java-objc-bridge/1.0.0/java-objc-bridge-1.0.0.jar:$MC_DIR/versions/$GAME_VERSION/$GAME_VERSION.jar \
-cp $LIBRARIES_LIST \
net.minecraft.client.main.Main \
--username $PLAYER_NAME \
--version $GAME_VERSION \

2
windows/README.md Normal file
View File

@ -0,0 +1,2 @@
## Java SE Download
Oracle JavaSE JDK 16 [download](https://www.oracle.com/java/technologies/javase-jdk16-downloads.html).

View File

@ -14,14 +14,17 @@ set GAME_DIR=%MC_DIR%
:: libraries and resource dir (requires no changes)
set ASSETS_DIR=%MC_DIR%\assets
set ASSETS_INDEX=1.16
set ASSETS_INDEX=1.17
:: version minecraft (from versions/ dir)
set GAME_VERSION=1.16.5
set GAME_VERSION=1.17.1
:: get archive from natives/ dir
set NATIVES_DIR=%MC_DIR%\bin\%GAME_VERSION%
:: *.jar paths generated by make_libs_list.py
set LIBRARIES_LIST=
:: player nickname (the over head)
set PLAYER_NAME=%player%
@ -39,7 +42,7 @@ cd %MC_DIR%
java.exe %JVM_RAM% %JVM_ARGS% ^
-Djava.library.path=%NATIVES_DIR% ^
-cp %MC_DIR%/libraries/com/mojang/patchy/1.1/patchy-1.1.jar;%MC_DIR%/libraries/oshi-project/oshi-core/1.1/oshi-core-1.1.jar;%MC_DIR%/libraries/net/java/dev/jna/jna/4.4.0/jna-4.4.0.jar;%MC_DIR%/libraries/net/java/dev/jna/platform/3.4.0/platform-3.4.0.jar;%MC_DIR%/libraries/com/ibm/icu/icu4j/66.1/icu4j-66.1.jar;%MC_DIR%/libraries/com/mojang/javabridge/1.0.22/javabridge-1.0.22.jar;%MC_DIR%/libraries/net/sf/jopt-simple/jopt-simple/5.0.3/jopt-simple-5.0.3.jar;%MC_DIR%/libraries/io/netty/netty-all/4.1.25.Final/netty-all-4.1.25.Final.jar;%MC_DIR%/libraries/com/google/guava/guava/21.0/guava-21.0.jar;%MC_DIR%/libraries/org/apache/commons/commons-lang3/3.5/commons-lang3-3.5.jar;%MC_DIR%/libraries/commons-io/commons-io/2.5/commons-io-2.5.jar;%MC_DIR%/libraries/commons-codec/commons-codec/1.10/commons-codec-1.10.jar;%MC_DIR%/libraries/net/java/jinput/jinput/2.0.5/jinput-2.0.5.jar;%MC_DIR%/libraries/net/java/jutils/jutils/1.0.0/jutils-1.0.0.jar;%MC_DIR%/libraries/com/mojang/brigadier/1.0.17/brigadier-1.0.17.jar;%MC_DIR%/libraries/com/mojang/datafixerupper/4.0.26/datafixerupper-4.0.26.jar;%MC_DIR%/libraries/com/google/code/gson/gson/2.8.0/gson-2.8.0.jar;%MC_DIR%/libraries/com/mojang/authlib/2.1.28/authlib-2.1.28.jar;%MC_DIR%/libraries/org/apache/commons/commons-compress/1.8.1/commons-compress-1.8.1.jar;%MC_DIR%/libraries/org/apache/httpcomponents/httpclient/4.3.3/httpclient-4.3.3.jar;%MC_DIR%/libraries/commons-logging/commons-logging/1.1.3/commons-logging-1.1.3.jar;%MC_DIR%/libraries/org/apache/httpcomponents/httpcore/4.3.2/httpcore-4.3.2.jar;%MC_DIR%/libraries/it/unimi/dsi/fastutil/8.2.1/fastutil-8.2.1.jar;%MC_DIR%/libraries/org/apache/logging/log4j/log4j-api/2.8.1/log4j-api-2.8.1.jar;%MC_DIR%/libraries/org/apache/logging/log4j/log4j-core/2.8.1/log4j-core-2.8.1.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl/3.2.1/lwjgl-3.2.1.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl/3.2.2/lwjgl-3.2.2.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl-jemalloc/3.2.1/lwjgl-jemalloc-3.2.1.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl-jemalloc/3.2.2/lwjgl-jemalloc-3.2.2.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl-openal/3.2.1/lwjgl-openal-3.2.1.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl-openal/3.2.2/lwjgl-openal-3.2.2.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl-opengl/3.2.1/lwjgl-opengl-3.2.1.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl-opengl/3.2.2/lwjgl-opengl-3.2.2.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl-glfw/3.2.1/lwjgl-glfw-3.2.1.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl-glfw/3.2.2/lwjgl-glfw-3.2.2.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl-stb/3.2.1/lwjgl-stb-3.2.1.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl-stb/3.2.2/lwjgl-stb-3.2.2.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl-tinyfd/3.2.1/lwjgl-tinyfd-3.2.1.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl-tinyfd/3.2.2/lwjgl-tinyfd-3.2.2.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl/3.2.1/lwjgl-3.2.1.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl/3.2.2/lwjgl-3.2.2.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl-jemalloc/3.2.1/lwjgl-jemalloc-3.2.1.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl-jemalloc/3.2.2/lwjgl-jemalloc-3.2.2.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl-openal/3.2.1/lwjgl-openal-3.2.1.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl-openal/3.2.2/lwjgl-openal-3.2.2.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl-opengl/3.2.1/lwjgl-opengl-3.2.1.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl-opengl/3.2.2/lwjgl-opengl-3.2.2.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl-glfw/3.2.1/lwjgl-glfw-3.2.1.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl-glfw/3.2.2/lwjgl-glfw-3.2.2.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl-stb/3.2.1/lwjgl-stb-3.2.1.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl-tinyfd/3.2.2/lwjgl-tinyfd-3.2.2.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl-tinyfd/3.2.1/lwjgl-tinyfd-3.2.1.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl-stb/3.2.2/lwjgl-stb-3.2.2.jar;%MC_DIR%/libraries/com/mojang/text2speech/1.11.3/text2speech-1.11.3.jar;%MC_DIR%/libraries/com/mojang/text2speech/1.11.3/text2speech-1.11.3.jar;%MC_DIR%/libraries/ca/weblite/java-objc-bridge/1.0.0/java-objc-bridge-1.0.0.jar;%MC_DIR%/libraries/ca/weblite/java-objc-bridge/1.0.0/java-objc-bridge-1.0.0.jar;%MC_DIR%/versions/%GAME_VERSION%/%GAME_VERSION%.jar ^
-cp %LIBRARIES_LIST% ^
net.minecraft.client.main.Main ^
--username %PLAYER_NAME% ^
--version %GAME_VERSION% ^