Closed LordGolias closed 6 years ago
I think we should treat dedicated and self-hosted MP games the same - the host is automatically an admin in multiplayer. In other words, the save game functionality is for server hosts/admins, not the commander (unless it's singleplayer).
For automatic saves, I think adding a checkbox to overwrite the most recent save every x minutes would be good - as well as displaying what the current save slot is, and when it was last modified.
I think we should treat dedicated and self-hosted MP games the same - the host is automatically an admin in multiplayer. In other words, the save game functionality is for server hosts/admins, not the commander (unless it's singleplayer).
So, the persistency belongs always to the persistent machine (dedicated or host). Sounds better.
This change does not break backward comp of saved games: it is only a change in permissions. This is also good.
Do you want to tackle this part, @jlillis?
The save game last modified date also addresses #165. I think that this requires some more changes because the save date should not be part of the serialized game, and instead should be a property of the save game itself. I.e. in the relational database sense, IMO a save game contains 3 fields:
call AS_database_fnc_serialize
]
As I see it, there are 3 main types of people playing:
In MP, the host is not necessarily the commander, in dMP the commander is not necessarily a server admin.
Existing functionality:
(Equal for SP, MP and dMP)
copyToClipboard
ed on every client.Problems with existing functionality:
When the commander saves the game, it has the power to overwrite existing saved games. If the game was saved on the server's profile, a malicious player as commander could overwrite saved games on the server. For this reason, the commander must not be allowed to change the server's profile nor other client's profiles. (@jlillis, this is an issue in your proposal)
There were 2 main reasons for the use of the clipboard functionality:
Because of problem 1, the clipboard functionality is de-facto useless because, for the person p1 to share a MP game with p2, they would have to
Proposal of fix dMP problem
The root cause of problem 2 is that the commander is not necessarily an admin, and saved game management of the server should be handled by server admins only.
Thus, problem 2 can be fixed by decoupling the commander's in-game permissions (buy FIA vehicles, etc.) from the commander's save management permissions (load/save games). Specifically, I propose the following save game permissions: