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:
- 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 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
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
- 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.0
means 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
--durability
option 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:
- 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
- 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
, edit
, ls
, etc.
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.
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.