Skip to content
Перейти к содержимому
Вернуться в блог
SoulFire: Продвинутый тестирование ботов для вашего сервера

SoulFire: Продвинутый тестирование ботов для вашего сервера

Alexandru Maftei
Alexandru Maftei
@ice
Обновлено
12 просмотров
TL;DR:SoulFire - открытая платформа для тестирования Minecraft серверов. Разверните автоматизированных игроков, чтобы проверить функциональность плагинов, нагрузку сервера и настройки перед запуском. Предназначено только для авторизованного тестирования серверов.
🐙 Открытый проект для Minecraft

soulfiremc-com/SoulFire

🧙 Продвинутый инструмент для тестирования ботов Minecraft. Разверните автоматизированных ботов для тестирования сервера, автоматизации и разработки.

⭐ 519 звезд💻 Java📜 AGPL-3.0
Посмотреть на GitHub ↗

Создание и управление сервером Minecraft требует тщательного тестирования перед приглашением друзей и игроков. Вы не можете просто надеяться, что разрешения будут работать, фермы не崩нутся, или что ваши кастомные механики действительно функционируют. SoulFire - это инструмент для тестирования ботов, позволяющий развернуть автоматизированных игроков на ваш сервер, чтобы проверить его работоспособность.

Что делает SoulFire

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

Инструмент работает в двух режимах: вы можете запустить его как CLI (интерфейс командной строки), если с этим комфортно, или подключиться к выделенному серверу, на котором запущен SoulFire. Большинство пользователей предпочитают графический клиент, который находится в отдельном репозитории и предоставляет полный.dashboard для управления сессиями ботов.

Критическая часть: в файле README проекта есть большое предупреждение. Этот инструмент должен использоваться только на серверах, которые вы владеете или для которых у вас есть явное разрешение на тестирование. Ваш провайдер хостинга должен допускать автоматизированное тестирование. Нелегальное использование создает реальную ответственность. Поняли? Хорошо. Теперь поговорим о том, что вы можете сделать с его помощью.


Почему вам это нужно

Если вы просто играете в ванильную версию Minecraft в режиме выживания, вам не нужен SoulFire. Но если вы:

  • Управляете сервером и нужно проверить работу кастомных плагинов перед запуском
  • Тестируете механику боя, спавнеры или поведение мобов под нагрузкой
  • Проверяете, правильно ли система противошифрования идентифицирует подозрительное поведение
  • Тестируете серверное оборудование, чтобы увидеть, сколько одновременных игроков оно может обслуживать
  • Разрабатываете и тестируете модификации для Minecraft

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

Владельцы серверов особенно выигрывают. Вы можете запускать ботов через фермы, чтобы измерить влияние на TPS, запускать их в точке спавна, чтобы проверить навигацию, или заставлять их взаимодействовать с кастомными NPC. Разработчики инструментов для Minecraft получают полноценное тестирование без необходимости целой комнаты с ПК.


Запуск SoulFire

Проект различает сборку CLI/выделенный сервер и графический клиент. Один инструмент CLI доступен со страницы релизов. Вы скачаете либо SoulFireCLI, либо SoulFireDedicated, в зависимости от вашего случая использования.

Для подхода через командную строку с версией 2.8.0:

bash
wget https://github.com/soulfiremc-com/SoulFire/releases/download/2.8.0/SoulFireCLI-2.8.0.jar
java -jar SoulFireCLI-2.8.0.jar

Версия выделенного сервера лучше, если вы хотите запустить SoulFire отдельно и подключить несколько графических клиентов к нему. Но эта настройка более сложна, но дает гибкость - вы можете запустить движок ботов на одной машине и управлять им с другой.

Полные инструкции по установке находятся на официальном сайте документации. Не пропускайте руководство по настройке, поскольку есть важные细节 совместимости версий, которые вам нужно понять заранее. Проект поддерживает почти все версии Minecraft, от классических релизов до последних снапшотов, но вам нужно совместить версию бота с версией сервера.


Ключевые особенности, которые важны

Поддержка аккаунтов - Вы можете использовать как онлайн-, так и офлайн-аккаунты. Инструмент обрабатывает аутентификацию через аккаунты Microsoft (как традиционные учетные данные, так и поток кода устройства), что важно, поскольку более новые версии Minecraft требуют правильной аутентификации. Это убирает необходимость в десятках легитимных аккаунтов для тестирования.

