Перейти к публикации

sashok724's Launcher v15.4


Рекомендованные сообщения

Основная информация

Лаунчер написан на Java 8 с использованием технологии JavaFX и Nashorn, за счёт чего обладает широкими возможностями кастомизации и безупречной производительностью. С помощью умной обвязки, Вы можете скачать клиенты и настроить сервера всего в несколько команд, не компилируя исходники и не меняя классы клиента!

Новый функционал можно добавить через JS API, возможно так же добавление функционала в стандартную конфигурацию по запросу.

Установка на VDS

Запустите скрипт установки в удобной для Вас директории (для работы скрипта нужен curl):

curl -s https://launcher.sashok724.net/download/setup.sh| sh

Запустите лаунчсервер как любое другое Java-приложение:

java -Xmx256M -jar LaunchServer.jar

Для работы лаунчера и лаунчсервера нужна Java 8 и выше

Настройка LaunchServer.cfg

При первом запуске Вас попросят указать адрес VDS (IP или домен), на котором находится лаунчсервер - лаунчеры будут подключаться именно по этому адресу. После этого будет создан основной файл конфигурации - LaunchServer.cfg - в нём настраивается авторизацияобработка UUIDсистема скинов и сборка EXE-файла через Launch4J. Вы можете использовать локальный адрес для тестирования (localhost):

address: "localhost"; # Адрес VDS (IP или домен)
port: 7240; # Порт лаунчсервера Способы авторизации (authProvider)

По умолчанию используется способ авторизации accept, который принимает любые пары логин-пароль за верные, и имя пользователя соответствует логину. Такой способ хорошо подходит для тестирования, но для использования в productionрекомендуется сменить его на один из других: rejectfilerequest, или mysql. В отличие от accept, все эти способы требуют дополнительной конфигурации в блоке authProviderConfig:

authProvider: "accept"; # Название способа авторизации
authProviderConfig: {
# Конфигурация способа авторизации
}; Способ reject

Этот способ авторизации - полная противоположность accept - он принимает любые пары логин-пароль за неверные. Этот способ можно использовать во время проведения технических работ. Пример конфигурации:

message: "Технические работы, приходите позже!"; # Сообщение, которое будет использовано в качестве ошибки Способ file

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

file: "users.txt"; # Имя файла, в котором будут пары "логин: пароль"
digest: "SHA-256"; # Алгоритм хеширования пароля. Поддерживаются plain, MD5, SHA-1, SHA-224, SHA-256, SHA-512 Способ request

Для проверки правильности логина и пароля, этот способ обращается к указанному URL. Этот способ рекомендуется для больших проектов с CMS, которые используют нестандартные алгоритмы хеширования. Пример конфигурации:

url: "https://myserver.tld/auth.php?login=%login%&password=%password%"; # URL, к которому будет обращаться лаунчсервер. %login% и %password% заменяются на указанные логин и пароль, соответственно
response: "OK:(?<username>.+)"; # Маска ответа успешной авторизации. В capture-группе <username> должно быть имя пользователя. В случае, если ответ отличается, он выводится в качестве ошибки

Вы можете загрузить уже готовые скрипты авторизации для WordPressXenForoIPB и PHPBB (Они должны находиться в корне сайта)

Способ mysql

Для проверки правильности логина и пароля, этот способ обращается к MySQL-базе данных. Этот способ рекомендуется для больших проектов со стандартными алгоритмами хеширования. Пример конфигурации (DLE):

address: "mysqlserver.tld"; # Адрес MySQL-сервера
port: 3306; # Порт MySQL-сервера (по умолчанию 3306)
username: "root"; # Имя пользователя MySQL-сервера
password: "PSP1004"; # Пароль пользователя
database: "dle"; # База данных

query: "SELECT name FROM dle_users WHERE (email=? OR name=?) AND password=MD5(MD5(?)) LIMIT 1"; # Запрос. Он должен быть
SELECT и возвращать имя пользователя в правильном регистре. ? заменяются на параметры ниже:
queryParams: [ "%login%", "%login%", "%password%" ]; # Параметры к запросу. %login% и %password% заменяются на имя
пользователя и пароль соответственно Проверка авторизации

Проверить авторизацию можно с помощью команды auth:

auth "username" "password"

 

Данный лаунчер сделан, чтобы создавать свои проекты. 
Сама ссылка: https://launcher.sashok724.net/


Остальная инфа, что и как делать на самом сайте. 
К тому же есть Beta версия, а ещё тех.Поддержка от меня.  

Изменено пользователем Sashok724
Ссылка на комментарий

Я не хочу вас мучить, чтобы вы переходили по ссылкам я лучше сама сюда всё скину. 


Система скинов и плащей

Скины и плащи настраиваются всего двумя параметрами - маской URL на PNG-файл. Пример конфигурации:

skinsURL: "http://skins.minecraft.net/MinecraftSkins/%username%.png"; # Маска URL скинов
cloaksURL: "http://skins.minecraft.net/MinecraftCloaks/%username%.png"; # Маска URL плащей

%username%%uuid%%hash% заменяются на имя пользователяUUID и UUID без тире соответственно

Не забудьте поменять textureProvider с mojang на request

Сборка EXE с помощью Launch4J

Лаунчсервер так же может автоматически собирать EXE из JAR-файла - для этого требуется поставить параметр launch4J на true. Для того чтобы у EXE-файла была иконка, положите файл favicon.ico рядом с лаунчсервером. Пример конфигурации:

launch4J: true; # Включить сборку EXE через Launch4J

В случае возникновения ошибок на 64-битных системах, может помочь установка 32-битного пакета glibc (Debian: lib32z1 | CentOS: glibc.i686).

Загрузка клиентов и настройка профилей

Клиентыресурсы и другие файлы для загрузки лаунчером хранятся в виде субдиректорий в директории updates, а профили, в которых указываются имя директорийадрес сервера для автозахода, исключения при обновлении и другие сведения, необходимые для запуска клиента хранятся в директории profiles

Загрузка ресурсов

Для загрузки ресурсов существует команда downloadAsset. Первым аргументом передаётся версия клиента, для которого загружаются ресурсы, вторым аргументом имя субдиректории в updates:

downloadAsset 1.7.10 "asset1.7.10"

Синхронизация (см. ниже) сделается автоматически, отдельно набирать команду не требуется

Загрузка клиентов

Для загрузки клиентов существует команда downloadClient. Первым аргументом передаётся версия клиента, вторым аргументом имя субдиректории в updates:

downloadClient 1.7.10 "HiTech"

Эта команда так же автоматически создаст файл профиля в директории profiles. Пример файла profile.cfg:

version: "x.x.x"; # Версия клиента
assetIndex: "x.x.x"; # Индекс ресурсов (имя файла в indexes), 1.7.10+

# Runtime-dependent params
dir: "XXXXX"; # Директория клиента
assetDir: "XXXXX"; # Директория ресурсов

# Client params
sortIndex: 0; # Индекс для сортировки профилей в списке
title: "XXXXX"; # Заголовок профиля в лаунчере
serverAddress: "server.tld"; # Имя сервера для автозахода
serverPort: 25565; # Порт сервера для автозахода

# Updater and client watch service
updateFastCheck: true; # Менее надёжная, но намного более быстрая проверка файлов
update: []; # Файлы и директории, которые будут обновлены, но не будут проверяться во время игры
updateVerify: [ # Файлы и директории, которые должны быть обязательно проверены. \\ Нужно для экранизации точки (Regexp)
"libraries", "natives", "mods",
"minecraft\\.jar", "forge\\.jar"
];
updateExclusions: [ # Исключения из файлов и директорий выше
# ...
];

# Client launcher params
mainClass: "net.minecraft.launchwrapper.Launch"; # Главный класс клиента
classPath: [ "libraries", "minecraft.jar", "forge.jar" ]; # Classpath клиента
jvmArgs: [ # Дополнительные аргументы JVM
"-Dfml.ignorePatchDiscrepancies=true", # Игнорировать различия в патчах
"-Dfml.ignoreInvalidMinecraftCertificates=true", # Игнорировать отсутствие сертификатов
"-Dorg.lwjgl.opengl.Display.allowSoftwareOpenGL=true" # (Не)обладатели драйверов на видеокарту тоже смогут играть
];
clientArgs: [ # Дополнительные аргументы клиента
"--tweakClass", "cpw.mods.fml.common.launcher.FMLTweaker" # Если используете Forge
];

