Поддерживаемые ядра серверов

Протестированные ядра: Sponge, Thermos, KCaldron, Spigot/Bukkit. Некоторые можно скачать тут: mirror.gravitlauncher.ml

Непротестированы: Atom, Ultramine, BungeeCord и другие

Основы привязки лаунчера к серверу

Main-Class - точка входа, то с чего начинается выполнение. Его можно найти открыв jar файл ядра и посмотрев содержимое манифеста, либо скопировать из старого скрипта запуска

Class-Path - путь, где JVM будет искать классы. Его можно найти открыв jar файл ядра и посмотрев содержимое манифеста, либо скопировать из старого скрипта запуска

Указание Main-Class в строке запуска

java -cp ServerWrapper.jar:{ClassPath вашего сервера} ru.gravit.launcher.server.ServerWrapper {ваш MainClass}

Указание Main-Class в конфигурации

Можно указать Main-Class в ServerWrapperConfig.json , тогда строка запуска будет выглядеть так:

java -cp ServerWrapper.jar:{ClassPath вашего сервера} ru.gravit.launcher.server.ServerWrapper

Конфигурация ServerWrapperConfig.json

Необходимо скопировать public.key из директории лаунчсервера в директорию ServerWrapper

Для успешной авторизации сервера необходимо наличие в базе данных специального аккаунта, от имени которого будет совершен вход

Аккаунт обязан обладать правом canServer, см ниже как прописать права

{
  "title": "Test1.7.10", //Имя профиля, к которому принадлежит сервер
  "projectname": "MineCraft", //Имя проекта, к которому принадлежит сервер
  "address": "127.0.0.1", //Адрес лаунчсервера
  "port": 7240, //Порт лаунчсервера
  "reconnectCount": 10, //Максимальное число попыток авторизации
  "reconnectSleep": 1000, //Таймаут между попытками
  "customClassPath": false, //Использование функции customClassPath
  "autoloadLibraries": false, //Включить автозагрузку библиотек из папки libraries. Трубует указания -javaagent:ServerWrapper.jar
  "syncAuth": true, //Синхронная авторизация
  "mainclass": "", //Альтернативный способ указания Main-Class (см. указание Main-Class в конфиге)
  "login": "ServerBot", //Логин аккаунта сервера
  "password": "password" //Пароль аккаунта сервера
}

Добавление права canServer в jsonPermissionsHandler

Добавьте это в permissions.json

{
    "ServerBot": {
      "canAdmin": false,
      "canServer": true
    }
}

После внесения изменений нужно перезапустить лаунчсервер или выполнить reload permissionsHandler