Post Reply 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
ClientVersion
Author Message
larmc20
Journeyman
*

Posts: 67
Likes Given: 0
Likes Received: 1 in 1 posts
Joined: May 2013
Reputation: 0



Post: #1
ClientVersion
Hello Guys. I'am Trying to make a Client Version Script, but I nedd some help.

PHP Code:
[function f_clientversion]
if (<
argo.clientversion> != 5.00.20)
    
argo.sysmessage @054 Somente sera aceito o client 5.0.2
    timerf 5
,disconnect
    
else 
        
argo.sysmessage @054 Voce esta com o client corretoBom jogo
endif 

I added this here.
Code:
// This function is called after client entered the password.
// ARGS --> username of the client logging in
// ARGO --> the client logging in
// RETURN
//      0 --> normal action (login)
//      1 --> disconnect the client
[FUNCTION f_onaccount_login]
src.timerf 3,argo.function f_clientversion

What Am I doing Wrong?
06-13-2013 02:20 PM
Find all posts by this user Like Post Quote this message in a reply
Shaklaban
Master
**

Posts: 378
Likes Given: 0
Likes Received: 1 in 1 posts
Joined: Mar 2012
Reputation: 8

DOT

Post: #2
RE: ClientVersion
clientversion returns string, you need to use strcmp.
06-13-2013 02:25 PM
Visit this user's website Find all posts by this user Like Post Quote this message in a reply
Gyros
Apprentice
*

Posts: 28
Likes Given: 1
Likes Received: 0 in 0 posts
Joined: Mar 2012
Reputation: 1



Post: #3
RE: ClientVersion
if !strmatch("<clientversion>","5.0.2")
06-13-2013 07:25 PM
Find all posts by this user Like Post Quote this message in a reply
larmc20
Journeyman
*

Posts: 67
Likes Given: 0
Likes Received: 1 in 1 posts
Joined: May 2013
Reputation: 0



Post: #4
RE: ClientVersion
Thanks mates...

well. It's complicated. When I type .f_clientversion the function ocurrs correctly...
but When I log in nothing happends...
I tried like this:

PHP Code:
[function f_onaccount_login]
function 
f_clientversion

[function f_clientversion]
if !
strmatch("<clientversion>","5.0.2")
    
sysmessage @054 Somente sera aceito o client 5.0.2
    disconnect
    
else 
        
sysmessage @054 Voce esta com o client corretoBom jogo
endif 

And Like this:
Insted typing here [function f_onaccount_login], I tried:
PHP Code:
[function f_clientversion]
on=@login
if !strmatch("<clientversion>","5.0.2")
    
sysmessage @054 Somente sera aceito o client 5.0.2
    disconnect
    
else 
        
sysmessage @054 Voce esta com o client corretoBom jogo
endif
return 


But I don't know why the function is never triggered when the char log in...
(This post was last modified: 06-14-2013 12:05 AM by larmc20.)
06-13-2013 11:09 PM
Find all posts by this user Like Post Quote this message in a reply
Breaker
Apprentice
*

Posts: 20
Likes Given: 0
Likes Received: 0 in 0 posts
Joined: Mar 2012
Reputation: 2



Post: #5
RE: ClientVersion
PHP Code:
[FUNCTION f_onaccount_login]
IF (<
ARGO.CLIENTVERSION>) // This check need for get client version for first step of login, because this function fires any connection actions (twice)
   
IF !StrMatch(2.0.3,<ARGO.CLIENTVERSION>)
      
SERV.LOG @Client use not available client version <ARGO.CLIENTVERSION>, available only 2.0.3
      ARGO
.SYSMESSAGE @026 You use not available client version.
      
ARGO.SYSMESSAGE @026 On server available only 2.0.3 client.
      
ARGO.SENDPACKET 082 B05 // --> send custom disconnect packet for client
      //RETURN 1 // --> default sphere disconnect the client
   
ENDIF
ENDIF 

Code:
Packet Name: Login Denied
Packet Number: 0x82
Sent By: Server
Size: 2 Bytes

[b]Packet Build[/b]
BYTE[1] cmd
BYTE[1] reason

[b]Notes[/b]
Login denied reasons (gump message):

