Closed agitationswapping closed 6 months ago
Thanks for posting a detailed bug report. Indeed, the configuration format changed and it would be nice to be able to convert old configuration files to new ones.
That would require a lot of work on our side since a lot of the code was replaced. I think we should not support the old format conversion, that part should fall on users.
(1) If changing the format of configuration files, you wouldn't leave a way to read old configuration files intact so they could be imported properly.
When an old settings file is detected, it will prompt The old MinecraftClient.ini has been backed up as MinecraftClient.backup.ini
Please use the newly generated MinecraftClient.ini
. We can use a different name for it, such as MinecraftClient.old.ini
, to distinguish it from the backup.
Since the two settings files use completely different technologies, this would require a lot of dirty work if we want to automate the import, and we haven't implemented it yet due to our lack of developers. Feel free to contribute in this feature.
For the new version of the settings file, it will be able to automatically merge new settings items as they become available in the future, eliminating the need to delete settings and reconfigure them as in the old version.
(2) Failing that, you wouldn't display a reasonable error message.
As much as possible, we provide easy-to-understand default configurations as hints so that the user can be informed of the meaning of the setting and the format in which it is written. For a more detailed description, you can visit our documentation site.
The parsing (deserialization) of the settings file is done through Tolmat. The library should be able to indicate the line number or the section where the error occurred. If you think this is not good enough, please start a discussion in Tolmat-Issue or Tolmat-Discord.
(3) Overwriting the MinecraftClient.ini file makes sense at all. Obviously, my config file worked and I didn't change any settings when running the program, so why the need to revert this file?
There may be new setting items after the upgrade and certain commands will change the settings while MCC is running. Since we don't have a good way to sense these changes, once the serialization produces a file that differs from the existing file, MCC overwrites it and the old file is renamed as a backup.
Since there has been 2 years of the Settings update there is no point of adding this feature. Thus I'll close the issue.
Prerequisites
debugmessages=true
in config to diagnose my issueMinecraft Version
1.19.2
Console Client Version
Latest
Expected Behavior
I could place the new MinecraftClient.exe and everything would work.
I wouldn't have to rebuild any configuration files or mess with settings I didn't want to change.
Actual Behavior
First I received the following error:
I clued in that something was wrong with the configuration file, but had no idea this had been changed between versions. After confirming the config file worked with the previous version still, I opted to create a new one, figuring that it had changed.
I then, manually imported my settings one by one from the old MinecraftClient.ini.
All good now, right?
Nope, next I received an error that the server couldn't be found.
I checked and also, the way that both users and servers are entered has also been changed.
Luckily the configuration file was clear enough, but I have a lot of accounts and servers I use, so this wasn't necessarily easy and took a decent amount of time.
Great, now I'm good right?
Yep, it worked.
Except, that when I closed down, I still had the previous Minecraft Client Console sessions open. When I closed them, I did it in the reverse order (having no idea this would matter at all).
So I assume it overwrote the MinecraftClient.ini with the previous version (no usernames/servers). Then it overwrote that MinecraftClient.ini with the original version (no usernames/servers or custom settings).
I realized this was happening when I saw the text, but by that time it was too late to do anything. All of the usernames and servers were overwritten and my text editor reloaded the file automatically.
So I then went through the process of manually transcribing all the settings, servers, and usernames/passwords again for a second time, after which time it seems to be stable.
I did notice there's a MinecraftClient.backup.ini, but I found it afterward and I think in my case it would have still lost the usernames/servers.
So I suppose I'm at a loss, why: (1) If changing the format of configuration files, you wouldn't leave a way to read old configuration files intact so they could be imported properly. (2) Failing that, you wouldn't display a reasonable error message. (3) Overwriting the MinecraftClient.ini file makes sense at all. Obviously, my config file worked and I didn't change any settings when running the program, so why the need to revert this file?
Steps to Reproduce the bug
Attach screenshot here (If applicable)
No response
Anythings that could help diagnosing the bug
Device
Desktop
Operating System
Windows
Server Address (If applicable)
No response