HAKS - Updating

From ALFA
Jump to: navigation, search


                            NWN2  HAK BUILDING AND UPLOAD PROCESS   
                                         (2021\Arri)

GENERAL NOTE - ALL ABR BUILD/ GZIPING /CHECKSUMS / HASHES MUST BE DONE ON THE SAME COMPUTER OR THERE WILL BE MISMATCHES AND MUCH LAMENTING.

STEP 1 - USING MS VISUAL COMMAND PROMPT - BUILD THE ABR FOLDER TO TURN ALL HAK FOLDERS INTO BUILT HAKS IN A RELEASE FOLDER [make sure there is no current release folder in the abr]USING THE bld OR bcz COMMAND. YOU CANNOT JUST USE A HAK PACKER TO CREATE THE HAKS, IT MUST BE DONE VIA MS VISUAL COMMAND PROMPT. THE RELEASE FOLDER WILL APPEAR IN THE ABR FOLDER.

STEP 2 - USING 7ZIP . .GZIP ALL NEW HAKS WITH A 'n_ ' APPENDED AT THE FRONT OF THE HAK NAME THEN UPLOAD TO AZURE alfa-nwn2-acr-updater >ACR_ContentPatches>Global>1.9201. USING THE "n_ " INFRONT OF THE HAK NAME LETS US PUT THEM ON AZURE WITHOUT OVERWRITING THE OLD ONE.

STEP 3 - CREATE A DOCUMENT FOR THE PROCESS THAT WILL INCLUDE BOTH NEW AND OLD CHECKSUMS AND HASHES FOR EACH UPDATED HAK. RUN THE UPDATED HAKS[NOT THE GZIP] THROUGH A CHECKSUM TOOL LIKE WinMD5 OR SOMETHING SIMILAR TO GET THE NEW CHECKSUM. RECORD THIS ON YOUR DOC. ON MYSQL YOU WILL FIND THE OLD CHECKSUMS IN THE content_patch_files AND THE OLD HASHES IN THE content_download_config. TAKE A COPY OF THESE AND ADD TO YOUR DOC INCASE OF HAK FAILURE. IT WILL SAVE YOU HOURS OF TIME IF YOU HAVE TO REPEAL THE UPDATE FOR ANY REASON.

STEP 4 - CLEAR OUT THE STAGING CLIENT OF ALL PREVIOUS HAKS and TLK UPDATES [ PUT THEM IN A FILE FOLDER IN CASE YOU NEED THEM YET]. TAKE THE TLK FILE FROM THE RELEASE FOLDER AND PUT IT IN YOUR TLK FOLDERS IN BOTH NWN FOLDERS , ALSO PUT YOUR OLD HAKS FROM THE HAK FOLDERS THAT ARE CHANGING INTO A SEPERATE FOLDER AND COPY OVER ALL UPDATED HAKS FROM THE RELEASE FOLDER INTO THE HAK FOLDERS OF THE INSTALL AND DOCUMENTS GAME FILES. OPEN AND STAGE ONE OF YOUR MODULES, ONLY CHECKING THE SKIP MUSIC BOX [IDEALY ALL MODULE UPDATES HAVE BEEN PREVIOUSLY PUSHED UP BEFORE UPDATING HAKS /TLK]. ONCE IT IS DONE SAVE THE MODULE TO DIRECTORY. REPEAT FOR EACH SERVER THAT NEEDS TO BE UPDATED. TO DOUBLE CHECK YOURSELF STAGE TWO DIFFERENT MODS TO MAKE SURE THE HASHS MATCH IF THEY DO NOT YOU NEED TO FIGURE OUT WHY.

STEP 5- OPEN YOUR GITHUB TO THE SERVERS GIT FILES. YOU SHOULD NOW FIND YOUR moduledownloadresource FILE, CLICK ON THAT AND YOU WILL GET YOUR NEW HASHES FROM THE GREEN LINE FOR EACH HAK FILE.

Hak Info1.png

ALTERNATELY YOU CAN ALSO GO OPEN THE moduledownloadresource FILE INSIDE EACH MODULE FILE, WITH SOMETHING LIKE NOTEPADE OR SUBLIME TEXT, AND COPY/PASTE FROM YOUR FIRST STAGED MDR TO EACH OF THE OTHER SERVER MDRS. JUST BE CAREFUL THAT YOU COPY/PASTE CORRECTLY. DO NOT OPEN AND SAVE THE MOD AGAIN UNTIL AFTER YOU HAVE COMMITED AND PUSHED TO THE SERVER. ADD THESE TO YOUR DOC. THESE WILL BE USED ON MYSqL TO UPDATE THE content_download_config WHEN THE TIME COMES. DO NOT PUSH THE SERVER FILES UP UNTIL YOUR FULLY READY TO START THE UPDATES.

