Skip to content

Latest commit

 

History

History
54 lines (38 loc) · 4.87 KB

FAQ.md

File metadata and controls

54 lines (38 loc) · 4.87 KB

Frequently Asked Questions

I got a connection error after I click on the Azure login link and login to my Microsoft account.

It's normal that you get a connection refused or 404 error after you log in. You will still see the new URL in your browser. You just need to copy and paste that link. It should contain things like code=M.C.... in that link.

I got KeyError: 'access_token' after I copied the link

While testing Voyager, we use Redirect URI Type: Public client/native (mobile & desktop) in the app registration for Azure Login. However, according to the report in issue #34, the URI Type was changed to "Web" and it resolved the problem. Feel free to attempt both URI Types to determine which one works for you. If all the approaches fail, please refer to the original tutorial in minecraft-launcher-lib.

Update: This is probably a Microsoft's bug. See issue #80 in minecraft-launcher-lib. If you cannot solve this problem, you can try to use the Minecraft Official Launcher and use mc_port to run.

I got Subprocess Mineflayer failed to start error.

There are many reasons that may cause this problem. You can try with following solutions:

  1. Make sure you install nodejs and the dependency packages correctly. You can use the following command to check your installation:
    cd voyager/env/mineflayer
    node index.js
    If you see Server started on port {PORT}, then your installation is correct. You can kill the process by Ctrl+C.
  2. Make sure you install Fabric correctly. You should be able to select the Fabric version in the Minecraft launcher.
  3. Each Mineflayer process can only listen to one port. If you want to start multiple instances of Voyager, you need to manually change the port when initialization:
    from voyager import Voyager
    voyager = Voyager(
        server_port=3001, # default is 3000
        ...
    )

I saw the bot left and rejoin the game after each task.

After completing each task, we'll reset the environment, which means the bot will exit and rejoin the game. This reset is necessary to synchronize Mineflayer with the Minecraft game. We do this because certain commands we utilize might result in lag on the Mineflayer side, causing the inventory stored in Mineflayer to differ from the actual inventory in the game. However, if you wish to avoid the reset, you can use voyager.learn(reset_env=False) and consider increasing the env_wait_ticks value. This will provide Mineflayer with additional time to sync with the Minecraft game.

How to show the bot's first-person view?

Due to the Mineflayer's limitation, we currently can not directly get the bot's view in the game. Although there's a plugin called prismarine-viewer, the video quality is not good enough, so we opt not to use it. Our demo video is generated by replay-mod. We start the recording and let the bot play for hours, then come back to the recording and render the view from the bot.

Can I use GPT-3.5 instead of GPT-4?

It's highly recommended to use GPT-4. GPT-3.5 falls behind in terms of code quality and reasoning ability compared to GPT-4. Moreover, GPT-3.5 has a limited context length, which means it may provide incomplete responses. If you insist on using GPT-3.5, it is essential to configure it with skill_manager_retrieval_top_k ≤ 2 to reduce the context length of the prompt.

What's the estimated cost of running Voyager?

Using Voyager for approximately 160 iterations using GPT-4 will cost you around 50 USD. It's important to keep a close eye on your OpenAI API expenses and avoid unnecessary spending. Once Voyager begins running, it's recommended to monitor the bot's behavior for a period and ensure that it successfully completes some tasks.