Синхронизация (см. ниже) сделается автоматически, отдельно набирать команду не требуется

Синхронизация директорий updates и profiles

Для обеспечения высокой производительности, лаунчсервер кэширует содержимое директорий updates и profiles. При внесении изменений в эти директории, лаунчсервер о них не осведомлён, и при следующем обновлении скорее всего будет ошибка. Для того чтобы синхронизировать содержимое этих директорий, существует две команды - syncUpdates и syncProfiles:

syncUpdates # Синхронизирует содержимое директории updates
syncProfiles # Синхронизирует содержимое директории profiles

Эти команды надо обязательно выполнять после изменений! Иначе у Вас и Ваших игроков будут ошибки при обновлениях!

Сборка и использование, настройка сервера

Перед сборкой рекомендуется настроить стандартный интерфейс лаунчера в файле runtime/config.js:

var config = {
dir: "sashok724", // Директория, в которой лаунчер будет хранить файлы (%user.home%/dir)
title: "sashok724's Launcher", // Заголовок окна лаунчера
icons: [ "favicon.png" ], // Путь к иконкам лаунчера (относительно runtime)

// Настройка окна авторизации
newsURL: "https://launcher.sashok724.net/", // URL новостей, которые будут показаны в главном окне
linkText: "Бесплатные окна", // Текст ссылки под кнопкой "Авторизация"
linkURL: new java.net.URL("http://bit.ly/1SP0Rl8"), // URL ссылки под кнопкой "Авторизация"

// Стандартные значения настроек
settingsMagic: 0xBEEF, // Древняя магия, не трогать
autoLoginDefault: false, // Автологин
fullScreenDefault: false, // Полный экран
ramDefault: 1024, // Количество памяти

// Имена директорий с JRE, если не знаете, зачем это нужно - не трогайте
jreMustdie32Dir: "jre-8u202-win32", jreMustdie64Dir: "jre-8u202-win64",
jreLinux32Dir: "jre-8u202-linux32", jreLinux64Dir: "jre-8u202-linux64",
jreMacOSXDir: "jre-8u202-macosx", jreUnknownDir: "jre-8u202-unknown"
}

Настройки находятся только в этой части файла, остальная часть используется самим лаунчером и менять её не нужно!

Сборка лаунчера

Для сборки лаунчера существует команда build. Она автоматически упакует runtime, запишет Launcher.jar, соберёт Launcher.exe(если включена интеграция с Launch4J), и автоматически их синхронизирует. Данная команда используется после модификации директории runtime:

build # Собирает Launcher.jar и Launcher.exe

Сразу после сборки, лаунчер можно отправлять игрокам. Если сайт и лаунчсервер на одной VDS, можно сделать symlink на лаунчер с сайта:

ln -s "/opt/launchserver/Launcher.jar" "/opt/webserver/Launcher.jar"
ln -s "/opt/launchserver/Launcher.exe" "/opt/webserver/Launcher.exe" Сборка сервера

На данный момент поддерживаются MCPC 1.5.2Cauldron 1.6.4Cauldron 1.7.2KCauldron 1.7.10Thermos 1.7.10Spigot 1.8.8Spigot 1.9.4Spigot 1.10.2Spigot 1.11.2Spigot 1.12.2 и Sponge 1.12.2. Патчи на авторизацию в них уже добавлены, и всё, что Вам требуется сделать, это заменить Launcher.jar.

Сборка сервера BungeeCord