STEP 6 - ONCE THE MODULE IS STAGED AND SAVED YOU WILL OPEN YOUR WinSCP AND NAVIGATE TO THE ADL SITE, TA SHOULD HAVE THE KEYS FOR THIS. RENAME THE NEW HAK LZMAS WITH THAT n_ AS WELL AND THEN TRANSFER THEM TO THE ADL. DEPENDING ON YOUR CONNECTION AND UPLOAD SPEEDS, THIS COULD TAKE A FEW MINUTES TO A FEW HOURS. DO NOT TRANSFER THE HAKS TO THE SERVER SITES, ONLY THE TLK WILL BE MOVED TO EACH SERVER SITE. THEY HAVE THEIR OWN SITE. YOU ONLY NEED TO DO THIS ONCE for the LZMA's . . . NOT FOR EACH SERVER UPDATED. DO NOT UPLOAD HAKS THAT HAVE NOT CHANGED.

STEP 7 - ONCE ALL LZMA's ARE UPLOADED ON THE ADL SITE .... RDP INTO THE SERVERS AND DL THE LZMA'S ONTO THE SERVER FROM THE SITE INTO A SEPERATE FOLDER FOR NEW HAKS IN THE HAK FOLDER. FOR WHAT EVER REASON WHILE THE SERVER SEEMS TO ACCESS AND DL THE ACR AND 2DA HAKS ON THEIR OWN. OTHER HAKS DO NOT APPEAR IN ANY SORT OF TIMELY MATTER ITS FASTER TO JUST DIRECTLY DL THEM FROM THE SITE. YOU THEN NEED TO UPACK EACH LZMA AND DISCARD THE LZMA ITSELF. RENAME THE HAK TO REMOVE THE n_ prefix.

STEP 8 - ONCE ALL LZMA's ARE DL'd TO EACH SERVER AND UNPACKED (ON BG/MS), TSM AND READIED AS POSSIBLE ON WHL. YOU WILL LOG INTO MYSQL AND CHANGE OVER THE HASHES AND CHECKSUMS TO THE NEW ONES. THE HASHES ARE FOUND ON THE moduledownloaderresources.xml THE GREEN HIGHLIGHTED PORTIONS ARE THE NEW HASHES AND DL SIZES FOR THE HAK NOTED. THE RED ONES ARE THE OLD HASHES. THE GREEN PORTIONS WILL BE TRANSFERED TO TO YOUR DOCUMENT IN CASE YOU NEED IT LATER AND TO APPROPRIATE PLACES IN THE content_download_configOF THE ALFA MySql [SEE MySql SET UP DIRECTIONS TO GET THERE ]. THE CHECKSUMS WILL BE TRANSFERED [MAKE SURE YOU COPIED THE ORIGINAL TO YOUR DOCUMENT] TO THE content_patch_files.

STEP 9 - ONCE ALL THE CHECKSUMS AND HASHES HAVE BEEN TRANSFERED AND YOU HAVE HIT APPLY AT THE BOTTOM OF THE LIST OF EACH TAB, SO THEY TAKE EFFECT YOU ARE DONE ON MySql. YOU WILL THEN OPEN YOUR AZURE AND GO THROUGH AND RENAME AND APPEND TO THE FRONT OF EACH OF THE OLD GZIP - HAKS YOU ARE REPLACING, A o_ THIS WILL SAVE THEM IN CASE THERE IS A PROBLEM WITH THE HAKS. ONCE ALL THE OLD HAKS THAT HAVE A n_ COUNTERPART HAVE BEEN RENAMED WITH A o_ IN FRONT, YOU WILL THEN RENAME ALL THE NEW UPLOADS TO REMOVE THE n_ so they effectively replace the old ones.

STEP 10 - YOU WILL THEN GO TO THE ADL SITE AND REPEAT THE ABOVE PROCESS WITH THE HAK LZMA's. APPEND A o_ TO THE OLD ONES AND REMOVE THE n_ FROM THE NEW ONES TO REPLACE THEM.

STEP 11 - LOG INTO THE SERVER YOU ARE GOING TO TEST THE HAKS ON FIRST. DO NOT TRY TO DO ALL SERVERS AT THE SAME TIME! MAKE SURE YOU HAVE ALL THE LZMA'S UNPACKED, IN A SEPERATE FOLDER. MAKE A FOLDER CALLED OLD AND AFTER SHUTTING DOWN THE SERVER CUT/PASTE ALL THE OLD HAKS EXCEPT THE ACR HAK, BEING CHANGED INTO THAT FOLDER. AFTER WHICH YOU CAN MOVE THE NEW ONES INTO THE MAIN HAK FOLDER. DO NOT MOVE THE ACR HAK. IT WILL DL ON ITS OWN AND NEEDS TO KNOW TO CHANGE OVER VIA THE MDR.

STEP 12 - NOW UPLOAD THAT STAGED SERVER'S moduledownloaderresources TO GIT AND PULL DOWN TO THAT SERVER. COMPILE ALL THE SCRIPTS, AND START THE SERVER IT WILL FIND THE NEW MDR AND PULL DOWN THE NEW ACR HAK AND RECOGNIZE THE NEW CONTENT. YOU MAY HAVE TO RESTART AND RECOMPILE IT AFTER ITS DL'd THE NEW ACR HAK. IT SHOULD THEN COME UP AS NORMAL WATCH THE GB USED AND IT SHOULD RETURN UP TO THE 2-3K MARK IT WAS PREVIOUSLY AT GIVE OR TAKE . . . IF IT NEVER GOES ABOVE 200MB THERE IS AN ISSUE.

