Asosiy kontentga o‘tish
AI qo‘llanmalari

Astra va JEV Minecraft agentini ishga tushirish va tekshirish

Minecraft Java 1.16.5 uchun Astra va JEV agentini o‘rnatish, sozlash, ishga tushirish, sinash, yozib olish va tekshirishni o‘rganing. Ushbu qo‘llanmada rejalashtiruvchi-harakat arxitekturasi, hisob ma’lumotlarini boshqarish, yangi dunyoni sozlash, mahalliy mijoz bilan ishlash jarayoni, dalil fayllari hamda ilg‘or jang va yozib olish masalalari tushuntiriladi.

Astra va JEV Minecraft agentini ishga tushirish va tekshirish

Loyiha nima qiladi

Astra va JEV Minecraft agenti tuzilgan o‘yin kuzatuvlari hamda cheklangan o‘yinchi harakatlaridan foydalanib, oldindan belgilangan Minecraft Java 1.16.5 yo‘nalishini bajaradi. GPT-6 Astra yoki ixtiyoriy ravishda GPT-5.6 Sol maqsadlar, kerakli buyumlar va harakat nuqtalarini rejalashtiradi. Keyin JEV mavjud harakatlardan birini tanlaydi, Mineflayer esa harakatlanish, yo‘l topish va odatiy o‘yin protokoli bilan o‘zaro aloqalarni amalga oshiradi.

Bu faqat skrinshotlarga asoslangan boshqaruv emas va alohida klaviatura bosishlarini taqlid qilmaydi. Modellar tuzilgan holatni, jumladan yuklangan chunklardagi bloklar hamda ma’lum seed uchun taqdim etilgan koordinatalarni qabul qiladi. Mavjud harakatlarga borish, bitta blokni qazish, tushgan buyumlarni yig‘ish, buyum yasash, sandiqlarni ochish, ovqatlanish, uxlash va jangovar o‘zaro aloqalar kiradi.

Eng so‘nggi tasdiqlangan ishga tushirish, nether-final-08, 8 daqiqa 43.300 soniyada yakunlandi. U yangi Survival dunyosida, Peaceful qiyinchilik darajasida bo‘sh inventar bilan boshlandi, Nether orqali o‘tdi, birinchi qo‘nishidayoq Ender Dragon’ni oltita yotoq portlashi yordamida o‘ldirdi va to‘liq salomatlik hamda o‘limlarsiz chiqish portaliga kirdi. Ishga tushirish davomida 131 ta JEV qarori va 35 ta Astra chaqiruvi ishlatildi.

Loyiha rasmiy vanilla serveridan foydalanadi va tanlangan harakatlarni odatiy o‘yinchi protokoli orqali yuboradi. Uning Java ajdarho sensori faqat o‘qish uchun mo‘ljallangan: u ajdarho boshining aniq joylashuvini bildiradi, ammo buyum bermaydi, obyektlarni harakatlantirmaydi, salomatlikni o‘zgartirmaydi yoki o‘yin qoidalarini almashtirmaydi.

Asosiy imkoniyatlar

  • Model rollarining ajratilishi: Astra yoki Sol joriy maqsadni rejalashtiradi, JEV esa joriy kuzatuvdan cheklangan bitta harakatni tanlaydi.
  • Oddiy Minecraft o‘zaro aloqalari: Mineflayer harakatlanish, yo‘l topish, bloklar bilan o‘zaro aloqa, buyum yasash, inventar amallari va protokol orqali muloqotni boshqaradi.
  • Nether yordamidagi yo‘nalish: Belgilangan yo‘nalish Enddagi jangdan oldin Nether’dan qisqa yo‘l sifatida foydalanadi.
  • Faqat o‘qiladigan ajdarho kuzatuvi: Mahalliy Java sensori obyekt holatini o‘zgartirmagan holda, yotoq portlashlarini aniq vaqtlashtirish uchun ajdarho boshining joylashuvini bildiradi.
  • Asl ko‘rinishdagi yozuv: Yashirin rasmiy Minecraft Java 1.16.5 klienti asl modellar, teksturalar, animatsiyalar, inventar ekranlari, salomatlik, ochlik, havo, tezkor panel holati, ushlab turilgan buyumlar va ajdarho salomatligini tasvirlaydi.
  • Boshqariladigan kamera harakati: Kamera burilishlari har bir o‘q bo‘yicha soniyasiga 240 daraja bilan, tezlanish esa soniyasiga kvadratiga 960 daraja bilan cheklangan.
  • Tuzilgan dalillar: JSONL hodisa jurnallari, holat fayllari, g‘alaba dalillari, video manifestlari va dunyo holati tekshiruvlari keyingi tasdiqlashni qo‘llab-quvvatlaydi.
  • Avtomatlashtirilgan testlar: Repozitoriyda yakunlanish hodisalari, asl paketlar, harakat siyosati va yo‘l topuvchini bekor qilishni tekshiruvchi testlar mavjud.

