The procedure in order to transfer Brutal Combo databases to Pupil Commander may be quite long and tedious. However it is worth the effort. Pupil Commander's database system is fully transparent and the built-in database manager gives full access to the database at any time.
The procedure may change depending on your historical use of Brutal Combo. There are two possibilities regarding your database:
- (i) All pupils were created using Brutal Combo version 1.2.02 or an earlier version. No pupils were created using version 1.3 or above.
- (ii) Some (or all) pupils were created using Brutal Combo version 1.3 or above.
It is very important to distinguish between cases
(i) and
(ii) above. Indeed, Brutal Combo version 1.2.02 as well as earlier versions make use of the table '
brutes' in the database in order to store all your pupils. The encryption method for the pupil names in the table '
brutes' was reverse engineered by Eumigen. Eumigen's Decrypter is therefore able to decrypt all required information from a Brutal Combo 1.2.02 raw database export. On the other hand, Brutal Combo version 1.3 as well as newer versions (referred to as 1.3+ in the following) make use of a new table '
brutes2' with a much more elaborated encryption algorithm that cannot be decrypted with the Decrypter. The first time Brutal Combo 1.3+ opens a Brutal Combo 1.2.02 database, it will perform a few one-shot actions: a) create the table '
brutes2' b) copy all information from table '
brutes' to table '
brutes2' c) encrypt all information in table '
brutes2' according to the new algorithm. That is the reason why information on pupils created with Brutal Combo version 1.2.02 or earlier versions can easily be retrieved. In this case, all the pupils are stored in table '
brutes'. They may also be stored in table '
brutes2', but for the migration purpose of case
(i) this second table is not used at all. On the other hand, pupils created using Brutal Combo 1.3+ will be stored in table '
brutes2' *only*, which means more effort is required in order to retrieve these pupils.
If some pupils were created with Brutal Combo 1.3+, i.e. in case
(ii) above, it is also possible and highly recommended to export all pupils from tables '
brutes' and '
brutes2' then apply the procedure corresponding to cases
(i) and
(ii) for different subsets of IDs only. Procedure for case
(ii) has to be applied to all IDs appearing *only* in the export of table '
brutes2' (and therefore those IDs are not in table '
brutes') or to IDs appearing a different number of times in tables '
brutes' and '
brutes2'. Procedure for case
(i) may then be applied to all remaining IDs appearing in both tables '
brutes' and '
brutes2' the same number of times. This allows speeding up the process and minimizing the number of manual operations to be performed in order to complete the missing information for import into Pupil Commander.
Another required background information for the export process is the following. In order to import data to Pupil Commander it is required to know the pupil names, their server, their master, and their password (the ID is not mandatory because Pupil Commander will update IDs upon running fights). Brutal Combo provides a graphical user interface in order to export the database to plain text. However, only pupil names and their IDs are present in the export (the rest of the information in the export is related to useless statistical figures in the present context). On the other hand, a raw full export of the Brutal Combo database using Squirrel or SQLWorkbench provides the brute names and servers in an encrypted format, the master, the ID and the unencrypted password (as well as some useless additional information in the present context). Only Brutal Combo 1.2.02 encrypted names and servers can be decrypted using Eumigen's Decrypter. Brutal Combo 1.3+ encrypted names and servers cannot be decrypted using Eumigen's Decrypter.
All required background information is now explained in order to formulate the procedure allowing importing any Brutal Combo database to Pupil Commander. In the following, it is assumed you have sufficient Excel/OpenOffice skills in order to perform required actions on exported databases (e.g. converting text to columns, making joints, counting number of occurrences of identical cell values, applying filters).
The procedure is as follows:
3) In case (ii) only: using Microsoft Excel or OpenOffice, split the exported files into two subsets:
(a) The first subset is made of all IDs appearing in both exports of tables 'brutes' and 'brutes2' exactly the same number of times. Only the rows in the export of table 'brutes' corresponding to these IDs have to be kept. Process (i) then applies to this remaining set of data.
(b) The second subset is made of all other remaining IDs, i.e. IDs appearing only in table 'brutes2' and IDs appearing a different number of times in tables 'brutes' and 'brutes2'. Only the rows in the export of table 'brutes2' corresponding to these IDs have to be kept. Process (ii) then applies to this remaining set of data.4) In case (i) only: use Eumigen's Decrypter in order to decrypt the brute names and servers from the export obtained at step 2 (and obtained step 3 if applicable). You may follow the procedure explained here: https://mybrute.forumotion.com/t6049-tutorial-eumigen-s-brutal-combo-decrypter-v-103-final
5) In case (ii) only: it is not possible to decrypt the names and servers from the export of table 'brutes2'. However the passwords, ID and masters are in the Squirrel export. It is therefore required to make a joint on the ID with the Brutal Combo export in order to retrieve the pupil names. There are two cases (in the following, counting the number of occurrences of identical values can be done using the 'COUNTIF' worksheet function of Microsoft Excel):
(a) For IDs appearing only a single time in the export of 'brutes2': using Microsoft Excel or OpenOffice, make a joint on the ID between the Squirrel and Brutal Combo database exports. This can be done using for example the Excel 'Text to Columns' feature then the 'VLOOKUP' worksheet function.
(b) For IDs appearing more than once in the export of 'brutes2': you will have to manually proceed with the joint. This means you'll either have to check on the web sites or use the MyBrute List Manager (as explained below, in order to get the master and server which would allow to make the joint with the export of table 'brutes2') which information in the Squirrel export corresponds to which information in the Brutal Combo export. A quick workaround would be if there is a special naming convention for a given master. However, multiple IDs shouldn't happen too often given the high total number of distinct IDs in the game (999'999 distinct IDs, which means that on average there should be about 47 duplicate IDs in a database of 10'000 pupils).In both cases the information on the server is however still missing. This information cannot be retrieved from the Squirrel or the Brutal Combo exports. If you systematically have a different password for each server and/or for each master, then it is possible to assign the correct server as a function of the password. If you can identify the server on which the master exists, then the server for the pupils will be the same server as the one for the master and you can therefore assign the pupil server as a function of the master. Otherwise if these tricks do not work out you'll have either to manually check the server for each brute on the website or you'll have to use the myBrute List Manager:
https://mybrute.forumotion.com/t10439-release-mybrute-list-manager-xp-pupil-n-fights The process using the MyBrute List Manager is as follows. Create at most 4 identical copies of your list of pupils (one for each server on which you know there are pupils in the database), and get their IDs using the MyBrute List Manager by selecting a different server for each list. Take as well into consideration the IP ban limitation put in place by Motion Twin. If a brute doesn't exist on a given server then the ID and master name will be undefined in the output of the MyBrute List Manager. This allows finding which brutes exist on which server and therefore to find the last remaining required information in order to import the data into Pupil Commander. Of course you'll still have to manually check the brutes that do exist on more than only one server. All in all at least one of these tricks should work out.
6) Using for example Microsoft Excel or OpenOffice, arrange the information you have obtained in a format that may be used for import into Pupil Commander. You should end up with a plain text file containing on each row the following information:
brute_name;brute_id;brute_master;brute_server;brute_password
7) Import the plain text file in Pupil Commander using the built-in database manager.
8 ) If necessary, you can clean up the Pupil Commander database from deleted pupils using Pupil Commander's options in the fights configuration page.