Introducing: Terrasavr!

Terrasavr

Hello again. It've been a short while, but I have some news - today I'm proud to present you with... Terrasavr! Terrasavr is a web-based profile viewer & editor for Terraria (video game). You can either take a look at it from that last link, or read the full post for more details.

When

Just recently - as you may know, I've added FileReference support into OpenFL-bitfive some time ago, which means that one can now use file dialogs to exchange files with user in HTML5 applications. Provided that I wanted to verify that new features work as intended in most cases, it was a logical choice to actually make something to use it. So I've settled with a project that requires a bit of file operations, a bit of cryptography (Terraria profiles are AES-encrypted), and some UI elements as well. So a week of morning work later, there goes this.

Why

Well... because, I can. Also, should you look at existing profile viewers/editors for Terraria, most of them are written in C#, do not have that much of a comfortable UI, and are generally not particularly up to par. So I've decided to make something that would be a change - look good, stay functional, and work everywhere.

How

One of things I find particularly annoying in tools of this kind is the dependency on other tools or documentation - even if there's a built-in item search function, you still cannot efficiently compare items without looking at wiki (which can be outdated) or loading up the game (which takes time).
At the same time, Terraria (application itself) features an external interface, which can be used by applications for multiple purposes. So I've made a small separate C# tool that would poll the game for item information and then write down significant parts for later use in Haxe app.
For one, results are amusing - application displays pretty much the same set of data that actual game does, sometimes even more:

Comparison of information shown by Terraria and Terrasavr

Item search itself is also kept intuitive, displaying results as you type in a familiar form:

Terraria item search in Terrasavr

And, just in case you don't even know what you're searching for, there is a library of items, both by categories and by index:

Terraria item browsing in Terrasavr

And, of course, there's the usual functionality of adding/removing items, tweaking prefixes, changing player names & modes, and whatnot. Everything is kept more or less intuitive and matches style of game fairly well.

Technology-wise, Terrasavr is made with Haxe + OpenFL, and is compiled into JavaScript+HTML5 application with use of my OpenFL-bitfive. Source will probably be available later on, once I'll clean things up to a point when it would no longer be possible to scare children with some sections of code.