Arxitektura va model konfiguratsiyasi

Standart rejalashtiruvchi model openai/gpt-6-astra bo‘lib, u /api/v1/chat/completions orqali chaqiriladi. PLANNER_MODEL muhit o‘zgaruvchisi orqali openai/gpt-5.6-sol ni tanlashingiz mumkin. JEV /api/alpha/decisions orqali typesafe/jev-1.13 dan foydalanadi.

Rejalashtiruvchi bevosita ixtiyoriy ketma-ketliklarni bajarmaydi. U joriy maqsad, kerakli buyumlar va harakat nuqtasini belgilaydi. JEV joriy tuzilgan kuzatuvni baholaydi va ruxsat etilgan harakatni tanlaydi. Bu ajratish alohida qarorlarni cheklangan holda saqlaydi, shu bilan birga umumiy ishga tushirishga uzoqroq rejaga amal qilish imkonini beradi.

Talablar va muhim cheklovlar

Ishga tushirish va asl ko‘rsatish skriptlari macOS tizimida ishlab chiqilgan. Boshqa operatsion tizimda ishlash yo‘llari, Java joylashuvi va mahalliy server sozlamalarini moslashtirishingiz kerak. Taqdim etilgan asl ishga tushirish skripti o‘zining mahalliy Java 17 muhitidan foydalanadi.

Sizga Node.js va npm, asl klient skriptlari uchun Python 3, mos Java muhiti, Google Application Default Credentials, OpenRouter kalitini o‘z ichiga olgan Google Secret Manager maxfiy ma’lumotiga kirish huquqi hamda yetarli OpenRouter krediti kerak bo‘ladi. Minecraft binar fayllari, yuklab olingan muhitlar, saqlangan dunyolar, yozuvlar va hisob ma’lumotlari ataylab Git’dan chiqarib tashlangan.

Hujjatlashtirilgan o‘yin konfiguratsiyasi:

  • Seed: 8398967436125155523
  • Rejim: Survival
  • Tasdiqlangan yozuv uchun ishlatilgan qiyinchilik darajasi: Peaceful
  • Faol End portali markazi: -1130, 34, 856
  • Asosiy server: 127.0.0.1:25576
  • Holat endpointi: http://127.0.0.1:3078
  • Agent foydalanadigan mahalliy ajdarho sensori endpointi: http://127.0.0.1:3093
  • Mahalliy protokol aks ettirish porti: 25578

Seed tarkibida qishloq, 21 ta obsidianga ega uchta ta’minot sandig‘i va tabiiy ravishda faol End portali mavjud. Hujjatlashtirilgan yo‘nalish blaze tayoqchalarini talab qilmaydi. Koordinatalar alohida test dunyosida tekshirilgan, ammo yakuniy ishga tushirishdagi harakatlanish va joylashtirishlar oddiy o‘yinchi o‘zaro aloqalari orqali bajariladi.

1-qadam: Node.js bog‘liqliklarini o‘rnatish

Repozitoriy ildizidan loyiha paketlarini o‘rnating:

npm install

Bu agent, model relesi, yo‘nalish mantiqi, dalillar vositalari va testlar foydalanadigan JavaScript bog‘liqliklarini o‘rnatadi.

2-qadam: Modelga xavfsiz kirishni sozlash

