From c88abaab2cb3407f69c0b874538d3e97aa0cc30e Mon Sep 17 00:00:00 2001
From: FORT <100344180+YTFort@users.noreply.github.com>
Date: Tue, 11 Jul 2023 15:23:54 +0300
Subject: [PATCH] Add
---
READMY_RU.txt | 128 ++++++++++++++++++++++++++++++++++++++++++++++++++
minenet.js | 99 ++++++++++++++++++++++++++++++++++++++
test.js | 15 ++++++
3 files changed, 242 insertions(+)
create mode 100644 READMY_RU.txt
create mode 100644 minenet.js
create mode 100644 test.js
diff --git a/READMY_RU.txt b/READMY_RU.txt
new file mode 100644
index 0000000..96849eb
--- /dev/null
+++ b/READMY_RU.txt
@@ -0,0 +1,128 @@
+
+
+
+
+
+
+# `MineNet`
+### Скрипт, который позволяет вам легко использовать Minecraft API
+#### Следите за жизнью проекта здесь, а также общайтесь с сообществом : [DISCORD](https://discord.gg/bjgpVAxgyE)
+
+## `Контакты создателя :`
+- 👾 [Discord](https://discord.gg/bjgpVAxgyE)
+- ❤️ [Youtube](https://youtube.com/c/fortcote)
+- ✈️ [Telegram](https://t.me/FortcoteTG)
+
+## `Переводы :`
+| EN [English](README.md) | RU [Русский](README_RU.md) |
+|-------------------------|----------------------------|
+
+## `Дисклеймер :`
+> Этот скрипт создан в ознакомительных целях и не принуждает вас использовать его функции в злонамеренных целях!
+>> ❗ Вы можете использовать исходный код в своих программах, авторских прав нет, просто, пожалуйста, предоставьте ссылку на меня ;)
+>>> Если вы обнаружите ошибку, то создайте iuses!
+
+## `Поддерживаемая ОС :`
+
+ * ✅ Windows
+ * ✅ Linux
+ * ✅ Mac
+
+## `Функции :`
+
+> ❗Предлагайте свои идеи по улучшению в дискуссиях и в pull
+
+ * Поддержка Minecraft 1.7.X - 1.20.X
+ * Поддержка версий Java и Bedrock (PE)
+ * Узнайте статус сервера
+ * Query
+ * Проверка работоспособности сервера с помощью бота
+ * Rcon
+### 🕓 Скоро :
+ * Оптимизация
+ * Добавление цвета к выходным данным
+ * Свой API
+ * Другие функции Minecraft API
+ * Создать библиотеку из скрипта
+ * Wiki
+
+# `Установка :`
+
+ * Скачайте последний [Релиз](https://github.com/YTFort/24-Aternos/releases)
+ * Установите последнюю сервсию [Node.js](https://nodejs.dev)
+
+### Библиотеки :
+```bash
+npm install minecraft-server-util
+npm install readline-sync
+npm install mineflayer
+```
+
+### Затем поместите **minenet.js** в ваш проект
+
+# `Использование :`
+
+## Rcon :
+```bash
+var minenet = require('./minenet');
+minenet.rcon('HOST', PORT, 'PASSWORD');
+// minenet.rcon('localhost', 25575, '123');
+```
+```bash
+[#] Rcon is connected
+[>] time set day
+[<] Set the time to 1000
+[>] exit
+[!] Rcon is disconnected
+```
+
+#### exit или Exit для отключения
+#### [>] - Входные данные
+#### [<] - Выходные данные
+
+## Одноразовый Rcon :
+```bash
+var minenet = require('./minenet');
+minenet.rcon('HOST', PORT, 'PASSWORD', 'COMMAND');
+```
+
+## Status :
+```bash
+var minenet = require('./minenet');
+minenet.getstatus('HOST', PORT) // JAVA
+```
+```bash
+var minenet = require('./minenet');
+minenet.getpestatus('HOST', PORT) // BEDROCK (PE)
+```
+
+## Query :
+```bash
+var minenet = require('./minenet');
+minenet.getquery('HOST', PORT) // JAVA
+```
+
+## Join :
+```bash
+var minenet = require('./minenet');
+minenet.jointest('HOST', PORT, 'MAIL', 'PASSWORD') // License - JAVA
+```
+#### Microsoft аккаунт!
+```bash
+var minenet = require('./minenet');
+minenet.jointestpirat('HOST', PORT, 'BOTNAME') // Pirat - JAVA
+```
+#### Вывод : [#] Successfully - Значит на сервер можно зайти
+
+
+# `Спасибо :`
+
+- [minecraft server util](https://github.com/PassTheMayo/minecraft-server-util)
+- [mineflayer](https://github.com/PrismarineJS/mineflayer)
+
+# `Поддержите меня :`
+
+### **Поставьте ⭐ и Fork , если этот скрипт оказался вам полезен**
+### ETH : `0x325026E8f45D2D488e753b21F42dDF9BC15A3343`
+### [Donate 1 (RU)](https://www.donationalerts.com/r/fortcotetm) / [Donate 2 (EN)](https://new.donatepay.ru/@924403)
+
diff --git a/minenet.js b/minenet.js
new file mode 100644
index 0000000..1662de8
--- /dev/null
+++ b/minenet.js
@@ -0,0 +1,99 @@
+const util = require('minecraft-server-util');
+const readline = require('readline-sync');
+const mineflayer = require('mineflayer');
+
+const client = new util.RCON();
+
+const Status = {
+ timeout: 1000 * 10,
+ enableSRV: true
+};
+
+const Login = {
+ timeout: 1000 * 10
+};
+
+const Connect = {
+ timeout: 1000 * 10
+};
+
+module.exports = {
+ rcon: function (Host, Port, Password) {
+ (async () => {
+ await client.connect(Host, Port, Connect);
+ await client.login(Password, Login);
+ console.log('[#] Rcon is connected');
+
+ do {
+ const cmd = readline.question("[>] ");
+
+ if (cmd === 'exit' || cmd === 'Exit') {
+ await client.close();
+ console.log('[!] Rcon is disconnected'); break
+ } else {
+ const msg = await client.execute(cmd);
+ console.log('[<] ' + msg);
+ };
+
+ } while (true);
+ })();
+ },
+
+ disprcon: function (Host, Port, Password, Command) {
+ (async () => {
+ await client.connect(Host, Port, Connect);
+ await client.login(Password, Login);
+
+ const msg = await client.execute(Command); console.log('[<] ' + msg);
+ await client.close();
+ })();
+ },
+
+ getstatus: function (Host, Port) {
+ util.status(Host, Port, Status)
+ .then((result) => console.log(result))
+ .catch((error) => console.error(error));
+ },
+
+ getpestatus: function (Host, Port) {
+ util.statusBedrock(Host, Port, Status)
+ .then((result) => console.log(result))
+ .catch((error) => console.error(error));
+ },
+
+ getquery: function (Host, Port) {
+ util.queryFull(Host, Port, Status)
+ .then((result) => console.log(result))
+ .catch((error) => console.error(error));
+ },
+
+ jointestpirat: function (Host, Port, Name) {
+ try {
+ const bot = mineflayer.createBot({
+ host: Host,
+ port: Port,
+ username: Name,
+ version: false
+ });
+ bot.once('spawn', () => { console.log('[#] Successfully'); bot.end(); });
+ bot.on('kicked', (reason, loggedIn) => console.log(reason, loggedIn));
+ bot.on('error', err => console.log(err));
+ } catch {
+ console.log('[!] Failed');
+ };
+ },
+
+ jointest: function (Host, Port, Mail, Password) {
+ const bot = mineflayer.createBot({
+ host: Host,
+ port: Port,
+ username: Mail,
+ password: Password,
+ auth: 'microsoft',
+ version: false
+ });
+ bot.once('spawn', () => { console.log('[#] Successfully'); bot.end(); });
+ bot.on('kicked', (reason, loggedIn) => console.log(reason, loggedIn));
+ bot.on('error', err => console.log(err));
+ },
+};
\ No newline at end of file
diff --git a/test.js b/test.js
new file mode 100644
index 0000000..b6109f4
--- /dev/null
+++ b/test.js
@@ -0,0 +1,15 @@
+var minenet = require('./minenet');
+
+minenet.rcon('localhost', 25575, '123');
+
+minenet.disprcon('localhost', 25575, '123', 'help');
+
+minenet.getstatus('localhost', 25565);
+
+minenet.getpestatus('localhost', 19132);
+
+minenet.getquery('localhost', 25565);
+
+minenet.jointest('localhost', 25565, 'test@test.com', '123');
+
+minenet.jointestpirat('localhost', 25565, 'Bot_Test');
\ No newline at end of file