lolka1123

  • Просмотр профиля
  • Сообщения форума
  • Личное сообщение
  • Репутация

lolka1123 вне форума

Новичок

Аватар для lolka1123

Ваш статус Подал заявку на хелпера
Сообщений 5
Cервер MinecraftOnly, HiTech 1
Любимые моды IC2,WorldEdit,Mekanism
Любимый монстр Эндер Дракон
Регистрация 20.09.2020

Делаем собственный Minecraft Лаунчер #1 [ API + Дизайн ]

0 )
Любимый монстр Magnolia-
Текстур пак Свой

Регистрация 16.12.2018
Адрес Украина

1 nbsp


Поблагодарил(а) 232 Получено благодарностей: 676 (сообщений: 263).

Есть уже готовые решения
Grafit, K773, Sashok
А проверка лаунчера при заходе на сеервер — це плагин
Ну и для регистрации надо знать MySQL(Для начала) или PostgreSQL
Ядро выбирай также сам (Этто для сервера)
можно и написать свой лаунчер как делает мой знакомый, но тогда надо прокачивать навыки в программировании

[LowModer] 2018.09.26 — 2018.10.10
[Moder] 2018.10.10 — 2019.07.28
[HeadModer] 2019.07.28 — 2022.01.23
[Moder] 2022.01.23 — 2022.02.24
[ForumModerator] 2019.08.21 — 2022.02.24

27.03.2021, 22:32 #4

TheSofari

  • Просмотр профиля
  • Сообщения форума
  • Личное сообщение
  • Репутация

TheSofari вне форума

Новичок

Ваш статус Накрутка чсв
Сообщений 43
Cервер DivineIndustrial 1.4.7
Любимые моды Любой
Регистрация 12.09.2014

Часть1. Создание лаунчера майнкрафт для вашего проекта

Адрес Томск

0 p=1931468localhost»; # Адрес VDS (IP или домен) port: 7240; # Порт лаунчсервера

Способы авторизации (authProvider)
По умолчанию используется способ авторизации accept, который принимает любые пары логин-пароль за верные, и имя пользователя соответствует логину. Такой способ хорошо подходит для тестирования, но для использования в production рекомендуется сменить его на один из других: reject, file, request, или 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%; # URL, к которому будет обращаться лаунчсервер. %login% и %password% заменяются на указанные логин и пароль, соответственно response: «OK:(?.+)»; # Маска ответа успешной авторизации. В capture-группе должно быть имя пользователя. В случае, если ответ отличается, он выводится в качестве ошибки

Вы можете загрузить уже готовые скрипты авторизации для
Вы не можете просматривать ссылку пожалуйста воспользуйтесь следующими ссылками Вход или Регистрация
Вы не можете просматривать ссылку пожалуйста воспользуйтесь следующими ссылками Вход или Регистрация
Вы не можете просматривать ссылку пожалуйста воспользуйтесь следующими ссылками Вход или Регистрация
Вы не можете просматривать ссылку пожалуйста воспользуйтесь следующими ссылками Вход или Регистрация

(Они должны находиться в корне сайта)

Способ 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»

Обработка UUID и авторизаций (authHandler)
Для управления авторизациями (joinServer, checkServer) и UUID игроков существуют несколько возможных обработчиков. Пока что их всего три, отличающихся только местом хранения: binaryFile, textFile и mysql.

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

fileName: «authHandler.cfg»; # Имя файла, в котором будут сохранены данные об авторизациях offlineUUIDs: false; # Использовать генерацию UUID из MD5 имени пользователя

Обработчик binaryFile
Этот обработчик хранит все данные об авторизациях в бинарном файле, в остальном идентичен обработчику textFile. Этот обработчик существует для обратной совместимости и будет удалён в следующей версии.

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

Читайте также:  Как подарить донат кейс в Майнкрафте

fetchAll: true; # Загрузить всю базу в кэш при запуске address: «mysqlserver.tld»; # Адрес MySQL-сервера port: 3306; # Порт MySQL-сервера (по умолчанию 3306) username: «root»; # Имя пользователя MySQL-сервера password: «PSP1004»; # Пароль пользователя database: «minecraft»; # База данных table: «users»; # Таблица uuidColumn: «uuid»; # Поле с UUID пользователей usernameColumn: «username»; # Поле с именами пользователей accessTokenColumn: «accessToken»; # Поле с accessToken serverIDColumn: «serverID»; # Поле с serverID

