Getting Started

DI2SE is currently provided as a program with a simple command line interface (CLI). Below are some examples on how to use it to edit saves for Dead Island 2.

Save Location

Steam (PC/Windows):

%LocalAppData%\DeadIslandSteam\Saved\SaveGames\DeadIsland2SaveGame.sav

Epic Games Launcher (PC/Windows):

%LocalAppData%\DeadIsland\Saved\SaveGames\DeadIsland2SaveGame.sav

Back Up Your Data

Save editors may destroy your saved data. Please make sure to back up your original data to a safe place.

Basic Usage

The save editor is CLI-based (Command Line Interface), and has no GUI (graphical user interface). The way to use CLI tools in general is by running them in a terminal window (or command prompt) with command line options. It's highly recommended to familiarize yourself with the basics of working with CLI programs in a terminal because the following explanations will assume a minimum level of basic knowledge.

The instructions in the sections below show examples for doing specific things with the editor, but you're encouraged to check the help text for the commands you use.

Running di2save --help command will output some information to get you started:

A save editor for the Dead Island 2 game.
Usage: di2save [OPTIONS] SUBCOMMAND

Options:
  -h,--help                   Print this help message and exit
  --version                   Show the version of this application

Subcommands:
  experiment                  A command meant for running experiments and is not for general use
  file                        File-related commands
  help                        Information to help you use this tool
  player                      Commands related to the player
  quick                       A command for applying quick edits
  stash                       Commands related to the stash

© 2023, Steffen André Langnes
https://www.steffenl.com/

Running di2save --help player will output information related to the player:

Commands related to the player
Usage: di2save player [OPTIONS] SUBCOMMAND

Options:
  -h,--help                   Print this help message and exit

Subcommands:
  profile                     Commands related to player profiles
  inventory                   Commands related to the player inventory

© 2023, Steffen André Langnes
https://www.steffenl.com/

The sections below will show more specific examples.

Help

View a list of known inventory items:

di2save help inventory items

A list of available inventory items will be displayed, grouped by category.

The columns displayed are as follows:

Column Description
UI Name The name displayed in-game. This is meant only as a visual aid.
Name The internal name of the item. This is the name you should normally use when working with the editor.
DLC? Whether the item is a DLC item.
AI? Whether the item is an "AI" item and probably not meant to be used by the player.
Internal? Whether the item is an intenal item and probably not meant to be used by the player.

There are filtering options such as whether to show DLC/AI/internal items which are hidden by default:

di2save help inventory items --include-dlc --include-ai --include-internal
di2save help inventory items --only-dlc
di2save help inventory items --only-ai
di2save help inventory items --only-internal

Here's a specific example taken from the output:

UI Name Name DLC? AI? Internal?
HEAVY ROUNDS DA_RecipeArchetype_HeavyRounds no no no

This is a blueprint, also known as recipe, for "HEAVY ROUNDS" ammo.

View a list of known inventory item upgrades:

di2save help inventory upgrades

A list of available upgrades will be displayed, grouped by category.

The columns displayed are as follows:

Column Description
UI Name The name displayed in-game. This is meant only as a visual aid.
Name The internal name of the item. This is the name you should normally use when working with the editor.
Weapon Type The type of weapon this upgrade is meant to be applied to, such as melee, ranged or any weapon.
Rarity The rarity of the upgrade, such as legendary or uncommon.

Profile

List player profiles:

di2save player profile ls --file DeadIsland2SaveGame.sav

Output:

- ID: a57731d3cc754d489031bd8743fcf429
  [...]
- ID: 2434b4353ac8334c8ccb6c66c1af801c (active)
  [...]

In this example, 2434b4353ac8334c8ccb6c66c1af801c is the ID of the active slayer character and will be used in other commands automatically unless you override it to e.g. a57731d3cc754d489031bd8743fcf429 using the --profile parameter.

Since this output is a bit on the technical side and not really that useful, you're suggested to not delve too much into this.

