|
You last visited: Today at 07:10
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.
04/25/2015, 23:01
|
#76
|
elite*gold: 0
Join Date: Apr 2011
Posts: 53
Received Thanks: 1
|
Quote:
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!
|
waht do u mean with Nop All, edit to what??? i dont understand that sry for my bad english
|
|
|
07/13/2015, 18:58
|
#77
|
elite*gold: 0
Join Date: Feb 2012
Posts: 551
Received Thanks: 46
|
Quote:
Originally Posted by evelknievel10
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
|
i made this and i still get crash after reaching Lv 110 99.99% up to Lv 1111
|
|
|
12/15/2015, 21:54
|
#78
|
elite*gold: 0
Join Date: Jun 2012
Posts: 27
Received Thanks: 5
|
Thx
|
|
|
01/26/2017, 22:51
|
#79
|
elite*gold: 0
Join Date: Nov 2016
Posts: 21
Received Thanks: 0
|
Help me please
Quote:
Originally Posted by evelknievel10
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
|
What would be the procedure to correct the error Quest: RaiseEvent?
I'm new to OllyDBG.
Help me please
|
|
|
12/28/2021, 17:50
|
#80
|
elite*gold: 0
Join Date: Mar 2016
Posts: 111
Received Thanks: 8
|
If you getting crash after maxing Skills please change:
SRO_Client Max Skill:
009448B1 |. 80B8 AC000000 >CMP BYTE PTR DS:[EAX+AC],5A
Open olly DBG CTRL + G > paste: 009448B1 > Binary edit > then use Calculation at the of the line
Calculation:
46= 70Lv
50= 80Lv
5A= 90Lv
6E= 110Lv
78= 120Lv
82= 130Lv
8C= 140Lv
It wont happent again. Enjoy your day.
|
|
|
All times are GMT +1. The time now is 07:11.
|
|