Yeqa uye kokuyinhloko
Izifundo ze-AI

Qalisa Futhi Uqinisekise I-ejenti ye-Astra ne-JEV ye-Minecraft

Funda ukufaka, ukulungisa, ukuqala, ukuhlola, ukuqopha nokuqinisekisa i-ejenti ye-Astra ne-JEV ye-Minecraft Java 1.16.5. Lo mhlahlandlela uchaza isakhiwo sokuhlela nezenzo, ukuphathwa kwemininingwane yokuqinisekisa, ukusethwa komhlaba omusha, ukuhamba komsebenzi kweklayenti lomdabu, amafayela obufakazi, kanye nokucatshangelwa okuthuthukile kokulwa nokuqopha.

Qalisa Futhi Uqinisekise I-ejenti ye-Astra ne-JEV ye-Minecraft

Okwenziwa yiphrojekthi

I-ejenti ye-Minecraft ye-Astra ne-JEV iqedela umzila ochazwe kusengaphambili we-Minecraft Java 1.16.5 isebenzisa ukubonwa komdlalo okuhlelekile nezenzo zomdlali ezinemikhawulo. I-GPT-6 Astra, noma ngokuzikhethela i-GPT-5.6 Sol, ihlela izinhloso, izinto ezihlosiwe, nezindawo zokudlula ohambweni. I-JEV ibe isikhetha isenzo esitholakalayo, kuyilapho i-Mineflayer yenza ukunyakaza, ukuthola indlela, nokusebenzisana okuvamile nephrothokholi yomdlalo.

Lokhu akukhona ukulawulwa okusekelwe ezithombeni-skrini kuphela, futhi akulingisi ukucindezelwa kwezinkinobho zekhibhodi ngakunye. Amamodeli athola isimo esihlelekile, esihlanganisa amabhulokhi kuma-chunk alayishiwe namakhokhodi anikeziwe embewu eyaziwayo. Izenzo ezitholakalayo zihlanganisa ukuhamba, ukumba ibhulokhi elilodwa, ukuqoqa izinto eziwile, ukwenza izinto, ukuvula izifuba, ukudla, ukulala, kanye nokusebenzisana kokulwa.

Umgijimo wakamuva oqinisekisiwe, nether-final-08, uqedwe ngemizuzu 8 nemizuzwana engu-43.300. Uqale nge-inventory engenalutho emhlabeni omusha we-Survival onobunzima be-Peaceful, wadlula e-Nether, wabulala i-Ender Dragon ngokuqhuma kwemibhede eyisithupha lapho ifika okokuqala, futhi wangena ku-exit portal enempilo ephelele futhi engenakufa. Umgijimo wasebenzisa izinqumo ze-JEV ezingu-131 nezingcingo ze-Astra ezingu-35.

Iphrojekthi isebenzisa iseva esemthethweni ye-vanilla futhi ithumela izenzo ezikhethiwe ngephrothokholi evamile yomdlali. I-sensor yayo ye-Java dragon ifunda kuphela: ibika indawo eqondile yekhanda likadrako kodwa ayinikezi izinto, ayinyakazisi ama-entity, ayishintshi impilo, futhi ayiguquli imithetho yomdlalo.

