Skip to content

Commit

Permalink
Куча различных правок, обновление лого, встраивание метрики, включени…
Browse files Browse the repository at this point in the history
…е поиска и многое другое
  • Loading branch information
JoCat committed Feb 27, 2024
1 parent b00a795 commit 0ca7ba3
Show file tree
Hide file tree
Showing 29 changed files with 319 additions and 303 deletions.
46 changes: 20 additions & 26 deletions docs/.vitepress/config.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { navbar } from "./navbar";
import { navbar as nav } from "./navbar";
import { sidebar } from "./sidebar";

export default {
Expand All @@ -11,51 +11,35 @@ export default {
"link",
{
rel: "apple-touch-icon",
sizes: "180x180",
href: "/favicons/apple-touch-icon.png",
},
],
[
"link",
{
rel: "icon",
type: "image/png",
sizes: "32x32",
href: "/favicons/favicon-32x32.png",
sizes: "any",
href: "/favicons/favicon.ico",
},
],
[
"link",
{
rel: "icon",
type: "image/png",
sizes: "16x16",
href: "/favicons/favicon-16x16.png",
type: "image/svg+xml",
href: "/favicons/favicon.svg",
},
],
["link", { rel: "manifest", href: "/favicons/site.webmanifest" }],
[
"link",
{
rel: "mask-icon",
href: "/favicons/safari-pinned-tab.svg",
color: "#2575fc",
},
],
["link", { rel: "shortcut icon", href: "/favicons/favicon.ico" }],
["meta", { name: "msapplication-TileColor", content: "#2575fc" }],
[
"meta",
{ name: "msapplication-config", content: "/favicons/browserconfig.xml" },
],
["meta", { name: "theme-color", content: "#ffffff" }],
["link", { rel: "manifest", href: "/favicons/manifest.webmanifest" }],
["meta", { name: "theme-color", content: "#0080ff" }],
],
sitemap: {
hostname: "https://docs.aurora-launcher.ru/",
},
lastUpdated: true,
themeConfig: {
logo: "/logo.png",
nav: navbar,
logo: "/logo.svg",
nav,
sidebar,
socialLinks: [
{
Expand All @@ -72,5 +56,15 @@ export default {
prev: "Предыдущая страница",
next: "Следующая страница",
},
lastUpdated: {
text: "Последнее обновление",
},
lightModeSwitchTitle: "Переключить на светлую тему",
darkModeSwitchTitle: "Переключить на тёмную тему",
sidebarMenuLabel: "Меню",
returnToTopLabel: "Наверх",
search: {
provider: "local",
},
},
};
11 changes: 10 additions & 1 deletion docs/.vitepress/theme/index.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,13 @@
import DefaultTheme from "vitepress/theme";
import "./custom.css";

export default DefaultTheme;
import { yandexMetrika } from "@hywax/vitepress-yandex-metrika";

export default {
extends: DefaultTheme,
enhanceApp(ctx) {
yandexMetrika(ctx, {
counter: { id: 68187730 },
});
},
};
50 changes: 42 additions & 8 deletions docs/basic/auth.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

В данный момент в лаунчере реализованы 4 типа аутентификации:

- `accept` - Применяет любое имя пользователя и игнорирует ввод пароля
- `reject` - Игнорирует любую аутентификацию в лаунчере
- `json` - Подключение к внешней API для аутентификации
- `accept` - Принимает любое имя пользователя и игнорирует ввод пароля
- `reject` - Блокирует любую аутентификацию в лаунчере
- `json` - Подключение к внешнему API для аутентификации
- `db` - Подключение к базе данных. Поддерживается: `MySQL`, `MariaDB`, `PostgreSQL`, `SQLite`, `Oracle Database`, `Microsoft SQL Server`.

Для переключения между режимами измените блок `auth` в конфигурации.
Expand Down Expand Up @@ -59,9 +59,10 @@ auth:
auth:
{
type: db
passwordVerfier: bcrypt
passwordSalt: random
passwordVerfier: hash(md5(pass + salt))
passwordSalt: randomSalt123
connection: {
// Возможные типы подключения: mysql, mariadb, postgres, sqlite, oracle и mssql
type: mysql
host: 127.0.0.1
port: 3306
Expand All @@ -80,11 +81,10 @@ auth:
capeUrlColumn: capeURL
}
}
// Поле passwordVerfier имеет возможность принять: `hash`, `bcrypt`, `argon2`
// Поле passwordSalt - опциональное
```

Для работы этого способа авторизации вам нужно создать вручную все нужные таблицы а базе данных. Вот SQL запрос для создание нужных таблиц.
Для работы этого способа авторизации вам нужно создать вручную все нужные таблицы а базе данных.\
Вот пример SQL запроса для создание нужных таблиц в MySQL:

```sql
-- Создаём таблицу с пользователями
Expand Down Expand Up @@ -115,4 +115,38 @@ DELIMITER ;
UPDATE users SET uuid=(SELECT UUID()) WHERE uuid IS NULL;
```

### Проверка пароля

Настройка поля passwordVerfier отвечает за проверку пароля и принимает следующие значения: `hash`, `bcrypt`, `argon2`.\
Поле passwordSalt - опциональное, используется только в методе `hash`.

Пример использования:

#### `bcrypt` и `argon2`

Достаточно просто указать `bcrypt` или `argon2` в поле `passwordVerfier`.\
Например:

```hjson
passwordVerfier: bcrypt
```

#### `hash`

Метод `hash` принимает в себя тело функции хеширования. Например у вас используется какая-нибудь старая CMS или ЛК и в нём проверка пароля реализована какой-либо устаревшей функцией хеширования пароля, например такой: `md5(md5(пароль) + соль)`.\
В таком случае Вам нужно указать следующее настройки:

```hjson
passwordVerfier: hash(md5(md5(pass) + salt))
// здесь указывается ваша соль
passwordSalt: exampleSalt123
```

Пример так называемого "двойного md5" будет выглядеть так:

```hjson
passwordVerfier: hash(md5(md5(pass)))
```

В данной схеме `pass` - это пароль, который вводит пользователь, `salt` - это соль, которая указывается в поле `passwordSalt` в настройках.\
Функция `hash` принимает в себя различные варианты хеш-функций, например: `md5`, `sha1`, `sha256`, `sha512` и т.д.
10 changes: 5 additions & 5 deletions docs/basic/clients.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,23 +12,23 @@

::: code-group

```sh [Команда для скачивания]
```cmd [Команда для скачивания]
downloadclient <version> <client name> <?source type>
```

```sh [Vanilla]
```cmd [Vanilla]
downloadclient 1.19.4 TestClient
```

```sh [Fabric]
```cmd [Fabric]
downloadclient 1.19.4 TestClient fabric
```

```sh [Quilt]
```cmd [Quilt]
downloadclient 1.19.4 TestClient quilt
```

```sh [Mirror]
```cmd [Mirror]
downloadclient 1.19.4 TestClient mirror
```

Expand Down
23 changes: 14 additions & 9 deletions docs/basic/forge.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,10 @@

Все модификации клиента будут проходить после скачивание `vanilla` версии игры.

## Скачивание Forge
## Скачивание Forge

Скачиваем инсталлятор `forge` с [официального сайта](https://files.minecraftforge.net/net/minecraftforge/forge/). Создаём временную папку в любом месте с любым названием. В корень папку кладём инсталлятор и файл с названием `launcher_profiles.json` в котором находится такие строчки

```json
{
"selectedProfile": "(Default)",
Expand All @@ -21,42 +22,46 @@
"clientToken": ""
}
```
И запускаем инсталлятор `forge` с указанием установки клиента в эту временную папку. Ждём удачной "Установки" forge.

И запускаем инсталлятор `forge` с указанием установки клиента в эту временную папку. Ждём удачной "Установки" forge.

Копируем содержимое папки `libraries` в `gameFiles\libraries` нашего LaunchServer. Нам так же нужно узнать относительный путь и хеш каждой либы для этого можно воспользоваться [parser-libraries](https://github.com/kostya-main/parser-libraries/releases). Просто положите его в папку `libraries` и он сделает файл `libraries.json` данные которого просто вставить в одноимённую переменную настройках профиля.

## Профиль на версию <1.12.X

Теперь внимательно смотрим файл по пути `versions\Версия Игры-forge-Версия Forge\Версия Игры-forge-Версия Forge.json` и изменяем наш профиль по такой схеме:

- `mainClass` - записывается в одноимённую переменную профиля
- `minecraftArguments` - записываем в `clientArgs` профиля только 2 последних аргумента запуска. Пример:

```json
"clientArgs": [
"--tweakClass",
"net.minecraftforge.fml.common.launcher.FMLTweaker",
"--versionType",
"--tweakClass",
"net.minecraftforge.fml.common.launcher.FMLTweaker",
"--versionType",
"Forge"
],
```

## Профиль на версию >1.16.X

Теперь внимательно смотрим файл по пути `versions\Версия Игры-forge-Версия Forge\Версия Игры-forge-Версия Forge.json` и изменяем наш профиль по такой схеме:

- `mainClass` - записывается в одноимённую переменную профиля
- `game` - записывается в `clientArgs` профиля
- `jvm` - записывается в `jvmArgs` профиля но ищем заполнитель `${version_name}` и пишем название файла minecraft (это мы и записываем если не переименовали). В версии >1.13.X не водится данная настройка.

## Решение ошибок при запуске игры

Ошибка вида `Caused by: java.lang.NoSuchMethodError: com.google.common.collect.XXXX.XXXXX` скорее всего у вас копии либы `guava` удалите те версии которые были добавлены инсталлятором forge
Ошибка вида `Caused by: java.lang.NoSuchMethodError: com.google.common.collect.XXXX.XXXXX` скорее всего у вас копии либы `guava` удалите те версии которые были добавлены инсталлятором forge

Ошибка вида `Caused by: java.lang.IllegalArgumentException
at org.objectweb.asm.ClassVisitor.<init>(ClassVisitor.java:X)
at org.objectweb.asm.ClassVisitor.<init>(ClassVisitor.java:X)`
скоре всего нужно удалить старые версии семейство библиотек `asm`
скоре всего нужно удалить старые версии семейство библиотек `asm`

Ошибка вида `java.lang.IllegalStateException: Duplicate key "Пути к библиотеке"`
вы добавили два раза одну и тоже библиотеку в список. Удалите оду из записей в профиле.
вы добавили два раза одну и тоже библиотеку в список. Удалите оду из записей в профиле.

Ошибка вида `java.lang.module.ResolutionException: Modules ForgeAutoRenamingTool and org.objectweb.asm.commons export package org.objectweb.asm.commons to module X `
удалите библиотеку `ForgeAutoRenamingTool`
удалите библиотеку `ForgeAutoRenamingTool`
2 changes: 1 addition & 1 deletion docs/basic/install-launch.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ export const api = {
web: "http://127.0.0.1:1370",
};

export const appPath = '.aurora-launcher';
export const appPath = ".aurora-launcher";
```

##### Описание настроек конфига
Expand Down
11 changes: 6 additions & 5 deletions docs/basic/nginx.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ server {
charset utf-8;
#access_log /var/log/nginx/launcher.ВАШ_ДОМЕН.access.log;
#error_log /var/log/nginx/launcher.ВАШ_ДОМЕН.error.log notice;
location /files {
alias ПУТЬ/ДО/ПАПКИ/gameFiles;
}
Expand Down Expand Up @@ -54,8 +54,8 @@ server {
ssl_certificate_key /etc/nginx/ssl/КЛЮЧ_ОТ_СЕРТИФИКАТА;
#access_log /var/log/nginx/launcher.ВАШ_ДОМЕН.access.log;
#error_log /var/log/nginx/launcher.ВАШ_ДОМЕН.error.log notice;
location /files {
alias ПУТЬ/ДО/ПАПКИ/gameFiles;
}
Expand All @@ -73,4 +73,5 @@ server {
}
}
```
:::

:::
15 changes: 8 additions & 7 deletions docs/basic/server.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
# Привязка Minecraft сервера

Привязать к Aurora Launcher можно любой сервер Minecraft. Для этого нам понадобится [ServerWrapper](https://github.com/AuroraTeam/ServerWrapper/releases).
Скачивайте под вашу операционную систему исполняемый файл и положите его возле вашего Minecraft сервера. Запустите ServerWrapper, он создаст конфигурационный файл, после чего выключится.
После настройки конфига можно отказаться от скриптов запуска, а просто запускать ServerWrapper.
Привязать к Aurora Launcher можно любой сервер Minecraft. Для этого нам понадобится [ServerWrapper](https://github.com/AuroraTeam/ServerWrapper/releases).
Скачайте исполняемый файл под вашу операционную систему и положите его возле вашего Minecraft сервера. Запустите ServerWrapper, он создаст конфигурационный файл, после чего выключится.
После настройки конфига можно отказаться от скриптов запуска и просто запускать ServerWrapper.

:::warning Важно:
Обязательно перед привязкой запустите сервер хотя бы 1 раз!
После привязки сервера не забудьте вернуть в `server.properties` настройку `online-mode=true`
Expand All @@ -11,8 +12,8 @@
```json
{
"javaExecutablePath": "java",
"additionalFlags": "",
"arguments": "",
"additionalFlags": "-Xms2048M -Xmx4096M",
"arguments": "--nogui",
"injectorFilename": "injector.jar",
"serverFilename": "server.jar",
"apiUrl": "http://127.0.0.1:1370"
Expand All @@ -22,8 +23,8 @@
##### Описание настроек конфига

- `javaExecutablePath`- путь к Java
- `additionalFlags`- аргументы запуска сервера. Те которые начинаются на `-`
- `arguments`- аргументы запуска игры. Те которые передаются в игру
- `additionalFlags`- флаги настройки Java процесса
- `arguments`- дополнительные аргументы для сервера
- `injectorFilename` - название файла authlib injector-а. Не меняйте если не понимаете что это
- `serverFilename`- название файла сервера
- `apiUrl`- URL до вашего лаунчера
5 changes: 3 additions & 2 deletions docs/basic/signing.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@

## Генерация сертификата

Для удобного и понятного интерфейса мы будем использовать [XCA](https://www.hohnstaedt.de/xca/index.php/download). Скачиваем и устанавливаем.
Для удобного и понятного интерфейса мы будем использовать [XCA](https://www.hohnstaedt.de/xca/index.php/download). Скачиваем и устанавливаем.

- Сперва заходим в список `Файл` и выбираем `Новая база данных`. Называем как хотим и размещаем где хотим.
- Во вкладке `Сертификаты` нажимаем на `Новый сертификат`. Сейчас мы создадим корневой сертификат.
- Заходим в вкладку `Субъект` и заполняем поле `commonName` (например `ServerMC Root CA`) обязательно, остальные поля на ваше усмотрения.
Expand Down Expand Up @@ -50,4 +51,4 @@
- `signingHashAlgorithms` - какой тип генерации хеша использовался. Если вы [сгенерировали сертификат](#генерация-сертификата) оставляем без изменений
- `certificateFile` - путь до файла сертификата
- `certificatePassword` - пароль от сертификата
- `artifactName` - маска названия файла установщика
- `artifactName` - маска названия файла установщика
9 changes: 4 additions & 5 deletions docs/basic/system-skin.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
# Настройка системы скинов

В лаунчере используется проект [authlib-injector](https://github.com/yushijinhun/authlib-injector) для работы кастомной системы скинов и авторизации.
Система скинов будет работать только при использовании авторизацию через `DB` или `Json`.
Система скинов будет работать только при использовании авторизацию через `DB` или `Json`.

::: warning Важно
В нынешней версии лаунчера моделька игрока на главном экране будет отображать только при авторизации типа `Json`
:::
## Настройка LauncherServer

Для корректной работы нужно указать в `LauncherServerConfig.hjson` **все домены**, от куда будет производиться загрузка скинов.

```hjson
injector:
{
Expand All @@ -18,6 +16,7 @@ injector:
]
}
```

::: info Для справки:
Если в начали домена стоит `.` это говорит что разрешены все поддомены.
Если в **начале нет** `.` это говорит что разрешён только этот домен.
Expand All @@ -30,4 +29,4 @@ injector:

## Настройка при авторизации `Json`

Вам нужно будет реализовать запросы по схеме описанной в [этой](../for-developers/json-auth.md) статье.
Вам нужно будет реализовать запросы по схеме описанной в [этой](../for-developers/json-auth.md) статье.
Loading

0 comments on commit 0ca7ba3

Please sign in to comment.