Open GiuCcc opened 2 years ago
If you encrypt everything, there is no way to decrypt the data if you forgot your password. Since you can run external configs with exec, there is no trivial way to export the complete config.
If you forgot your password you cannot even login to ddnet.tw Config file will be uploaded in encrypted form, encryption password should be same as login password or different (or even none). External config will be saved as long as they affect client settings, since every setting will be saved. Exec command itself will not be saved and it's ok, since you need result of that command. If you bind exec command, you will find that bind in new client too.
We have no accounts, so we can't store people's settings.
Is there a way to reuse forum accounts? I thought account existed because of forum.
There are lots of discussions about accounts yet, complex topic, so let's not make this into another one. https://github.com/ddnet/ddnet/issues/3411 https://github.com/ddnet/ddnet/discussions/4033
Tater writes:
couldn't we use steam cloud to store client settings to fix this issue? you don't need ingame accounts for that
A problem with this is if you use multiple devices, then you don't want all configs to be shared, for example graphics settings. So we'd have to differentiate which ones to save to Steam and which ones not. And this excludes non-Steam players.
Tater writes:
couldn't we use steam cloud to store client settings to fix this issue? you don't need ingame accounts for that
A problem with this is if you use multiple devices, then you don't want all configs to be shared, for example graphics settings. So we'd have to differentiate which ones to save to Steam and which ones not. And this excludes non-Steam players.
The steam cloud can be disabled for games and devices individually within steams settings: From the Steam Library, right click on any game and select Properties.... Under the General tab, the Cloud Synchronization setting can be toggled.
However, the steam cloud is mostly used by offline games to save profile stats or save games. I don't think we should implement the steam cloud for user settings, especially with the occasional startup issues some people experience due to use of a bad value within the game settings and the automated nature of cloud synchronization. To add to this, we would need to have this function disabled by default, else people with siblings with each their own device and one global steam account would start overwriting their files.
In my view this feature should only be available on request, no automatic import/export.
Idk how multiple account on same PC are handled at the moment. Probably steam already has shared game files but isolated config files, so correct user-config is loaded and can be exported to correct cloud destination (user specific).
I'm not using steam btw.
In my view this feature should only be available on request, no automatic import/export.
Idk how multiple account on same PC are handled at the moment. Probably steam already has shared game files but isolated config files, so correct user-config is loaded and can be exported to correct cloud destination (user specific).
I'm not using steam btw.
Steam handles user specific data using steamids, so a new steam account for each user is a requirement if multiple people play on the same device.
Edit: we don't have any automated handling currently
I've played multiple games that save control settings in steam cloud and then load them onto new PCs. It should also be possible to disable steamcloud from in-game settings.
It should be possible to prompt the user with "There are controls saved on your steam cloud, would you like to overwrite current controls?"
You just need to save 2 copies of the control settings, one for actual use and one for steam cloud syncing.
I would find useful to save whole client configuration on ddnet.tw New client usually asks for player name, but it could also ask to retrieve everything (name, skin, bind, video config, etc...) from ddnet.tw, given login credential of course.
This feature does not need much disk space (let's limit to 1KB per user or less) and it would be available only to registered user. It should be easy to implement as long as client settings are exportable/importable serialized.
Bind export could expose sensitive data, so be sure to encrypt everything.