Izici ezibalulekile

  • Izindima zamamodeli ezihlukene: I-Astra noma i-Sol ihlela inhloso yamanje, kuyilapho i-JEV ikhetha isenzo esisodwa esinemikhawulo ngokubonwa kwamanje.
  • Ukusebenzisana okuvamile kwe-Minecraft: I-Mineflayer iphatha ukunyakaza, ukuthola indlela, ukusebenzisana namabhulokhi, ukwenza izinto, imisebenzi ye-inventory, nokuxhumana kwephrothokholi.
  • Umzila osebenzisa i-Nether: Umzila ogxilile usebenzisa i-Nether njengesinqamuleli sohambo ngaphambi kokulwa e-End.
  • Ukubona udrako okufunda kuphela: I-sensor yendawo ye-Java ibika indawo yekhanda likadrako ukuze kubekwe isikhathi esinembile semibhede ngaphandle kokuguqula isimo se-entity.
  • Ukuqoshwa komdabu: Iklayenti elisemthethweni elifihlekile le-Minecraft Java 1.16.5 linikeza amamodeli omdabu, ama-texture, ama-animation, izikrini ze-inventory, impilo, indlala, umoya, isimo se-hotbar, izinto eziphethwe, kanye nempilo kadrako.
  • Ukunyakaza kwekhamera okulawulwayo: Ukuphenduka kwekhamera kukhawulelwe kuma-degree angu-240 ngomzuzwana nge-axis ngayinye, ngokusheshisa kwama-degree angu-960 ngomzuzwana oyisikwele.
  • Ubufakazi obuhlelekile: Ama-log omcimbi e-JSONL, amafayela esimo, ubufakazi bokunqoba, ama-manifest evidiyo, nokuhlolwa kwesimo somhlaba kusekela ukuqinisekiswa kwakamuva.
  • Ukuhlolwa okuzenzakalelayo: I-repository ihlanganisa ukuhlolwa kwemicimbi yokuqedwa, amaphakethe omdabu, inqubomgomo yezenzo, nokukhanselwa kwe-pathfinder.

Isakhiwo nokucushwa kwamamodeli

Imodeli ezenzakalelayo yokuhlela ngu-openai/gpt-6-astra, ebizwa nge-/api/v1/chat/completions. Ungakhetha openai/gpt-5.6-sol nge-environment variable ethi PLANNER_MODEL. I-JEV isebenzisa typesafe/jev-1.13 nge-/api/alpha/decisions.

Umhleli akwenzi ngokuqondile ukulandelana kwezenzo okungahleliwe. Usungula inhloso yamanje, izinto ezifunwayo, nendawo yokudlula. I-JEV ihlola ukubonwa okuhlelekile kwamanje bese ikhetha isenzo esivunyelwe. Lokhu kwehlukanisa kugcina izinqumo ngazinye zinemikhawulo, kuyilapho kuvumela umgijimo wonke ulandele uhlelo olude.

Izidingo nemikhawulo ebalulekile

Izikripthi zokuqalisa nezokunikezela ngomdwebo womdabu zakhiwe ku-macOS. Kwenye isistimu yokusebenza, kufanele uguqule izindlela zesikhathi sokusebenza, izindawo ze-Java, nezilungiselelo zeseva yendawo. Isikripthi esinikeziwe sokuqalisa somdabu sisebenzisa i-Java 17 runtime yaso yendawo.

Udinga i-Node.js ne-npm, i-Python 3 yezikripthi zeklayenti lomdabu, i-Java runtime ehambisanayo, i-Google Application Default Credentials, ukufinyelela ku-secret ye-Google Secret Manager equkethe ukhiye we-OpenRouter, kanye nekhredithi eyanele ye-OpenRouter. Ama-binary e-Minecraft, ama-runtime alandiwe, imihlaba egciniwe, okuqoshiwe, nemininingwane yokuqinisekisa kushiywe ngamabomu ngaphandle kwe-Git.

Ukucushwa komdlalo okubhaliwe kungokulandelayo:

  • Imbewu: 8398967436125155523
  • Imodi: Survival
  • Ubunzima obusetshenziswe ekuqoshweni okuqinisekisiwe: Peaceful
  • Isikhungo esisebenzayo se-End portal: -1130, 34, 856
  • Iseva enkulu: 127.0.0.1:25576
  • Indawo yesimo: http://127.0.0.1:3078
  • Indawo ye-local dragon sensor esetshenziswa yi-ejenti: http://127.0.0.1:3093
  • I-port yesibuko sephrothokholi yomdabu: 25578

Imbewu iqukethe idolobhana, izifuba ezintathu zokuphakela ezine-obsidian engu-21, kanye ne-End portal esebenza ngokwemvelo. Umzila obhaliwe awudingi ama-blaze rod. Amakhokhodi ahlolwe emhlabeni wokuhlola ohlukile, kodwa ukunyakaza nokubekwa emgijimweni wokugcina kusebenzisa ukusebenzisana okuvamile komdlali.

