Starbound

Starbound

121 ratings
How to open up a character file to edit it
By Wonky
Character files (with names ending with ".player") need to be unpacked in order to edit them, so I made some simple scripts to backup the original file, unpack it, and pack it again.
2
3
   
Award
Favorite
Favorited
Unfavorite
Before you start
Using Notepad++[notepad-plus-plus.org] or a similar application to edit the files is highly recommended.

If you're playing Starbound without any mods (or only using mods that don't make significant changes to characters or items), then using Starcheat[starcheat.net] might be better for you.
Disclaimer: I don't own this editor and I don't know how it works or if it's reliable. It probably is, but you should still make backups.

But, if you prefer to edit characters by manually editing files or are using mods that modify characters in such ways that Starcheat fails, this is the guide for you.
The New Easy Script
Thanks to thakyZ and Akito for greatly improving the script! You can use it by simply drag-and-dropping the .player and .json files to unpack and pack them.

Open Notepad and copy-paste the following code:
@echo off set char=%~n1 if %~nx1 == %~n1.json ( goto pack ) else ( goto unpack ) :unpack echo Creating a backup... copy /Y %1 %1.backup >NUL echo Unpacking... ....win32dump_versioned_json %1 %~n1.json echo Done! echo. set /P C=You can now close the window. exit :pack echo Packing... setlocal enabledelayedexpansion set count=1 for /F "tokens=* usebackq" %%F in (`....win32make_versioned_json %1 %~n1.player`) do ( set log!count!=%%F set /A count=!count!+1 ) echo error: %log1% >%char%.log for /F %%i in ("%char%.log") do set size=%%~zi if %size% gtr 10 ( echo. echo Something went wrong: echo %log1% ) else ( echo Done! echo. echo You can now check if the edited character works properly. echo If not, you can restore the backup by deleting the new .player file and replacing it with the backup. echo Only delete the .backup and .json files when you're absolutely sure everything works as it should. ) endlocal del %char%.log pause >NUL exit
                                                                                                                     
Save as a .bat file (for example "drop file.bat") in this directory: "Starboundstorageplayer". Remember to set "Save as type" to "All files".
                                                                                                                     
After that, you can unpack and pack your character files by simply drag-and-dropping them on the new "drop file.bat" file.
To unpack a character, drag-and-drop the .player file:
                                                                                                                     
The script will also create a backup. After editing the new .json file, you can pack it back again by drag-and-dropping it on the .bat file.
[OLD] The Unpacker
The first script unpacks the .player file and saves it as a .json file for you to edit. Open Notepad and copy-paste the following script in it.

@echo off title Starbound Player Unpacker :loop echo WARNING echo Any existing files with the same names during the whole process will be overwritten. echo Only delete the backup and json files when you're absolutely sure everything works as it should. echo. set /P char=Enter the filename (without the ".player" part) of the character you want to edit: echo Creating a backup... copy /Y %char%.player backup-%char%.player >NUL echo Unpacking... ....win32dump_versioned_json %char%.player editme-%char%.json >unpack-%char%.log for /f %%i in ("unpack-%char%.log") do set size=%%~zi if %size% gtr 0 ( echo An error occured during packing. echo Check the "unpack-%char%.log" file for more information. ) else ( del unpack-%char%.log echo Done! ) echo. echo you can now close the window or press Enter to unpack another file. timeout /t -1 >NUL cls goto loop


Save it as "unpack.bat" in this directory: "Starboundstorageplayer", as shown in the screenshot.
Run it and follow the instructions.

Unpacked .player files are rather easy to edit. You can change the game difficulty, race, inventory... Anything you want.
The script creates a backup of your .player file, so you don't have to worry about losing anything.
[OLD] The Packer
Once you've finished editing the .json file, you need to pack it back to a .player file with this script:

@echo off title Starbound Player Packer :loop echo WARNING echo Any existing files with the same names during the whole process will be overwritten. echo Only delete the backup and json files when you're absolutely sure everything works as it should. echo. set /P char=Enter the filename of the character you want to pack: echo Packing... ....win32make_versioned_json editme-%char%.json %char%.player >pack-%char%.log for /f %%i in ("pack-%char%.log") do set size=%%~zi if %size% gtr 0 ( echo An error occured during packing. echo Check the "pack-%char%.log" file for more information. ) else ( del pack-%char%.log echo Done! ) echo. echo you can now close the window or press Enter to pack another file. timeout /t -1 >NUL cls goto loop

Save it as "pack.bat" in the same location as the previous file.
Known issues
"inf" value
Files may fail to pack if using certain mods that add permament effects to your characters (for example Frackin' Races). This is because the timers of these effects are set to "inf", which the packer sees as an invalid value. The program will show an error and which line the invalid value is at.
Solution: You need to find the effect and change the value to any number, like "1". The packer will be able to pack the file and the mod will change it back to infinity once you start the game, so you won't lose the effect.
55 Comments
Commander Gray 29 Apr @ 1:20am 
Thank you so much for this.
Can I, for example, change the character's stats this way?
I tried to do that, increase health, energy, and regeneration, well, more, but nothing seemed to happen. When I checked, it turned out that my changes had reverted to the original ones.
Pyralfruit 7 Dec, 2024 @ 6:45am 
This was a lifesaver, thank you so much! I accidentally broke a character by holding a broken item in my inventory, but thanks to this I was able to replace it in the "swapItem" section with null.
Nasrin 25 Apr, 2024 @ 4:58am 
I'd like to just say that you can edit your character completely in game now using Star Extensions.
CloudBirb 11 Jul, 2023 @ 3:08pm 
having the same problem as panda from 2021, badlexicalcast, its just on a different line
hoping *someone* can help with this
YellowApple 6 Oct, 2022 @ 2:08pm 
@Ditushka!: the scripts are just wrappers around the "dump_versioned_json" and "make_versioned_json" programs included with Starbound. In a terminal, run

cd ~/.steam/steam/steamapps/common/Starbound/storage/player

To unpack:

../../linux/dump_versioned_json $ID.player $ID.player.json

And to pack:

cp $ID.player $ID.player.backup # in case something went wrong
../../linux/make_versioned_json $ID.player.json $ID.player

Where $ID is that long string of letters and numbers in the filename.
Just Dit ☘ 2 Jul, 2022 @ 8:10pm 
Hey, I'm on linux and can't do it all...
Victor Creator 14 Mar, 2022 @ 5:48pm 
Hey, I can use this to save a character I broke with a mod I was working on! Just have to do a little inventory editing.
Gen 22 Nov, 2021 @ 7:05pm 
https://starcheat.net has replaced starcheatorg - starcheatorg has spam now. @PandaKingZuntow for anyone with this problem look in the player file for any "number" that is in this format '1e+x' -> THE PARSER CANNOT HANDLE THIS. Starbound.exe itself can read huge numbers in modded weapons and items and converts it to 1e+9 for instance, and then the simplistic json parser cannot handle it. To fix, you must change all numbers that are in scientific notation into a number such as "999999999" :)
Mortalkoil 19 Nov, 2021 @ 12:52am 
The new script works like a charm. Took a moment to get down packing the edited file with the player but it's working nonetheless. Thank you.