PC ゲーム DARK SOULS REMASTERED(ダークソウル リマスタード)のセーブデータを自動的にバックアップする方法

2020年06月29日
0

ダークソウルシリーズのセーブデータは自動で行われるため、セーブを忘れたりすることはないので便利ですが、その反面セーブデータは 1つのファイルで管理しているためやり直しがききません。

特にオンラインプレイでチーターにプレイデータを改ざんされるような事態になると、何らかの手段で改ざん前のセーブデータのバックアップを取っていなければ、最悪今までのプレイしたデータが水の泡になることがあります。

そのため、PC 版の各ソウルシリーズではこのようなことが発生しても手動でセーブデータを巻き戻せるように、ゲーム中に自動的にセーブデータをバックアックするツールがユーザーによって公開されてきました。

今回、この記事では PC ゲーム DARK SOULS: REMASTERED のセーブデータを自動的にバックアップするツールの一つである 「DS1-backup-tool」 の使い方を説明します。

PC ゲーム DARK SOULS REMASTERED(ダークソウル リマスタード)のセーブデータを自動的にバックアップする方法

DARK SOULS REMASTERED(ダークソウル リマスタード) セーブデータ自動的バックアップツール - DS1-backup-tool : 使い方

DS1-backup-toolGitHub で公開されているのでここからダウンロードします。

PC ゲーム DARK SOULS REMASTERED(ダークソウル リマスタード)のセーブデータを自動的にバックアップする方法、DARK SOULS REMASTERED(ダークソウル リマスタード) 自動バックアップスクリプト DS1-backup-tool.vbs をテキストエディタで編集

DS1-backup-tool の中身は DS1-backup-tool.vbs ファイルのみです。

初めて使用する場合は PC 環境に合わせて初期設定が必要となるため、まずは DS1-backup-tool.vbs をテキストエディタで開きます。

PC ゲーム DARK SOULS REMASTERED(ダークソウル リマスタード)のセーブデータを自動的にバックアップする方法、DARK SOULS REMASTERED(ダークソウル リマスタード)のセーブデータがあるパス名が正しく設定されてないと DS1-backup-tool.vbs 実行後にエラーメッセージが表示

ちなみに初期設定をしないで DS1-backup-tool.vbs を実行すると画像のようなエラーメッセージが表示されます。

これは DARK SOULS: REMASTERED のセーブデータ保存場所が正しくないため(画像に表示されているは DS1-backup-tool.vbs にすでに入力されているダミーのパス名)、セーブデータが見つからずにエラーとなっています。

また、セーブデータの存在もチェックしているため、パス名が正しくてもセーブデータがなければ同様にエラーになります。初めてゲームをプレイする場合はあらかじめセーブデータを作成しておきましょう。

DS1-backup-tool : DS1-backup-tool.vbs(必須&オプション設定)
'''''''''''''''''''''''''''''''''''''''
'' START CONFIG SECTION - EDIT THIS! ''
'''''''''''''''''''''''''''''''''''''''
	SavegamePath = "C:\Users\YOURUSERNAME\Documents\NBGI\DARK SOULS REMASTERED\YOUR-ID"
	SavegameFile = "DRAKS0005.sl2"

	MaxBackupFiles = 25				'Number of maximun backup savegame files. 25 is ok
	TimeBetweenBackups = 180000		'1000 = 1sec | 180000 = 180secs = 3 minutes

DS1-backup-tool.vbs をテキストエディタで開いたら、4行目の SavegamePathDARK SOULS: REMASTERED のセーブデータがあるパス名に書き換えます。

SavegamePathYOURUSERNAMEYOUR-ID とあるのは、セーブデータの保存場所が個々の PC 環境(YOURUSERNAME 部分)や Steam アカウント(YOUR-ID 部分)で異なります。ここだけ各自セーブデータがある場所を調べて書き換える必要があるため、ダミーのパス名となっています。

ここで注意したいのは DS1-backup-tool.vbsSavegamePath のパス名には NBGI フォルダが含まれていますが、これはおそらく海外版の場合です。

DARK SOULS: REMASTERED の設定言語を日本語にしている場合だと NBGI ではなく、FromSoftware となっている点に注意してください。

これは旧版ダークソウル英語版と日本語版でも同じで、セーブデータの保存場所が違う仕様が DARK SOULS: REMASTERED でも引き継いでいるようです。

オプションで 7行目の MaxBackupFiles、8行目の TimeBetweenBackups を書き換えてバックアップ数やタイマー設定を変更することができます。