Isinyathelo 1: Faka okuncikile kwe-Node.js

Kusukela empandeni ye-repository, faka amaphakheji ephrojekthi:

npm install

Lokhu kufaka okuncikile kwe-JavaScript okusetshenziswa yi-ejenti, i-model relay, ingqondo yomzila, amathuluzi obufakazi, nokuhlolwa.

Isinyathelo 2: Lungisa ukufinyelela okuphephile kumamodeli

I-ejenti ayinaki ngamabomu i-environment variable evamile ethi OPENROUTER_API_KEY. Kunalokho, izingcingo zamamodeli zilayisha ukhiye ku-Google Secret Manager futhi ziwugcina kuphela enkumbulweni yenqubo. Ukhiye akufanele uvele kumafayela omthombo noma kuma-log okugijima.

  1. Vula model-relay.mjs kanye models.mjs.
  2. Shintsha izinkomba zephrojekthi ye-Google Cloud nezimfihlo zokuthunyelwa kwasekuqaleni ufake izinkomba zephrojekthi yakho.
  3. Qinisekisa ubuwena endaweni yakini usebenzisa i-Google Application Default Credentials.
  4. Nikeza ubuwena obuqinisekisiwe imvume yokufinyelela imfihlo ekhethiwe.
  5. Qalisa i-model relay ngokuvumelana nokusethwa kwe-relay okukurephozithori.
  6. Setha i-URL ye-relay lapho uqala i-agent:
MODEL_RELAY=http://127.0.0.1:3099

Ungafaki ukhiye we-OpenRouter kukhodi yomthombo, kumaskripthi e-shell, kumalogi emicimbi, noma kumamethadatha yokuqalisa. Iphrojekthi yakhelwe ukuthola ukhiye ku-Secret Manager futhi iwugcine enkumbulweni yenqubo.

Isinyathelo 3: Lungisa iseva nomqaphi wedragon

Beka i-JAR yeseva ehambisana ne-vanilla Minecraft Java 1.16.5 ku-server/server.jar. I-README iphawula ukuthi i-runtime efakiwe ye-Minecraft Java ingasebenzisa le seva.

Umqaphi wedragon usebenzisa i-observer/DragonObserver.java. Yakhe ngale ndlela:

./build-observer.sh

Qalisa iseva eyinhloko kanye nenzwa yayo efundwayo kuphela ngale ndlela:

./start-server.sh

Umqaphi wengeza ucingo lokubheka olusebenza endaweni kuphela ku-dragon tick yeseva. Kumele ihlale ifunda kuphela; ayiguquli i-dragon AI noma isimo sanoma yimuphi umdlali noma into.

Dala umhlaba omusha ngempela

Uhlu olusha lokuqalisa aluwusethi kabusha umhlaba we-Minecraft. Ngaphambi kokuqopha okusha, misa iseva bese ukhetha i-level-name engasetshenziswanga ku-server/server.properties. Gcina i-seed emisiwe ingashintshiwe, bese uqala kabusha iseva.

Sebenzisa lelo gama elisha elifanayo kuhlu lwemibhalo lwamalogi okuqalisa. Londoloza imihlaba yangaphambilini lapho iyingxenye yobufakazi bokuqalisa kwangaphambilini.

Isinyathelo 4: Faka futhi wakhe iklayenti lendabuko

Ikhalayenti lendabuko elifihliwe linikeza ukuboniswa okusemthethweni kwe-Minecraft okusetshenziswa ekuqopheni okusha. Faka okuncikile ohlangothini lwe-Python bese wakha i-adapter yokubonisa nokuqopha:

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

Ikhalayenti lisebenzisa uhlu lwemibhalo lomdlalo oluhlukanisiwe, ngakho alibhali phezu kwezilungiselelo ezijwayelekile ze-Minecraft zomsebenzisi. Ukugxila kwedeskithophu nokulawulwa kwekhesa kukhutshaziwe, futhi ukuqopha kufunda i-framebuffer yomdlalo kunokuqopha ideskithophu.

Isinyathelo 5: Khiya ukumiswa kokuqalisa