0x00 - Incorrect name/password.
0x01 - Someone is already using this account.
0x02 - Your account has been blocked.
0x03 - Your account credentials are invalid.
0x04 - Communication problem.
0x05 - The IGR concurrency limit has been met.
0x06 - The IGR time limit has been met.
0x07 - General IGR authentication failure.
(This post was last modified: 06-14-2013 03:16 AM by Breaker.)
06-14-2013 03:07 AM
Visit this user's website Find all posts by this user Like Post Quote this message in a reply
larmc20
Journeyman
*

Posts: 67
Likes Given: 0
Likes Received: 1 in 1 posts
Joined: May 2013
Reputation: 0



Post: #6
RE: ClientVersion
Thanks Breaker. I realized the problem is deeper than i thought.

Well. If i block unencrypted clients to log in, this script work really fine, and allow only client 5.0.2 to log in.
however, I need players to use Injection, EUO, RAZOR...

If I allow them to log in with unencrypted client they will log in using injection or razor using 3.0.0c client which there is lots 'n lots of bug.

What I'd like to know is if there is a way to let them log in using razor, EUO, stealth or injection but ONLY with client 5.0.2.
06-14-2013 08:35 AM
Find all posts by this user Like Post Quote this message in a reply
Breaker
Apprentice
*

Posts: 20
Likes Given: 0
Likes Received: 0 in 0 posts
Joined: Mar 2012
Reputation: 2



Post: #7
RE: ClientVersion
For this need make client custom protection (by DLL for client\server) as lil.dll \ modifed wsock32.dll. You need find programmer for write wsock32.dll with yours checks and inject this dll for server and clients.
imho

Library "lil.dll" writted by Fallout on C language. But can write analog on delphi, or other language.
(This post was last modified: 06-14-2013 11:56 PM by Breaker.)
06-14-2013 11:54 PM
Visit this user's website Find all posts by this user Like Post Quote this message in a reply
larmc20
Journeyman
*

Posts: 67
Likes Given: 0
Likes Received: 1 in 1 posts
Joined: May 2013
Reputation: 0



Post: #8
RE: ClientVersion
well, Now I see the big black hole mate...
Got fuc**d up... LOL
I'll talk to some friend 'n see what they can do for that... thanks for the advise!
06-15-2013 06:22 AM
Find all posts by this user Like Post Quote this message in a reply
larmc20
Journeyman
*

Posts: 67
Likes Given: 0
Likes Received: 1 in 1 posts
Joined: May 2013
Reputation: 0



Post: #9
RE: ClientVersion
Well guys. I think I got it....

At least here is working with razor and other macro programs, and allow only 5.0.2 to log in even if change the encryption.

I dont have Injection yet, so I couldnt test with that. But I think will work fine.

PHP Code:
[DIALOG d_Clientversion]
0,0
NOCLOSE
NOMOVE
NODISPOSE
page 0
resizepic 140 69 9200 254 205
text 202 79 0 0
htmlgump 165 129 209 77 1 0 0
button 238 232 1306 248 1 0 0

[DIALOG d_Clientversion text]
ClientVersion Check
Para uma melhor jogabilidade no servidor serĂ¡ aceito apenas o client 5.0.2d

[DIALOG d_Clientversion button]
ON=0
// Button 1
// 
    
IF (<src.clientversion>) // This check need for get client version for first step of login, because this function fires any connection actions (twice)
            
IF !StrMatch(<src.clientversion>,5.0.2)
                    
SERV.LOG @Client use not available client version <src.clientversion>, available only 5.0.2d
                    src
.SYSMESSAGE @026 You use not available client version.
                  
src.SYSMESSAGE @026 On server available only 5.0.2 client.
                 
src.SENDPACKET 082 B05 // --> send custom disconnect packet for client
        
endif
endif
    if (<
src.reportedcliver>)
         if !
strmatch(<reportedcliver>,5.0.2)
                    
SERV.LOG @Client use not available client version <reportedcliver>, available only 5.0.2d
                      src
.SYSMESSAGE @026 You use not available client version.
                  
src.SYSMESSAGE @026 On server available only 5.0.2 client.
             
src.SENDPACKET 082 B05 // --> send custom disconnect packet for client
        
ENDIF
ENDIF 


[
EOF
06-16-2013 02:52 AM
Find all posts by this user Like Post Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 1 Guest(s)