Funtime Bot Mines parser +ss nakolyakal prod. mineflayer

Начинающий
Статус
Оффлайн
Регистрация
5 Ноя 2022
Сообщения
53
Реакции[?]
0
Поинты[?]
1K
Наколякал бота представляет вам бота для парсинга шахт фантайма, код сделан на коленке, буду благодарен если подскажите где я промахнулся

SS===
Пожалуйста, авторизуйтесь для просмотра ссылки.


code
JavaScript:
const mineflayer = require('mineflayer');

const bot = mineflayer.createBot({
  host: 'mc.funtime.su', // Minecraft server IP
  username: 'hjyklhjvghfg', // Username to join as
  version: '1.16.5', // Minecraft version
  hideErrors: true
});

function generateAnarchyValues(start, end, prefix = 'an') {
  const anarchyValues = [];
  for (let i = start; i <= end; i++) {
    anarchyValues.push([ICODE]${prefix}${i}[/ICODE]);
  }
  return anarchyValues.map(value => parseInt(value.replace(prefix, '')));
}

const allowedAnarchyValues = [
  ...generateAnarchyValues(102, 109),
  ...generateAnarchyValues(203, 227),
  ...generateAnarchyValues(302, 317),
  ...generateAnarchyValues(502, 509),
  ...generateAnarchyValues(602, 605),
];

let currentIndex = 0;
let isParsing = false;

bot.once('spawn', () => {
  if (isParsing) return;
  isParsing = true;
  setTimeout(() => {
    sendCommand();
  }, 2000);
});
function sendCommand() {
  if (currentIndex >= allowedAnarchyValues.length) {
    console.log('Все команды обработаны.');
    isParsing = false;
    return;
  }

  const code = allowedAnarchyValues[currentIndex];
  bot.chat([ICODE]/an${code}[/ICODE]);
  setTimeout(() => {
    const entities = bot.entities;
    const targetPositions = [
      { x: 50.682, y: 90.85, z: -2.536 },
      { x: 50.682, y: 90.35, z: -2.536 }
    ];
    const matchingEntities = Object.values(entities).filter(entity => {
      return targetPositions.some(targetPosition => {
        return (
          entity.position.x === targetPosition.x &&
          entity.position.y === targetPosition.y &&
          entity.position.z === targetPosition.z
        );
      });
    });
    const texts = matchingEntities.map(entity => {
      const metadata = entity.metadata;
      if (metadata && metadata[2]) {
        try {
          const jsonData = JSON.parse(metadata[2]);
          return jsonData.extra.map(item => item.text).join('');
        } catch (error) {
          console.error('Ошибка при парсинге metadata:', error);
          return '';
        }
      }
      return '';
    });
    console.log([ICODE]Шахты: ${texts[0]} до появления ${texts[1]} /an${code}[/ICODE]);
   
    currentIndex++;
    sendCommand();
  }, 1500);
}

bot.on('message', (message) => {
  const messageText = message.toString();
  //console.log([ICODE][Message] ${messageText}[/ICODE]);
});

bot.on('kicked', console.log);
bot.on('error', console.log);
как все тут работает, думаю любой додумается как и что качать и как запускать
1. Что бы бот заработал нужно пройти за него каптчу (Я просто рил хз как делать скрины каптчи, ибо mapdownloader (аддон для mf) не очень справляется)
2. Если в консольке пишет "Шахты: undefined до появления undefined /an123"бот вне зоны прогрузки галограммы с инфой, подойди ближе к шахте


Первая тема которую я вприныпе выкладваю попрошу ногами не пиздеть меня

И на конец темы попрошу вас оценить код да и сказать че тут не так, а самкод можно закинуть на дедик с прокси и добавить вывод в тг и чилить
Если интересно что то по типу парсинга ников с фт или как обходить каптчи по типу аресмайна, брут аккаунтов, бот автобаер, бот абузер, или как подключить к боту прокси пишите под хайдом
 
Начинающий
Статус
Оффлайн
Регистрация
26 Дек 2023
Сообщения
1,173
Реакции[?]
15
Поинты[?]
6K
Наколякал бота представляет вам бота для парсинга шахт фантайма, код сделан на коленке, буду благодарен если подскажите где я промахнулся

SS===
Пожалуйста, авторизуйтесь для просмотра ссылки.


code
JavaScript:
const mineflayer = require('mineflayer');

const bot = mineflayer.createBot({
  host: 'mc.funtime.su', // Minecraft server IP
  username: 'hjyklhjvghfg', // Username to join as
  version: '1.16.5', // Minecraft version
  hideErrors: true
});

function generateAnarchyValues(start, end, prefix = 'an') {
  const anarchyValues = [];
  for (let i = start; i <= end; i++) {
    anarchyValues.push([ICODE]${prefix}${i}[/ICODE]);
  }
  return anarchyValues.map(value => parseInt(value.replace(prefix, '')));
}