Khetha isihlonzi esiyingqayizivele, esimelelwe ngezansi njenge-NEW_RUN. Khiya ukuqaliswa ngaphambi kokuqala i-agent:

node optimization/nether/freeze-run.mjs NEW_RUN

Indlela yokugcina ichazwa ku-optimization/nether/config.json. Ukukhiya ukuqaliswa kusiza ukugcina ukumiswa okuhlobene namalogi nokuqoshwa okukhiqizwayo.

Isinyathelo 6: Qalisa i-agent

Qalisa i-agent usuka empandeni yerephozithori. Umyalo olandelayo ukhetha i-Astra, uvule ukubuka kwendabuko nomqophi, ulinde iklayenti lendabuko, bese uxhuma kunzwa yedragon:

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

Uma i-URL ye-relay ingakabi khona endaweni yenqubo, yifake nayo:

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

Ukuze usebenzise i-Sol njengomhleli, shintsha inani lemodeli:

PLANNER_MODEL=openai/gpt-5.6-sol

Isinyathelo 7: Qalisa iklayenti le-Minecraft elifihliwe

L esperar kuze kube yilapho isibuko sephrothokholi sendawo silalela ku-port 25578. Bese uvula enye i-terminal bese usebenzisa:

python3 native-client/launch.py

Ngenxa yokuthi i-WAIT_NATIVE=1 ivuliwe, i-agent ilinda iklayenti elifihliwe nomqophi ngaphambi kokwenza isenzo sayo sokuqala. Umqophi uyama ngemva komcimbi we-exit portal.

Ukuqopha okukhiqizwayo kuklanyelwe ukulungiswa okungu-960 × 540 ngamafreyimu angu-20 ngomzuzwana ngaphandle komsindo. Kungabonisa impilo, indlala, i-hotbar, izinto eziphethwe, izikrini ze-inventory nezokwenza, opopayi bendabuko, nempilo yedragon.

Ukuqapha nokumisa ukuqaliswa ngokuphepha

Isimo samanje siyatholakala ku-endpoint yesimo sendawo:

http://127.0.0.1:3078

Inqubekelaphambili yamanje ibhalwa futhi ku-status.json. Ukuze ucele ukumisa emngceleni wesenzo, dala leli fayela:

runs/NEW_RUN/stop

Ungamisi iklayenti lendabuko ngokushesha ngemva kokuphela kokuqalisa. Linda umaka wokuqedwa kokuqopha:

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

Lokhu kusiza ukugwema ukunqamula noma ukonakalisa ukuqopha kokugcina.

Ukuqonda ubufakazi obukhiqiziwe

Ukuqaliswa ngakunye kugcina ubufakazi bakho ngaphansi kwe-runs/<run>. Amafayela abaluleke kakhulu yilawa:

  • events.jsonl: izicelo, izimpendulo zemodeli, izenzo ezikhethiwe, imiphumela yomdlalo, nemicimbi yokuqedwa.
  • status.json: inqubekelaphambili yakamuva yokuqalisa.
  • victory.json: ikhiqizwa kuphela lapho kukhona ubufakazi obudingekayo bokufa kwedragon kanye ne-exit portal.
  • full-playthrough.mp4: ukuqopha kwendabuko lapho ukuqopha kuvuliwe.
  • full-playthrough.mp4.finished.json: isiqinisekiso sokuthi ukuqedelwa kokuqopha kuqediwe.

Ubufakazi bokufa kwedragon bungaba yi-kill advancement noma impilo engu-zero ebikwe yiseva ihlanganiswe nesigaba sokufa sedragon. Lo mehluko ubalulekile ngoba ukubulala ngombhede kungashiya i-kill advancement ingekho. Ku-Java 1.16.5, umcimbi wokuphuma usebenzisa isizathu esiyinombolo 4.

Ukubuyekezwa kokugcina okuvumelekile akumele kuncike ku-victory.json kuphela. Kumele futhi kuhlolwe isimo se-DragonFight somhlaba kanye nevidiyo.

Qalisa ukuhlolwa okuzenzakalelayo

