MineDojo / Voyager

An Open-Ended Embodied Agent with Large Language Models
https://voyager.minedojo.org/
MIT License
5.4k stars 493 forks source link

access_token = account_request["access_token"] KeyError: 'access_token' #59

Closed ItsBean closed 1 year ago

ItsBean commented 1 year ago

Upon trying to authenticate with the Minecraft API via Xbox, I'm encountering a 'FORBIDDEN' error. Here's the returned value:

account_request: {'path': '/authentication/login_with_xbox', 'error': 'FORBIDDEN'}

Could anyone provide some insight into why this may be occurring, and offer potential solutions to resolve this issue?

xieleo5 commented 1 year ago

Do you buy the Minecraft game in that account?

ItsBean commented 1 year ago

YES

xieleo5 commented 1 year ago

Seems to be same issue as #54, let's just leave the discussion there.

ItsBean commented 1 year ago

hi, i can give you my account, can you help me verify whether or not it's my account's problem

ItsBean commented 1 year ago

and there are multiple edition for minecraft and which one should i buy

xieleo5 commented 1 year ago

Emm, I don't think it's a good idea to give accounts to others on the Internet. Let's just wait for DeveloperHarris's investigation. Also, you can try to use mc_port to run. You just need to manually resume if it crashes.

ItsBean commented 1 year ago

while not self.mineflayer.is_running:

        print("Mineflayer process has exited, restarting")
        self.mineflayer.run()
        print('self.mineflayer.run() done --bean')
        if not self.mineflayer.is_running:
            if retry > 3:
                raise RuntimeError("Mineflayer process failed to start")
            else:
                continue
        print('self.mineflayer.ready_line:', self.mineflayer.ready_line)
        print('start post, info are:', self.server, self.reset_options, self.request_timeout)
        res = requests.post(
            f"{self.server}/start",
            json=self.reset_options,
            timeout=self.request_timeout / 10,
        )`

the error is shown below (post timeout) self.mineflayer.run() done --bean self.mineflayer.ready_line: Server started on port 3000 start post, info are: http://localhost:3000 {'port': 36409, 'reset': 'hard', 'inventory': {}, 'equipment': [], 'spread': False, 'waitTicks': 20, 'position': None} 600 Traceback (most recent call last):

can you tell me how to solve this problem

ItsBean commented 1 year ago

I'm trying to use mc_port instead of Azure_login to run voyager. but voyagerEnv server is set to localhost at port 3000. However, it seems nothing is listening at this port. I suspect there might be some essential steps missing in the setup instructions for users who are using mc_port with Voyager. Could you please provide any additional steps or requirements needed to correctly utilize the mc_port parameter?

xieleo5 commented 1 year ago

Can you try to run node index.js under voyager/env/mineflayer directory? After doing so, could you also check is there something listening at port 3000?

ItsBean commented 1 year ago

(voyager) xxxx@xxxx:~/bean/Voyager/voyager/env/mineflayer$ node index.js Server started on port 3000 { port: 36409, reset: 'hard', inventory: {}, equipment: [], spread: false, waitTicks: 20, position: null }

ok. then what is the next step

xieleo5 commented 1 year ago

Seems that the node js starts normally. Before you continue, make sure you kill all the processes you just started. Then, start your Minecraft game through the official launcher. Open the world to LAN and record the port number. Finally, you can run Voyager with mc_port you just recorded.

ItsBean commented 1 year ago

Hello, i restart my ubuntu and do as you said, and the problem still exist!

(voyager) xxxx@xxxx:~/bean/Voyager$ python start_game.py Init Voyager Resetting environment --bean Starting Mineflayer process --bean Mineflayer process has exited, restarting Subprocess mineflayer started with PID 6788. self.mineflayer.run() done --bean self.mineflayer.ready_line: Server started on port 3000 start post, info are: http://localhost:3000 {'port': 33625, 'reset': 'hard', 'inventory': {}, 'equipment': [], 'spread': False, 'waitTicks': 20, 'position': None} 600

Error is: socket.timeout: timed out urllib3.exceptions.ReadTimeoutError: HTTPConnectionPool(host='localhost', port=3000): Read timed out. (read timeout=60.0)

BrunoFANG1 commented 1 year ago

I met the same problem, please tell me how you solved it.

ItsBean commented 1 year ago

no clearly explained tutorial bro, just explore the code yourself and you will get it

GoingMyWay commented 1 year ago

Same issue with Azure. Even using 'web' for the callback, it still cannot address the problem.

github-actions[bot] commented 1 year ago

This issue is stale because it has been open for 30 days with no activity.

github-actions[bot] commented 1 year ago

This issue was closed because it has been inactive for 14 days since being marked as stale.