Releasing my Cataclysm Character + Vehicle Transfer Utility


Cataclysm Character + Vehicle Transfer Utility

(edit 2016-02-17)

I’ve released a Cataclysm (CDDA) Character + Vehicle Transfer Utility, written in Ruby, and compiled for Windows.

It primarily lets you copy vehicles to new worlds. It also lets you copy characters, and worlds themselves. Finally, it will let you save and load vehicles from json files. Please read the directions; there are a few steps that you still have to do before it will transfer a vehicle.

First: BACK UP ANY WORLD (through this utility) BEFORE MAKING CHANGES

To copy a character, there must first be an existing character in the world you wish to copy to. This gives us a safe location for your character to arrive at. The existing character is not overwritten.
To copy a vehicle, two things are required. First, give it a unique name (within the world) such as “SuperRV”. Next, in the destination world, find or create a vehicle and give it a unique name as well such as “MyTarget”. This second vehicle is overwritten and lost entirely when the source vehicle is copied over.

It is a text-based tool. There is no graphical interface. I have tested it extensively, but I suggest you still backup your worlds/game before messing around. I’d also replace vehicles in a big wide open space with no objects around. The positioning is NOT an exact science.

Download the Executable
Place in either your cataclysm directory, or in a directory above/next to it (for launcher compatibility).
Run “cataclysm_utility.exe”

Comments can be posted here or sent to the email found on the github site. Let me know and I will try to fix any problems that come up.

Linux users should be able to run the utility, if Ruby is installed, with “ruby cataclysm_utility.rb”
Any platform should be able to just run the program without the executable if Ruby is installed.


Character/vehicle export utility?

I’ll check this out later, but I’ll bet it’s a lot better than doing it manually. And you can bring vehicles too! This is great!


This is an awesome tool, thanks so much for releasing it :slight_smile: I love all the features to backup worlds, characters and vehicles.

I ran into a few issues:
I was attempting to copy my deathmobile from my heavily modded world to a clean one, just to see what would happen.
The result was a debug message on loading the destination world, and the destination vehicle vanished.

I was expecting something to happen, like a series of “Attempt to load missing item” messages, but not for the destination vehicle to vanish and have nothing in it’s place.

Perhaps it would be worth mentioning that when copying between worlds, the worlds should have the same mods. It seems like an obvious thing, but new users may encounter problems and not know how to fix them.

Also, recommend backups when playing with save game files, always.

This utility works flawlessly when the source and destination have matching mods, very nice :slight_smile:

When updating with rremyroy’s Launcher, this utility and all it’s subdirectories are moved to the previous_version directory and require the user to manually copy them back in order to retain the saved_vehicles and characters. Is there any chance of a version that can operate in a parallel directory with cata?
Ex. My cataclysm install is in

the launcher resides in

ideally I’d like to see the transfer utility reside in
to avoid conflicts and lost data.

The cataclsym install directory is already quite cluttered with the game files, hosting another program there just leads to confusion as to what file came from which program.

All in all, this is a great addition to the catalog and really simplifies moving characters and vehicles around. I’ve added it to the mod list in the slowly expanding utilities section at the top. Thanks again john-cdda :slight_smile:


Thanks for the feedback! Glad to hear it is working well so far. I will see what I can do with the bug you found, Malkeus. I can also rearrange the folder locations so it works with the launcher. My concern is that explaining the desired directory structure could be confusing for the user. I will set the utility up so it works in the cdda directory or side by side with it, so that might take care of any user confusion. Will update in a few days.


I released version 1.1 of the utility. It incorporates the changes Malkeus suggested. Namely, now the utility can run from inside the Cataclysm directory, or next to it, or above it. This increases compatibility with the game launcher utility and game updates. Saved vehicles are still saved in a subdirectory under the utility.

The utility also prints a list of uniquely-named vehicles when you are trying to copy vehicles. This should help anyone who forgets the exact name of their Super Death Mobile XXVII.

Finally, I hacked together some mod-list checking. Now, the utility should warn you if mods are different between source and destination worlds (for vehicles only currently). It’ll still copy them, however. Also, for saved json vehicles, the mod-list is saved with the vehicle. It’ll only apply to new vehicle json saves. Any old ones should still be loadable, but not necessarily check mods properly.

Let me know of any bugs, feature requests etc. I haven’t tested this release quite as much as the previous, it’s possible something slipped through.


Very cool, thanks for the upgrades. I’ll try them out tomorrow if I get the chance. :slight_smile:


1.2.0 released, standalone executable, automated unit tests all passed

1.2.0 Released, installation + downloading is more user friendly and done via the Github Releases feature. The executable is standalone now! No lib directory required, it can be removed now.

This should be the last update for a while until someone points out any bugs, wants any features, or CDDA updates enough to break the utility.

Github page:


Lovely Utility. Finally a way to easily save selfmade vehicles!
I bet this will help a awhole lot with adding additional types of vehicles to Cataclysm. Very nicely done.


Just used it, works great! I’m in a new world again, and this time I brought the Solar Roller VI with me! Too bad about my artifacts.


Artifacts are stored in artifacts.json. You can just drag n drop the whole thing into your new world if you don’t want to try editing the json

P. S. The broken artifacts you likely spawned with will be fixed after you do this.


Nah, that’s cheating. It’s got to be a whole new world.

Plus I have like a billion artifacts in my world and I’d like to start over.




Glad to hear it, TheFlame52! Always happy to hear it works. I will look into artifact transfer - had completely forgotten about them. I can potentially make it optional as well.


The problem with transfering artifacts.json from world to world is a general build up of artifacts that have no corresponding items in the world, I’m honestly not sure what effect that could have on the game. Of course, the same problem exists in reverse with moving the artifacts as items without the corresponding json, the items get an entry in artifacts.json describing it and what it used to be. Same thing happens when you uninstall a mod, each broken item seems to get it’s own entry. “It seems to want to be a (whatever)”. It can lead to some ridiculously bloated artifacts.json files. When I uninstalled Artyom’s mod after the magazine update broke everything, my artifacts.json jumped to about 10megs.


I see, sounds a bit more complex than I had hoped. Thanks for the heads-up and all the information! Any solution will be a while in developing, if it is even possible to do easily.


Couple of notes.

Awesome, worked like a beauty. in larger worlds with more revealed stuff it takes a little longer, because it searches all cars.

And 2, if you copy a character to a new world and their name is the same as the character already present you will overwrite them.

I did lose my flame artifact, but enh.

It even appears to have saved the time of year and time survived. So no setback on mutations/evolutions.


Your migration script doesn’t work on my XP SP3.

Seems to call a 64bit function that doesn’t exist in my 32bit dll.