Agent umumiy OPENROUTER_API_KEY muhit o‘zgaruvchisini ataylab e’tiborsiz qoldiradi. Buning o‘rniga model chaqiruvlari kalitni Google Secret Manager’dan yuklaydi va uni faqat jarayon xotirasida saqlaydi. Kalit manba fayllarida yoki ishga tushirish jurnallarida ko‘rinmasligi kerak.

  1. model-relay.mjs va models.mjs fayllarini oching.
  2. Dastlabki joylashtirishdagi Google Cloud loyihasi va maxfiy maʼlumot havolalarini o‘z loyihangizga tegishli havolalar bilan almashtiring.
  3. Google Application Default Credentials yordamida mahalliy autentifikatsiyadan o‘ting.
  4. Autentifikatsiyadan o‘tgan identifikatsiyaga tanlangan maxfiy maʼlumotga kirish huquqini bering.
  5. Model relay'ni repository'dagi relay sozlamalariga muvofiq ishga tushiring.
  6. Agentni ishga tushirganda relay URL manzilini belgilang:
MODEL_RELAY=http://127.0.0.1:3099

OpenRouter kalitini manba kodiga, shell skriptlariga, hodisalar jurnallariga yoki ishga tushirish metamaʼlumotlariga joylashtirmang. Loyiha kalitni Secret Manager'dan olib, jarayon xotirasida saqlash uchun mo‘ljallangan.

3-qadam: Server va ajdarho kuzatuvchisini tayyorlash

Mos keluvchi vanilla Minecraft Java 1.16.5 server JAR faylini server/server.jar manziliga joylashtiring. README faylida o‘rnatilgan Minecraft Java runtime ushbu serverni ishga tushira olishi qayd etilgan.

Ajdarho kuzatuvchisi observer/DragonObserver.java faylida amalga oshirilgan. Uni quyidagi buyruq bilan kompilyatsiya qiling:

./build-observer.sh

Asosiy server va uning faqat o‘qish uchun mo‘ljallangan sensorini quyidagicha ishga tushiring:

./start-server.sh

Kuzatuvchi serverdagi ajdarho tick'iga faqat mahalliy kuzatuv chaqiruvini qo‘shadi. U faqat o‘qish rejimida qolishi kerak; u ajdarho AI'ini yoki biror o‘yinchi yoxud obyekt holatini o‘zgartirmaydi.

Haqiqatan ham yangi dunyo yarating

Yangi ishga tushirish katalogi Minecraft dunyosini qayta tiklamaydi. Yangi yozuvni boshlashdan oldin serverni to‘xtating va server/server.properties faylida hali ishlatilmagan level-name qiymatini tanlang. Sozlangan seed'ni o‘zgartirmang, so‘ng serverni qayta ishga tushiring.

Ishga tushirish jurnali katalogi uchun ham xuddi shu yangi nomdan foydalaning. Avvalgi ishga tushirishlar dalillarining bir qismi bo‘lgan dunyolarni saqlab qoling.

4-qadam: Native mijozni o‘rnating va kompilyatsiya qiling

Yashirin native mijoz yangi yozuvlarda ishlatiladigan rasmiy Minecraft tasvirini taqdim etadi. Uning Python tomonidagi bog‘liqliklarini o‘rnating va displey hamda tasvirga olish adapterini kompilyatsiya qiling:

python3 native-client/install.py
./native-client/build.sh

Mijoz izolyatsiyalangan o‘yin katalogidan foydalanadi, shuning uchun foydalanuvchining odatiy Minecraft sozlamalarini ustiga yozmaydi. Ish stoli fokuslanishi va kursor boshqaruvi o‘chirilgan, tasvirga olish esa ish stolini yozib olish o‘rniga o‘yin framebuffer'idan o‘qiydi.

5-qadam: Ishga tushirish konfiguratsiyasini muzlating

Quyida NEW_RUN sifatida ko‘rsatilgan noyob identifikatorni tanlang. Agentni ishga tushirishdan oldin ishga tushirish konfiguratsiyasini muzlating:

node optimization/nether/freeze-run.mjs NEW_RUN

Yakuniy yo‘nalish optimization/nether/config.json faylida belgilanadi. Ishga tushirishni muzlatish uning hosil bo‘lgan jurnali va yozuviga tegishli konfiguratsiyani saqlashga yordam beradi.

