Page 1 of 4 1234 LastLast
Results 1 to 20 of 70

Thread: Server Merge - How to save your backpack names

  1. #1

    Server Merge - How to save your backpack names

    Update: Rewrote instructions.
    Update: Script now also transfers your docking areas including backpack tabs, screen positions and settings minus item positions in non-list view backpacks.

    As I got multiple chars with a good amount of named Backpacks I thought about saving these names through the merge and hacked* together a short script. After I successfully tested it after todays TestLive merge I'll post here how to use it for anyone interested.

    The script does this by matching backpack contents from a pre-merge AOIA item data export with one made post-merge. You should therefor avoid having any two or backpacks containing the exact items (exact meaning the same items in the same QL and same count).

    Please note that this comes with absolutely no warranty. I'm not responsible for any data loss or damage this may cause. Use at your own risk.

    Prerequisites:
    1. Know how to use AOIA (tested with 1.1.4.0)
    2. Have PHP installed (tested with 5.3.15), on a windows system download it from http://windows.php.net/downloads/rel...32-VC9-x86.msi and then install.


    Script: http://pastebin.com/HMPrichY Save as "merge.php".

    Steps before the merge happens:
    1. Start AOIA.
    2. Start AO, log in and log through all characters and open all backpacks in inventory and move BPs from your bank to your inventory and then back once (You don't need to open BPs from the bank).
    3. Close AO!
    4. In AOIS right-click on each characters name and choose "Export items"
    5. Choose "None" as the Item Database
    6. Save with the characters name or something so you'll be able to find it later, example: Misat0PRE.csv
    7. Do not change any items ingame after your final export (do not move items in or from backpacks and such!)
    8. Backup your characters preference directory!


    Steps after you have patched your client to 18.6 (after the merge downtime):
    1. Clean your AOIA database. The cleanest way should be to delete "ItemAssistant.db" and the "binfiles" directory in the AOIA directory.
    2. Start AOIA.
    3. Start AO, log in and let the game merge your characters to the new server.
    4. After that is done log in again and log onto each character and open all backpacks in inventory and move BPs from your bank to your inventory and then back once (You don't need to open BPs from the bank).
    5. Close AO!
    6. In AOIS right-click on each characters name and choose "Export items"
    7. Choose "None" as the Item Database
    8. Save as a new file(!) with the characters name or something so you'll be able to find it later, example: Misat0POST.csv
    9. Copy your old preference directory contents to your new character preference directory. Refer other guides if you want to avoid copying garbage. You have to at least copy the "Containers" and "DockAreas" subdirectories for the script to work!


    Check that you have all in place: pre-merge export, post-merge export, preference folder.
    The last one should be in your Funcom-Folder in local application data, for Windows Vista / 7 it should by default be "C:\Users\[Windows user name]\AppData\Local\Funcom\Anarchy Online\[Random chars]\[Servername]\Prefs\[Account name]\[Char folder]\" or "%LOCALAPPDATA%\Funcom\Anarchy Online\[Random chars]\[Servername]\Prefs\[Account name]\[Char folder]\"

    Run the merge script:
    Code:
    php merge.php [Charname]PRE.csv [Charname]POST.csv %LOCALAPPDATA%\Funcom\Anarchy Online\[Random chars]\[Servername]\Prefs\[Account name]\[Char folder]\
    Example:
    Code:
    php merge.php E:\Funcom\ItemAssistant\Misat0PRE.csv E:\Funcom\ItemAssistant\Misat0POST.csv %LOCALAPPDATA%\Funcom\Anarchy Online\3277b6e7\Testserver\Prefs\myaccount\Char8625\
    Make sure to include the trailing \ for the path.

    [*This is in no way a clean script. E.g. there are still some possible errors this doesn't catch. It is just one hell of a throwaway script for this one time event. *fingers crossed*]
    Last edited by Misat0; Feb 26th, 2013 at 08:26:19.
    ~ HS ~
    [ Seppuku ]
    Member of the Tremor family: Misat0 :: AsukaLangley :: AyanamiRei :: Dextral :: Sinistral :: Pellaquare :: Salesman1337 :: Daemoness
    Retired: Misato Katsuragi-Messamore

    [ The Foolish Testers ]
    R.I.P.: Misat0 Katsuragi :: Darkrei

  2. #2
    I believe the "no multiple backpacks with identical content" can be worked around by placing an identifying item in each of those pesky "Crystal filled by the Source QL250" bags... this way they will at least have a difference for the script, and the effort is not that high... Just an idea.

  3. #3
    Yep, that would suffice.
    ~ HS ~
    [ Seppuku ]
    Member of the Tremor family: Misat0 :: AsukaLangley :: AyanamiRei :: Dextral :: Sinistral :: Pellaquare :: Salesman1337 :: Daemoness
    Retired: Misato Katsuragi-Messamore

    [ The Foolish Testers ]
    R.I.P.: Misat0 Katsuragi :: Darkrei

  4. #4
    What would be good Now before merge is to identify what backpacks that are indeed not unique so i can go in and fix it manually, any script you can conjure to do that? Would be most helpfull.
    Don't you just hate this kind of ppl
    http://redwing.hutman.net/%7Emreed/w...rouscranus.htm

  5. #5
    Well i think it could be done the same way as the renaming script does it, except that it's just checking for dupes

  6. #6
    Yep. If you intend to use the script the best way would be to use the computeBPHashes function and check the returned array for duplicates.
    ~ HS ~
    [ Seppuku ]
    Member of the Tremor family: Misat0 :: AsukaLangley :: AyanamiRei :: Dextral :: Sinistral :: Pellaquare :: Salesman1337 :: Daemoness
    Retired: Misato Katsuragi-Messamore

    [ The Foolish Testers ]
    R.I.P.: Misat0 Katsuragi :: Darkrei

  7. #7
    From what I can tell you can also just copy the entire contents of the old Char<ID> folders to the new ones and get the same results.


    I surely don't mind a script that can clean out bags I no longer have, though.
    Because Race Yalm

  8. #8
    Unfortunately you can't. As the backpacks get new IDs the old files will no longer match them.

    You can copy parts of your old prefs folder though to get your general UI layout, chat windows and such. I'd advice against just copying the entire folder as you end up with many files that will no longer be used.
    ~ HS ~
    [ Seppuku ]
    Member of the Tremor family: Misat0 :: AsukaLangley :: AyanamiRei :: Dextral :: Sinistral :: Pellaquare :: Salesman1337 :: Daemoness
    Retired: Misato Katsuragi-Messamore

    [ The Foolish Testers ]
    R.I.P.: Misat0 Katsuragi :: Darkrei

  9. #9
    wont the %appdata%-shortcut work?
    You hit Tarasque with nanobots for 18280 points of melee damage.
    First shade with Blades of Boltar
    ---
    How much is enough?
    Member of Halinallet!

  10. #10
    Quote Originally Posted by Misat0 View Post
    Unfortunately you can't. As the backpacks get new IDs the old files will no longer match them.
    Ah, yes, you are correct. Although it's funny that they all still seem to be in the same places that I left them.
    Because Race Yalm

  11. #11
    @Otansaanpas Sorry, I don't get what you mean with that.

    If Live gets the same version as TestLive the prefs will then being stored in application data, but as the script just take the path you pass to it that doesn't matter.

    Sidenote: %APPDATA% points to AppData\Roaming while the Funcom directory is in AppData\Local.
    ~ HS ~
    [ Seppuku ]
    Member of the Tremor family: Misat0 :: AsukaLangley :: AyanamiRei :: Dextral :: Sinistral :: Pellaquare :: Salesman1337 :: Daemoness
    Retired: Misato Katsuragi-Messamore

    [ The Foolish Testers ]
    R.I.P.: Misat0 Katsuragi :: Darkrei

  12. #12

  13. #13
    Quote Originally Posted by MajorOutage View Post
    I surely don't mind a script that can clean out bags I no longer have, though.
    There's already a script somewhere out there for that floating somewhere that does something similar. I believe it works on the modified of the xml file so what i did was open every bag/move the bag on a char then ran the script to remove every xml file older than a week. Ofc this can just be done manually without using the script
    RK2 - Pimpmyride 220 Engi!

  14. #14
    Got a new version that not only keeps the name but also backpack window positions and settings (list mode etc.). Will post tomorrow after it's finished.
    ~ HS ~
    [ Seppuku ]
    Member of the Tremor family: Misat0 :: AsukaLangley :: AyanamiRei :: Dextral :: Sinistral :: Pellaquare :: Salesman1337 :: Daemoness
    Retired: Misato Katsuragi-Messamore

    [ The Foolish Testers ]
    R.I.P.: Misat0 Katsuragi :: Darkrei

  15. #15
    This all sounds very useful ...

    Can someone that does not use scripts, does not know what PHP is, but does use AOIA do what you are saying here?

    Kinnik

  16. #16
    Kinnik has a point, although this is the most effective solution to date I feel there may be a better way to perform this task.

    Given my time restraints with uni work and work work I "may" find some time to write a program that scans the old prefs folder, compares the contents of the new prefs folder, copy all the old data into each new container_ xml file (all bag settings including item positions) it find a match for containing item-wise and then do the same with the dockarea files once the old/new bag id matches have been identified.

    It would just compare each old bag's <Array name="item_id"> elements with all the new bag's elements until a match is found, then rename the old bag container number with the new match and copy that file overwriting the new one of the same name, making note of the old bag id and new bag id. Then scan through the dockarea files looking for old bag id's and replace them with the matched new bag id's, again copy the file over once amended.

    I think this would be a more elegant solution, ie just run the prog, point it to your old prefs folder, your new prefs folder and let it work its magic. It would remove the need for extra steps using AOIA as xml files themselves are relatively easy to work with code-wise. And yes I do realise that it may need to be done on a char-by-char basis as some chars may have bags containing the same items but with different names, but this can be worked around manually I guess.

    Or failing this (ie I can't find the time) maybe vhab could write a little prog that runs the first time after the merge to do this for us? As this disruption is, after all, no fault of our own and I believe I am not the only one who has spent many hours over the last 12 years organising bags.
    Equilibrium may refer to: The condition of a system in which all competing influences are balanced, in a wide variety of contexts
    Infinity may refer to: The state or quality of being infinite. A number greater than any assignable quantity or countable number (symbol ∞).
    Vengeance may refer to: Vengeance (concept) or revenge, a harmful action against a person or group in response to a grievance

    AO Item Assistant+ :: https://sourceforge.net/projects/aoiaplus/::

    ~~~~~~~~~~~~ Dream ~~~~~~~~~~~~
    "Not a rant, not a flame. Just another perspective."

  17. #17
    @Dream Unfortunately that won't work as the items also get new unique IDs and therefor the entries in the Container_XXX.xml files will no longer match. Also the items are not indentifyable by those IDs because of that (only their unique IDs are stored, not their low and high IDs and their QL).

    This is why I have used AOIA which stores both item IDs and QL in the export and so an old backpack can be matched to a new one by their content as long as all backbacks content is unique.

    @Kinnik The script should very well be useable by anyone who follows the instructions. As said anyone should backup their prefs in case anything goes wrong. The next script version will have debugging re-enabled so I would be able to assist with any problems that occur.

    Edit: Script and instructions have been updated.
    Last edited by Misat0; Jan 20th, 2013 at 19:52:40.
    ~ HS ~
    [ Seppuku ]
    Member of the Tremor family: Misat0 :: AsukaLangley :: AyanamiRei :: Dextral :: Sinistral :: Pellaquare :: Salesman1337 :: Daemoness
    Retired: Misato Katsuragi-Messamore

    [ The Foolish Testers ]
    R.I.P.: Misat0 Katsuragi :: Darkrei

  18. #18
    Awesomeness in a post :-)

    Great work, I was so sure that I would have to rename every bloody backpack I had and then you comes along.....
    Fixer issues

    Quote Originally Posted by heartless888 View Post
    fixers got 2 more hots since LE, which means their healing over time, more or less, went up 200%

  19. #19
    Quote Originally Posted by Misat0 View Post
    @Kinnik The script should very well be useable by anyone who follows the instructions. As said anyone should backup their prefs in case anything goes wrong. The next script version will have debugging re-enabled so I would be able to assist with any problems that occur.

    Edit: Script and instructions have been updated.
    So I went to the PHP site from your link to download PHP 5.4.11 ...
    There are two choices ... what is the difference between tar.bz2 and tar.gz?

    I run a "pc" with windows 7.

    Thanks

    Kinnik

  20. #20
    That are source code packages. Sorry for being unclear on that.

    I have added a download link to the Windows installer to the original post.
    ~ HS ~
    [ Seppuku ]
    Member of the Tremor family: Misat0 :: AsukaLangley :: AyanamiRei :: Dextral :: Sinistral :: Pellaquare :: Salesman1337 :: Daemoness
    Retired: Misato Katsuragi-Messamore

    [ The Foolish Testers ]
    R.I.P.: Misat0 Katsuragi :: Darkrei

Page 1 of 4 1234 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •