|
You last visited: Today at 21:42
Advertisement
[Guide] Assembly guides to improve your VSRO Server!
Discussion on [Guide] Assembly guides to improve your VSRO Server! within the SRO PServer Guides & Releases forum part of the SRO Private Server category.
02/26/2012, 16:28
|
#1
|
elite*gold: 0
Join Date: Feb 2011
Posts: 112
Received Thanks: 199
|
[Guide] Assembly guides to improve your VSRO Server!
This Thread contains many Assembly edits which are useful if you run a Vsro P-Server.
Requirments:
Ollydbg (  ) Dezimal -> Hex Converter (  or  ) they are all the same.
Small tutorial how to use OllyDBG:
- if you start OllyDBG, simply drag the file you want to check in the OllyDBG window (in this case the SR_GameServer.exe of VSRO). Let Olly analyze the file completly (black bar at the bottom)
- The lines are working like this: Expression |. Binary | Assemble | Comment
- If i give you an expression, just press CTRL+G to get there. It will get you to the line of the procedure which we want to edit.
- All numbers are in floats or in hex. We just need a hex <-> dezimal converter. I prefer you to use the Windows Calculator for this, but you can use any.
- to edit the lines, doubleclick on the Assemble code. A new Window appears, just replace the content. After edit, the line is red. Make sure you select all edited lines and copy them to executeable (more infos about save later)
First of all, the GameServer edits.
Changing Max Level:
This is the line for the max character level.
Code:
004E52C7 |. 80F9 50 CMP CL,6E
Press CTRL+G and fill in 004E52C7
It will bring you to this line.
DoubleClick on CMP CL,6E and edit it to CMP CL,(Your max lv in hex)
For example
Code:
CMP CL,78 for lv 120.
Additional fix to prevent crash after lv 110:
This is the line.
Code:
004E5471 817C24 20 B40>cmp dword ptr [esp+20], 1B4
Change "dword ptr [esp+20], 1B4" to "dword ptr [esp+20], 1E0" :
This is the final line:
Code:
004E5471 817C24 20 E00>cmp dword ptr [esp+20], 1E0
Changing Max Mastery Level:
This is the line:
Code:
0059C5E6 |. 3D 2C010000 CMP EAX,14A
Change 12C to the Max mastery level you want in hex. For example:
Code:
CMP EAX, 168 //for Mastery 360
Serverrates cap:
These are the lines.
For Expoint rates:
Code:
00B45B90 . 0000C842 DD FLOAT 100.0000
For Drop rates
Code:
00B45B84 . 0000C842 DD FLOAT 100.0000
Here you right click on the line, go to Edit and then Edit 32/64 Bit float.
Then change the number to the max server rates you want. This time, no Hex!
Remove the annoying Quest:RaiseEvent Error(It reduces the lag very much!!):
!!THIS EDIT IS NEW AND VERY IMPORTANT!!
This is the part. Go to the first expression, you will see the other lines behind it.
Code:
005805C8 . 56 push esi
005805C9 . 68 C4D8AF00 push 00AFD8C4
005805CE . 68 00000001 push 1000000
005805D3 . E8 68603B00 call 00936640
005805D8 . 83C4 0C add esp, 0C
Mark them all, then right click, Edit, Nop All
This Edit is good because it prevents the overfloat of the gameserver. the GS gets spammed with error infos, with this edit the GS doesnt show up this error anymore!
Removing the green book (Credits to ÑõÑ_Ŝŧóp)
Right click - Search for - for constants : 3122 (hex)
you'll find PUSH 3122
click on it,and look at the start of the routine,patch it to RETN
It's not a good way to remove it, it's fast & easy way, also you will get a warning in the gameserver "msg is not completely used..."
To save the edited gameserver, use right click - edit - select all, then again right click - edit - copy to executeable.
Now right click in the new Window and then Save As... and save your file.
Now to the SRO_Client.exe edits.
Changing mastery showup:
This is the line:
Code:
006A51BC |. BF 2C010000 MOV EDI,14A
Change 14A to the Mastery limit you use in your GameServer. for example
Code:
MOV EDI,168 //for lv 360 mastery.
Important info:
Sometimes the SRO_Client Mastery shows up wrong if you edited your sro client too much. I prefer you to do this edit first, then the other edits. If the mastery shows wrong, just skill 1 more mastery of any skill, doesnt matter which, and the mastery will show up correct again. This error appears rarely, but in case it happens just follow the instruction and it will work fine again.
Change Party Matching level:
These are the lines:
Code:
0073940E 6A 6E PUSH 6E
00739453 6A 6E PUSH 6E
0073AFAE 6A 6E PUSH 6E
0073B013 6A 6E PUSH 6E
0073B030 6A 6E PUSH 6E
0073FA4C 6A 6E PUSH 6E
0073FAAF 6A 6E PUSH 6E
0073FACC 6A 6E PUSH 6E
Go to every single expression and change 6E to the Max level you use in your Gameserver. For example PUSH 78 for lv 120.
Fix the lv 120 Skills showup (you have to do this if you want to add 120 skills.)
This is the line:
Code:
005448B1 80B8 AC000000 7 CMP BYTE PTR DS:[EAX+0AC],6E
Change
Code:
CMP BYTE PTR DS:[EAX+0AC],6E //to
CMP BYTE PTR DS:[EAX+0AC],78
Change Autoselect range (All Sro) (Credits to ÑõÑ_Ŝŧóp)
You don't need ollydbg this time,you can use any hex editor (get one  )
search for pattern: 00 00 8C 42 55 00 49 00 49
replace with : 00 40 9C 45 55 00 49 00 49 (for 5000 range)
explain:the autoselect range is 70 (Float) (0x 428c0000) by default,it's the first 4 bytes
so we can change it using any float -> hex converter (  recommended)
so we change it to 5000 (0x 459c4000) (you can change it to any other value ofc)
As I noticed most of the servers copied the PK2 and Client from DWO, Aurora or Class, because they were the first who got this edit from me (except Class, they were smart enough to find it themself) So now you can take a clean Client and pk2 and edit it as you want
Hope you like this tutorial
Regards,
ZubZero / Ra
|
|
|
02/26/2012, 16:35
|
#2
|
elite*gold: 0
Join Date: Oct 2010
Posts: 177
Received Thanks: 108
|
good work brouther!
|
|
|
02/26/2012, 16:37
|
#3
|
elite*gold: 0
Join Date: Apr 2009
Posts: 1,715
Received Thanks: 892
|
Sweet
|
|
|
02/26/2012, 16:43
|
#4
|
elite*gold: 0
Join Date: Dec 2009
Posts: 594
Received Thanks: 358
|
Removing the green book (Vsro 1.188)
in olly:Open the gameserver , search for constants : 3122 (hex)
you'll find PUSH 3122
click on it,and look at the start of the routine,patch it to RETN
idk if its workin , credits = NonStop
|
|
|
02/26/2012, 16:49
|
#5
|
elite*gold: 0
Join Date: Feb 2011
Posts: 112
Received Thanks: 199
|
Thanks, I will add it with credits
|
|
|
02/26/2012, 17:17
|
#6
|
Chat Killer In Duty
elite*gold: 5
Join Date: May 2008
Posts: 16,390
Received Thanks: 6,508
|
cool
this is very useful
thnx
|
|
|
02/26/2012, 17:30
|
#7
|
elite*gold: 7
Join Date: May 2010
Posts: 2,115
Received Thanks: 2,374
|
Thanks, that's great to collect all assembly edits on one guide .
|
|
|
02/26/2012, 18:00
|
#8
|
elite*gold: 0
Join Date: Feb 2008
Posts: 3,777
Received Thanks: 1,455
|
Nice! keep it up good work
|
|
|
02/26/2012, 18:36
|
#9
|
elite*gold: 0
Join Date: Jul 2006
Posts: 323
Received Thanks: 82
|
Remove the annoying Quest:RaiseEvent Error- it appear to be bugged chinese tutorial quest
much easy fix just disable quest in db it named in RefQuest
service 0 QTUTORIAL_CH
|
|
|
02/26/2012, 20:06
|
#10
|
elite*gold: 0
Join Date: Sep 2010
Posts: 783
Received Thanks: 920
|
thats good,ill share some patches i got next friday
|
|
|
02/26/2012, 21:36
|
#11
|
elite*gold: 0
Join Date: Feb 2011
Posts: 112
Received Thanks: 199
|
Quote:
Originally Posted by MAFIA001
Remove the annoying Quest:RaiseEvent Error- it appear to be bugged chinese tutorial quest
much easy fix just disable quest in db it named in RefQuest
service 0 QTUTORIAL_CH
|
Possible, but this is no solution.
Its like the well known Stall bug with the old server files:
Instead of fixing the bug we disabled it.
If you disable the quest, its missing ingame.
If you jump the error in gameserver you can still keep the Chinese Tutorial Quest in game 
But its a good solution for those who aren't talented with OllyDBG
|
|
|
02/27/2012, 00:36
|
#12
|
elite*gold: 844
Join Date: Oct 2010
Posts: 839
Received Thanks: 192
|
so nice work bro thx alot
|
|
|
02/27/2012, 03:10
|
#13
|
elite*gold: 0
Join Date: Jun 2011
Posts: 691
Received Thanks: 521
|
Quote:
Originally Posted by evelknievel10
This Thread contains many Assembly edits which are useful if you run a Vsro P-Server.
Requirments:
Ollydbg (  )
Small tutorial how to use OllyDBG:
- if you start OllyDBG, simply drag the file you want to check in the OllyDBG window (in this case the SR_GameServer.exe of VSRO). Let Olly analyze the file completly (black bar at the bottom)
- The lines are working like this: Expression |. Binary | Assemble | Comment
- If i give you an expression, just press CTRL+G to get there. It will get you to the line of the procedure which we want to edit.
- All numbers are in floats or in hex. We just need a hex <-> dezimal converter. I prefer you to use the Windows Calculator for this, but you can use any.
- to edit the lines, doubleclick on the Assemble code. A new Window appears, just replace the content. After edit, the line is red. Make sure you select all edited lines and copy them to executeable (more infos about save later)
First of all, the GameServer edits.
Changing Max Level:
This is the line for the max character level.
Code:
004E52C7 |. 80F9 50 CMP CL,6E
Press CTRL+G and fill in 004E52C7
It will bring you to this line.
DoubleClick on CMP CL,6E and edit it to CMP CL,(Your max lv in hex)
For example
Code:
CMP CL,78 for lv 120.
Additional fix to prevent crash after lv 110:
This is the line.
Code:
004E5471 817C24 20 B40>cmp dword ptr [esp+20], 1B4
Change "dword ptr [esp+20], 1B4" to "dword ptr [esp+20], 1E0" :
This is the final line:
Code:
004E5471 817C24 20 E00>cmp dword ptr [esp+20], 1E0
Changing Max Mastery Level:
This is the line:
Code:
0059C5E6 |. 3D 2C010000 CMP EAX,14A
Change 12C to the Max mastery level you want in hex. For example:
Code:
CMP EAX, 168 //for Mastery 360
Serverrates cap:
These are the lines.
For Expoint rates:
Code:
00B45B90 . 0000C842 DD FLOAT 100.0000
For Drop rates
Code:
00B45B84 . 0000C842 DD FLOAT 100.0000
Here you right click on the line, go to Edit and then Edit 32/64 Bit float.
Then change the number to the max server rates you want. This time, no Hex!
Remove the annoying Quest:RaiseEvent Error(It reduces the lag very much!!):
!!THIS EDIT IS NEW AND VERY IMPORTANT!!
This is the part. Go to the first expression, you will see the other lines behind it.
Code:
005805C8 . 56 push esi
005805C9 . 68 C4D8AF00 push 00AFD8C4
005805CE . 68 00000001 push 1000000
005805D3 . E8 68603B00 call 00936640
005805D8 . 83C4 0C add esp, 0C
Mark them all, then right click, Edit, Nop All
This Edit is good because it prevents the overfloat of the gameserver. the GS gets spammed with error infos, with this edit the GS doesnt show up this error anymore!
Removing the green book (Vsro 1.188)
Right click - Search for - for constants : 3122 (hex)
you'll find PUSH 3122
click on it,and look at the start of the routine,patch it to RETN
(Credits to NonStop, not proved if this works.)
To save the edited gameserver, use right click - edit - select all, then again right click - edit - copy to executeable.
Now right click in the new Window and then Save As... and save your file.
Now to the SRO_Client.exe edits.
Changing mastery showup:
This is the line:
Code:
006A51BC |. BF 2C010000 MOV EDI,14A
Change 14A to the Mastery limit you use in your GameServer. for example
Code:
MOV EDI,168 //for lv 360 mastery.
Change Party Matching level:
These are the lines:
Code:
0073940E 6A 6E PUSH 6E
00739453 6A 6E PUSH 6E
0073AFAE 6A 6E PUSH 6E
0073B013 6A 6E PUSH 6E
0073B030 6A 6E PUSH 6E
0073FA4C 6A 6E PUSH 6E
0073FAAF 6A 6E PUSH 6E
0073FACC 6A 6E PUSH 6E
Go to every single expression and change 6E to the Max level you use in your Gameserver. For example PUSH 78 for lv 120.
Fix the lv 120 Skills showup (you have to do this if you want to add 120 skills.)
This is the line:
Code:
005448B1 80B8 AC000000 7 CMP BYTE PTR DS:[EAX+0AC],6E
Change
Code:
CMP BYTE PTR DS:[EAX+0AC],6E //to
CMP BYTE PTR DS:[EAX+0AC],78
As I noticed most of the servers copied the PK2 and Client from DWO, Aurora or Class, because they were the first who got this edit from me (except Class, they were smart enough to find it themself) So now you can take a clean Client and pk2 and edit it as you want
Hope you like this tutorial
Regards,
ZubZero / Ra
|
Good job as always ZubZero/Ra  .
<3
|
|
|
02/27/2012, 04:23
|
#14
|
elite*gold: 0
Join Date: Feb 2010
Posts: 2,278
Received Thanks: 445
|
maybe this noob Q..but i need to ask
if i want the mastry to be 300 or even 200.....how i can do this
i mean how i can know the right value to put ?
i see here 14A =330
168 = 360
how you can know what the value of any mastry lvl
i cant understand it ^^
|
|
|
02/27/2012, 06:45
|
#15
|
elite*gold: 0
Join Date: Sep 2010
Posts: 783
Received Thanks: 920
|
Btw,are you ZubZero who played esro 2 with me?or he was liar?
|
|
|
All times are GMT +1. The time now is 21:42.
|
|