Inventory

Add Items

Add some items to the player inventory:

di2save player inventory add --file DeadIsland2SaveGame.sav --name DA_MeleeWeaponArchetype_Katana --rarity superior --level 10
di2save player inventory add --file DeadIsland2SaveGame.sav --name DA_RangedWeaponArchetype_HuntingRifle
di2save player inventory add --file DeadIsland2SaveGame.sav --name DA_AmmoArchetype_HeavyRoundsAmmo
di2save player inventory add --file DeadIsland2SaveGame.sav --name DA_RecipeArchetype_HeavyRounds
di2save player inventory add --file DeadIsland2SaveGame.sav --name DA_ItemArchetype_Ingredients_Gunpowder
di2save player inventory add --file DeadIsland2SaveGame.sav --name DA_InventoryTypes_Special_CashItem --count 1000

The following items are added:

The possible rarities are common, uncommon, rare, superior and legendary.

By default weapons will have the same level as the player and will have legendary rarity.

Stackable items will by default be added with the maximum number of stacked items as defined by the game. You can set any number you want with --count but note that the game may still cap the number, and a great number may cause instability in the game's program.

To add items not yet known to the save editor, either manually add them to the database by editing the items.csv file, or use the advanced command line options:

di2save player inventory add --file DeadIsland2SaveGame.sav --archetype /Game/DI2/BalancingData/Weapons/Melee/Swords/Katana/DA_MeleeWeaponArchetype_Katana.DA_MeleeWeaponArchetype_Katana --type MeleeWeaponArchetype --instanced true
di2save player inventory add --file DeadIsland2SaveGame.sav --archetype /Game/DI2/BalancingData/Pickups/Ingredients/Gunpowder/DA_ItemArchetype_Ingredients_Gunpowder.DA_ItemArchetype_Ingredients_Gunpowder --type ItemArchetype --instanced false --count 99

The following items are added:

See the CLI help text for other options that can be used as there are quite a few customzation options:

di2save --help player inventory add

List Items

List inventory items:

di2save player inventory ls --file DeadIsland2SaveGame.sav

You'll get a list of so-called "instanced" items and "archetype" items which is how the game internally groups them. Weapons are "instanced" while parts and blueprints aren't. Please take a look at the items.csv file bundled with the editor to get an idea about which types of items are "instanced" or not.

The output might look something like this:

Instanced items:
  - Entry ID: 4e70f5944ef979ccf37e8482d8863c05
    Archetype: /Game/DI2/BalancingData/Weapons/Ranged/Rifles/HuntingRifle/DA_RangedWeaponArchetype_HuntingRifle.DA_RangedWeaponArchetype_HuntingRifle
    Procedural generation context:
      Seed: 24041
      Required rarity: EItemRarity::Legendary
      Required level: 4
    Runtime state:
      NumUpgrades: 2
      UpgradeEntry0: /Game/DI2/BalancingData/Weapons/Upgrades/DA_ItemUpgradeData_IncreaseMagazineSize.DA_ItemUpgradeData_IncreaseMagazineSize
      UpgradeEntry1: /Game/DI2/BalancingData/Weapons/Upgrades/DA_ItemUpgradeData_IncreaseAccuracy.DA_ItemUpgradeData_IncreaseAccuracy
[...]
Archetype items:
  - Entry ID: 04c476228a1c6fed56cf875feffbde94
    Archetype: /Game/DI2/BalancingData/Recipes/Ammo/DA_RecipeArchetype_HeavyRounds.DA_RecipeArchetype_HeavyRounds
    Count: 1

This is still quite technical and hopefully there will be a time when the output can be improved.

Use the entry ID (e.g. 4e70f5944ef979ccf37e8482d8863c05) when referring to specific items in other commands.

"Archetype" was mentioned earlier but here it's the full path of the type of item. This is what the game actually works with. The editor allows you to use a shorter name such as DA_RangedWeaponArchetype_HuntingRifle but internally the full path is used by the game.