Для того чтобы добавить недостающие поля и сгеренерировать UUID, можно использовать SQL-запрос:
— Добавляет недостающие поля в таблицу ALTER TABLE users ADD COLUMN uuid CHAR(36) UNIQUE DEFAULT NULL, ADD COLUMN accessToken CHAR(32) DEFAULT NULL, ADD COLUMN serverID VARCHAR(41) DEFAULT NULL; — Создаёт триггер на генерацию UUID для новых пользователей DELIMITER // CREATE TRIGGER setUUID BEFORE INSERT ON users FOR EACH ROW BEGIN IF NEW.uuid IS NULL THEN SET NEW.uuid = UUID(); END IF; END; // DELIMITER ; — Генерирует UUID для уже существующих пользователей UPDATE users SET uuid=(SELECT UUID()) WHERE uuid IS NULL;

Система скинов и плащей
Скины и плащи настраиваются всего двумя параметрами — маской 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:

JavaScript:

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

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

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

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

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

JavaScript:

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

Сборка лаунчера
Для сборки лаунчера существует команда 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»

  1. java.net.BindException: Address already in use — Вы пытаетесь запустить второй лаунчсервер на одном и том же порту.
  2. Key Modulus Mismatch — Вы поменяли ключи лаунчсервера (Файлы public.key и private.key).
  3. Serverside not accepted this connection — Смотрите вывод лаунчсервера для определения причины.
  4. Не видно скинов других игроков — Включите online-mode в server.properties
  5. Любая ошибка при обновлении клиента — см. Раздел «Синхронизация директорий updates и profiles».

Источник: mmo-dev.info

How to make minecraft launcher

