• Hello game master! Welcome to our growing community. Please take a moment to Register (top right button, see how: Slides).

    If you use Campaign Logger, you can use the same login details - we've linked the app to this forum for secure and easy single sign-on for you.

    And please drop by the Introductions thread and say hi.

Campaign Logger Equipment Experiment ... of Doom?


RPG Therapist
Staff member
Platinum WoA
Wizard of Story
So today was a fun experiment with Campaign Logger!

I am preparing a campaign called Salvage Space which is a test-bed for working out the rest of my personal home-grown RPG system rules.

One of the major stumbling blocks of creating your own RPG is building that initial equipment list ... your players will want options.

When you're trying to design a "universal" RPG that can support gaming across many time periods, that means many sets of equipment.

So what was the experiment?

I imported a list of 1283 items spanning all RPGs eras into Campaign Logger... and the result is terrifying yet cool.

Campaign Logger supports importing log batches from files - but I wanted Campaign Entries not campaign logs.

My experiment was to export the campaign, then manually merge a block of campaign entries in JSON and re-import that campaign.

First, I exported the entire campaign and used a pretty-print tool to reformat the compact JSON into something more human editable.
!!! Save an UNMODIFIED copy of this as a backup to restore from in case the following steps don't work for you the first time.

I used a tool called csv2json to convert a csv into a starting JSON block.

The CSV started as a list of the equipment, one item per line.

Then I converted the CSV llines to format each item as 4 fields that each Campaign Entry expected to see:
rawText was just "" for all rows of the spreadsheet
labels were just null for all rows of the spreadsheet
tagSymbol were all "!" for equipment/items
tagValue were each of the names of an item of equipment to import.

csv2json went to work and turned that spreadsheet into a block of json.

Next I opened the Campaign I exported from CL as JSON.

Down near the bottom I found the end of the "campaignEntries": [ array, just before the start of the "logs": [ array.

The last entry of the "campaignEntries" array did not have a comma, so I added one to indicate more entries would follow raher than this be the end of the array.

On the next line I read in my converted CSV JSON block into the end of the"campaignEntries" array

Hit the [+] for a new campaign, and drag and drop the modified JSON into CL.
And wait while it imports...

And ... it worked for me first time!

I went from ~58 campaign entries to over 1300 campaign entries in just a few minutes by converting a list to a CSV then to JSON, merging the new entries and importing.

And the best part is that the search in the upper right corner is still lightning quick so I can definitely use this on the fly during a session to whittle down things.

As a bonus, I figured out what the CL "Labels" could be used for which will definitely come into play for these sorts of mass imports.

But that's another post for another day.


RPG Therapist
Staff member
Platinum WoA
Wizard of Story
That cries "project" to me! Now I want to import all equipment from my ruleset!
I've been messing about with importing entire SRDs... equipment, rules, monsters, etc.
With this experiment, I am coming pretty close to being able to do just that.
I have 4 SRDs in mind as core that I could use for games: D20, PF, Cepheus, and Traveller