Bonjour,
Etant en train de réaliser moi même depuis maintenant un long moment un moteur de jeu online je pourrais éventuellement proposer un peu des solutions à tes questions
Il y a plein de moyens différents de sauvegarder tes données d'avancement ou de contenu pour un jeu dans un fichier, tout dépend selon moi comment est réalisé ton moteur. Tu peux séparer ces différentes informations dans différents fichiers, ou alors faire un manager de donnée sauvegardant dans un seul et unique fichier. Cependant pour moi il est mieux de tout séparer, tout se qui est stat pour le joueur sauvegardé dans un fichier "profil" par exemple, tu peux placer toutes ces informations selon la structure que tu veux, tu dois juste savoir les relire après : Tu peux donc par exemple sauvegarder dans l'ordre que tu veux : la vie, la mana, les valeurs de variable particulière, par exemple, je sais pas tu peux imaginer comme toi tu veux, tu peux écrire ces valeurs naturellement ou en ""binaire"" ou encrypté, le cryptage XOR par exemple pourrait t'aider. Après pour se qui est de l'histoire, tu peux faire pareil après tout dépend de comment tu utilises ces informations, si par exemple tu enregistre tout tes dialogues avec un ID et que dans ton moteur tu affiches chaque ID à des lieux bien précis, ou alors si tu as un éditeur et que tu utilises un peu le concept événementiel (oui j'aime bien appelé ça comme ça) du style de RPG Maker par exemple, tu peux enregistrer chacun de ces événements dans un fichier et qu'ils soit lut si celui si est placé sur la map. Tu as un choix infini, c'est à toi d'imaginer comment structurer tes données. Si tu veux faire quelque chose de souple, pouvant être modifier, ou afin de pouvoir ajouter du contenu plus tard, il est ainsi mieux d'enregistrer tout ça dans des fichiers pouvant être modifiés simplement plutôt que dans le code source. Après tu peux, comme je l'ai dis plus haut, crypter tes fichiers si tu le veux, il y a différentes façon de crypter des données.
Après pour un jeu multijoueur si c'est seulement pour deux joueurs tu peux toujours faire en sorte que l'un des deux joueurs puisse être le serveur afin d’héberger la partie. Après pour se qui est d'un classement, ça dépend se que tu veux dire par classement, si ton jeu affiche le classement mondial de tout les gens qui auront joué a ton jeu, il faudra, à mes yeux, effectivement un serveur regroupant tout les statistiques, mais ça peut être tout simplement un serveur WEB, ou grâce à une simple page php tu récupère toutes les informations. On peut facilement imaginer une architecture du style : Client/Serveur <---> Client et que à la fin de la partie Le Client/serveur envoie les statistiques à une page WEB enregistrant ainsi sur son serveur les statistiques.
Bon j'ai peut être pas donné quelque chose tout fait, c'est plus des idées de comment tu peux gérer ça, après c'est à toi de voir qu'est ce que tu considères le mieux. Sache juste que si tu es du style parano, que les gens changent leurs fichiers, il est sûr et certains que plus tu te rapproches d'une gestion complète coté serveur, plus tu sécurises.
Voila voila, bonne journée