7行目の MaxBackupFiles はバックアップファイルの最大ファイル保持数です。初期値は 25。

8行目の TimeBetweenBackups はバックアップ間隔の時間です。初期値は 180000(=180秒=3分) です。

以上、SavegamePath のみ必須設定で、ここだけ正しく設定してあれば自動バックアップは正常に動作します。

DS1-backup-tool.vbs 実行後、自動的に DARK SOULS: REMASTERED が起動するようになっており、起動後 30秒後に自動バックアップが開始されます。コマンドプロンプト画面は表示されません。

DS1-backup-tool の自動バックアップは DARK SOULS: REMASTERED と同期するようになっているため、ゲーム終了と同時に自動バックアップも終了するようになっています。

PC ゲーム DARK SOULS REMASTERED(ダークソウル リマスタード)のセーブデータを自動的にバックアップする方法、セーブデータ自動バックアップ開始成功後、フォルダ内に作成されたセーブデータバックアップファイル 「(連番数字)-DRAKS0005.sl2」 ファイル

自動バックアップが正常に動作すれば、セーブデータと同じフォルダ内に (連番数字)-DRAKS0005.sl2 という形でバックアップファイルが作成されます。

自動バックアップの連番数字は DS1-backup-tool.vbsMaxBackupFiles の数値に関係しており、最大バックアップ数まで到達した場合(例: MaxBackupFiles = 25 で、バックアップファイル名 25-DRAKS0005.sl2 がある場合)、連番が 1からスタートしてバックアップファイルを作成(すでにある場合は上書き)します。

ゲーム終了後、連番もリセットされるためゲームを終了するタイミングとバックアップ設定によっては、次にゲームと自動パックアップスクリプトを開始した際に、直近のバックアップファイルから先に上書きされる可能性がある点に注意してください。

DS1-backup-tool : DS1-backup-tool.vbs(自動バックアップファイル名設定)
	oFSO.CopyFile SavegamePath & "\" & SavegameFile, SavegamePath & "\" & counter & "-" & SavegameFile

バックアップのファイル名は DS1-backup-tool.vbs 36行目にある SavegamePath & "\" & counter & "-" & SavegameFile コード部分が該当します。(counter が連番を管理する変数)

ここを書き換えることでバックアップファイル名を変更することもできます。

DARK SOULS REMASTERED(ダークソウル リマスタード) セーブデータ自動的バックアップツール - DS1-backup-tool : バックアップファイル保存場所変更方法

DS1-backup-tool の自動バックアップファイルは セーブデータと同じフォルダに作成 される設定ですが、DS1-backup-tool.vbs に項目を追加して一部コードを書き換えることで別の場所に変更することができます。

DS1-backup-tool : DS1-backup-tool.vbs(5行目 BackupPath 追加)
'''''''''''''''''''''''''''''''''''''''
'' START CONFIG SECTION - EDIT THIS! ''
'''''''''''''''''''''''''''''''''''''''
	SavegamePath = "C:\Users\YOURUSERNAME\Documents\FromSoftware\DARK SOULS REMASTERED\YOUR-ID"
	BackupPath = "M:\Temp\DSR-SaveData-Backup"
	SavegameFile = "DRAKS0005.sl2"

	MaxBackupFiles = 25				'Number of maximun backup savegame files. 25 is ok
	TimeBetweenBackups = 180000		'1000 = 1sec | 180000 = 180secs = 3 minutes

5行目に BackupPath を追加して、ここに自動バックアップファイルを保存したいパス名を入力します。(BackupPath は任意で作成した変数名なので、違う変数名でも ok)

なお、事前に設定したパス名のフォルダは作成しておきます。バックアップ開始時に指定したパス名にフォルダが見つからないとエラーになるためです。(フォルダは自動的に生成しません)

DS1-backup-tool : DS1-backup-tool.vbs(37行目 2番目の SavegamePath を BackupPath に書き換え)
	oFSO.CopyFile SavegamePath & "\" & SavegameFile, BackupPath & "\" & counter & "-" & SavegameFile

次に 37行目の 2番目にある SavegamePath を、先ほど追加した変数名 BackupPath に書き換えれば完了です。

PC ゲーム DARK SOULS REMASTERED(ダークソウル リマスタード)のセーブデータを自動的にバックアップする方法、DS1-backup-tool.vbs を編集することで指定した別のフォルダにセーブデータを自動的にバックアップが可能

DS1-backup-tool.vbs 実行後、BackupPath に設定したパス名に自動バックアップファイルが作成されていることが確認できれば成功です。