Check it out!
also:
Flash version
(if default one doesn't work)
Documentation
(if you are feeling lost)

Related posts:

149 thoughts on “Introducing: Terrasavr!

  1. You may need to temporarily take down the Flash version. A group of hackers recently broke through Adobe’s networks and they changed the update to include a backdoor virus inside the player. Do not update the version of Flash Terrasavr uses until the patch notes include a hotfix.

    • That’s not exactly how it works – when such troubles with Flash Player arise, it’s the visitor that needs to update their software – the server does not have FP installed, and neither it needs it, as it simply transmits the files to the visitor. SWF files themselves largely only include the orders and resources (graphics, audio, etc.) for FP and are not bound to a particular version in terms of functionality (in addition, in this case the SWF file is not produced using conventional Adobe’s tools anyway).

  2. This Terrasavr is wonderful. Great job! Could use it for some achievements
    with nervewracking rare items. But what about the fishing quests?
    You can edit them and if I readout my playerfile again it shows the right amount.
    In game it affects nothing. Neither the in-game achievements nor the steam achievements. So is there anything to do to get it to work?

    • If I’m not mistaken, the fishing quests achievements are “global” (per all characters) thus are updated upon actually completing fishing quests. I think the best you can do is stocking up on quest fishes (right-click a category to add all of it to the currently opened tab) and then do a quest per game day.

  3. Hey, as of today it seems that the tool is running incredibly slowly. I have a good computer and have been able to run Terrasavr without lag before, and nothing aside from Terrasavr has been laggy today. The tool takes a long period of time to switch between categories and upon attempting to move an item to the inventory, the tool lags severely and usually puts 5-9 copies of the item down in one stack rather than just one, even with items that cannot normally be stacked.

    • That’s strange. HTML5 can be slightly slower at drawing if it runs in a maximized browser window on a large screen, but it shouldn’t be that slow. I’ll probably get to optimizing the drawing a little bit at some point (or revamping the UI so that it would behave like a regular website on a HTML5).

  4. Edit to my previous comment: The lag I mentioned is only present in the HTML5 version, not the Flash version.

    • Middle-clicking an item will max out the stack instantly. Otherwise you can hold the button for longer same as you would do when buying items from shops in the game.

  5. When i press on “Load” I cant find the file “Terraria”. Yesterday it worked! PLS HELP!! πŸ™

    • It’s “My Documents” – “My Games” – “Terraria” – “Players”. Also make sure that you use the buttons on top and not the bottom.

  6. do the worlds tab allow me to change my ingame map so i can see everything or is that a setting on serverside? if it does that can you tell me how? not sure what to do with the numbers there, are they just the X.Y localization?

    • Worlds tab just allows you to change where your “spawn point” is (has to be on a bed or you’ll be sent to the world spawn). Complete world map is server-side and is only sent to you in small pieces (thus there can be no “magic” for revealing that). Mini-map (default M) data is stored client-side, but the in-game view is about how much there is stored.

  7. used this editor a few times. just wanted to point out that when inventory editing if you go to library>quest fish> you’ll notice that Cloudfish (#2453) is listed twice. the fish that is missing in the list is the Fishron (#2484)

    note: fishron fish is still in the library, just doesnt popup under the quest fish quick search.

    keep up the awesome work and thanks πŸ˜€

  8. This is a godsend, thank you so much for putting it together!

    One thing I’ve noticed: the Demonic prefix (Universal+, +15% dmg, +5% crit) doesn’t seem to show up for me. Am I mising it somewhere?

  9. Hi, I am currently using the Mac build of Terraria and I was using Terrasavr with no problems until I tried to load a buff file that didn’t register and then after that whenever I save my characters and then replace the files in the player folder Terraria no longer registers any of the changes I have made in Terrasavr. Is this a bug in Terrasavr or something on my end?

    • That question is kind of tricky to answer as I don’t have a Mac. It should work alright – the program has no platform specific logic whatsoever and actual file saving/loading is done by the browser at request.

  10. Hey there!

    I just wanted to ask if you would share the sourcecode for your Terrasavr. I’m playing around with the possibilities at the moment and I realised that I need more functionality. Best example I can think of is the amount of summons. You allow me to add a Stardust Dragon buff to my character, but there is no meta value for it (except the time). I want to manually enter the amount of summons I have.

    If you could include that in your editor, that would be awesome, but if you don’t have the time, the sourcecode would be enough for me (I pretty much just need to know how to decrypt and encrypt the .plr files ^^)

    Best regards,
    Funnyach

    — Keep up the awesome work dude! —

    • Information about summon count (or dragon length, in this case) is not stored in the player file for one or other reason. I had published the code for reading/writing player files earlier at request. Files are encrypted/decrypted with AES algorithm using the same key (can be found by searching “terraria player encryption key”).

  11. Whenever i click on save, all it does is open a new tab.Doest create a download or file, just opens a new tab. pls help

  12. Is there a way to download it on a Mac? I know about the .swf but I don’t know if it works on a mac

    • You can download the standalone flash player for Mac too – see “Macintosh – Flash Player Projector” on the official page. Opening the SWF with Chrome/Firefox should work too, provided that you have the flash player installed.

    • I wouldn’t be able to forgive myself letting people see that mess in the current state.
      If you want to mess with the character format yourself, I’ve published a cleaned up version of the player profile I/O class here.

  13. i cant change my character becuase it says offset was outside the range of data view can you help me?

  14. Umm, sorry but I have a problem with terrasavr. I started using it to make a showcase about the unobtainable things beacause I already finished beating the moon lord, so it dawned on me. What should I do next?
    I thought of that, I also added in the rar3st items you could find in the game. Afterwards, when I came back to play the game. My character’s items were all the same as I first got them. All the rare items and unobtainable items that I used and displayed are still there. The last time I played, they were replaced with my normal fighting equipment. They were glitched out. My one-time equipment was gone.

    • Depends on the particular items. Nowadays the game will confiscate most of unobtainable items on load. For example, you can give yourself a stardust drill, but the game will remove it during loading, and there’s nothing that Terrasavr can do about this. Also make sure that you don’t have character selection screen open while saving – usual stuff.

  15. I have a problem. I can save my files perfectly, but when i play on the character for a while and exit the world, my Terraria crashes. πŸ™ It happens to 2 of my characters. One is the one i have played on more than 100 hours and its the best character i have. So how do i fix this? I have tried saving with the flash version but that doesn’t work too. If you could help, then i’d be happy ^o^

Leave a Reply

Your email address will not be published. Required fields are marked *