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
Просмотр профиля
Сообщения форума
Личное сообщение
Репутация
Новичок
Ваш статус Накрутка чсв
Сообщений 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»
- java.net.BindException: Address already in use — Вы пытаетесь запустить второй лаунчсервер на одном и том же порту.
- Key Modulus Mismatch — Вы поменяли ключи лаунчсервера (Файлы public.key и private.key).
- Serverside not accepted this connection — Смотрите вывод лаунчсервера для определения причины.
- Не видно скинов других игроков — Включите online-mode в server.properties
- Любая ошибка при обновлении клиента — см. Раздел «Синхронизация директорий updates и profiles».
Источник: mmo-dev.info
How to make minecraft launcher
[Гайд] [C#] Рисуем себе пиратский лаунчер [1.5.2 и раньше]
В этом гайде я постораюсь максимально понятно рассказать о создании самого простого пиратского лаунчера, объясняя подробно все части кода.
Тестируем:
Запускаем отладку:
Появляется окошко, как в визуальном редакторе (я его сделал таким):
Вводим в текстовое поле ваш ник и тапаем на кнопку(текст вы можете настроить в «Окне свойств»)
В сингле проверим, с каким ником у нас запустилась игра:
Часто задаваемые вопросы:
Q: Как открыть окно свойств?
A: «Вид»-«Другие окна»-«Окно свойств»
Q: Как поменять текст окна/кнопки?
A: Выделите в визуальном редакторе элемент, текст которого вы хотите заменить, в Окне свойств в строке «Text» меняете текст
Q: Почему на других компьютерах не работает программа?
A: Возможно у них не установлена версия Framework, на которой вы писали приложение(по умолчанию используется самая последняя установленная)
How To Make Your Own Minecraft Launcher
Click “add” near servers you want to add to the launcher and then click Next
(Optional) On this page, you can change the launcher theme
On this page, you can change your launcher name, the folder for game instances on players PCs, and the allocated RAM for Minecraft.
After this click «Install»
To upload files to your game client (for example mods, resource packs, etc), click Manage client files.
Go to the folder “mods”
Click the “upload” button
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
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
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.
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 |
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 |
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 |
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 |
username | String | Username used to login with | True |
password | String | Password used to login with | True |
url | String | New URL that MCLC will make calls to authenticate the login. | True |
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