[Idea] Better Handling Of Login Failures (ie Retries)
Prerequisites
- [X] I have read and understood the user manual
- [X] I made sure I am running the latest development build
- [X] I tried to look for similar feature requests before opening a new one
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
We are going to add that, once we re-factor the protocol library.
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.
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.
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?