Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

Timer's Trickster Translation Tutorial

Newbie Spellweaver
Joined
Aug 13, 2013
Messages
80
Reaction score
51
Ah, alliteration.

Anyway, welcome to my Trickster translation tutorial. This should cover the basics for translating the client, from DAT decryption to uploading it to your server--and everything in-between, of course.

Disclaimers:
I am by no means experienced with everything, and therefore I cannot answer every question. This is simply me sharing what I have learned. Therefore, do let me know if there are any corrections to be made (I type really quickly!) or if I missed something.
Also, this guide is assuming you're translating to English. If Trickster was released in your target language, you can replace the eTO client download with a download of the client in your language. However, please be sure to use the install files rather than a client you have (the link to the 2010 eTO client goes to the thread with them).
The only exception to this is if you have a client from around the same time as the cTO client. See "Why Older Clients?" for an explanation.
kTO client users: Your files will NOT work with this tutorial. The kTO files do not play nice with the program I am using for this, and always result in a crash.

What you will need:
Unless it says otherwise, you will need these. No skipping anything!

  • Server/client files: You can either use the initial release from here or the files from here.
  • 2010 eTO client: This is the translation source! You can get that from this thread here.
    > You will need the 2013 client (listed as "fully updated" in the thread) for some things. I originally thought you didn't. I was wrong.
  • TO-Toolbox: The swiss-army-knife of Trickster editing. It's not the most stable, but for someone like me that's used to graphical programs over text, it is a godsend. The github link in here is your friend--just click TO-Toolbox, then "clone or download" and then "download as ZIP"
    > If you know how to compile this, great. If you're having trouble compiling (which I understand, it took me forever to figure out myself), I've provided an already compiled version (Look for "CaballaRE")
  • LOTS of time and patience: Trickster, as with most RPG games, is a very text-heavy game. Unfortunately, translation is manual at this point in time. There's no "easy" or "quick" way of doing this. In fact, this is probably the quickest method right now.
  • [OPTIONAL but recommended] Water: You're probably going to be here a while. Remember to stay hydrated!
  • [OPTIONAL] An XML editor: Toolbox isn't perfect, so if you don't like it, you can use one of these for translation instead. However, like it or not, you'll likely still need toolbox to find table names and work with the DAT files.
    > I don't use this method myself, but if you want to use one of these, try
  • [OPTIONAL] A buddy or two: Again, Trickster is a big game. You'll likely translate faster with a friend than just by yourself. As they say, the more the merrier!
Now, on with the show!

Step 1: Download and extract files
This is likely the easiest part. Just download and extract everything to a safe spot.

Sfp6kod - Timer's Trickster Translation Tutorial - RaGEZONE Forums
Something like this.

Step 2: Install the client you're getting the translation from
This rivals step 1 in simplicity. Skip over any extras, like Raptr or XFire. You just need the client.

GTHIQI6 - Timer's Trickster Translation Tutorial - RaGEZONE Forums
Running it will get you nowhere, I'm afraid.

Step 3: Compile and open TO-Toolbox
I can't quite give you a tutorial for compiling, but I think the program's readme has one. Nonetheless, once it's all set, you'll need to open two of these: one for the cTO client, and the other for your translation source.

2JlLHFUl - Timer's Trickster Translation Tutorial - RaGEZONE Forums
I stick them side-by-side like this.

Step 4: Open and decrypt the libconfig files
These files are where the text is stored, among many other things. Go to the "DAT viewer" tab in both windows and click "Open DAT". In one, open the libconfig file from the Taiwan client (libconfig_twn) and in the other, open the libconfig that you're using for translation (in this case, libconfig_eng)
Once it loads up, do as it says and click "Display". You'll get...text, and a lot of it.
**It is normal for it to hang while it's doing this. Just be patient.


FrgslOPl - Timer's Trickster Translation Tutorial - RaGEZONE Forums
I wasn't lying.

We aren't quite done yet. On both of these, click "Export XML", give them both a name, and save both somewhere that you'll remember.
I named my cTO config "twn" and my eTO config "libconfig_eng_2010", but you can use whatever--just make sure you'll remember which is which!

Step 5: Translation
We're finally here! Let's get busy. Go over to the "Libconfig Editor" and open your two XML files.
For this example, we'll be looking at an NPC dialog box. These all begin with "npcmsg", followed by the area name, the "sub-area" (like the town), and then an internal number.


2pAZNwEl - Timer's Trickster Translation Tutorial - RaGEZONE Forums
Notice how the table names are the exact same. This is very, very important! You don't want to overwrite the wrong table!

