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.
This guide has been updated for DI2SE verson 0.11.0.
Useful Tools
yq— command-line YAML processor.
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.
di2save [OPTIONS] SUBCOMMANDS
OPTIONS:
-h, --help Print this help message and exit
--version Show the version of this application
SUBCOMMANDS:
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
di2save player [OPTIONS] SUBCOMMANDS
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
Active: false
[...]
- ID: 2434b4353ac8334c8ccb6c66c1af801c
Active: true
NewGamePlus: false
Summary:
KeyActiveQuest: [...]
KeyArchetype: [...]
KeyLocation: [...]
KeyProgression: [...]
KeyQuestData: [...]
KeyQuestline: [...]
QSTLN_DI2: [...]
XP: [...]
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.
Some of the useful pieces of information here is NewGamePlus, KeyArchetype (the slayer type and name), KeyProgression (slayer level), and XP.
If you combine this with a tool such as yq then you can easily filter this output:
di2save player profile ls --file DeadIsland2SaveGame.sav | yq -y ".[] | select(.Active)"
di2save player profile ls --file DeadIsland2SaveGame.sav | yq -y ".[] | select(.NewGamePlus)"
Extract only the level from the active slayer:
di2save player profile ls --file DeadIsland2SaveGame.sav | yq -r ".[] | select(.Active) | .Summary.KeyProgression"
Since this output is a bit on the technical side and not very useful yet, you're advised 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:
- Melee weapon (Katana) with superior rarity and requires the slayer to be at least level 10.
- Ranged weapon (Hunting Rifle).
- Ammo (Heavy Rounds) suitable for the ranged weapon.
- Blueprint for crafting ammo (Heavy Rounds) suitable for the ranged weapon.
- Gunpowder for crafting items.
- 1000 cash.
The ID of each item will be printed in case you need to refer to them in subsequent commands.
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:
- Melee weapon (Katana).
- Gunpowder for crafting items.
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
Feel free to look into the items.csv file bundled with the editor to get an idea about which types of items are "instanced", what their "archetypes" are, etc. Currently, only weapons are known to be "instanced".
Clone Item
Items can be duplicated. Currently they can only be duplicated into the same container as the existing items, i.e. the same save, slayer, inventory/stash, etc.
di2save player inventory clone <ID> --file DeadIsland2SaveGame.sav
The ID of the new item will be printed as well.
List Items
List inventory items:
di2save player inventory ls --file DeadIsland2SaveGame.sav
You'll get a categorized list of items including weapons, ammo, etc.
The output might look something like this:
Ammo:
- EntryID: 04c476228a1c6fed56cf875feffbde94
Archetype: /Game/DI2/BalancingData/Recipes/Ammo/DA_RecipeArchetype_HeavyRounds.DA_RecipeArchetype_HeavyRounds
Count: 1
Weapons:
- EntryID: 4e70f5944ef979ccf37e8482d8863c05
Archetype: /Game/DI2/BalancingData/Weapons/Ranged/Rifles/HuntingRifle/DA_RangedWeaponArchetype_HuntingRifle.DA_RangedWeaponArchetype_HuntingRifle
ProceduralGenerationContext:
Seed: 24041
RequiredRarity: EItemRarity::Legendary
RequiredLevel: 4
RuntimeState:
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
This is still quite technical and hopefully there will be a time when the output can be improved.
Ammo, Weapons, etc, are categories. The categories.csv file contains the known categories, and unknown items are categorized as Unknown.
Use the entry ID (e.g. 4e70f5944ef979ccf37e8482d8863c05) when referring to specific items in other commands.
Archetype is the full name 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 name is used by the game.
ProceduralGenerationContext has to do with randomization of weapon stats or random number generation (RNG).
UpgradeEntry* are weapon upgrades. These internally use the full internal name ("archetype") of items.
The yq tool can be useful here. For example, this lists only weapons:
di2save player inventory ls --file DeadIsland2SaveGame.sav | yq -y .Weapons
Show Item
A single item can be shown rather than the whole list:
di2save player inventory show <ID> --file DeadIsland2SaveGame.sav
Edit Items
Most of the CLI options used when adding items are supported when editing items.
Example items to edit:
Ingredients:
- EntryID: c0100e0b3bfea2449a720ac8454f5e6b
Archetype: /Game/DI2/BalancingData/Pickups/Ingredients/Scrap/DA_ItemArchetype_Ingredients_Scrap.DA_ItemArchetype_Ingredients_Scrap
Count: 17
Weapons:
- EntryID: 518813a728c9fd4c93ed2c43e4e2efe1
Archetype: /Game/DI2/BalancingData/Weapons/Melee/Swords/Machete/DA_MeleeWeaponArchetype_Machete.DA_MeleeWeaponArchetype_Machete
ProceduralGenerationContext:
Seed: 12420
Required rarity: EItemRarity::Uncommon
Required level: 4
RuntimeState:
Durability: 42.439804
NumUpgrades: 0
Edit the items:
di2save player inventory edit --file DeadIsland2SaveGame.sav --item c0100e0b3bfea2449a720ac8454f5e6b --count 99
di2save player inventory edit --file DeadIsland2SaveGame.sav --item 518813a728c9fd4c93ed2c43e4e2efe1 --seed 1234 --rarity legendary --level 30 --durability 9999
Updated items:
Ingredients:
- EntryID: c0100e0b3bfea2449a720ac8454f5e6b
Archetype: /Game/DI2/BalancingData/Pickups/Ingredients/Scrap/DA_ItemArchetype_Ingredients_Scrap.DA_ItemArchetype_Ingredients_Scrap
Count: 99
Weapons:
- EntryID: 518813a728c9fd4c93ed2c43e4e2efe1
Archetype: /Game/DI2/BalancingData/Weapons/Melee/Swords/Machete/DA_MeleeWeaponArchetype_Machete.DA_MeleeWeaponArchetype_Machete
ProceduralGenerationContext:
Seed: 1234
Required rarity: EItemRarity::Legendary
Required level: 30
RuntimeState:
Durability: 9999.000000
NumUpgrades: 0
Remove Items
Remove inventory items:
di2save player inventory rm --file DeadIsland2SaveGame.sav 6d79cbe7c86da2499fc7a7fab1696342
This removes an item with entry ID 6d79cbe7c86da2499fc7a7fab1696342.
Notes
- While it's possible to set the durability of melee weapons, it may not work quite as expected. Each weapon can have a different value that is considered to be 100% condition for that weapon. A value of
0.0means that the weapon is in a broken state, and any greater value means that the condition is better. - As of game version
1.1062983.0.0, there are some bugs to be aware of related to melee weapon durability:- Melee weapons in the player inventory receive a bump in durability every time a save (modded or not) is loaded in-game. This means that weapons are in better condition every time you load the save and has nothing to do with the save editor.
- The game no longer caps the durability value of melee weapons to what is considered to be 100% condition for those weapons. Since the save editor by default adds weapons with a great durability value expecting the game to cap the value, it gives the impression that weapons are unbreakable. This is a behavioral change in the game update and not the save editor. You may wish to manually set the durability with the
--durabilityoption until the bug is patched in the game.
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:
- EntryID: 6d79cbe7c86da2499fc7a7fab1696342
Archetype: /Game/DI2/BalancingData/Weapons/Ranged/Rifles/SportingRifle/DA_RangedWeaponArchetype_SportingRifle.DA_RangedWeaponArchetype_SportingRifle
[...]
RuntimeState:
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:
- EntryID: 6d79cbe7c86da2499fc7a7fab1696342
Archetype: /Game/DI2/BalancingData/Weapons/Ranged/Rifles/SportingRifle/DA_RangedWeaponArchetype_SportingRifle.DA_RangedWeaponArchetype_SportingRifle
[...]
RuntimeState:
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
- Not all upgrades are meant to be applied to every type of weapon, but you are free to experiment.
- One can assign a given upgrade only once on a weapon because the game removes duplicates.
- The game (tested version
1.1049222.0.0) does not delete information associated with upgrades when you unassign them in-game. If you add more than e.g. 5 upgrades and then unassign them in-game, those entries will be present for the lifetime of the weapon and reused when assigning upgrades. If left unused then this data can be considered as garbage.
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, clone edit, ls, rm, show, etc.
One difference is that there's a separate stash for NG+, and you may wish to select it with the --ng+=[0|1] command line flag. If omitted, the default is whether the active slayer is NG+. In other words, if the active slayer is NG+ then the NG+ stash will be accessed; otherwise, it'll be the non-NG+ stash.
Notes
- One should only add into the stash the types of items that the game normally allows the player to move into the stash.
Quick Edits
"Quick edits" are available as a convenient way to make quick, specific edits such as maximizing the slayer character's XP/level.
Take for example the one named max-xp and apply it with di2save quick apply max-xp --file DeadIsland2SaveGame.sav.
You can unlock all blueprints with unlock-blueprints, and all curveballs with unlock-curveballs.
Use the di2save help quick command to see a list of the available "quick edits".
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
Special:
- EntryID: 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.