Доступны патченные серверы BungeeCord (1.8.9-1.13.2, #afef0ec)его legacy-версия (1.7.2-1.8.9, #219819b)Waterfall (1.8.9-1.13.2, #bea8aac)Waterfall-Old (1.7.2-1.9.4, #f62f290). Патчи на авторизацию в них уже добавлены, и всё, что Вам требуется сделать, это заменить Launcher.jar. Не забудьте включить ip-forwarding и bungeecord в файлах config.yml и spigot.yml, соответственно. На серверы, стоящие ЗА BungeeCord патчи НЕ ставятся и online-mode НЕ включается. Желательно поставить server-ip на localhost

Ссылка на комментарий

Гладос как всегда всех разоблачил 

о да, ребята сделали крутую альтернативу, вместо лаунчера где обновлений не было достаточно долго, а он вставил свои ненужные 5 копеек

разоблачил  :D

Ссылка на комментарий

о да, ребята сделали крутую альтернативу, вместо лаунчера где обновлений не было достаточно долго, а он вставил свои ненужные 5 копеек

разоблачил  :D

Почитай внимательно что написал гладос))

Ссылка на комментарий

Сашка, ты зачем свое говно и сюда запихнул? Тебе рубакита не хватает? Уже Gravit есть, в 100 раз лучше. Твое "творение" из говна и палок, и это к вайму никак не относиться.

Ссылка на комментарий

Сашка, ты зачем свое говно и сюда запихнул? Тебе рубакита не хватает? Уже Gravit есть, в 100 раз лучше. Твое "творение" из говна и палок, и это к вайму никак не относиться.

Это обсуждение для разработок МАЙНКРАФТА
Ссылка на комментарий

Уважаемая администрация, все игроки из коммьюнити бедварса устали играть в режим, для которого обновления если и выходят, то только в виде карт. После того, как выпустили Guild Wars, абсолютно все ждали либо официальный турнир, либо же систему рейтинга, которая, как всем казалось, должна выйти, но так и не вышла. Пропадает интерес играть просто так в BedWars. Я не говорю уже о том, что не сделали ничего, чтоб находить противников для игры в BedWars. Игрокам приходится сидеть в 1 лобби или мониторить KitPvP 4, пока какая-нибудь команда в поиске игры так же не зайдет на кит пвп. Можно было бы сделать отдельное лобби или автоматизировать все это, но, опять же, вся суть этого сообщения в добавлении рейтинга, так как игроки уже устали ждать и играть шаблонные игры, за которые ты не получишь ничего, не получишь победу. Если первое время ты получал удовольствие от игры, то сейчас все начинает надоедать и интерес к игре пропадает. Сделать систему рейтинга, а также, как вы и обещали в своих постах в 2017 году, чтобы первые места получали призы. Никто не говорит о тех же вимерах, это на самом деле не так важно, добавить какие-нибудь кубки возле ника и гильдии, которые заняли 1-3 места, за повторное призовое место добавить звезду ну или же придумать что-то ещё, ради чего игроки будут играть. Сделать так, что лишь 4х2 и 5х2 будут входить в рейтинг, т.к 3х2 и 2х2 это просто фан, и нет смысла делать рейтинг с этим форматом, потому что нет даже карт для данного режима. 
Хватит обновлять аркады или же добавлять что-то на призон, вспомните про BedWars, где делали два официальных турнира, но третьего игроки так и не дождались, системы рейтинга пока что тоже нет.

Ссылка на комментарий

 Уважаемая администрация, все игроки из коммьюнити бедварса устали играть в режим, для которого обновления если и выходят, то только в виде карт. После того, как выпустили Guild Wars, абсолютно все ждали либо официальный турнир, либо же систему рейтинга, которая, как всем казалось, должна выйти, но так и не вышла. Пропадает интерес играть просто так в BedWars. Я не говорю уже о том, что не сделали ничего, чтоб находить противников для игры в BedWars. Игрокам приходится сидеть в 1 лобби или мониторить KitPvP 4, пока какая-нибудь команда в поиске игры так же не зайдет на кит пвп. Можно было бы сделать отдельное лобби или автоматизировать все это, но, опять же, вся суть этого сообщения в добавлении рейтинга, так как игроки уже устали ждать и играть шаблонные игры, за которые ты не получишь ничего, не получишь победу. Если первое время ты получал удовольствие от игры, то сейчас все начинает надоедать и интерес к игре пропадает. Сделать систему рейтинга, а также, как вы и обещали в своих постах в 2017 году, чтобы первые места получали призы. Никто не говорит о тех же вимерах, это на самом деле не так важно, добавить какие-нибудь кубки возле ника и гильдии, которые заняли 1-3 места, за повторное призовое место добавить звезду ну или же придумать что-то ещё, ради чего игроки будут играть. Сделать так, что лишь 4х2 и 5х2 будут входить в рейтинг, т.к 3х2 и 2х2 это просто фан, и нет смысла делать рейтинг с этим форматом, потому что нет даже карт для данного режима.

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