You can do this one of two ways. You can either:
A) Export the translated table and import it into the other window. This is quicker, but does not always work and isn't always reliable. Some tables will fail, and you'll have to resort to method B below.
**This is done by exporting the translated table (Export>CSV) and then importing it using the "Import Table" button, overwriting the entire table with what was there before.
B) Type in everything by hand. This is much slower and more tedious, but is pretty much foolproof as long as you keep an eye on the table names in both windows. It also allows for custom dialogue--yes, you can make Bunny Maid and crew say whatever you want with this method.


XCTBLa9l - Timer's Trickster Translation Tutorial - RaGEZONE Forums

This table was translated by method A. Note the "selected table has been overwritten" popup.



XIPdBHAl - Timer's Trickster Translation Tutorial - RaGEZONE Forums

This was done with method B, for custom dialogue. I never liked pets saying "my lord".

Once you're done translating a table, ALWAYS be sure to click "Update Table" before moving on! Toolbox does not have an auto-update feature. As such, forgetting this step can be disastrous, especially if you've exported after editing a lot of tables. Speaking of which...

Step 6: Exporting your updated Libconfig
Let's get your edited libconfig into a state where the game can use it. This goes in three parts:
1) Export it as an XML before anything else! This will allow you to have an editable copy of the config on hand, and can prove useful if you don't have Toolbox on you. Also, backups.
2) Export it as a DAT. This is the same format that the game uses. DO NOT USE THE UNENCRYPTED OPTION! This will have it exported as an XML, so be careful.
3) Export it as an IDX. I'm not exactly sure what this does, but since the game has this as well as a libconfig DAT, I say do it. Just to be safe.


Dos0HAd - Timer's Trickster Translation Tutorial - RaGEZONE Forums

Like this!

Step 7: Updating your server & client
The final step! This is actually pretty easy. Before doing this, be sure your computer is set to SHOW extensions for known file types!
**Shut down your server before doing this, to be safe!

Your new files go in four places, three server-side and in the client. I'll go over each of these.
They go in:
  • LoginServer\data
  • GameServer1\data
  • GameServer2\data
  • <your client folder name>\data

Why did I ask for your computer to show extensions? This is to ensure backups. You don't want to delete something that worked beforehand in case you broke the game with your new one.
To do this, right click your old dat/IDX combo and add .bak to the end of it. When it asks if you want to do this, say yes.
Once you've done that in all three server folders, copy over your new dat/IDX to these locations, renaming them to libconfig_twn if need be.
Once that's all set, reboot your server. If none of the programs crash, you're all set...almost.

Now, copy your new config to your client (again, making backups) and test it out. If it all works, give yourself a pat on the back! Maybe a drink of water, too.

Extras
The following steps are not part of the tutorial, but they may help.