6-qadam: Agentni ishga tushiring

Agentni repository ildiz katalogidan ishga tushiring. Quyidagi buyruq Astra'ni tanlaydi, native ko‘rinish va yozib oluvchini yoqadi, native mijozni kutadi hamda ajdarho sensoriga ulanadi:

PLANNER_MODEL=openai/gpt-6-astra RUN_ID=NEW_RUN \
NATIVE_VIEW=1 WAIT_NATIVE=1 NATIVE_RECORD=1 \
DRAGON_SENSOR_URL=http://127.0.0.1:3093 node nether-agent.mjs

Agar relay URL manzili jarayon muhitida hali mavjud bo‘lmasa, uni ham qo‘shing:

MODEL_RELAY=http://127.0.0.1:3099 \
PLANNER_MODEL=openai/gpt-6-astra RUN_ID=NEW_RUN \
NATIVE_VIEW=1 WAIT_NATIVE=1 NATIVE_RECORD=1 \
DRAGON_SENSOR_URL=http://127.0.0.1:3093 node nether-agent.mjs

Planner sifatida Sol'dan foydalanish uchun model qiymatini o‘zgartiring:

PLANNER_MODEL=openai/gpt-5.6-sol

7-qadam: Yashirin Minecraft mijozini ishga tushiring

Mahalliy protokol mirror'i 25578 portida tinglay boshlaguncha kuting. Keyin boshqa terminalni ochib, quyidagini ishga tushiring:

python3 native-client/launch.py

WAIT_NATIVE=1 yoqilganligi sababli agent birinchi harakatini bajarishdan oldin yashirin mijoz va yozib oluvchini kutadi. Yozib oluvchi exit-portal hodisasidan keyin to‘xtaydi.

Hosil bo‘ladigan tasvirga olish fayli 960 × 540 aniqlikda, sekundiga 20 kadr va audiosiz ishlash uchun mo‘ljallangan. Unda jon, ochlik, hotbar, ushlab turilgan buyumlar, inventar va crafting ekranlari, native animatsiyalar hamda ajdarho joni ko‘rsatilishi mumkin.

Ishga tushirishni kuzatish va xavfsiz to‘xtatish

Joriy holatni mahalliy status endpoint'idan ko‘rish mumkin:

http://127.0.0.1:3078

Joriy jarayon status.json fayliga ham yoziladi. Harakat chegarasida to‘xtatishni so‘rash uchun quyidagi faylni yarating:

runs/NEW_RUN/stop

Ishga tushirish tugashi bilan native mijozni darhol to‘xtatmang. Yozuv yakunlanganini bildiruvchi marker paydo bo‘lguncha kuting:

runs/NEW_RUN/full-playthrough.mp4.finished.json

Bu yakuniy tasvirga olish faylining kesilib qolishi yoki buzilishining oldini olishga yordam beradi.

Hosil qilingan dalillarni tushunish

Har bir ishga tushirish o‘z dalillarini runs/<run> ichida saqlaydi. Eng muhim fayllar:

  • events.jsonl: so‘rovlar, model javoblari, tanlangan harakatlar, o‘yin natijalari va yakunlanish hodisalari.
  • status.json: ishga tushirishning eng so‘nggi jarayoni.
  • victory.json: faqat zarur ajdarho o‘limi va exit-portal dalillari mavjud bo‘lganda yaratiladi.
  • full-playthrough.mp4: yozib olish yoqilgan bo‘lsa, native yozuv.
  • full-playthrough.mp4.finished.json: yozuvni yakunlash tugaganini tasdiqlaydi.

Ajdarho o‘limi dalili o‘ldirish advancement'i yoki server xabar qilgan nol jon qiymati ajdarhoning o‘layotgan fazasi bilan birga kelishidan iborat bo‘lishi mumkin. Bu farq muhim, chunki yotoq yordamida o‘ldirish o‘ldirish advancement'ini qayd etmasligi mumkin. Java 1.16.5 uchun exit hodisasi 4 raqamli sababdan foydalanadi.