[Гайд] [C#] Рисуем себе пиратский лаунчер [1.5.2 и раньше]

How to make minecraft launcher

В этом гайде я постораюсь максимально понятно рассказать о создании самого простого пиратского лаунчера, объясняя подробно все части кода.

Тестируем:
Запускаем отладку:
How to make minecraft launcher
Появляется окошко, как в визуальном редакторе (я его сделал таким):
How to make minecraft launcher
Вводим в текстовое поле ваш ник и тапаем на кнопку(текст вы можете настроить в «Окне свойств»)
В сингле проверим, с каким ником у нас запустилась игра:
How to make minecraft launcher

Читайте также:  Майнкрафт но лисы проходят Майнкрафт за тебя

Часто задаваемые вопросы:

Q: Как открыть окно свойств?
A: «Вид»-«Другие окна»-«Окно свойств»

Q: Как поменять текст окна/кнопки?
A: Выделите в визуальном редакторе элемент, текст которого вы хотите заменить, в Окне свойств в строке «Text» меняете текст

Q: Почему на других компьютерах не работает программа?
A: Возможно у них не установлена версия Framework, на которой вы писали приложение(по умолчанию используется самая последняя установленная)

How To Make Your Own Minecraft Launcher

How to make minecraft launcher

Click “add” near servers you want to add to the launcher and then click Next

How to make minecraft launcher

(Optional) On this page, you can change the launcher theme

How to make minecraft launcher

On this page, you can change your launcher name, the folder for game instances on players PCs, and the allocated RAM for Minecraft.

How to make minecraft launcher

After this click «Install»

To upload files to your game client (for example mods, resource packs, etc), click Manage client files.

How to make minecraft launcher

How to make minecraft launcher

Go to the folder “mods”

How to make minecraft launcher

Click the “upload” button

How to make minecraft launcher

Click select and select mods you want to add

Как сделать свой лаунчер для Minecraft и запустить на своем сервере игру?

Админы, владеющие собственными серверами Minecraft, часто сталкиваются с проблемой сборки стабильного лаунчера, который позволит быстро и беспрепятственно скачивать обновления, моды, скины. В рамках данной статьи мы расскажем, как сделать свой лаунчер игры Майкрафт.

Что понадобится для создания лаунчера?

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

Для создания качественного лаунчера для сервера потребуется:

Кроме того, лаунчер должен иметь систему авторизации. Инструкцию о том, как ее добавить, найдете ниже.

Подготовка исходников

Создание лаунчера для сервера

Видео: Как сделать свой лаунчер.

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

Как добавить возможность авторизации?

Это позволит игрокам автоматически заходить на сервер без ввода логина и пароля.

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

CmlLib/MinecraftLauncherLibrary

Use Git or checkout with SVN using the web URL.

Work fast with our official CLI. Learn more.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

Csharp Minecraft Launcher Library

USE CmlLib.Core
This library will not be developed anymore.

This library is minecraft launcher library for C#.
Support all version, with Forge

Only for Windows (use pml if you want crossplatform)

This library doesn’t support crossplatform. Only Windows
if you want Cross-Platform Minecraft Launcher Library,
use this python library.
pml github

If you want to learn more features of this library such as to download java runtime or launch with more detailed options, go to wiki

Sample Launcher (CmlLibSample)
Download CmlLibSample.zip file, unzip file and execute CmlLibSample.exe

Required dll : Newtonsoft.Json.dll, DotNetZip.dll, CmlLib.dll

Build CmlLibSample (Sample launcher)

Enter the source code in the order shown below.

1. Prepare

Install Nuget Package ‘CustomMinecraftLauncher’
or download dll files in Release tab (CmlLib.dll, Newtonsoft.Json.dll, DotNetZip.dll) and add reference

write this on the top of your source code:

2. Minecraft Initialize

You should write this code before work.

It set Game Directory that is used to download game files, load profiles, save login session, Launch, etc.
You can’t use relative path.

3. Login

The ‘session’ is login result. note : you can’t use old login using username instead of mojang email.

or you can use offline session :

4. Get Profile Infos

Profile contain various data which launcher need. All Game Versions has its own profile, even old alpha version and forge. You can find it at (GameDirectory)₩versions₩(any-version)₩(version-name).json. MProfileInfo is metadata of profile, containing Name, Profile Path(Url), Type(Release, Snapshot, Old), ReleaseTime. and this code get profile info :

It will return all metadata from mojang web server and your game directory.
but you can choose source :

5. Choose ProfileInfo and Parse

In order to use profile data, you should parse profile.
This simple code will search version from metadatas, and return parsed profile data.

Читайте также:  Как записывать через обс Майнкрафт

6. Check & Download Game Files

and the handler methods of ChangeFile and ChangeProgress event is :

DownloadAll() method check the existence of game file, and download game file from mojang server if file is not exist or not valid(compare hash).

7. Make game args and Launch

set launch options, and launch it!

8. More Information

launch forge : You don’t need any additional work to launch forge

bugs : go to issue tab

About

Pierce01/MinecraftLauncher-core

Use Git or checkout with SVN using the web URL.

Work fast with our official CLI. Learn more.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

How to make minecraft launcher

This project is complete for now.

MCLC (Minecraft Launcher Core) is a NodeJS solution for launching modded and vanilla Minecraft without having to download and format everything yourself. Basically a core for your Electron or script based launchers.

Since people seem to use this, I’ve created a Discord server for anyone who needs to get in contact with me or get help!

npm i minecraft-launcher-core

FunctionTypeDescription
launch Promise Launches the client with the specified options as a parameter. Returns child the process

IF YOU’RE NEW TO MCLC, LET IT HANDLE EVERYTHING! DO NOT USE OVERRIDES!

If you are loading up a client outside of vanilla Minecraft or Forge (Optifine and for an example), you’ll need to download the needed files yourself if you don’t provide downloads url downloads like Forge and Fabric. If no version jar is specified, MCLC will default back to the normal MC jar so mods like Fabric work.

This runs an executable with specified launch arguments. Was used to support Forge 1.13 before ForgeWrapper.

MCLC’s authenticator module does not support Microsoft authentication. You will need to use a library like MSMC. If you weant to create your own solution, the following is the authorization JSON object format.

ParameterTypeDescriptionRequired
username String Email or username True
password String Password for the Mojang account being used if online mode. False
client_token String Client token that will be used. If one is not specified, one will be generated False
ParameterTypeDescriptionRequired
access_token String Token being checked if it can be used to login with (online mode). True
client_token String Client token being checked to see if there was a change of client (online mode). True
ParameterTypeDescriptionRequired
access_token String Token being checked if it can be used to login with (online mode). True
client_token String Token being checked if it’s the same client that the access_token was created from. True
ParameterTypeDescriptionRequired
access_token String Token being checked if it can be used to login with (online mode). True
client_token String Token being checked if it’s the same client that the access_token was created from. True
ParameterTypeDescriptionRequired
username String Username used to login with True
password String Password used to login with True
ParameterTypeDescriptionRequired
url String New URL that MCLC will make calls to authenticate the login. True
Event NameTypeDescription
arguments Object Emitted when launch arguments are set for the Minecraft Jar.
data String Emitted when information is returned from the Minecraft Process
close Integer Code number that is returned by the Minecraft Process
package-extract null Emitted when clientPackage finishes being extracted
download String Emitted when a file successfully downloads
download-status Object Emitted when data is received while downloading
debug String Emitted when functions occur, made to help debug if errors occur
progress Object Emitted when files are being downloaded in order. (Assets, Forge, Natives, Classes)

What should it look like running from console?

The pid is printed in console after the process is launched.

These are the people that helped out that aren’t listed here!

About

Lightweight module that downloads and runs Minecraft using javascript / NodeJS

  • http://scalacube.com/help/gameservers/minecraft/how-to-make-your-own-minecraft-launcher
  • http://minecrafter.info/launchers/kak-sdelat-svoy-launcher-dlya-minecraft
  • http://github.com/CmlLib/MinecraftLauncherLibrary
  • http://github.com/Pierce01/MinecraftLauncher-core
  • ← How to make minecraft animation
  • How to make mod unturned →

Источник: kak.pedagogik-a.ru