|
You last visited: Today at 22:40
Advertisement
[Release] CheckClientVersion Compare-BugFix
Discussion on [Release] CheckClientVersion Compare-BugFix within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.
04/20/2013, 17:01
|
#1
|
elite*gold: 100
Join Date: Jun 2009
Posts: 168
Received Thanks: 711
|
[Release] CheckClientVersion Compare-BugFix
If u don't know, in the client and in the game there's a "number" (a const char* converted as a number with atoi in game, ps. atoi evaluates to 0 if the "number" contains characters not-digits)
The default value is 1215955205 (g_stClientVersion), if the client version is smaller than the game ur character'll disconnect in 10 seconds with a message like this "U must patch the client to play" (u can declare it in locale_string.txt)
The problem is this:
Code:
client 1215955205 server 1215955205 = no logout
client 1215955204 server 1215955205 = logout
client 1215955206 server 1215955205 = no logout [bug]
client 9999999999 server 1215955205 = no logout [bug]
Yes, if clientversion > serverversion, the character'll not disconnect!
Here a dif to fix this problem:
Code:
This difference file has been created by IDA Pro
game_r2089M
000E0373: 8E 84
Code:
This difference file has been created by IDA Pro
game_r34083
000F4904: 8E 84
Code:
This difference file has been created by IDA Pro
game_r40250
00100819: 8E 84
Code:
This difference file has been created by IDA Pro
game_r40267
001000C9: 8E 84
Code:
This difference file has been created by IDA Pro
game_r40424
00100A79: 8E 84
With this edit, if clientversion != serverversion = character'll always disconnect!
|
|
|
04/20/2013, 17:17
|
#2
|
elite*gold: 0
Join Date: Jan 2010
Posts: 5
Received Thanks: 1
|
No one is using it anyway.
|
|
|
04/20/2013, 17:20
|
#3
|
elite*gold: 60
Join Date: May 2010
Posts: 766
Received Thanks: 1,025
|
Quote:
Originally Posted by serq
No one is using it anyway.
|
no one use 2089 thats why and because many of us guys just know can change client version just some weeks ago
tanks lollo_9_1 that very cool from u release that
|
|
|
04/20/2013, 17:33
|
#4
|
elite*gold: 0
Join Date: Jan 2010
Posts: 5
Received Thanks: 1
|
Quote:
Originally Posted by .Rebel
no one use 2089 thats why and because many of us guys just know can change client version just some weeks ago
tanks lollo_9_1 that very cool from u release that
|
weeks ? you mean years. At lest we knew it. Let me see
Code:
http://www.mpcforum.pl/topic/285168-tutsprawdzanie-wersji/
29.01.2011
|
|
|
04/20/2013, 17:43
|
#5
|
elite*gold: 50
Join Date: May 2011
Posts: 270
Received Thanks: 991
|
Thanks, but I already corrected myself almost two months ago.
I wanted to release it.. But I forget 
Here is my prewritten post:
Here is a little fix for this cool stuff.
This dif change the JLE in 'if' to JZ.
TESTED! Works, but the clientversion define with config is not working.
(clientversion: 1215955206)
You have to change the clientversion in game file on offset: 2FE3F7 in game_r2089M_32.
The original function is:
Code:
if [serverCV] > [binaryCV] do
send(warn_message)
do_logout()
In Pseudo:
Code:
if ( v43 > v42 ) {
v44 = locale_find(v25, v41, (int)&unk_8346A5C);
CHARACTER__ChatPacket(v2, 2, (const char *)v44, v42, v74, v75, v76, v77, v78);
DESC__DelayedDisconnect(v45, a2, a2, 10);
if ( !singleton_LogManager___ms_singleton )
__assert("instance", "../../common/singleton.h", 26);
LogManager__HackLog(singleton_LogManager___ms_singleton, "VERSION_CONFLICT", v2);
v76 = *(_DWORD *)(a2 + 552);
v75 = g_stClientVersion;
v74 = *(char **)(a2 + 24);
v73 = CHARACTER__GetName(v2);
sys_log(
0,
"VERSION : WRONG VERSION USER : account:%s name:%s hostName:%s server_version:%s client_version:%s",
a2 + 84);
}
With the dif:
Code:
if [serverCV] != [binaryCV] do
send(warn_message)
do_logout()
In Pseudo:
Code:
if ( v43 != v42 )
{
v44 = locale_find(v25, v41, (int)&unk_8346A5C);
CHARACTER__ChatPacket(v2, 2, (const char *)v44, v42, v74, v75, v76, v77, v78);
DESC__DelayedDisconnect(v45, a2, a2, 10);
if ( !singleton_LogManager___ms_singleton )
__assert("instance", "../../common/singleton.h", 26);
LogManager__HackLog(singleton_LogManager___ms_singleton, "VERSION_CONFLICT", v2);
v76 = *(_DWORD *)(a2 + 552);
v75 = g_stClientVersion;
v74 = *(char **)(a2 + 24);
v73 = CHARACTER__GetName(v2);
sys_log(
0,
"VERSION : WRONG VERSION USER : account:%s name:%s hostName:%s server_version:%s client_version:%s",
a2 + 84);
}
CV: ClientVersion
Here is the dif file for Infinity game file game_r2089M_32
Code:
This difference file is created by The Interactive Disassembler
game_r2089M_32
000E0373: 8E 84
|
|
|
10/27/2013, 15:57
|
#6
|
elite*gold: 0
Join Date: Feb 2012
Posts: 185
Received Thanks: 127
|
The game34083 does not work ...
|
|
|
10/27/2013, 16:18
|
#7
|
elite*gold: 1
Join Date: Oct 2012
Posts: 1,036
Received Thanks: 801
|
it work, tested :3
i mean on my game it works :d which version you have stripped? not stripped 8 mb? not stripped with func names 62 mb?
|
|
|
10/27/2013, 16:48
|
#8
|
elite*gold: 265
Join Date: Oct 2010
Posts: 50
Received Thanks: 5
|
Tested on 8mb version and not working
|
|
|
10/27/2013, 18:40
|
#9
|
elite*gold: 0
Join Date: Feb 2012
Posts: 185
Received Thanks: 127
|
Quote:
Originally Posted by [SA]Tears aka.[BlackBite]
it work, tested :3
i mean on my game it works :d which version you have stripped? not stripped 8 mb? not stripped with func names 62 mb?
|
My Game has 6 MB.
|
|
|
10/27/2013, 18:45
|
#10
|
elite*gold: 8
Join Date: Sep 2013
Posts: 597
Received Thanks: 18
|
Not working ^^.
But thanks.
|
|
|
10/28/2013, 04:20
|
#11
|
elite*gold: 1
Join Date: Oct 2012
Posts: 1,036
Received Thanks: 801
|
hmm i8 have the ~63mb version and there it works
|
|
|
10/28/2013, 11:37
|
#12
|
elite*gold: 265
Join Date: Oct 2010
Posts: 50
Received Thanks: 5
|
Strange , maybe in 6~8MB some bytes are changed ..
|
|
|
10/28/2013, 11:58
|
#13
|
elite*gold: 1
Join Date: Oct 2012
Posts: 1,036
Received Thanks: 801
|
possible that the offsets/bytes are different and thats the reason why it work only on my game
|
|
|
10/28/2013, 12:02
|
#14
|
elite*gold: 65
Join Date: Oct 2013
Posts: 168
Received Thanks: 11
|
Funtkuniert nicht!
Doesn´t Work!
|
|
|
10/28/2013, 12:45
|
#15
|
elite*gold: 0
Join Date: May 2010
Posts: 86
Received Thanks: 16
|
63MB r34083 game test %100 working
6 ~~ 8 mb fail
|
|
|
 |