const allowedAnarchyValues = [
  ...generateAnarchyValues(102, 109),
  ...generateAnarchyValues(203, 227),
  ...generateAnarchyValues(302, 317),
  ...generateAnarchyValues(502, 509),
  ...generateAnarchyValues(602, 605),
];

let currentIndex = 0;
let isParsing = false;

bot.once('spawn', () => {
  if (isParsing) return;
  isParsing = true;
  setTimeout(() => {
    sendCommand();
  }, 2000);
});
function sendCommand() {
  if (currentIndex >= allowedAnarchyValues.length) {
    console.log('Все команды обработаны.');
    isParsing = false;
    return;
  }

  const code = allowedAnarchyValues[currentIndex];
  bot.chat([ICODE]/an${code}[/ICODE]);
  setTimeout(() => {
    const entities = bot.entities;
    const targetPositions = [
      { x: 50.682, y: 90.85, z: -2.536 },
      { x: 50.682, y: 90.35, z: -2.536 }
    ];
    const matchingEntities = Object.values(entities).filter(entity => {
      return targetPositions.some(targetPosition => {
        return (
          entity.position.x === targetPosition.x &&
          entity.position.y === targetPosition.y &&
          entity.position.z === targetPosition.z
        );
      });
    });
    const texts = matchingEntities.map(entity => {
      const metadata = entity.metadata;
      if (metadata && metadata[2]) {
        try {
          const jsonData = JSON.parse(metadata[2]);
          return jsonData.extra.map(item => item.text).join('');
        } catch (error) {
          console.error('Ошибка при парсинге metadata:', error);
          return '';
        }
      }
      return '';
    });
    console.log([ICODE]Шахты: ${texts[0]} до появления ${texts[1]} /an${code}[/ICODE]);
  
    currentIndex++;
    sendCommand();
  }, 1500);
}

bot.on('message', (message) => {
  const messageText = message.toString();
  //console.log([ICODE][Message] ${messageText}[/ICODE]);
});

bot.on('kicked', console.log);
bot.on('error', console.log);
как все тут работает, думаю любой додумается как и что качать и как запускать
1. Что бы бот заработал нужно пройти за него каптчу (Я просто рил хз как делать скрины каптчи, ибо mapdownloader (аддон для mf) не очень справляется)
2. Если в консольке пишет "Шахты: undefined до появления undefined /an123"бот вне зоны прогрузки галограммы с инфой, подойди ближе к шахте


Первая тема которую я вприныпе выкладваю попрошу ногами не пиздеть меня

И на конец темы попрошу вас оценить код да и сказать че тут не так, а самкод можно закинуть на дедик с прокси и добавить вывод в тг и чилить
Если интересно что то по типу парсинга ников с фт или как обходить каптчи по типу аресмайна, брут аккаунтов, бот автобаер, бот абузер, или как подключить к боту прокси пишите под хайдом
красава
 
Начинающий
Статус
Оффлайн
Регистрация
7 Янв 2023
Сообщения
197
Реакции[?]
3
Поинты[?]
1K
Что бы бот заработал нужно пройти за него каптчу (Я просто рил хз как делать скрины каптчи, ибо mapdownloader (аддон для mf) не очень справляется)
Мб вам слить солвер карт на js?
 
Начинающий
Статус
Оффлайн
Регистрация
28 Июл 2020
Сообщения
176
Реакции[?]
9
Поинты[?]
6K
бля да че вы со своим mineflayer, вам на джаве тоже самое написать?
 
(◣_◢)
Участник
Статус
Оффлайн
Регистрация
1 Фев 2021
Сообщения
460
Реакции[?]
152
Поинты[?]
79K
Гавно ебаное, без решения капчи фулл юзлесс + как ты можешь гарантировать, что бота не будет выкидывать сервер из за некорректной обработки пакетов? И каким образом ты собираешься это чинить в случае такой ситуации?
на джаве ботов?)
хули нет
 
Начинающий
Статус
Оффлайн
Регистрация
26 Дек 2023
Сообщения
1,173
Реакции[?]
15
Поинты[?]
6K
(◣_◢)
Участник
Статус
Оффлайн
Регистрация
1 Фев 2021
Сообщения
460
Реакции[?]
152
Поинты[?]
79K
немного не представляю как это реализовать, типо джава, это приложения которые запускаются через жвм и как мне реализовать ботов?
ровно так же, как сделано всё в майне. Только без рендера и прочего мусора.
 
(◣_◢)
Участник
Статус
Оффлайн
Регистрация
1 Фев 2021
Сообщения
460
Реакции[?]
152
Поинты[?]
79K
и не легче просто на жс это реализовать?
легче но майнфлеер боты говнище которое во первых хуй оптимизируеьш нормально во вторых ты самих ботов переписать никак не можешь, и если у бота некорректно что то обрабатывается - хуй ты это зафиксишь. Ну и жс сам по себе язык говно для таких вещей, нормальный проект на этом не сделаешь.
 