Some Important Tables

  • npcmsg: NPC dialogue
  • npctalk: lists NPC IDs along with their npcmsg tables, useful for finding dialogue
  • petspeech: pet dialogue
  • characterinfo: character names, including pets and monsters
  • itemparam2: item names
  • itemparamcm2: myshop item names
  • setitemparam: item set names and their bonuses
  • questinfo: quest data
  • questuiparam: text boxes that appear during quests
  • screencapturestring: the watermark you see in screenshots ("company" is the copyright)
  • questresult: NPC dialogue that appears when you accept/reject quests. There are way too many of them. (I really wish Ntreev didn't keep these separate from npcmsg...)
  • stringtable: various UI messages
  • mapinfoex: map names

Strange Text?
On some tables (at least, on eTO's config), you may find something like this:

952aESI - Timer's Trickster Translation Tutorial - RaGEZONE Forums

Ewww.​

You can just skip these. I don't think anyone wants to see garble like that.


Why Older Clients?
The answer to this is simple: some tables do not exist at all in newer clients! Keep your translation source as close to October 2011 (the rough release date of the cTO client) as possible.
> However, as noted above, you will still need the 2013 client for some things (again, assuming you are translating into English)

Things to Remember

  • Never forget to click "Update Table"! Like I said, there is no autosave on Toolbox, so don't forget to click that button.
  • Importing tables is not perfect. If you go this route, be prepared to edit things anyway. For example, the 1st job dragon equips start at level 80 (not 30 like in eTO), and item ID numbers can easily differ between servers.
  • Keep an eye on the name of the table you're editing. You don't want to click "Update Table" on the wrong table!
  • When you want to update your new config, you must name it something different. Otherwise, Toolbox will not be happy. (Also, backups. Those are very important.)
    I recommend naming your edited libconfig XMLs in increasing amounts (like libconfig1, libconfig2, etc) so that you remember which is the most current.
  • Got a spot to leave blank? Don't actually leave it blank! Instead, put a space in it. Otherwise, Toolbox will throw a fit. (This is why I kept getting "crashes")

Credits
PyroSamurai: for releasing the files to Ragezone (and TO-Toolbox, I think)
iceblade112: for the compressed release (and putting up with my many questions in PMs)
You: for reading my tutorial!
All screenshots taken by myself.

Rep points are always good.
 

Attachments

You must be registered for see attachments list
Last edited:
Junior Spellweaver
Joined
Sep 17, 2016
Messages
116
Reaction score
41
very detail guide, I will tried tonight.
 
Newbie Spellweaver
Joined
Aug 13, 2013
Messages
80
Reaction score
51
Has anyone ever fully translated this? If so, can you upload?
Unfortunately, no. It's simply too much time for me to put in, especially since my team has been disbanded. Atop this, no one with a full translation is willing to share.

I am all for pitching in for one, though!
 
Initiate Mage
Joined
Jun 4, 2019
Messages
1
Reaction score
0
[QUOTE = ตัวจับเวลา; 8973039] น่าเสียดายที่ไม่มี ถึงเวลาแล้วที่ฉันจะต้องใส่มากเกินไปโดยเฉพาะเมื่อทีมของฉันถูกยุบ บนยอดนี้ไม่มีใครที่มีการแปลแบบเต็มเต็มใจที่จะแบ่งปัน

ฉันทั้งหมดสำหรับการขว้างในหนึ่งแม้ว่า! [/ อ้าง]
If not, I may provide a compiled version if I get permission.



f you know how to collect this If I didn't get the compiled model



คุณรู้วิธีการรวบรวมสิ่งนี้ ถ้าฉันไม่ได้รวบรวมแบบจำลอง
 
Newbie Spellweaver
Joined
Aug 13, 2013
Messages
80
Reaction score
51
[QUOTE = ตัวจับเวลา; 8973039] น่าเสียดายที่ไม่มี ถึงเวลาแล้วที่ฉันจะต้องใส่มากเกินไปโดยเฉพาะเมื่อทีมของฉันถูกยุบ บนยอดนี้ไม่มีใครที่มีการแปลแบบเต็มเต็มใจที่จะแบ่งปัน

ฉันทั้งหมดสำหรับการขว้างในหนึ่งแม้ว่า! [/ อ้าง]
If not, I may provide a compiled version if I get permission.



f you know how to collect this If I didn't get the compiled model



คุณรู้วิธีการรวบรวมสิ่งนี้ ถ้าฉันไม่ได้รวบรวมแบบจำลอง
It was hard for me to compile as well. I might link it anyway, despite never having asked permission.

UPDATE: Added DL link for a pre-compiled Toolbox. However, if requested, I will take it down.
 
Last edited:
Initiate Mage
Joined
Nov 16, 2014
Messages
4
Reaction score
1
if I ever get enough free time to do this kinda stuff, I sorta wanna work on a community run translation of s2 trickster online.
What would a good place be to host such a community driven effort? (ie github)
(for nostalgia's sake, I mostly likely would only bother translating content from tutorial -> tut lol)
 
Libre Software Dev
Developer
Joined
Sep 25, 2012
Messages
676
Reaction score
433
@Timer I have no problem with you hosting a compiled version, for TO-Toolbox. Also, I still do bug-fixes for the DAT part of the program, only the .nri part of the program is abandoned. So if you find a bug, report it for me on github.

PenguinLord I wouldn't mind hosting a repo in the Libre Trickster organization for such a project, but I think most people are just going to copy and paste from the english client files anyways.


P.S. Timer Since your images are an integral part of your tutorial, you should really host them on RZ. If not, you'll be responsible for making sure they don't die. I won't tolerate such a thing in the Tut section. :)
 
Last edited:
Newbie Spellweaver
Joined
Aug 13, 2013
Messages
80
Reaction score
51
@Timer I have no problem with you hosting a compiled version, for TO-Toolbox. Also, I still do bug-fixes for the DAT part of the program, only the .nri part of the program is abandoned. So if you find a bug, report it for me on github.

@PenguinLord I wouldn't mind hosting a repo in the Libre Trickster organization for such a project, but I think most people are just going to copy and paste from the english client files anyways.


P.S. @Timer Since your images are an integral part of your tutorial, you should really host them on RZ. If not, you'll be responsible for making sure they don't die. I won't tolerate such a thing in the Tut section. :)
Noted! Thanks for the tip.

By the way, you mentioned hosting the images on Ragezone. Is there a way I can do that without the attachments feature? I'd really like to embed them if possible.
 
Libre Software Dev
Developer
Joined
Sep 25, 2012
Messages
676
Reaction score
433
Alright, updated with as many as the forum would let me...five. Oh well. I think I'll put the rest in a ZIP file or just use it for the essential pics.

Yeah, sorry about that. A year or so ago, I asked MentaL if he would raise that limit and he kinda just laughed it off as a ridiculous idea that would lead to people posting more illegal warez or something. Nothing I can do about it, unfortunately.
 
Newbie Spellweaver
Joined
Aug 13, 2013
Messages
80
Reaction score
51
Updated with a LOT of new things I've learned since writing this.
 
Last edited:
Back
Top