# Установка GravitLauncher ## Установка Java 21 Выполняем данные команды по порядку: ``` sudo apt-get update sudo apt-get install gnupg2 wget apt-transport-https unzip -y sudo mkdir -p /etc/apt/keyrings sudo wget -O - https://packages.adoptium.net/artifactory/api/gpg/key/public | sudo tee /etc/apt/keyrings/adoptium.asc echo "deb [signed-by=/etc/apt/keyrings/adoptium.asc] https://packages.adoptium.net/artifactory/deb $(awk -F= '/^VERSION_CODENAME/{print$2}' /etc/os-release) main" | sudo tee /etc/apt/sources.list.d/adoptium.list sudo apt-get update sudo apt-get install temurin-21-jdk -y wget https://download2.gluonhq.com/openjfx/22.0.2/openjfx-22.0.2_linux-x64_bin-jmods.zip unzip openjfx-22.0.2_linux-x64_bin-jmods.zip sudo cp javafx-jmods-22.0.2/* /usr/lib/jvm/temurin-21-jdk-amd64/jmods rm -r javafx-jmods-22.0.2 rm -rf openjfx-22.0.2_linux-x64_bin-jmods.zip ``` Проверяем командой `java -version`, если версия неправильная меняем с помощью команд `sudo update-alternatives --config java` и `sudo update-alternatives --config javac` ## Установка LaunchServer ### Основа 0. Создать пользователя launcher и залогиниться в него 1. wget-ом скачать релиз стабильной версии `wget https://github.com/GravitLauncher/Launcher/releases/download/v5.6.9/Release.zip` 2. Распаковать `unzip Release.zip` 3. !!Удалить все содержимое папки `modules`!! 4. Создать файл `start.sh` с правами на выполнение и следующим содержимым: ``` #!/bin/bash java -Xmx512M -Dlauncher.useSlf4j=true -jar LaunchServer.jar ``` 5. Запустить лаунчсервер `./start.sh`, ввести айпи адрес и имя проекта, и выключить его командой `stop` 6. Скачать [архив с модулями](https://github.com/GravitLauncher/Launcher/releases/download/v5.6.9/LaunchServerModules.zip), из него MirrorHelper и Prestarter поместить в папку `modules` 7. Поместить [этот](https://github.com/GravitLauncher/LauncherPrestarter/releases/download/1.0.2/Prestarter.exe) файл в корень лаунчсервера 8. Снова запустить сервер с помощью `./start.sh` 9. Написать команды `loadmodule /home/launcher/modules/MirrorHelper_module.jar` и `loadmodule /home/launcher/modules/Prestarter_module.jar` ### Создание и настройка клиента 1. В файле `LaunchServer.json` поменять тип авторизации с `reject` на `memory` (для тестинга) 2. Запустить сервер `./start.sh` 3. Скачать ассеты для нужной версии командой `downloadasset <версия>` 4. Написать команду `applyworkspace` 5. Установить клиент командой `installclient <имя> <версия> ` 6. Для версий 1.7.10-1.20.1 с модами следовать [этому](https://discord.com/channels/853340557522370561/1209908170710065233/1209908170710065233) гайду в дискорде гравита 7. Написать команду `build`, .exe файл из папки `updates` скачивать на компьютеры клиентов **На этом этапе должен работать синглплеер** ### Привязка сервера 1. Создать папку с сервером, поместить в нее [подходящее ядро](https://gravitlauncher.com/servers/#%D1%80%D0%B5%D0%BA%D0%BE%D0%BC%D0%B5%D0%BD%D0%B4%D1%83%D0%B5%D0%BC%D1%8B%D0%B5-%D1%8F%D0%B4%D1%80%D0%B0) 2. В консоли лаунчсервера написать команду `token server <имя сервера>` и сохранить токен в укромное место 3. Запустить сервер 1 раз с помощью команды "java -jar <ядро>.jar" 4. В папку сервера скопировать файл ServerWrapper.jar из корневой папки лаунчсервера 5. Запустить в фоне лаунчсервер (например с помощью утилиты `screen`) и в папке сервера прописать команду `java -jar ServerWrapper.jar setup` 6. Ввести нужные данные 7. С этого момента запускать сервер только с помощью скрипта `start.sh` сгенерированого ServerWrapper раз раз раз это хардбасс все в спортивках адидас