Начинающий
Статус
Оффлайн
Регистрация
28 Июл 2020
Сообщения
176
Реакции[?]
9
Поинты[?]
6K
Скрытое содержимое

как фиксить? и тд ошибки

Trace: Warning: entity.mobType is deprecated. Use entity.displayName instead
at printMobTypeWarning (C:\Users\malon\node_modules\prismarine-entity\index.js:73:11)
at set mobType [as mobType] (C:\Users\malon\node_modules\prismarine-entity\index.js:32:7)
at setEntityData (C:\Users\malon\node_modules\mineflayer\lib\plugins\entities.js:177:22)
at Client.<anonymous> (C:\Users\malon\node_modules\mineflayer\lib\plugins\entities.js:241:5)
at Client.emit (node:events:513:28)
at emitPacket (C:\Users\malon\node_modules\minecraft-protocol\src\client.js:83:12)
at FullPacketParser.<anonymous> (C:\Users\malon\node_modules\minecraft-protocol\src\client.js:112:9)
at FullPacketParser.emit (node:events:513:28)
at addChunk (C:\Users\malon\node_modules\readable-stream\lib\internal\streams\readable.js:321:12)
at readableAddChunk (C:\Users\malon\node_modules\readable-stream\lib\internal\streams\readable.js:298:9)
Trace: Warning: entity.objectType is deprecated. Use entity.displayName instead
at printObjectTypeWarning (C:\Users\malon\node_modules\prismarine-entity\index.js:76:11)
at set objectType [as objectType] (C:\Users\malon\node_modules\prismarine-entity\index.js:42:7)
at setEntityData (C:\Users\malon\node_modules\mineflayer\lib\plugins\entities.js:178:25)
at Client.<anonymous> (C:\Users\malon\node_modules\mineflayer\lib\plugins\entities.js:241:5)
at Client.emit (node:events:513:28)
at emitPacket (C:\Users\malon\node_modules\minecraft-protocol\src\client.js:83:12)
at FullPacketParser.<anonymous> (C:\Users\malon\node_modules\minecraft-protocol\src\client.js:112:9)
at FullPacketParser.emit (node:events:513:28)
at addChunk (C:\Users\malon\node_modules\readable-stream\lib\internal\streams\readable.js:321:12)
at readableAddChunk (C:\Users\malon\node_modules\readable-stream\lib\internal\streams\readable.js:298:9)
Знакомься, вот что бывает когда юзаешь убогую либку на js
 
Начинающий
Статус
Онлайн
Регистрация
8 Апр 2021
Сообщения
167
Реакции[?]
19
Поинты[?]
8K
легче но майнфлеер боты говнище которое во первых хуй оптимизируеьш нормально во вторых ты самих ботов переписать никак не можешь, и если у бота некорректно что то обрабатывается - хуй ты это зафиксишь. Ну и жс сам по себе язык говно для таких вещей, нормальный проект на этом не сделаешь.
ну хз насчёт оптимизации, я с телефона 18 года запускал 70+ рыбачков на сервер
 
Начинающий
Статус
Оффлайн
Регистрация
7 Янв 2023
Сообщения
197
Реакции[?]
3
Поинты[?]
1K
и прям с фреймов получает? в адекватном порядке?
он прям из фреймов получает, больше скажу, он их ещё и нормализует (ротейтит), но хотя я сам его откуда-то спастил
 
Начинающий
Статус
Оффлайн
Регистрация
5 Ноя 2022
Сообщения
53
Реакции[?]
0
Поинты[?]
1K
он прям из фреймов получает, больше скажу, он их ещё и нормализует (ротейтит), но хотя я сам его откуда-то спастил
Я не пробовал получать еще из фреймов, но если получать используя аддон mapdownloader, то их ротейты рандомны да и они в разнобой скачиваются, думал получать их через ентити и в nbt получить их ротейт но ничего не вышло, по этой теме создавал тему на хабре (не реклама) но там ничего не ответили, буду благодарен если ты поможешь с этим решением :3
 
Начинающий
Статус
Оффлайн
Регистрация
5 Ноя 2022
Сообщения
53
Реакции[?]
0
Поинты[?]
1K
ну хз насчёт оптимизации, я с телефона 18 года запускал 70+ рыбачков на сервер
Может быть... когда то и было так но пробовав запускать 22+- ботов и ставить их на брут нагрузка на i5-12600H+16gb около 70-80% cpu а если закидывать на топовый дедик с 10 ядрами по 3.3 Ghz 35+- + 32gb то нагрузка было под сотню а хост стоил 6999 месяц (самый лучший что мог предложить ruweb (не реклама) ) благо я взял тестовый период. Думаю что нагрузка по большей части не от того что бот выполняет какие то действия, в моем же случае была нагрузка из за чтения брут листа и запись неправильных паролей, а так я полностью согласен с тобой что оптимизация нормальная
 
Сверху Снизу