67 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
a47eb47b24 update to 1.16.5
change `authlib` version
2021-02-07 17:56:00 +03:00
5a806555d5 add emoji 📝
and add "No need configuration" label to README
2021-02-07 17:21:22 +03:00
6455539b4b add tg contact link 2020-11-22 11:48:49 +03:00
ba75ec33d0 change dir name 2020-11-22 04:17:40 +03:00
4a6874915b fix unix version variable 2020-11-22 04:16:34 +03:00
0657b7c0a6 update to 1.16.4 2020-11-22 04:02:47 +03:00
7ce2d70c8b fix complete message
fix complete message for unix system
2020-11-22 03:38:06 +03:00
e1efb6e0d2 OS lib separate output fix 2020-11-22 03:35:27 +03:00
219bc5ba5c auto select output platform 2020-10-17 00:26:41 +03:00
af9dfb6f90 remove binary files 2020-10-15 02:18:58 +03:00
52195f81a3 fix line end markup 2020-10-15 02:15:36 +03:00
e37a9fe8d4 Merge pull request #13 from LudovicTOURMAN/patch-1
Fix shell variables
2020-10-15 02:01:42 +03:00
0667b44461 Fix shell variables
Fix shell variables that where style "windows styled"
2020-10-14 23:17:18 +02:00
606eedd664 update changelog 2020-10-10 03:10:02 +03:00
b38e3ca913 add new parameter for output 2020-10-10 03:04:51 +03:00
4666891e42 add donate button to readme 2020-10-10 02:47:12 +03:00
1ecc7be9ce add notify for generate libs list 2020-10-10 02:29:27 +03:00
a9cfb980ae move tools to dir 2020-10-10 02:23:13 +03:00
468c01196b add TODO 2020-10-09 03:41:42 +03:00
4de323f10f update linux version to 1.16.3 2020-10-09 03:31:34 +03:00
cce2a595a9 Create FUNDING.yml 2020-10-05 03:30:10 +03:00
713c80e6ef use black for code 2020-10-05 03:19:23 +03:00
a9a64937fe add command param 2020-10-05 03:14:05 +03:00
13f5892bdf Update index.md 2020-10-05 02:11:28 +03:00
4bb4093619 Update index.md 2020-10-05 02:08:09 +03:00
26551e4547 Set theme jekyll-theme-modernist 2020-10-05 02:01:44 +03:00
6811b8b489 update windows version to 1.16.3 2020-09-26 00:54:55 +03:00
077fe2a5a0 add doc to module file 2020-07-02 22:52:36 +03:00
24d49165f7 update linux version to 1.16.1 2020-07-02 22:47:24 +03:00
bc16ba4342 add script for make libraries list 2020-07-02 22:46:42 +03:00
170be4769b add download button 2020-06-12 18:18:20 +03:00
5090e87a42 update windows version to 1.15.2 2020-05-08 19:26:57 +03:00
be5ee732bc add java ram args variable 2020-05-08 19:01:57 +03:00
092d4eef40 add badges 2020-05-07 23:34:43 +03:00
7763251148 Make script more readable
thx @BoQsc
2020-05-07 23:16:49 +03:00
a841dff101 edited readme of project 2020-05-07 22:37:56 +03:00
8898d4629e add new help 2020-05-07 22:37:24 +03:00
7365db7520 fixing
add window title for linux version
fixing windows version script variables
2020-05-07 21:57:15 +03:00
7ce77aba19 name of variables fixes 2020-05-07 21:43:02 +03:00
bea2b94a22 :trollface: 2020-05-06 20:34:01 +03:00
de111ebc48 update linux version to 1.15.2 2020-05-06 20:28:05 +03:00
d86d1d242d Merge pull request #11 from VanGamer64/patch-1
Added a username setter.
2020-02-03 02:16:00 +03:00
f1bc1c5220 Added a username setter.
added so your username isn't always Steve.
2020-01-31 15:59:58 -08:00
1cfd9e2d3f 1.14.3 ready 2019-06-30 05:02:03 +03:00
c70b05aff6 🗺 1.14.1 ready 2019-05-18 00:22:23 +03:00
48be1ab8cb Update to 1.14.1 2019-05-18 00:14:43 +03:00
28 changed files with 507 additions and 94 deletions

1
.github/FUNDING.yml vendored Normal file
View File

@ -0,0 +1 @@
ko_fi: iiiypuk

4
.gitignore vendored Normal file
View File