GitHub project card for soulfiremc-com/SoulFire
GitHub project card for soulfiremc-com/SoulFire

Поддержка прокси - Нужно тестировать сервер под нагрузкой из разных географических регионов? SoulFire поддерживает прокси HTTP, SOCKS4 и SOCKS5. Это важно, если вы тестируете стабильность сервера или имитируете глобальное распределение игроков, хотя я бы сильно рекомендовал использовать только прокси, которые вы владеете или для которых у вас есть разрешение.

Встроенные плагины - Фреймворк ботов включает практические плагины, такие как AutoRespawn (боты автоматически повторно подключаются после смерти), AutoJump для навигации и ClientSettings для настройки поведения. Вы можете быстро загружать профили без написания всего с нуля. Если вы настроили одного бота для ферминга с определёнными настройками, сохраните это как профиль и повторно используйте.

Продвинутая навигация - Боты не глупы. Они используют навигацию A* с поддержкой паркура, разрушения блоков и размещения блоков. Это означает, что боты могут навигировать по реальному рельефу, а не застревать на лестницах. Довольно впечатляюще для автоматизированного тестирования.

Консольные команды - Вы можете выполнять команды через подключенных ботов, что мощно для тестирования серверной администрации. Напишите последовательность действий, проверьте выводы и повторяйте последовательно.


Настоящие сложности, которые вы столкнетесь

Совместимость версий строгая. Бот, построенный для 1.20, не подключится к серверу 1.19. Проверьте матрицу совместимости в документации, прежде чем предполагать, что ваша настройка работает. Хотя в последних релизах есть лучшая кросс-версионная поддержка, всё же проверяйте.

Если ваш сервер имеет агрессивное ограничение скорости или ограничение по IP, быстрое подключение ботов SoulFire может его активировать. Вам нужно будет настроить задержки подключения и, возможно, добавить в белый список тестовые IP на стороне сервера. На самом деле, это функция, а не баг - она позволяет вам тестировать自己的 ограничение скорости сервера.

Потребление памяти масштабируется с количеством ботов. 50 ботов - нормально. 500 может привести к сожалению. Каждый бот сохраняет полное состояние подключения, включая загруженные чанки и список сущностей, что не тривиально.

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


Другие инструменты, о которых стоит знать

Если SoulFire не совсем то, что вам нужно, есть альтернативы. Популярное сообщество тестирования иногда использует более простые инструменты, такие как утилиты для тестирования нагрузки сервера Minecraft или кастомные плагины, которые записывают активность ботов напрямую. Некоторые админы серверов пишут свои собственные фреймворки ботов, используя библиотеки протокола Minecraft, что дает полный контроль, но требует навыков Java.

Для простоты GUI отдельный репозиторий SoulFireClient - это то, что скачивают большинство людей. Это рекомендуемый способ использования SoulFire, если вы не специально нуждаетесь в автоматизации или безобслуживаемом развертывании.

Если вы тестируете скины конкретно (проверяя, отображается ли ваш кастомный скин на игроках правильно, или тестируете кастомную логику скинов), вам, вероятно, не нужен SoulFire. Вы подключитесь вручную. Но для проверки работы серверов скинов под нагрузкой фреймворк ботов помогает.


Стоит ли использовать это?

Если вы разрабатываете плагины для Minecraft, управляете сервером или строите инструменты, взаимодействующие с Minecraft, SoulFire стоит изучить. Репозиторий GitHub имеет 519 звезд и активное обслуживание (версия 2.8.0 привнесла улучшения OpenAPI и сценариев). Это сообщество маленькое, но вовлеченное.

Барьер входа умеренный. Вам нужна некоторая ознакомленность с Java для конфигурации, понимание архитектуры вашего сервера и честность относительно авторизации. Не используйте это на серверах, которые вы не владеете или для которых не получили явного разрешения на тестирование.

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

Об авторе
Alexandru Maftei
Alexandru MafteiВедущий автор

Lead writer at minecraft.how. Long-time Minecraft player running a small SMP server, testing every build, mod, and seed before writing about it.

Поделитесь с друзьями!

Комментарии

Пока нет комментариев. Станьте первым, кто поделится своим мнением!

We use cookies to improve your experience. By continuing to use this site, you agree to our use of cookies. Read our Privacy Policy