|
Similar Threads
|
Need some help with image compare
07/22/2012 - AutoIt - 0 Replies
I managed to write this primitive code, I know it was possible to put loops or smthg and this code make to 100lines. So everything worked fine till i wrote variables like $1, $2. When I start code it gives me general error with that dont send, microsoft shit. Any idea why its is?
#include <GDIPlus.au3>
;===============================
Global $1,$2,$3,$4,$5
;===========================================
_GDIPlus_Startup()
;=========compare with===================
$fname1 = @ScriptDir & ...
|
Compare Between Pet
04/13/2010 - Grand Chase Philippines - 32 Replies
Ask lang po ako... ano po ba mas mainam gamitin na pet sa dungeon at sa
pvp... same kc cla cute sarap gawing stuff toy ang mga to....
|
Value Compare 3/4
10/28/2007 - Kal Online - 3 Replies
Also wie der Titel scho sagt versuch ich rauszufinden wie ich auf die Value komm, die man eintragen muss um beispielsweise auf Staggering Blow zu kommen!
Gibt hier zwar ne Liste wo drin steht, dass der Wert 3000 ist und klappt auch... aber wär doch interessant zu verstehen warum es jetzt genau 3000 is...also wo kann ich den Wert ablesen/wie find ich den raus?
|
Compare
07/20/2007 - Silkroad Online - 3 Replies
hi guys.. this is my character's current stats.. can other pure str bladders tell me if my stat's are okay and the things i might need to do to improve it.. i'm currently lvl 78. here's a pic of my statshttp://i110.photobucket.com/albums/n94/shif7i 7down/me.jpg
|
All times are GMT +1. The time now is 22:42.
|
|