@ -0,0 +1,4 @@
node_modules/
package-lock.json
for_build/
Minecraft.jar

7
CHANGELOG.md Normal file
View File

@ -0,0 +1,7 @@
## 2021 jul 21
+ update launcher to 1.17.1
> java 16 to run need
## 2020/10/10
+ add return notification for generate libraries list.
+ add output parameter for make libs script.

View File

@ -1,53 +1,11 @@
Minecraft Batch Launcher
========================
### English help ###
## 1. Installation ##
Get to the [launcher page](https://github.com/IIIypuk/minecraft-launcher/blob/master/mc_start.bat). Click with right mouse button on **Raw** then click on **Save as...** and save file to your desired location.
## 2. Minecraft Client ##
By default, script will run Minecraft from the default directory `%APPDATA%\.minecraft`.
If you don't have a client, download [launcher](https://s3.amazonaws.com/Minecraft.Download/launcher/Minecraft.jar), log in with Demo account and download Minecraft client.
After this, you may close official launcher and enjoy playing full version of Minecraft.
## 3. Setting up ##
This launcher can be customized by editing parameters in source file.
Use right mouse button to open a context menu, then click **edit**.
**List of parameters and values:**
+ `%MC_DIR%` - Minecraft client directory. By default it's `%APPDATA%\.minecraft`.
+ `%GAME_DIR%` - user game files. Resourcepacks, saves, screenshots, etc.
+ `%ASSETS_DIR%` - game libraries directory. Don't modify anything there, unless you know what are you doing.
+ `%NATIVES_DIR%` - native game libraries directory, which are used to launch game on Windows.
[Download](https://github.com/IIIypuk/minecraft-launcher/raw/master/natives/1.12.2.zip) and unpack this to the `versions\`, which is located nearby to the Minecraft client.
+ `%PLAYER%` - player name (shown above the head), by default it's **Steve**.
+ `%WIDTH%` - window width.
+ `%HEIGHT%` - window height.
+ `%RAM%` - amount of RAM (heap size) used by the JVM. **512MB** by default. If your PC has more than **4GB** of RAM, you can surely set it to `-Xmx2G`.
### Русская справка ###
## 1. Установка ##
Перейдите на [страницу лаунчера](https://github.com/IIIypuk/minecraft-launcher/blob/master/mc_start.bat). Правой кнопкой мыши нажмите на **Raw** и выберите пункт **Сохранить как...** и сохраните файл в удобное для Вас место.
## 2. Клиент Minecraft ##
По умолчанию скрипт настроен на запуск Minecraft из стандартной директории `%APPDATA%\.minecraft`.
Если у Вас нет клиента Minecraft, скачайте с официального сайта [лаунчер](https://s3.amazonaws.com/Minecraft.Download/launcher/Minecraft.jar), зайдите под Demo учётной записью и скачайте клиент Minecraft.
После этого можно закрыть официальный лаунчер, запустить скачанный лаунчер и наслаждаться игрой в полную версию.
## 3. Настройка ##
Этот лаунчер можно настроить. Настройка производится путём изменения параметров в исходном коде лаунчера.
Для этого нажмите правой кнопкой мыши по файлу лаунчера и выберите пункт **Изменить**.
**Список параметров и их значений представлены ниже:**
+ `%MC_DIR%` - директория с клиентом Minecraft. По умолчанию `%APPDATA%\.minecraft`.
+ `%GAME_DIR%` - директория с файлами пользователя. Ресурс-паки, сохранения, скриншоты и др.
+ `%ASSETS_DIR%` - директория с библиотеками. Изменять только если Вы понимаете что желаете.
+ `%NATIVES_DIR%` - директория с библиотеками, которые требуеются для запуск игры под Windows.
[Скачиваем](https://github.com/IIIypuk/minecraft-launcher/raw/master/natives/1.12.2.zip) их и распаковываем в директорию `versions\`, которая находится в директории с клиентом Minecraft.
+ `%PLAYER%` - имя игрока. По умолчанию **Steve**.
+ `%WIDTH%` - ширина окна в оконном режиме.
+ `%HEIGHT%` - высота окна в оконном режиме.
+ `%RAM%` - количество оперативной памяти, которое JVM будет использовать. По умолчанию **512MB**. Если у Вас на компьютере оперативной памяти больше **4GB**, то можете смело устанавливать значение `-Xmx2G`.
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)
### Features:
* 📋 Open source. Just launch the game, nothing more
* 🏷️ Change player name
* 🧰 No need for extra deps
* ⚙️ No need configuration
![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

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>

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,28 +0,0 @@
# A minecraft root directory
MC_DIR=~/.minecraft
# Game location
GAME_DIR=$MC_DIR/profile
# Assets location
ASSETS_DIR=$MC_DIR/assets
# Version to use
VERSION=1.11.2
# Native libs location
NATIVES_DIR=$MC_DIR/versions/$VERSION/$VERSION-natives
# Player name
PLAYER=Steve
# Window properties
WIDTH=800
HEIGHT=640
# JVM args
JVM_ARGS="-Xmx1G -Xms512M"
cd $MC_DIR
java $JVM_ARGS -Djava.library.path=$NATIVES_DIR -cp $MC_DIR/libraries/com/mojang/netty/1.6/netty-1.6.jar;$MC_DIR/libraries/oshi-project/oshi-core/1.1/oshi-core-1.1.jar;$MC_DIR/libraries/net/java/dev/jna/jna/3.4.0/jna-3.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-core-mojang/51.2/icu4j-core-mojang-51.2.jar;$MC_DIR/libraries/net/sf/jopt-simple/jopt-simple/4.6/jopt-simple-4.6.jar;$MC_DIR/libraries/com/paulscode/codecjorbis/20101023/codecjorbis-20101023.jar;$MC_DIR/libraries/com/paulscode/codecwav/20101023/codecwav-20101023.jar;$MC_DIR/libraries/com/paulscode/libraryjavasound/20101123/libraryjavasound-20101123.jar;$MC_DIR/libraries/com/paulscode/librarylwjglopenal/20100824/librarylwjglopenal-20100824.jar;$MC_DIR/libraries/com/paulscode/soundsystem/20120107/soundsystem-20120107.jar;$MC_DIR/libraries/io/netty/netty-all/4.0.23.Final/netty-all-4.0.23.Final.jar;$MC_DIR/libraries/com/google/guava/guava/17.0/guava-17.0.jar;$MC_DIR/libraries/org/apache/commons/commons-lang3/3.3.2/commons-lang3-3.3.2.jar;$MC_DIR/libraries/commons-io/commons-io/2.4/commons-io-2.4.jar;$MC_DIR/libraries/commons-codec/commons-codec/1.9/commons-codec-1.9.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/google/code/gson/gson/2.2.4/gson-2.2.4.jar;$MC_DIR/libraries/com/mojang/authlib/1.5.24/authlib-1.5.24.jar;$MC_DIR/libraries/com/mojang/realms/1.10.8/realms-1.10.8.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/7.0.12_mojang/fastutil-7.0.12_mojang.jar;$MC_DIR/libraries/org/apache/logging/log4j/log4j-api/2.0-beta9/log4j-api-2.0-beta9.jar;$MC_DIR/libraries/org/apache/logging/log4j/log4j-core/2.0-beta9/log4j-core-2.0-beta9.jar;$MC_DIR/libraries/org/lwjgl/lwjgl/lwjgl/2.9.4-nightly-20150209/lwjgl-2.9.4-nightly-20150209.jar;$MC_DIR/libraries/org/lwjgl/lwjgl/lwjgl_util/2.9.4-nightly-20150209/lwjgl_util-2.9.4-nightly-20150209.jar;$MC_DIR/versions/$VERSION/$VERSION.jar net.minecraft.client.main.Main --username $PLAYER --version $VERSION --accessToken 0 --userProperties {} --gameDir $GAME_DIR --assetsDir $ASSETS_DIR --assetIndex $ASSETS_INDEX --width $WIDTH --height $HEIGHT

Binary file not shown.

6
natives/README.md Normal file
View File

@ -0,0 +1,6 @@
## Minecraft Natives
Natives catalog in [Mega.nz](https://mega.nz/#F!hUNg0Y6I!93cYw1NZg4MUWUHaVrCO7w)
*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"
}
}

1
requirements.txt Normal file
View File

@ -0,0 +1 @@
click==7.1.2

3
tools/README.md Normal file
View File

@ -0,0 +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).

52
unix/mc_start.sh Normal file
View File

@ -0,0 +1,52 @@
#!/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
# Are stored here...
# saves/, resourcepacks/ and screenshots/ dirs
# and options.txt and servers.dat files
GAME_DIR=$MC_DIR
# Assets location
ASSETS_DIR=$MC_DIR/assets
ASSETS_INDEX=1.17
# Version to use
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=$player
# Game window resolution
WINDOW_W=800
WINDOW_H=640
# 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 $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

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

@ -1,37 +1,54 @@
@echo off
rem @echo off
title Minecraft Launcher
:: set username
set /p player=What username would you like?
:: main directory of the game
set MC_DIR=%APPDATA%\.minecraft
:: Are stored here...
:: saves/, resourcepacks/ and screenshots/ dirs
:: and options.txt and servers.dat files
set GAME_DIR=%MC_DIR%\profile
set GAME_DIR=%MC_DIR%
:: libraries and resource dir (requires no changes)
set ASSETS_DIR=%MC_DIR%\assets
set ASSETS_INDEX=1.11
set ASSETS_INDEX=1.17
:: version minecraft (from versions/ dir)
set VERSION=1.11.2
set GAME_VERSION=1.17.1
:: get archive from natives/ dir
set NATIVES_DIR=%MC_DIR%\versions\%VERSION%\%VERSION%-natives
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=Steve
set PLAYER_NAME=%player%
:: resolution
set WIDTH=800
set HEIGHT=640
:: game window resolution
set WINDOW_W=800
set WINDOW_H=640
:: Java Virtual Machine parameters (RAM, etc)
set JVM="-Xmx1G -Xms512M"
:: java machine arguments
set "JVM_RAM=-Xmx2G"
set "JVM_ARGS=-XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M"
:: running minecraft
%SystemDrive%
cd %MC_DIR%
java %RAM% -Djava.library.path=%NATIVES_DIR% -cp %MC_DIR%\libraries\com\mojang\netty\1.6\netty-1.6.jar;%MC_DIR%\libraries\oshi-project\oshi-core\1.1\oshi-core-1.1.jar;%MC_DIR%\libraries\net\java\dev\jna\jna\3.4.0\jna-3.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-core-mojang\51.2\icu4j-core-mojang-51.2.jar;%MC_DIR%\libraries\net\sf\jopt-simple\jopt-simple\4.6\jopt-simple-4.6.jar;%MC_DIR%\libraries\com\paulscode\codecjorbis\20101023\codecjorbis-20101023.jar;%MC_DIR%\libraries\com\paulscode\codecwav\20101023\codecwav-20101023.jar;%MC_DIR%\libraries\com\paulscode\libraryjavasound\20101123\libraryjavasound-20101123.jar;%MC_DIR%\libraries\com\paulscode\librarylwjglopenal\20100824\librarylwjglopenal-20100824.jar;%MC_DIR%\libraries\com\paulscode\soundsystem\20120107\soundsystem-20120107.jar;%MC_DIR%\libraries\io\netty\netty-all\4.0.23.Final\netty-all-4.0.23.Final.jar;%MC_DIR%\libraries\com\google\guava\guava\17.0\guava-17.0.jar;%MC_DIR%\libraries\org\apache\commons\commons-lang3\3.3.2\commons-lang3-3.3.2.jar;%MC_DIR%\libraries\commons-io\commons-io\2.4\commons-io-2.4.jar;%MC_DIR%\libraries\commons-codec\commons-codec\1.9\commons-codec-1.9.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\google\code\gson\gson\2.2.4\gson-2.2.4.jar;%MC_DIR%\libraries\com\mojang\authlib\1.5.24\authlib-1.5.24.jar;%MC_DIR%\libraries\com\mojang\realms\1.10.8\realms-1.10.8.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\7.0.12_mojang\fastutil-7.0.12_mojang.jar;%MC_DIR%\libraries\org\apache\logging\log4j\log4j-api\2.0-beta9\log4j-api-2.0-beta9.jar;%MC_DIR%\libraries\org\apache\logging\log4j\log4j-core\2.0-beta9\log4j-core-2.0-beta9.jar;%MC_DIR%\libraries\org\lwjgl\lwjgl\lwjgl\2.9.4-nightly-20150209\lwjgl-2.9.4-nightly-20150209.jar;%MC_DIR%\libraries\org\lwjgl\lwjgl\lwjgl_util\2.9.4-nightly-20150209\lwjgl_util-2.9.4-nightly-20150209.jar;%MC_DIR%\versions\%VERSION%\%VERSION%.jar net.minecraft.client.main.Main --username %PLAYER% --version %VERSION% --accessToken 0 --userProperties {} --gameDir %GAME_DIR% --assetsDir %ASSETS_DIR% --assetIndex %ASSETS_INDEX% --width %WIDTH% --height %HEIGHT%
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%