Ссылка на комментарий

Уважаемая администрация, все игроки из коммьюнити бедварса устали играть в режим, для которого обновления если и выходят, то только в виде карт. После того, как выпустили Guild Wars, абсолютно все ждали либо официальный турнир, либо же систему рейтинга, которая, как всем казалось, должна выйти, но так и не вышла. Пропадает интерес играть просто так в BedWars. Я не говорю уже о том, что не сделали ничего, чтоб находить противников для игры в BedWars. Игрокам приходится сидеть в 1 лобби или мониторить KitPvP 4, пока какая-нибудь команда в поиске игры так же не зайдет на кит пвп. Можно было бы сделать отдельное лобби или автоматизировать все это, но, опять же, вся суть этого сообщения в добавлении рейтинга, так как игроки уже устали ждать и играть шаблонные игры, за которые ты не получишь ничего, не получишь победу. Если первое время ты получал удовольствие от игры, то сейчас все начинает надоедать и интерес к игре пропадает. Сделать систему рейтинга, а также, как вы и обещали в своих постах в 2017 году, чтобы первые места получали призы. Никто не говорит о тех же вимерах, это на самом деле не так важно, добавить какие-нибудь кубки возле ника и гильдии, которые заняли 1-3 места, за повторное призовое место добавить звезду ну или же придумать что-то ещё, ради чего игроки будут играть. Сделать так, что лишь 4х2 и 5х2 будут входить в рейтинг, т.к 3х2 и 2х2 это просто фан, и нет смысла делать рейтинг с этим форматом, потому что нет даже карт для данного режима.

Ссылка на комментарий

Уважаемая администрация, все игроки из коммьюнити бедварса устали играть в режим, для которого обновления если и выходят, то только в виде карт. После того, как выпустили Guild Wars, абсолютно все ждали либо официальный турнир, либо же систему рейтинга, которая, как всем казалось, должна выйти, но так и не вышла. Пропадает интерес играть просто так в BedWars. Я не говорю уже о том, что не сделали ничего, чтоб находить противников для игры в BedWars. Игрокам приходится сидеть в 1 лобби или мониторить KitPvP 4, пока какая-нибудь команда в поиске игры так же не зайдет на кит пвп. Можно было бы сделать отдельное лобби или автоматизировать все это, но, опять же, вся суть этого сообщения в добавлении рейтинга, так как игроки уже устали ждать и играть шаблонные игры, за которые ты не получишь ничего, не получишь победу. Если первое время ты получал удовольствие от игры, то сейчас все начинает надоедать и интерес к игре пропадает. Сделать систему рейтинга, а также, как вы и обещали в своих постах в 2017 году, чтобы первые места получали призы. Никто не говорит о тех же вимерах, это на самом деле не так важно, добавить какие-нибудь кубки возле ника и гильдии, которые заняли 1-3 места, за повторное призовое место добавить звезду ну или же придумать что-то ещё, ради чего игроки будут играть. Сделать так, что лишь 4х2 и 5х2 будут входить в рейтинг, т.к 3х2 и 2х2 это просто фан, и нет смысла делать рейтинг с этим форматом, потому что нет даже карт для данного режима.
Хватит обновлять аркады или же добавлять что-то на призон, вспомните про BedWars, где делали два официальных турнира, но третьего игроки так и не дождались, системы рейтинга пока что тоже нет.

Ссылка на комментарий

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...