How to use iRohan loader
First step
Upload this to a web server View attachment Website.rar
Second Step(in a hex editor) Edit loader.dll
Replace all the login.playrohan.com links with links to your site/patcher
Third Step
Edit loader.dat
here's a 010 template for it
Forth step Using my patch maker View attachment PatchMaker.rar Create a new update file
NOTES ON THIS
1. Fileinfo.raw MUST BE KEPT you can only use ONE COPY of this file if you use multiples it will fuck shit up it stores old patches and builds off the existing patches so they work.
2. Files must be put in the directories they will be output to IE if you want to update itemcostume.bin you should put a copy of itemcostume.bin in a folder named data in the patchmaker folder
- EXAMPLE -> \PatchMaker\data\itemcostume.bin
3. Once you have put the files in the directories they will be updated to run the flbuilder.exe this will create files within the patch folder
4. Upload the contents of the patch folder to your site then remove them from the patch folder locally so it doesn't mess up your next update
Fifth step is you should be able to run loader.exe and have it update...
FINAL NOTES :
1. Get your loader files from your own client or from the iRohan client
2. This copy of my patch maker has known bugs with files under 3KB in size... either decompile the .exe using .net reflector and fix the bug or avoid patching 3kb and smaller files I don't use this anymore so have no real reason to fix the issue... all it does is it fucks up the final int in the .rp file(file size) by 4 and does same for the fileinfo.lst... you can manually fix this by editing the lengths yourself and running patch maker again on another file larger then 3kb
Here's the 010 templates for fileinfo and .rp files
Rp file
filelist (the .raw here OR the decompressed blob from a generated list)
filelist header
This is not a beginners guide I wont be answering questions on this guide... I've done that in the past and it's a huge headache so i'm just dumping this info and you can figure it out from here.
First step
Upload this to a web server View attachment Website.rar
Second Step(in a hex editor) Edit loader.dll
Replace all the login.playrohan.com links with links to your site/patcher
Third Step
Edit loader.dat
here's a 010 template for it
Code:
typedef struct{ char updateserv[60];
int Port;
char updatelocation[128];
char loaderbgloc[256];
int one;
char country[8];
} update;
while( !FEof() )
{
update cfg;
}
Forth step Using my patch maker View attachment PatchMaker.rar Create a new update file
NOTES ON THIS
1. Fileinfo.raw MUST BE KEPT you can only use ONE COPY of this file if you use multiples it will fuck shit up it stores old patches and builds off the existing patches so they work.
2. Files must be put in the directories they will be output to IE if you want to update itemcostume.bin you should put a copy of itemcostume.bin in a folder named data in the patchmaker folder
- EXAMPLE -> \PatchMaker\data\itemcostume.bin
3. Once you have put the files in the directories they will be updated to run the flbuilder.exe this will create files within the patch folder
4. Upload the contents of the patch folder to your site then remove them from the patch folder locally so it doesn't mess up your next update
Fifth step is you should be able to run loader.exe and have it update...
FINAL NOTES :
1. Get your loader files from your own client or from the iRohan client
2. This copy of my patch maker has known bugs with files under 3KB in size... either decompile the .exe using .net reflector and fix the bug or avoid patching 3kb and smaller files I don't use this anymore so have no real reason to fix the issue... all it does is it fucks up the final int in the .rp file(file size) by 4 and does same for the fileinfo.lst... you can manually fix this by editing the lengths yourself and running patch maker again on another file larger then 3kb
Here's the 010 templates for fileinfo and .rp files
Rp file
Code:
typedef struct{
char Header[32];
int Version;
int always1;
int idfk;
int idfk2;
char data[datalength];
int outputtype;
int FileVersion;
FILETIME modifydate;
int always1;
char Filename[64];
char localfilename[128];
int sizedecompressed;
char rpfile[64];
char outputlocation[128];
int sizecompressed;
} version;
while( !FEof() )
{
version list;
}
filelist (the .raw here OR the decompressed blob from a generated list)
Code:
typedef struct{
signed int OutputType;
signed int PatchVersion;
FILETIME Time;
signed int Always1;
char OutputName[64];
char LocalPath[128];
signed int Filesize;
char rpFile[64];
char OutputPath[128];
signed int CompressedSize;
} file;
while( !FEof() )
{
file list;
}
filelist header
Code:
typedef struct{
char Header[32];
int Version;
int numItems;
int always1;
int PackedBlobSize;
int unpackedBlobSize;
char data;
} version;
while( !FEof() )
{
version list;
}
This is not a beginners guide I wont be answering questions on this guide... I've done that in the past and it's a huge headache so i'm just dumping this info and you can figure it out from here.