"Procedural generation context" has to do with random number generation (RNG).

"UpgradeEntry*" are weapon upgrades. Again, this these internally use the full path ("archetype") of items.

Edit Items

Most of the CLI options used when adding items are supported when editing items.

Example items to edit:

Instanced items:
  - Entry ID: 518813a728c9fd4c93ed2c43e4e2efe1
    Archetype: /Game/DI2/BalancingData/Weapons/Melee/Swords/Machete/DA_MeleeWeaponArchetype_Machete.DA_MeleeWeaponArchetype_Machete
    Procedural generation context:
      Seed: 12420
      Required rarity: EItemRarity::Uncommon
      Required level: 4
    Runtime state:
      Durability: 42.439804
      NumUpgrades: 0
Archetype items:
  - Entry ID: c0100e0b3bfea2449a720ac8454f5e6b
    Archetype: /Game/DI2/BalancingData/Pickups/Ingredients/Scrap/DA_ItemArchetype_Ingredients_Scrap.DA_ItemArchetype_Ingredients_Scrap
    Count: 17

Edit the items:

di2save player inventory edit --file DeadIsland2SaveGame.sav --item 518813a728c9fd4c93ed2c43e4e2efe1 --seed 1234 --rarity legendary --level 30 --durability 9999
di2save player inventory edit --file DeadIsland2SaveGame.sav --item c0100e0b3bfea2449a720ac8454f5e6b --count 99

Updated items:

Instanced items:
  - Entry ID: 518813a728c9fd4c93ed2c43e4e2efe1
    Archetype: /Game/DI2/BalancingData/Weapons/Melee/Swords/Machete/DA_MeleeWeaponArchetype_Machete.DA_MeleeWeaponArchetype_Machete
    Procedural generation context:
      Seed: 1234
      Required rarity: EItemRarity::Legendary
      Required level: 30
    Runtime state:
      Durability: 9999.000000
      NumUpgrades: 0
Archetype items:
  - Entry ID: c0100e0b3bfea2449a720ac8454f5e6b
    Archetype: /Game/DI2/BalancingData/Pickups/Ingredients/Scrap/DA_ItemArchetype_Ingredients_Scrap.DA_ItemArchetype_Ingredients_Scrap
    Count: 99

Remove Items

Remove inventory items:

di2save player inventory rm --file DeadIsland2SaveGame.sav 6d79cbe7c86da2499fc7a7fab1696342

This removes an item with entry ID 6d79cbe7c86da2499fc7a7fab1696342.

Notes

Upgrade Weapons

First you need to know the weapon to which an upgrade should be added. You can do that by listing the items as before and finding the "entry ID".

Here is our example item:

- Entry ID: 6d79cbe7c86da2499fc7a7fab1696342
  Archetype: /Game/DI2/BalancingData/Weapons/Ranged/Rifles/SportingRifle/DA_RangedWeaponArchetype_SportingRifle.DA_RangedWeaponArchetype_SportingRifle
  [...]
  Runtime state:
    NumUpgrades: 1
    UpgradeEntry0: /Game/DI2/BalancingData/Weapons/Upgrades/DA_ItemUpgradeData_IncreaseForce.DA_ItemUpgradeData_IncreaseForce

Add some upgrades:

di2save player inventory upgrade add --file DeadIsland2SaveGame.sav --item 6d79cbe7c86da2499fc7a7fab1696342 --name DA_ItemUpgradeData_IncreaseWeaponDamageWhenAimDownSights --name DA_ItemUpgradeData_IncreaseReloadSpeed

The item should now look like this:

- Entry ID: 6d79cbe7c86da2499fc7a7fab1696342
  Archetype: /Game/DI2/BalancingData/Weapons/Ranged/Rifles/SportingRifle/DA_RangedWeaponArchetype_SportingRifle.DA_RangedWeaponArchetype_SportingRifle
  [...]
  Runtime state:
    NumUpgrades: 2
    UpgradeEntry0: /Game/DI2/BalancingData/Weapons/Upgrades/DA_ItemUpgradeData_IncreaseForce.DA_ItemUpgradeData_IncreaseForce
    UpgradeEntry1: /Game/DI2/BalancingData/Weapons/Upgrades/DA_ItemUpgradeData_IncreaseWeaponDamageWhenAimDownSights.DA_ItemUpgradeData_IncreaseWeaponDamageWhenAimDownSights
    UpgradeEntry2: /Game/DI2/BalancingData/Weapons/Upgrades/DA_ItemUpgradeData_IncreaseReloadSpeed.DA_ItemUpgradeData_IncreaseReloadSpeed

To add upgrades not yet known to the save editor, either manually add them to the database by editing the weapon_upgrades.csv file, or use the advanced command line options:

di2save player inventory upgrade add --file DeadIsland2SaveGame.sav --item 6d79cbe7c86da2499fc7a7fab1696342 --archetype /Game/DI2/BalancingData/Weapons/Upgrades/DA_ItemUpgradeData_IncreaseAccuracy.DA_ItemUpgradeData_IncreaseAccuracy

If you're unhappy with some upgrades then you can remove them. The following removes two of the upgrades added above—one by name and one by archetype.

di2save player inventory upgrade rm --file DeadIsland2SaveGame.sav --item 6d79cbe7c86da2499fc7a7fab1696342 --name DA_ItemUpgradeData_IncreaseWeaponDamageWhenAimDownSights --archetype /Game/DI2/BalancingData/Weapons/Upgrades/DA_ItemUpgradeData_IncreaseAccuracy.DA_ItemUpgradeData_IncreaseAccuracy

Notes

Stash

Managing the stash is similar to managing the player inventory—just use commands such as di2save stash * instead of di2save player inventory * where * is a subcommand such as add, edit, ls, etc.

Notes

Quick Edits

"Quick edits" are available as a convenient way to make quick, specific edits such as maximizing the slayer character's XP/level.

Use the di2save help quick command to see a list of the available "quick edits".

Take for example the one named max-xp and apply it with di2save quick apply --file DeadIsland2SaveGame.sav max-xp.

Manual Editing

The following commands are useful for manual inspection of the saved data and allows for editing the file by hand.

Unpack a saved game:

di2save file unpack --file DeadIsland2SaveGame.sav --output-file DeadIsland2SaveGame.sav.unpacked

Repack a saved game:

di2save file pack --file DeadIsland2SaveGame.sav.unpacked --output-file DeadIsland2SaveGame.sav.repacked

The generated *.meta file is needed for repacking so make sure it accompanies the unpacked save.

Troubleshooting

Version of file too recent

A message such as "The version of this file is too recent" may be displayed if the input file was saved by a version of the game that isn't officially supported by the version of the save editor being used.

$ di2save player inventory ls --file DeadIsland2SaveGame.sav
Exception: The version of this file is too recent

This is a safety feature to help reduce the risk of crashing the program and corrupting saves.

You're encouraged to check whether there's a more recent version of the tool available, but in the case there isn't one available then version safety can be disabled at your own risk using the --no-version-safety CLI option. If the tool then crashes or otherwise fails to function properly then it must be updated for your version of the game.

$ di2save player inventory ls --file DeadIsland2SaveGame.sav --no-version-safety
Instanced items:
  - Entry ID: d7e6aecc26d30e4d825e4619b9fd8095
    Archetype: /Game/DI2/BalancingData/Weapons/Melee/Fists/BareHands/DA_MeleeWeaponArchetype_BareHands.DA_MeleeWeaponArchetype_BareHands
[...]

Unable to figure out whether item is instanced

The message "Unable to figure out whether item is instanced" may be displayed if the editor is missing information about an inventory item in its database.

You can work around this by supplying the CLI parameters --instanced <true/false> or by adding information about the item into the database.