STEP 13 - ASSUMING THE SERVER LOOKED LIKE IT CAME UP CORRECTLY, YOU WILL NOW REMOVE ALL THE NEW HAKS FROM BOTH YOUR HAK FILES AND PUT THEM INTO A SEPARATE FOLDER FOR THE MOMENT. THEN LOG INTO THE UPDATED SERVER AND SEE IF IT CORRECTLY DL's ALL THE NEW HAKS. GO HAVE A DRINK WHILE IT DOWNLOADS FOR MOST PEOPLE IT WILL TAKE A FEW MINUTES TO A FEW HOURS. IF IT ERRORS TO A RED TEXT THERE IS A PROBLEM.




TROUBLESHOOTING:

NONE OF MY HAKS WILL BUILD - - - - DELETE THE OLD release FILE FROM THE ABR FOLDER -MAKE SURE EACH HAK HAS A 'bld.cmd' AND A PROPERLY NAMED , 'makefile' INCLUDED IN THE FOLDER .

SOME OF MY HAKS WON'T BUILD. ----- PROBABLY DUE TO NOT ALL OR TOO MANY OF THE FILE TYPES BEING NOTED ON THE makefile AND/OR YOU HAVE TABBED SPACES INSTEAD OF SINGLE SPACES BEWEEN THE FILE NAME AND THE \ [BACKSLASH]. IF YOU ADDED A BRAND NEW HAK TO THE MIX MAKE SURE ITS LISTED ON THE dir FILE IN THE ABR DIRECTORY.

I GET A BUNCH OF YELLOW TEXT SAYING UNABLE TO REACH. ------ YOU CAN GENERALLY IGNORE THIS . . . IF YOU WANT TO FIX IT YOU WILL HAVE TO OPEN THE FILES IT POINTS TO AND EXPAND EVERYTHING WITH A + SIGN INFRONT OF IT . THIS CAN POINT OUT ERRORS IN THE XML SCRIPTING.

THE HAK BUILDS BUT IT GIVES ME A MESSAGE THAT CERTAIN FILES ARE SKIPPED - - - - - THIS WILL HAPPEN IF THE GAME DOES NOT RECOGNIZE PARTICULAR FILE FORMATS. THOSE FILES WILL NOT BE UPLOADED INTO THE HAK.

MY MODULE WON'T STAGE ALL THE NEW HAKS - - - -- - YOU NEED TO CLEAR OUT ALL HAKS OF THE SAME NAME FROM THE STAGING CLIENT FOR EACH MODULE YOU STAGE. MY HASHES DO NOT MATCH BETWEEN TWO SERVERS -------- DID YOU PUT THE NEW HAKS INTO YOUR HAK FOLDERS IN BOTH THE GOG NWN2 DIRECTORY and THE DOCUMENTS NWN2 DIRECTORY hak FOLDERS OR AT LEAST REMOVE THEM FROM ONE HAK FILE? DID YOU ONLY TRADE OUT THE NEW HAKS?

MY SERVER WILL NOT LOAD MORE THAN A FEW MB OF DATA - - - - - - CHECK THE COMPILE DOES IT LOOK LIKE IT COMPILED CORRECTLY? IF NO, ARE THE SCRIPTS JUST NOT COMPILED ? IF SO THEN TRY STOPPING , RECOMPILING AND RESTARTING THE SERVER AGAIN. DOES IT POINT OUT AN ERROR IN ONE OF THE HAKS? IF SO FIRST COMPARE DL SIZES BETWEEN WHAT YOU HAVE AND WHERE YOU DL'd IT, MAKE SURE IT MATCHES. IF GOOD THEN RECHECK THE HASHES AND CHECKSUMS ON MySql FOR THAT HAK, AGAINST THAT SERVERS MDR. IF THEY MATCH YOU MAY HAVE A BAD HAK OF SOME SORT THAT WILL NEED REMOVED.

THE HAKS WILL NOT DL WHEN I LOG INTO THE SERVER - - - - - - - - - - - IF IT SAYS IT CANNOT DL THEM FROM ANY SOURCE . . . CHECK THE MDR TO MAKE SURE IT HAS THE <string> SET UP CORRECTLY AFTER EACH HAK LINE.

<string>0</string>
  <string>1</string>
  <string>3</string>

0 - should be set for all module lzma files | 1 & 3 should be set for all hak files. These indicate where the file will DL from.

IF IT SAYS IT CANNOT BE VERIFIED . . . . THEN MAKE SURE THE HASHES /CHECKSUMS MATCH BETWEEN THE MDR AND MySql. MAKE SURE YOU USED THE CHECKSUMS FOR THE UNZIPPED HAK NOT THE ZIPPED ONE.