private static void SaveGame() { var save = ProperSavePlugin.CurrentSave = new SaveFile { SaveFileMeta = SaveFileMetadata.GetCurrentLobbySaveMetadata() ?? SaveFileMetadata.CreateMetadataForCurrentLobby() }; if (string.IsNullOrEmpty(save.SaveFileMeta.FileName)) { do { save.SaveFileMeta.FileName = Guid.NewGuid().ToString(); }while (File.Exists(save.SaveFileMeta.FilePath)); } try { var json = JSONWriter.ToJson(save); File.WriteAllText(save.SaveFileMeta.FilePath, json); SaveFileMetadata.AddIfNotExists(save.SaveFileMeta); Chat.AddMessage(Language.GetString(LanguageConsts.PS_CHAT_SAVE)); } catch (Exception e) { ProperSavePlugin.InstanceLogger.LogWarning("Failed to save the game"); ProperSavePlugin.InstanceLogger.LogError(e); } }