Sebenzisa i-test suite ye-Node yendawo ukuhlola imicimbi yokuqedwa, amaphakethe e-native mirror, inqubomgomo yezenzo, nokukhanselwa kwe-pathfinder:

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

Lawa ma-test awathathi indawo yokuqinisekisa bukhoma. Ukunyakaza, ukwakha, ukulwa, ukuhlanganiswa kweseva, nokuqopha kusadinga ama-test asebenza kuseva ye-Minecraft esebenzayo.

Indlela ukulwa kwase-End okusebenza ngayo

Ukuqaliswa kokulwa ku-end-combat.mjs kuveza ukuhlasela okukodwa kombhede okunomkhawulo ukuze kukhethwe yi-JEV. Isenzo sibeka umbhede owodwa, siwubhekise, silinde kuze kube ikhanda likadragoni elibonwayo lingena efasiteleni lokuhlasela elilungiselelwe, bese sithumela umyalo owodwa wokusebenzisa.

Isenzo siyayeka uma umdlali elahlekelwa yisembozo noma uma umoya kadiragoni ungena endaweni yesembozo. Ngokusho kwe-README, ukulungiswa kwasendaweni kwandise umonakalo osuka ku-11 waba ngu-46 ngombhede ngamunye ngokubheka umbhede ngaphambi kokuwusebenzisa nangokuqinisa ifasitela lokuhlasela.

Ukuqhutshwa kokugcina okuqinisekisiwe kwabulala udrako ngokuqhuma kwemibhede eyisithupha ngesikhathi efika phansi okokuqala. Nokho, isikhathi sokundiza nokufika kukadragoni siyahluka phakathi kokuqhutshwa, ngakho izikhathi ezifanayo zokuqeda aziqinisekisiwe.

Sebenzisa ilabhorethri yokulwa ngendlela efanele

Ifolda ye-combat-lab iyindawo yokuhlola ehlukile. Ingasebenzisa izindawo, izimpahla, nezinye izinguquko zokuhlola ezilungiselelwe kusengaphambili. I-driver yayo ebhalwe ngokuqinile, combat-probe.mjs, isebenzisa i-port 25577 futhi ayibizi noma iyiphi imodeli.

Ungalokothi wethule umphumela we-combat-lab njengokuqhutshwa okuphelele kwe-Survival okulawulwa yimodeli. Imiphumela yelabhorethri iqinisekisa ukuziphatha kokulwa okuhlukanisiwe, hhayi umzila ophelele osuka esikhwameni esingenalutho.

Amathiphu athuthukile okuqopha nokuqinisekisa

Engeza futhi uqinisekise i-information overlay

Indawo yokugcina imibhalo ichaza inqubo ye-overlay engeza ibhanela elibonisa ngengilazi phezulu, elibonisa amagama amamodeli, ama-millisecond adlulile, izixhumanisi ze-XYZ, inhloso ye-planner, kanye nesiwombe esikhethiwe. Lawa malebula asekelwe ezimpendulweni ezirekhodiwe zamamodeli nasemicimbini yomdlalo.

Ngesibonelo sokuqhutshwa esibhalwe phansi, dala futhi uqinisekise i-overlay ngale miyalo:

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

Ngokuqopha okudala kwe-Prismarine Viewer, imiyalo ebhalwe phansi yile:

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

Inqubo endala ye-recorded-06 yayisebenzisa i-Prismarine Viewer ne-HUD yangokwezifiso. Ukuqoshwa okusha kusebenzisa iklayenti elisemthethweni le-Minecraft Java 1.16.5 nge-read-only protocol mirror.

Gcina amakhefu nomlando wezibuyekezo zekhodi

Uma ukuqopha kunamafayela amaningi okuthwebula ngenxa yokuthi i-agent idinge ukubuyekezwa kwekhodi, gcina zonke izingxenye zokudlala ezisebenzayo. Maka ikhefu lesibuyekezo ngasinye kuvidiyo ehlanganisiwe bese ubika konke ukufa namakhefu. Ukuqhutshwa okunjalo akumele kuchazwe njengokungaphazamiseki noma okungenakufa ngaphandle kokuthi leyo ncazelo inembile.