Yakuniy tekshiruv faqat victory.json fayliga tayanmasligi kerak. Shuningdek, dunyoning DragonFight holati va videoni ham tekshirish lozim.

Avtomatlashtirilgan tekshiruvlarni ishga tushiring

Tugallanish hodisalari, native mirror paketlari, amallar siyosati va pathfinder bekor qilinishini tekshirish uchun repository’ning Node test to‘plamidan foydalaning:

node --test evidence.test.mjs native-mirror.test.mjs optimization/*.test.mjs optimization/pass-2/policy.test.mjs optimization/nether/*.test.mjs

Bu testlar jonli tekshiruvning o‘rnini bosmaydi. Harakatlanish, buyum yasash, jang, server integratsiyasi va yozib olish jarayonlari hali ham ishlayotgan Minecraft serveriga qarshi test qilinishi kerak.

End jangi qanday ishlaydi

end-combat.mjs dagi jang amalga oshirilishi JEV tanlashi uchun bitta chegaralangan yotoq hujumini taqdim etadi. Amal bitta yotoqni joylaydi, unga nishonlanadi, kuzatilgan ajdar boshi sozlangan hujum oynasiga kirguncha kutadi va bitta foydalanish buyrug‘ini yuboradi.

O‘yinchi pana joyini yo‘qotsa yoki ajdar nafasi pana hududiga kirsa, amal bekor qilinadi. README’ga ko‘ra, foydalanishdan oldin nishon olish va hujum oynasini toraytirish orqali mahalliy sozlashlar har bir yotoqdan olinadigan zararni 11 dan 46 gacha oshirgan.

Yakuniy tasdiqlangan urinishda ajdar birinchi qo‘nishida oltita yotoq portlashi bilan o‘ldirilgan. Biroq ajdarning uchishi va qo‘nish vaqti turli urinishlarda farq qiladi, shuning uchun bir xil tugallanish vaqti kafolatlanmaydi.

Jang laboratoriyasidan to‘g‘ri foydalaning

combat-lab katalogi alohida test muhitidir. Unda oldindan tayyorlangan pozitsiyalar, inventarlar va boshqa test o‘zgarishlaridan foydalanilishi mumkin. Uning qattiq kodlangan drayveri combat-probe.mjs 25577 portidan foydalanadi va ikkala modelni ham chaqirmaydi.

Jang laboratoriyasi natijasini model boshqargan to‘liq Survival urinishidek taqdim etmang. Laboratoriya natijalari to‘liq yo‘nalishni bo‘sh inventardan boshlab tekshirmaydi, faqat ajratilgan jang xatti-harakatini tasdiqlaydi.

Yozib olish va tekshirish bo‘yicha ilg‘or maslahatlar

Axborot qoplamasini qo‘shing va tekshiring

Repository’da model nomlari, o‘tgan millisekundlar, XYZ koordinatalari, rejalashtiruvchi maqsadi va tanlangan amal ko‘rsatiladigan shaffof yuqori banner qo‘shuvchi qoplama ish jarayoni hujjatlashtirilgan. Bu yorliqlar yozib olingan model javoblari va o‘yin hodisalariga asoslanadi.

Hujjatlashtirilgan namunaviy urinish uchun qoplamani quyidagi buyruqlar bilan yarating va tekshiring:

node overlay.mjs nether-final-02
node verify-run.mjs nether-final-02 nether-final-02 full-playthrough-overlay.mp4

Eski Prismarine Viewer yozuvi uchun hujjatlashtirilgan buyruqlar:

node assemble-video.mjs recorded-06
node verify-run.mjs recorded-06

Eski recorded-06 ish jarayonida Prismarine Viewer va maxsus HUD ishlatilgan. Yangi yozuvlar faqat o‘qish uchun mo‘ljallangan protokol oynasi orqali rasmiy Minecraft Java 1.16.5 mijozidan foydalanadi.

Tanaffuslar va kod yangilanishi tarixini saqlang

Agar yozuv agentga kod yangilanishi kerak bo‘lgani sababli bir nechta capture faylini o‘z ichiga olsa, barcha faol o‘yin qismlarini saqlang. Birlashtirilgan videoda har bir yangilanish tanaffusini belgilang va barcha o‘limlar hamda tanaffuslar haqida hisobot bering. Bunday urinishni faqat bu ta’rif aniq bo‘lsa, uzluksiz yoki o‘limsiz deb ta’riflash mumkin.

Xavfsiz bo‘lmagan portalga kirish strategiyalaridan saqlaning

Laboratoriya testi End portaliga uzoqdan qulash qulash zararini End hududiga olib kirishi mumkinligini ko‘rsatdi. Yozib olingan yo‘nalishda bu strategiya rad etilib, uning o‘rniga qisqa va tekshirilgan pastga qazish bosqichlaridan foydalanilgan. Yo‘nalish xatti-harakatini o‘zgartirganda ushbu xavfsizlik cheklovini saqlang.

G‘alabani yakuniy holatda qoldiring

Joriy amalga oshirish g‘alabadan keyin boshqa o‘yin amali bajarilishining oldini oladi. Amal siklini o‘zgartirsangiz, bu xatti-harakatni saqlang, chunki g‘alabadan keyingi amallar jurnallar va yozuvlarni talqin qilishni qiyinlashtirishi mumkin.

Mahalliy artefaktlarni Git’dan tashqarida saqlang

Yozuvlar va yaratilgan dalillar ataylab mahalliy saqlanadi. Eng so‘nggi videoning hujjatlashtirilgan yo‘li runs/nether-final-08/full-playthrough-banner.mp4 bo‘lib, uni tekshirish, vaqt taqqoslovi va amallar jurnali ayni run katalogida joylashgan. Yozuvlar, yuklab olingan runtime’lar, server binarlari, dunyolar yoki hisob ma’lumotlarini commit qilmang.

Muammolarni bartaraf etish ro‘yxati

  • Agent boshlamayapti: Mirror 25578 portida tinglayotganini va native mijoz ulanganini tasdiqlang. WAIT_NATIVE=1 bilan kutish kutiladigan holat.
  • Model so‘rovlari bajarilmayapti: Google Application Default Credentials, Secret Manager ruxsatlari, model-relay.mjs va models.mjs dagi loyiha hamda secret havolalari, 3099 portidagi relay mavjudligi va OpenRouter krediti to‘g‘riligini tekshiring.
  • Urinish eski dunyoda boshlanadi: Serverni to‘xtating va haqiqatan foydalanilmagan level-name qiymatini belgilang. Faqat yangi run katalogini yaratish yetarli emas.
  • Ajdar kuzatuvlari mavjud emas: Kuzatuvchini build qiling, serverni uning sensori bilan ishga tushiring va agent DRAGON_SENSOR_URL=http://127.0.0.1:3093 dan foydalanayotganini tasdiqlang.
  • Tugallangan yozuv belgisi ko‘rinmayapti: full-playthrough.mp4.finished.json yozilguncha native mijozni ishlayotgan holatda qoldiring.
  • Platformaga xos yo‘l ishlamayapti: Java, Minecraft runtime, native mijoz va server yo‘llarini moslang, chunki taqdim etilgan skriptlar macOS’da ishlab chiqilgan.

Xulosa

Astra va JEV loyihasi cheklanmagan o‘yin boti emas, balki tuzilgan va dalillarga yo‘naltirilgan Minecraft agentini namoyish etadi. Astra yoki Sol yo‘nalishni rejalashtiradi, JEV chegaralangan amallarni tanlaydi, Mineflayer ularni odatiy protokol orqali bajaradi, faqat o‘qish uchun mo‘ljallangan sensor esa ajdar jangini aniq boshqarishni qo‘llab-quvvatlaydi. Ishonchli urinish uchun hisob ma’lumotlarini ehtiyotkorlik bilan boshqarish, haqiqatan yangi dunyo, native yozuvni sinxronlash, jurnallarni saqlash, avtomatlashtirilgan testlar va o‘yin holati hamda video dalillarini yakuniy ko‘rib chiqish talab etiladi.

Tegishli asoslar haqida ma’lumot olish uchun TypeSafe’ning rasmiy tanishtiruvi, Mineflayer repozitoriyasi va Astra modelining rasmiy hujjatlarini ko‘rib chiqing.