From f540dadfe5856672cfc5ea04ce94bd77e70ec613 Mon Sep 17 00:00:00 2001 From: Andrew Molchanov Date: Mon, 4 Dec 2023 03:01:08 +0300 Subject: [PATCH] =?UTF-8?q?=D1=80=D0=B0=D0=B7=D0=BB=D0=B8=D1=87=D0=BD?= =?UTF-8?q?=D1=8B=D0=B5=20=D0=BC=D0=B5=D0=BB=D0=BA=D0=B8=D0=B5=20=D0=BF?= =?UTF-8?q?=D1=80=D0=B0=D0=B2=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/basic/auth.md | 71 +++++++++++++----------- docs/basic/clients.md | 34 ++++++++---- docs/basic/install-launch-server.md | 17 +++--- docs/basic/install-launch.md | 43 ++++++++------- docs/basic/server.md | 30 +++++----- docs/basic/update.md | 85 ++++++++++++++++++----------- 6 files changed, 161 insertions(+), 119 deletions(-) diff --git a/docs/basic/auth.md b/docs/basic/auth.md index 4138cb7..02d1de8 100644 --- a/docs/basic/auth.md +++ b/docs/basic/auth.md @@ -1,55 +1,61 @@ -# Настройка авторизации +# Настройка аутентификации -В данный момент в лаунчере реализована 4 типа авторизации: +В данный момент в лаунчере реализованы 4 типа аутентификации: - `accept` - Применяет любое имя пользователя и игнорирует ввод пароля -- `reject` - Игнорирует любую авторизацию в лаунчере -- `json` - Подключение к внешней API для авторизации -- `db` - Подключение к базе данных. Подерживается: `MySQL` +- `reject` - Игнорирует любую аутентификацию в лаунчере +- `json` - Подключение к внешней API для аутентификации +- `db` - Подключение к базе данных. Поддерживается: `MySQL`, `MariaDB`. -Для переключения между режимами измените болок `auth` в конфигурации. +Для переключения между режимами измените блок `auth` в конфигурации. + +## Настройка типа `Accept` -## Настройка типа Accept ```hjson auth: - { - type: accept - } + { + type: accept + } ``` -::: warning Важно: -Имейте виду что все данные которые вы водите для авторизации хранятся в оперативной памяти. После перезапуска LaunserServer данные о пользователях будут стёрты!!! + +::: info Для уточнения: +Данный метод хранит данные аутентификации, в оперативной памяти и предназначен в основном для тестирования либо использования на закрытых серверах "для друзей". ::: -## Настройка типа Reject +## Настройка типа `Reject` + ```hjson auth: - { - type: reject - } + { + type: reject + } ``` + :::info Для уточнения: -Чаще всего этот тип используют в техничиских челях. Этот тип не должен использоватся в поспояном использовании. +Чаще всего этот тип используют в технических целях. Например для временного запрета входа в лаунчер, на время технических работ. ::: -## Настройка типа Json +## Настройка типа `Json` + ```hjson auth: - { - authUrl: http://example.com/auth - joinUrl: http://example.com/join - hasJoinedUrl: http://example.com/hasJoin - profileUrl: http://example.com/profile - privilegesUrl: http://example.com/privileges - profilesUrl: http://example.com/profiles - type: json - - } + { + authUrl: http://example.com/auth + joinUrl: http://example.com/join + hasJoinedUrl: http://example.com/hasJoin + profileUrl: http://example.com/profile + privilegesUrl: http://example.com/privileges + profilesUrl: http://example.com/profiles + type: json + } ``` + ::: info Для уточнения: -Для того чтобы данный тип авторизации работал вы должны реализовать [данные запросы](#) в своём API. +Для того, что бы данный тип аутентификации работал, вы должны реализовать [следующие запросы](#) в своём API. ::: -## Настройка типа DB +## Настройка типа `DB` + ```hjson auth: { @@ -78,6 +84,7 @@ auth: type: db } ``` + ::: warning Важно: -В нынешней реализации шифорования паролей ещё не реализованно. Пароли хранятся в не изменёном виде!!! -::: \ No newline at end of file +В нынешней реализации шифрование паролей ещё не реализовано. Пароли хранятся в незашифрованном виде!!! +::: diff --git a/docs/basic/clients.md b/docs/basic/clients.md index 2096dad..ae109d4 100644 --- a/docs/basic/clients.md +++ b/docs/basic/clients.md @@ -11,32 +11,40 @@ ## Скачивание клиента ::: code-group + ```sh [Шаблон] downloadclient ``` + ```sh [Vanilla] downloadclient 1.19.4 TestClient ``` + ```sh [Fabric] downloadclient 1.19.4 TestClient fabric ``` + ```sh [Quilt] downloadclient 1.19.4 TestClient quilt ``` + ```sh [Mirror] downloadclient 1.19.4 TestClient mirror ``` + ::: где: - `version` - версия клиента или название сборки с зеркала - `client name` - название папки, в которую будет сохранён клиент -- `source type` - тип источника (необязательно), возможные варианты: `mojang` (используется по умолчанию), `fabric`, `quilt`, `mirror` +- `source type` - тип источника (необязательно), возможные варианты: `mojang` (используется по умолчанию), `fabric`, `quilt`, `mirror` -Скаченный клиент будет размещён по пути `gameFiles\clients\Имя_Клиента`. Здесь вы можете размещать все дополнительные файлы для игры. +Скачанный клиент будет размещён по пути `gameFiles\clients\Имя_Клиента`. Здесь вы можете размещать все дополнительные файлы для игры. ## Настройка профиля -После [скачивания клиента](#скачивание-клиента) нужно настроить профиль выбора версии. Конфигурационный файл находится в панке `profiles` с именем скаченового клиента. + +После [скачивания клиента](#скачивание-клиента) нужно настроить профиль выбора версии. Конфигурационный файл находится в папке `profiles` с именем скачанового клиента. + ```json { "configVersion": 0, @@ -69,18 +77,18 @@ downloadclient 1.19.4 TestClient mirror - `uuid` - уникальный id на который можно ссылаться при необходимости. Не меняйте его если не понимаете для чего он нужен - `sortIndex` - в какой очерёдности должен стоять профиль в лаунчере -- `ip` - адресс игрового сервера для получения чиста игроков онлайн +- `ip` - адрес игрового сервера для получения числа игроков онлайн - `port` - порт игрового сервера - `title` - название сервера в списке профилей - `javaVersion` - версия Java которая будет скачиваться для игры - `version` - версия игры - `clientDir` - название игровой папки в `gameFiles\clients` - `assetIndex` - версия asset для игры -- `libraries` - список библиотек которые используется +- `libraries` - список библиотек которые используются - `gameJar` - название файла для старта игры - `mainClass` - класс старта игры в файле `gameJar` - `jvmArgs` - аргументы запуска игры. Те которые начинаются на `-` -- `clientArgs` - аргументы запуска игры. Те которые передаются в игру +- `clientArgs` - аргументы запуска игры. Те которые передаются в игру - `update` - Не реализованно - `updateVerify` - Не реализованно - `updateExclusions` - Не реализованно @@ -88,16 +96,20 @@ downloadclient 1.19.4 TestClient mirror ## Синхронизация файлов -После каких либо изменений в папках `profiles` и `gameFiles` нужно выполнить синхранизацию. +После каких либо изменений в папках `profiles` и `gameFiles` нужно выполнить синхронизацию. :::code-group -```sh [синхранизация всего] + +```sh [синхронизация всего] syncall ``` -```sh [синхранизация profiles] + +```sh [синхронизация профилей] syncprofiles ``` -```sh [синхранизация gameFiles] + +```sh [синхронизация игровых файлов] syncclients ``` -::: \ No newline at end of file + +::: diff --git a/docs/basic/install-launch-server.md b/docs/basic/install-launch-server.md index 3454eb9..ef712a0 100644 --- a/docs/basic/install-launch-server.md +++ b/docs/basic/install-launch-server.md @@ -2,11 +2,12 @@ Проект разнесён на два репозитория: -- [AuroraLauncher](https://github.com/AuroraTeam/AuroraLauncher) - LauncherServer на котором будет размещаться игровые файлы и осуществляется подключение службы авторизации +- [AuroraLauncher](https://github.com/AuroraTeam/AuroraLauncher) - LauncherServer, который осуществляет раздачу игровых файлов, отвечает за подключение службы аутентификации и др. -- [Launcher](https://github.com/AuroraTeam/Launcher) - Сам Launcher через который будет осуществляться запуск игры +- [Launcher](https://github.com/AuroraTeam/Launcher) - Сам лаунчер, через который будет осуществляться запуск игры. + +Настройка этих двух частей происходит отдельно друг от друга, так что начнём с LauncherServer части проекта. -Настройка этих двух частей происходит отдельно друг от друга так что начнём с LauncherServer частью проекта. ## Установка и настройка После того, как вы скачали [LauncherServer](https://github.com/AuroraTeam/AuroraLauncher/releases), расположите его в любой папке и запустите его. @@ -17,13 +18,13 @@ ```hjson { - configVersion: 0 + configVersion: 0 projectID: c83f8c24-6207-45ce-8df4-671f2cb9e137 projectName: "" - lang: ru - branch: stable - env: dev - mirrors: [] + lang: ru + branch: stable + env: dev + mirrors: [] auth: { type: accept diff --git a/docs/basic/install-launch.md b/docs/basic/install-launch.md index 3fb0333..98d4aa7 100644 --- a/docs/basic/install-launch.md +++ b/docs/basic/install-launch.md @@ -1,44 +1,45 @@ # Начало работы -Для настройки [Launchera](https://github.com/AuroraTeam/Launcher) понадобиться завести аккаунт GitHub, так как для сборки лаунчера под все операционные системы тредуется компиляция лаунчера в нужной операционке. +Для настройки [ланучера](https://github.com/AuroraTeam/Launcher) понадобится завести аккаунт GitHub, так как для сборки лаунчера под все операционные системы требуется компиляция лаунчера в нужной операционке. ## Создание репозилория Для начала клонируем репозиторий к себе на аккаунт нажав на `Create a new repository` и называем его по душе. + ![1.png](/foto-github/1.png) :::info Для справки: -Если вы не хотите чтобы у вас угнали лаунчер то создавайте Приватный репозиторий. +Если вы не хотите чтобы у вас угнали лаунчер (в частности дизайн), создавайте Приватный репозиторий. :::: ## Настройка ланучера Все настройки хранятся в файле `config.ts`. + ```ts export const window = { - width: 900, - height: 550, - frame: false, - resizable: false, - maximizable: false, - fullscreenable: false, - title: 'Aurora Launcher', + width: 900, + height: 550, + frame: false, + resizable: false, + maximizable: false, + fullscreenable: false, + title: "Aurora Launcher", }; export const api = { - ws: 'ws://212.109.221.239:1370/ws', - web: 'http://212.109.221.239:1370', + ws: "ws://212.109.221.239:1370/ws", + web: "http://212.109.221.239:1370", }; ``` ##### Описание настроек конфига -- `width` - ширина окна лаунчера (в пикселях) -- `height` - длина окна лаунчера (в пикселях) -- `frame` - должны ли быть ведны рамки окна -- `resizable` - должно ли менятся размеры окна -- `maximizable` - может ли окно быть развернуто на весь экран -- `fullscreenable` - должен ли лаунчер открываться на весь экран -- `title` - название окна лаунчера -- `ws` - значение `websocket` в файле `LauncherServerConfig.hjson` -- `web` - значение `web` в файле `LauncherServerConfig.hjson` - +- `width` - ширина окна лаунчера (в пикселях) +- `height` - высота окна лаунчера (в пикселях) +- `frame` - должны ли отображаться стандартные рамки окна ОС +- `resizable` - есть ли возможность менять размер окна +- `maximizable` - есть ли возможность разворачивать окно на весь экран +- `fullscreenable` - есть ли возможность использовать полноэкранный режим (на F11) +- `title` - название окна лаунчера +- `ws` - значение `websocket` в файле `LauncherServerConfig.hjson` +- `web` - значение `web` в файле `LauncherServerConfig.hjson` diff --git a/docs/basic/server.md b/docs/basic/server.md index 0644eda..1d81350 100644 --- a/docs/basic/server.md +++ b/docs/basic/server.md @@ -1,26 +1,28 @@ # Привязка Minecraft сервера + Привязать к Aurora Launcher можно любой сервер Minecraft. Для этого нам понадобится [ServerWrapper](https://github.com/AuroraTeam/ServerWrapper/releases). -Скачивайте под вашу операционную систему исполняемый файл и положите его возле вашего Minecraft сервера. Запустите ServerWrapper и он создаст конфигурационный файл и после чего выключится. -Послее настройки конфига можно отказатся от скриптов запуска а просто запускать ServerWrapper +Скачивайте под вашу операционную систему исполняемый файл и положите его возле вашего Minecraft сервера. Запустите ServerWrapper, он создаст конфигурационный файл, после чего выключится. +Послее настройки конфига можно отказатся от скриптов запуска, а просто запускать ServerWrapper. :::warning Важно: Обезательно перед привязкой запустите сервер хотя бы 1 раз! ::: + ```json { - "javaExecutablePath": "java", - "additionalFlags": "", - "arguments": "", - "injectorFilename": "injector.jar", - "serverFilename": "server.jar", - "apiUrl": "example.com" + "javaExecutablePath": "java", + "additionalFlags": "", + "arguments": "", + "injectorFilename": "injector.jar", + "serverFilename": "server.jar", + "apiUrl": "example.com" } ``` ##### Описание настроек конфига -- `javaExecutablePath`- путь к Java -- `additionalFlags`- аргументы запуска сервера. Те которые начинаются на `-` -- `arguments`- аргументы запуска игры. Те которые передаются в игру -- `injectorFilename` - название файла injector. Не меняйте если не понимаете что это -- `serverFilename`- название файла сервера -- `apiUrl`- значение `web` в файле `LauncherServerConfig.hjson` \ No newline at end of file +- `javaExecutablePath`- путь к Java +- `additionalFlags`- аргументы запуска сервера. Те которые начинаются на `-` +- `arguments`- аргументы запуска игры. Те которые передаются в игру +- `injectorFilename` - название файла authlib injector-а. Не меняйте если не понимаете что это +- `serverFilename`- название файла сервера +- `apiUrl`- значение `web` в файле `LauncherServerConfig.hjson` diff --git a/docs/basic/update.md b/docs/basic/update.md index 22f6062..76b202e 100644 --- a/docs/basic/update.md +++ b/docs/basic/update.md @@ -1,43 +1,50 @@ # Настройка обновления -Есть 2 способа публекации новых версий лаунчера: -- `github` - Создаётся публичный репозиторий где в вкладке `Releases` будут храница новые версии -- `s3` - Облачное хранилище файлов. Для опытных людей +Есть 2 способа публикации новых версий лаунчера: -Компиляция новой версии будет выполнятся при каждом изменении файлов в репозитории, а выгрузка релиза будет выполнятся когда в конфиге `package.json` измениться значение `version`. +- `github` - Создаётся публичный репозиторий где в вкладке `Releases` будут храниться новые версии +- `s3` - Облачное хранилище файлов. Для опытных пользователей + +Компиляция новой версии будет выполнятся при каждом изменении файлов в репозитории в ветке `master` (настраивается в файлах деплоя), а публикация новой версии будет выполнятся когда в конфиге `package.json` измениться значение `version`. ## Настройка компиляции Все настройки хранятся в файле `package.json`. -Он длинный так что расмотрим саммые интересные настройки: +Он длинный так что расмотрим самые интересные настройки: + ```json "version": "0.0.4-rc.1", "build": { - "appId": "ru.aurora.launcher", - "productName": "Aurora Launcher", - "publish": [ - { - "provider": "s3", - "bucket": "1d9331f7-f396817b-b981-4ede-980b-acfe89b8ba52", - "endpoint": "https://s3.timeweb.com" - }, - { - "provider": "github", - "releaseType": "release", - "repo": "LauncherPublic", - "owner": "JoCat" - } - ], + "appId": "ru.aurora.launcher", + "productName": "Aurora Launcher", + "publish": [ + { + "provider": "s3", + "bucket": "1d9331f7-f396817b-b981-4ede-980b-acfe89b8ba52", + "endpoint": "https://s3.timeweb.com" + }, + { + "provider": "github", + "releaseType": "release", + "repo": "LauncherPublic", + "owner": "JoCat" + } + ], +} ``` ##### Описание настроек конфига -- `version` - номер версии лаунчера -- `productName` - название вашего лаунчера -- `publish` - где будет храница новые версии лаунчера -Для настройки оставте нужный вариант в `package.json`. +- `version` - номер версии лаунчера +- `productName` - название вашего лаунчера +- `publish` - куда будут публиковаться новые версии лаунчера + +Для настройки оставьте нужный вариант в `package.json`. + :::details Пример: + - Пример настройки `github`: + ```json "publish": [ { @@ -50,19 +57,31 @@ ``` ##### Описание настроек конфига -- `provider` - тип публикации обновлений -- `releaseType` - какой вид имеет релиз -- `repo` - название публичного репозитория -- `owner` - от лица кого будет публикованн релиз + +- `provider` - тип публикации обновлений +- `releaseType` - какой вид имеет релиз +- `repo` - название публичного репозитория +- `owner` - владелец репозитория в котором будет опубликован релиз + ::: -## Выпускаем токин для репозитория +## Выпускаем токен для репозитория + +Для того чтобы у компилятора был доступ к публичному репозиторию нужно создать токен доступа в вашем аккаунте GitHub. +Переходим в [Настройки аккаунта](https://github.com/settings/tokens?type=beta) и нажимаем кнопку `Generate new token`. +В поле `Token name` вводим любое имя токена. +В списке `Expiration` выбераем сколько времени будет действовать токен (Максимальное время 1 год). +В `Repository access` выбераем `Only select repositories` и выбераем ваш **Публичный репозиторий**. +В `Repository permissions` ищем разрешение `Contents` и даём доступ `Read and write`. +После нажатия `Generate token` скопируйте токен он нам понадобится для дальнейшей настройки. -Для того чтобы у компилятора был доступ к публичному репозиторию нужно создать токен доступа в вашем аккаунте GitHub. Переходим в [Настройки аккаунта](https://github.com/settings/tokens?type=beta) и нажимаем кнопку `Generate new token`. -В поле `Token name` водим лёбое имя токена. В списке `Expiration` выбераем сколько времени будет действовать токин (Максимальное время 1 год). В `Repository access` выбераем `Only select repositories` и выбераем ваш **Публичный репозиторий**. В `Repository permissions` ищем разрешение `Contents` и даём доступ `Read and write`. После нажатия `Generate token` скопируйте токен он нам понадобится для дольнейшей настройки. ![2.png](/foto-github/2.png) ## Настройка выгрузки релизов -Переходим к репозиторию где у вас храница Launcher и входим в вкладку `Settings`. В столбце слева ищем `Secrets and variables` и переходим в `Actions`. Создаём новый Секрет через кнопку `New repository secret`. Название у Секрета должно быть `GH_TOKEN` а в поле `Secret` токен который мы сгенерировали в [теме сверху](#выпускаем-токин-для-репозитория). -![3.png](/foto-github/3.png) \ No newline at end of file +Переходим к репозиторию где у вас хранится Launcher и заходим во вкладку `Settings`. +В столбце слева ищем `Secrets and variables` и переходим в `Actions`. +Создаём новый Секрет через кнопку `New repository secret`. +Название у Секрета должно быть `GH_TOKEN` а в поле `Secret` токен который мы сгенерировали [ранее](#выпускаем-токен-для-репозитория). + +![3.png](/foto-github/3.png)