Minecraft-Console-Client icon indicating copy to clipboard operation
Minecraft-Console-Client copied to clipboard

[Idea] Better Handling Of Login Failures (ie Retries)

Open agitationswapping opened this issue 2 years ago • 4 comments

Prerequisites

Console Client Version

Latest

Describe your problem

Currently, the Minecraft Client Console sometimes fails to connect randomly. This seems to happen if the login servers are overloaded or sometimes just due to random failures in the login protocol. Sometimes I think it rejects the valid login credentials if I do too many logins to different accounts. There are a number of different ways it can fail, and I imagine it could be even worse for others that might have a spotty internet connection.

Rather than retry the connection/login so it can continue the script, the Minecraft Client Console displays an error and just sits there forever. This is really annoying half-way through a script when I have to edit the file to remove that part which was already done and then restart the executable. There were some times I recall when I had to restart the client several times.

Suggest a possible solution

It would be a lot easier if the Minecraft Client Console could retry the connection automatically. For the best result, it could increase the retry time. For example, the first retry might be 10 seconds, then 20 seconds, then 30-40 seconds. Having a configurable number of retries, time between retries, and multiplier and/or addition to the time on subsequent retries would be the most flexible approach, but at the moment any sort of retry mechanism would be helpful.

Attach screenshot here (If applicable)

No response

Minecraft Version

1.19.4

Device

Laptop

Operating System

Windows

agitationswapping avatar Jun 05 '23 03:06 agitationswapping

We are going to add that, once we re-factor the protocol library.

milutinke avatar Jul 09 '23 08:07 milutinke

Thanks. Any update on this timeline?

I estimate this costs me 3-10 minutes every day. I have to sit and watch everything finish. I'm thinking of building a macro around the client to detect and restart it, but it's much easier if the client can just retry.

agitationswapping avatar Dec 07 '23 07:12 agitationswapping

BruceChen seems to have completely abandoned his work on re-factoring the library, so I guess someone else will have to take it over, it's a huge task, since we support all the versions from 1.4.6 to 1.20.2. I'll look into doing it, but I only can start in like 2-3 months, so don't expect anything soon.

milutinke avatar Dec 07 '23 07:12 milutinke

Okay thanks for the update. I noticed if I type /connect ... ... manually and succeed in connecting to the account, the script appears to continue running. So could there be a simple way of connecting to the last attempted account if the client comes disconnected?

Why does it require refactoring the library to implement retries? Or why do you want to wait until refactoring the library to add it? Could the refactoring be done in smaller steps?

agitationswapping avatar Dec 25 '23 04:12 agitationswapping