Gwema amasu angaphephile okungena ku-portal

I-test yase-labhorethri yabonisa ukuthi ukuwela ibanga elide kungena ku-End portal kungadlulisela umonakalo wokuwa uye ku-End. Umzila oqoshiwe walinqaba lelo su futhi wasebenzisa izinyathelo ezimfushane zokumba phansi ezihloliwe. Gcina lo mkhawulo wokuphepha lapho uguqula ukuziphatha komzila.

Gcina ukunqoba kuwukuphela komdlalo

Ukuqaliswa kwamanje kuvimbela esinye isenzo somdlalo ngemva kokunqoba. Gcina lokhu kuziphatha uma uguqula i-action loop, ngoba izenzo zangemva kokunqoba zingenza amalogi nokuqoshwa kube nzima ukukuhumusha.

Gcina ama-artifact endawo ngaphandle kwe-Git

Ukuqoshwa nobufakazi obukhiqiziwe kuhlala endaweni yakhelwe kanjalo. Indlela ebhalwe phansi yevidiyo yakamuva yi-runs/nether-final-08/full-playthrough-banner.mp4, kanti ukuqinisekiswa kwayo, ukuqhathaniswa kwesikhathi, kanye nelogi yezenzo kusefoldeni efanayo yokuqhutshwa. Ungafaki ku-commit ukuqoshwa, ama-runtime alandiwe, ama-binary eseva, imihlaba, noma iziqinisekiso zokungena.

Uhlu lokuhlola lokuxazulula izinkinga

  • I-agent ayiqali: Qinisekisa ukuthi i-mirror ilalele ku-port 25578 nokuthi iklayenti lendabuko lixhumekile. Uma kusetshenziswa WAIT_NATIVE=1, ukulinda kulindelekile.
  • Izicelo zemodeli ziyehluleka: Qinisekisa i-Google Application Default Credentials, izimvume ze-Secret Manager, izinkomba zephrojekthi ne-secret ku-model-relay.mjs naku-models.mjs, ukutholakala kwe-relay ku-port 3099, kanye nekhredithi ye-OpenRouter.
  • Ukuqhutshwa kuqala emhlabeni omdala: Misa iseva bese usetha i-level-name engakaze isetshenziswe ngempela. Ukwakha ifolda entsha yokuqhutshwa kuphela akwanele.
  • Okubonwa ngodrako akutholakali: Yakha i-observer, qala iseva nge-sensor yayo, bese uqinisekisa ukuthi i-agent isebenzisa DRAGON_SENSOR_URL=http://127.0.0.1:3093.
  • Umaka wokuqoshwa okuqediwe awuveli: Shiya iklayenti lendabuko lisebenza kuze kubhalwe full-playthrough.mp4.finished.json.
  • Indlela encike epulatifomu iyehluleka: Lungisa izindlela ze-Java, i-Minecraft runtime, iklayenti lendabuko, neseva ngoba ama-script anikeziwe athuthukiswe ku-macOS.

Isiphetho

Iphrojekthi ye-Astra ne-JEV ikhombisa i-agent ye-Minecraft ehlelekile egxile ebufakazini, hhayi i-game bot engenamingcele. I-Astra noma i-Sol ihlela umzila, i-JEV ikhetha izenzo ezinomkhawulo, i-Mineflayer izenza nge-protocol evamile, kanti i-sensor efundeka kuphela isekela ukulwa okunembile nodrako. Ukuqhutshwa okuthembekile kudinga ukuphathwa ngokucophelela kweziqinisekiso zokungena, umhlaba omusha ngempela, ukuqoshwa kwendabuko okuvumelanisiwe, amalogi agciniwe, ama-test azenzakalelayo, nokubuyekezwa kokugcina kwesimo somdlalo kanye nobufakazi bevidiyo.

Ukuze uthole izisekelo ezihlobene, bheka isingeniso esisemthethweni se-TypeSafe, inqolobane ye-Mineflayer, kanye nemibhalo esemthethweni yemodeli ye-Astra.