Jump to content

Save Editor, initial.


Beichtvater

Recommended Posts

Hy guys!

Had a homework at my programming, decided to do something useful.

I often had to start a new game, already moving far ahead because of the fact that some of the settings were not that much.

A couple of times it will spoil all the desire to play.

And I do not know why the developer did not allow to change these settings during the game - it's an oddity.

So when I needed to write the application winforms I decided to fix this problem.

This is the first release, almost with no protection. Be careful and do backup.

 

Release and source code (github):

Save Editor for 34.28

 

------------------------------------------README-----------------------------------------------

Default savefile path: 
C:\Users\%username%\Zomboid\Saves\Sandbox\%savename%\map_sand.bin

 

You can open this file in Sublime Text with UTF-8 encoding or AkelPad and check the file structure.
You can change options by this way and it will work.

 

Backup your save first, it WILL damage it.
Use the logic. 
Set "start year" like "2050" for save in 2020 - it is a BAD idea.
Here is no protection for bad options, only the admissible range of values is set.

 

Parameters related to the existing objects will not be changed immediately.
This means that if you change the farm speed it will be applied only to the following plants.

 

I do not know why it is need a prefix to the parameters (I mean additional two bytes before parameters), 
because it is not a problem to parse the numeric value without them.
Nevertheless, they are.
These changes are not amenable to logical understanding or any systematization 
and this sometimes causes difficulties.

 

If you hear beeps while loading the save here is an errors.
One beep - light damage, which will be corrected by the engine, changes will be applied.
Three beeps - prefix damage or incorrect parameter format which will be corrected by default value.
Constant beeps - parameters can not be read, the file will be overwritten completely by default.

 

Advanced parameters can call three beeps, but changes will be applied.
This is due to a change of a prefix that will be corrected by the engine without losses.

 

Additionally, if you load the correct save at least once, then you will leave in the menu of a game 
and then will make changes - in case of errors the previous values will be restored.
If you just load the incorrect file, the value will be replaced by default.

 

In any case, always check the file structure and have the backup.

 

ProjectZomboidSaveEditor.jpg

Edited by Beichtvater
Link to comment
Share on other sites

50 minutes ago, nolanri said:

oh no now the devs have no choice but to move character saves to server side for mp.

Not necessarily, as far as I know the "encryption" thing RJ was going to work on is not implemented yet. There's no need to worry yet, MP isn't even mentioned in the post ^^

Link to comment
Share on other sites

hmm yeah I guess encrypting the MP saves would pretty much secure MP character editing, wonder why they don't just store the saves server side though, that's kind of the normal way to do it.

 

5 minutes ago, Teesee said:

 MP isn't even mentioned in the post ^^


But why does he have to mention MP for me to bring it up? It stands to reason that if you can open up your character save and edit it, means that you can open up your locally stored MP character save and edit that too. I have even opened my MP save files with Visual Studio in bin mode and edited my level 1 skills to level 10 before.  It's hard to do manually like that without messing up the file and breaking it but with a character editor, anyone could do it easily. Hacking on SP is one thing, but no one likes hacking on MP.

Link to comment
Share on other sites

Because a large portion of the game would need to be rewritten with remote saves in mind. PZ isn't a client-server application; it's a single player game with multiplayer bolted on when i t was found out it wouldn't be necessary to rewrite the game.

 

A good networking lib (RakNet) allowed TIS to release MP much earlier than anticipated, but at the cost of security (in the sense that saves can be altered and most calculations take place client-side).

 

One of the goals is to have server-side saves . . . somepoint . . . before 1.0. Even that won't be perfect though -- the nature of Java and Lua means the game will always be highly customizable tion and easily altered by dedicated individuals.

Link to comment
Share on other sites

Hmmm... 
it is a good idea to make the trait/skill editor.
to add or remove trait directly in game or rearrange skills.
I'll do it with the bug fixes that I have found.

 

Sorry, I do not know anything about mp - it's completely uninteresting for me.
but it will be able to correct mistakes in the decisions of players or help in testing mods for modders.

Link to comment
Share on other sites

The problem is that there's no defense against this being used for MP. The game won't be rewritten any time soon.

 

Mind, we've had save game editors before: I'm not saying you need to stop developing one or that it'll have widespread consequences (necessarily). It's just somewhat concerning.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...