DARK SOULS REMASTERED(ダークソウル リマスタード) セーブデータ自動的バックアップツール - DS1-backup-tool : その他カスタマイズ

DS1-backup-toolDS1-backup-tool.vbs スクリプトの一部を書き換えるだけでバックアップの挙動を変更させたり、DARK SOULS: REMASTERED だけでなく他のゲームにも対応させることができます。

以下、DS1-backup-tool の自動バックアップが正常に動作していることを前提としたカスタマイズ内容になります。

DS1-backup-tool : フォルダ単位でバックアップ

DARK SOULS: REMASTERED のセーブファイル(DRAKS0005.sl2)のバックアップではなく、フォルダを丸ごとバックアップするようにスクリプトをカスタマイズする方法です。

バックアップの対象をファイルではなくフォルダにすることで、DARK SOULS: REMASTERED 以外のゲームにも応用できます。

DS1-backup-tool : DS1-backup-tool.vbs(SavegamePath と SavegameFile 書き換え
'''''''''''''''''''''''''''''''''''''''
'' START CONFIG SECTION - EDIT THIS! ''
'''''''''''''''''''''''''''''''''''''''
	SavegamePath = "C:\Users\YOURUSERNAME\Documents\FromSoftware\DARK SOULS REMASTERED"
	SavegameFile = "YOUR-ID"

SavegamePathYOUR-ID に該当する部分を削除して、代わりに SavegameFileDRAKS0005.sl2YOUR-ID に書き換えます。

DS1-backup-tool : DS1-backup-tool.vbs(19行目 FileExists から FolderExists に書き換え)
If oFSO.FolderExists(SavegamePath & "\" & SavegameFile) = False Then

19行目の FileExistsFolderExists に書き換えます。

DS1-backup-tool : DS1-backup-tool.vbs(36行目 CopyFile から CopyFolder に書き換え)
	oFSO.CopyFolder SavegamePath & "\" & SavegameFile, SavegamePath & "\" & counter & "-" & SavegameFile

36行目の CopyFileCopyFolder に書き換えます。

DS1-backup-tool : 他の Steam ゲームに切り替え設定

ほかの Steam ゲームに対応させたい場合は以下のスクリプトを書き換えます。

DS1-backup-tool : DS1-backup-tool.vbs(26行目 Steam AppID 書き換え)
' Check if DARKSOULS is running, if not: execute it!
If isDarksoulsPlaying = False Then
	oWSH.Run "steam://rungameid/570940"
	WScript.Sleep 30000			' Wait 30 seconds until we start the backup routine
End If

DS1-backup-tool.vbs 実行時に起動するゲームを指定します。

26行目の steam://rungameid/ の後ろにある数字(DARK SOULS: REMASTERED の場合は 570940) を起動させたいゲームの Steam AppID に書き換えます。

この数字は Steam ストアにある各ゲームの URL https://store.steampowered.com/app/ の後ろにある数字と同じため、Steam ストアの URL にある数字をそのまま利用することもできます。

DS1-backup-tool : DS1-backup-tool.vbs(48行目 プロセス名すべて大文字に書き換え)
' Retarded routine to check if DARKSOULS is executed
Function isDarksoulsPlaying()
	Set cProcess = oWMI.ExecQuery("Select * from Win32_Process")
	isDarksoulsPlaying = False
	For Each oProcess in cProcess
		If UCase(oProcess.Name) = "DARKSOULSREMASTERED.EXE" Then isDarksoulsPlaying = True
	Next
End Function

ゲームが起動しているかどうかをチェックするルーチンです。

48行目の DARKSOULSREMASTERED.EXE の部分に、起動させたいゲームのプロセス名に変更します。

どういう理屈かわかりませんが、取得したプロセス名をいったん大文字に変換(48行目の UCase)してからプロセス名を If 分でチェックしているので、ここで入力するゲームのプロセス名のアルファベットと拡張子はすべて大文字にしておきます。

DS1-backup-tool : ゲーム開始時のバックアップ開始タイミング変更

DS1-backup-tool : DS1-backup-tool.vbs(27行目 WScript.Sleep 数値書き換え)
' Check if DARKSOULS is running, if not: execute it!
If isDarksoulsPlaying = False Then
	oWSH.Run "steam://rungameid/570940"
	WScript.Sleep 30000			' Wait 30 seconds until we start the backup routine
End If

26行目でゲームが起動した後、27行目の WScript.Sleep で 30秒(30000 ms)待機してからバックアップルーチンを開始します。

WScript.Sleep の数値を変更することでバックアップの開始タイミングを変更できます。

関連記事
awgs
Posted by awgs