Register for your free account! | Forgot your password?

Go Back   elitepvpers > Popular Games > Metin2 > Metin2 Private Server > Metin2 PServer Guides & Strategies
You last visited: Today at 23:51

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[How-To] How to speed up the auth login in few seconds!

Discussion on [How-To] How to speed up the auth login in few seconds! within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.

Reply
 
Old   #1
 
lollo_9_1's Avatar
 
elite*gold: 100
Join Date: Jun 2009
Posts: 168
Received Thanks: 711
Arrow [How-To] How to speed up the auth login in few seconds!

Well, such a thing is quite easy, and I know it since 2011~2012 (when the first 30k game cores were released to be more precise).
You can find some diff patch files of that time for 30k game cores on the web that do this, but I will explain to you how to do it via source code editing.

Before all, why the 40k game core files have a login more slower than usual? That's because ymir implemented an additional encryption security using cryptopp, and at login, they added some key agreement checks, which ended up the login to be more slower.

You can actually disable such a feature, so that you can have the login fast like the old game revisions had. (r2089m or before)
Disabling it will actually remove the "key agreement" issue, and will encrypt the connection with a static xtea key instead of some dynamic mixed cryptopp algorithms.

The edit is quite simple:

Via server, you have to go and edit ^/Srcs/Server/common/service.h
commenting
Code:
#define _IMPROVED_PACKET_ENCRYPTION_
to
Code:
// #define _IMPROVED_PACKET_ENCRYPTION_

Via client, same story for ^/Srcs/Client/EterBase/ServiceDefs.h
commenting
Code:
#define _IMPROVED_PACKET_ENCRYPTION_
to
Code:
// #define _IMPROVED_PACKET_ENCRYPTION_

Additionally, in the client, you must also edit the archaic pong from ^/Srcs/Client/UserInterface/Locale.cpp like this:
find
Code:
#define LSS_SECURITY_KEY    "testtesttesttest"
change it to
Code:
#define LSS_SECURITY_KEY    "1234abcd5678efgh"
Video of a quick login: (using a second rate connection, and with 4810 programs opened simultaneously)




Here how the code should be at the end:


Enjoy your abione.
lollo_9_1 is offline  
Thanks
23 Users
Old 04/23/2016, 01:46   #2
 
Lauling's Avatar
 
elite*gold: 315
Join Date: Jun 2012
Posts: 5,158
Received Thanks: 4,814
this security option what we have to disable, what make that?
Lauling is offline  
Thanks
1 User
Old 04/23/2016, 14:00   #3
 
elite*gold: 0
Join Date: Apr 2016
Posts: 3
Received Thanks: 0
It's good and beautiful, but I want to know it too
I think Ymir did not make it "just because".
TrueLev is offline  
Old 04/23/2016, 16:03   #4
 
kstmr's Avatar
 
elite*gold: 0
Join Date: Feb 2012
Posts: 95
Received Thanks: 29
Quote:
Originally Posted by TrueLev View Post
It's good and beautiful, but I want to know it too
I think Ymir did not make it "just because".
umh , umh , ymir did it inorder to protect the client a bit more but there was some small problem in the code , the problem is where is that bug.
you have a choice :
1- less protected yet faster and unbugged. (2/3)
2- more proteceted yet slower and bugged. (1/3)
i would go for 1 the choice is yours.
btw,this protection won't change anything unless you are dealing with someone who has a lot of free time.
kstmr is offline  
Old 04/23/2016, 16:41   #5
 
lollo_9_1's Avatar
 
elite*gold: 100
Join Date: Jun 2009
Posts: 168
Received Thanks: 711
Quote:
Originally Posted by TrueLev View Post
It's good and beautiful, but I want to know it too
I think Ymir did not make it "just because".
As written in the first post, in the past (r2089m or before), the connection between client and game was encrypted using a xtea key specified in the launcher. In the recent revs (30k, 40k), the key is specified by the server after the player logs in, and encrypts the connection using mixed cryptopp algorythms.

A man in the middle can sniff the packets either _IMPROVED_PACKET_ENCRYPTION_ is defined or not, since people can easily emulate and crack the code (since it's leaked). So you're doomed either cases.

People also created client-less bots for both circumstances, and you also can find a ymir script that does the same.

There's a much high possibility of being hacked running a fake launcher.exe received on skype, via team viewer, or sql injected from the website.

Anyway, a scenario in which you could get a man in the middle is kinda improbable. Someone should be between your server and internet. Something like an illegal serverfarm sniffing its own servers. (there are other ways, but this could be the most probable in these days)
The worst problem you could get from it would be that the sniffer can get all the players' passwords that tried to log in, and all the normal/private/guild messages.
It can't breakthrough your ftp or database via metin2 processes, just to say.
lollo_9_1 is offline  
Thanks
3 Users
Old 04/24/2016, 04:17   #6
 
elite*gold: 0
Join Date: Jul 2011
Posts: 25
Received Thanks: 15
Still, cant see why you simply didnt removed the client timers.
Theres a timer when you choose the char, you just remove/make it shorter and done, you have the same login speed without disabling improved_packet.

Also, doesnt matter at all those programs open, metin2 uses really low traffic, so the login process is just some kbs. Even if you're downloading anything at mega (using most of your bandwitch) the speed isnt affected.

Actually your pack organization can affect more the speed then or bandwitch.

With that said, only with timers removed i got a 8s (since login to in-game char) login time in a official-like client and 6s login time with a custom one.

As you see in your video, your client hangs for about 3 seconds when you choose the char to when it actually starts loading.

Tl;dr
You dont need at all to disable it.
Remove client timer after choosing char
redryan is offline  
Old 04/24/2016, 10:02   #7
 
lollo_9_1's Avatar
 
elite*gold: 100
Join Date: Jun 2009
Posts: 168
Received Thanks: 711
Quote:
Originally Posted by redryan View Post
1) Theres a timer when you choose the char, you just remove/make it shorter and done, you have the same login speed without disabling improved_packet.

2) Also, doesnt matter at all those programs open,

3) metin2 uses really low traffic, so the login process is just some kbs.

4) You dont need at all to disable it.
Remove client timer after choosing char

5) Actually your pack organization can affect more the speed then or bandwitch.
1) That delay is in there to execute the selected.gr2 animation to its fullest. It can be removed, so that the execution time can be shortened of few seconds even more.
It's unaesthetic for many, but I could add a how-to for that too.
2) Character/World rendering will be slower, so much that the select phase window will appear a bit delayed.
3) Faster the ping, faster the login response. You can't compare a 3ms of ping connection with a 60ms one. (which you can gain 1.5s and even more; login phase won't have any delay at all)
4) This how-to is primary for auth login, not character selection
5) People could actually map the entire client on ram disk if they have enough ram, so that they won't have the limitation speed of a hdd, and it's also way too faster than an ssd too. (mainly talking about the uiloading phase)
It uses no bandwidth in processing the client\pack files, except if you use type 3-4-5. (packing a big pack entirely with type 5 could actually affect the network)
lollo_9_1 is offline  
Old 04/24/2016, 10:18   #8
 
elite*gold: 0
Join Date: Apr 2016
Posts: 3
Received Thanks: 0
To disable timer:
introselect.py

Serach for this: if app.GetTime() - self.startReservingTime > 3.0:
Rewrite 3.0 example 1.0

(With 1.0, you will see the full animation)
TrueLev is offline  
Old 04/24/2016, 11:09   #9
 
.Liron's Avatar
 
elite*gold: 0
Join Date: May 2014
Posts: 292
Received Thanks: 519
Thank you for this release. It is quite useful.

Mfg .Liron
.Liron is offline  
Old 04/24/2016, 12:36   #10
 
lollo_9_1's Avatar
 
elite*gold: 100
Join Date: Jun 2009
Posts: 168
Received Thanks: 711
Quote:
Originally Posted by TrueLev View Post
To disable timer:
introselect.py

Serach for this: if app.GetTime() - self.startReservingTime > 3.0:
Rewrite 3.0 example 1.0

(With 1.0, you will see the full animation)
I tested changing
Code:
			if app.GetTime() - self.startReservingTime > 3.0:
to (just to keep a valid block in there)
Code:
			if True:
And the animation was still executed till the end, but without the 3s delay after that. So it's ok.
lollo_9_1 is offline  
Thanks
1 User
Old 04/28/2016, 12:24   #11
 
elite*gold: 0
Join Date: Apr 2016
Posts: 26
Received Thanks: 5
Thank you.
Leibauer is offline  
Old 04/28/2016, 13:38   #12
 
-Exploit's Avatar
 
elite*gold: 320
The Black Market: 154/1/0
Join Date: May 2015
Posts: 3,441
Received Thanks: 383
Quote:
Originally Posted by lollo_9_1 View Post
I tested changing
Code:
			if app.GetTime() - self.startReservingTime > 3.0:
to (just to keep a valid block in there)
Code:
			if True:
And the animation was still executed till the end, but without the 3s delay after that. So it's ok.
Vielen dank.
-Exploit is offline  
Old 05/30/2016, 17:26   #13
 
fcsk_aim's Avatar
 
elite*gold: 100
Join Date: Dec 2014
Posts: 93
Received Thanks: 51
**** tutorial , and useless.
I tested those things since 2014.

If you do this :
- Unknow packet headers error (kick players) Server side
- Sequence errors (Kick players ) Server side
- Buffer overflow errors (Kick Players) Server side

If you disable this improved_packet this code will be valid one
Code:
sys_err ("desc buffer mem_size overflow. memsize(%u) write_pos(%u) iSize(%d)", m_lpOutputBuffer->mem_size, m_lpOutputBuffer->write_point_pos, iSize);
Just disable improved_packet_encryption and install offline shop. You will get buffer overflow prolems.

I disabled this improved_ since 2014, and to fix these errors you need to reactivate seqeunce(Actually is incomplete) and also you need to make a buffer_adjust function, like me.

JUST A WARNING. **** tutorial, never do this.
fcsk_aim is offline  
Old 05/30/2016, 17:39   #14
 
lollo_9_1's Avatar
 
elite*gold: 100
Join Date: Jun 2009
Posts: 168
Received Thanks: 711
Quote:
Originally Posted by fcsk_aim
blabla
You what? Keep stealing work like you always do, but hide yourself before speaking again to me.
There's no way you tested it in 2014 if you were asking in 2015 how to compile the source files. HAHA (even if you did, nobody cares since you got bugs)

0 problems of packet mismatch. 0 kicks. All perfectly fine so far.

I have people who have the offlineshop system (purchased from ken, not stolen work like the one you have) and the _IMPROVED_PACKET_ENCRYPTION_ macro commented. Result? 0 problems of packet mismatch. 0 kicks. All perfectly fine so far.

NOW GET OUT OF HERE AND NEVER SPEAK TO ME AGAIN.

lollo_9_1 is offline  
Thanks
6 Users
Old 05/30/2016, 17:48   #15
 
fcsk_aim's Avatar
 
elite*gold: 100
Join Date: Dec 2014
Posts: 93
Received Thanks: 51
Quote:
Originally Posted by lollo_9_1 View Post
You what? Keep stealing work like you always do, but hide yourself before speaking again to me.
There's no way you tested it in 2014 if you were asking in 2015 how to compile the source files. HAHA (even if you did, nobody cares since you got bugs)


0 problems of packet mismatch. 0 kicks. All perfectly fine so far.

I have people who have the offlineshop system (purchased from ken, not stolen work like the one you have) and the _IMPROVED_PACKET_ENCRYPTION_ macro commented. Result? 0 problems of packet mismatch. 0 kicks. All perfectly fine so far.

NOW GET OUT OF HERE AND NEVER SPEAK TO ME AGAIN.
Let's talk ajust about topic. Nobody care about our problems.
Some of my customers tested this, 3 of my customers tested with IMPROVED_PACKET disable.

And always buffers get overflow. All buffered packet's will overflow.
To fix this i used Libuv for auto adjust buffers

Just try it, when you server will reach 100 players. Buffer overflow will come. Belive me , is tested by 3 of my customers.

And about stolen work, if you will answer me on skype i can send you proofs and you can see is nothing stolen from you.
fcsk_aim is offline  
Reply

Tags
fast login, lollo_9_1, metin2


Similar Threads Similar Threads
AUTH/LOGIN CRASH
04/02/2013 - Metin2 Private Server - 0 Replies
Deutsch:Bitte loggen Sie sich Rancoroso.Va Bug ServerFile kann ich ein Skript erstellen, um sich automatisch anzumelden autologin.sh CH1, CH2 und rancoroso serverifile Datenbank! dank. English: Please login Rancoroso.Va bug Server File I can create a script to automatically login autologin.sh CH1, CH2 and rancoroso serverifile database! thanks. Deutsch:Gute Client-, Server nicht jetzt nicht fragen, Problem ist, dass fallen login / auth nach ein paar Minuten, die Spieler, die online auf dem...
2010 Serverfiles Login bug? :( (Auth)
06/01/2011 - Metin2 Private Server - 3 Replies
.
Hilfe auth und login
11/10/2010 - Metin2 Private Server - 3 Replies
Hi Habe ein problem wenn ich mich mit meinem Client einlogge loggt er ein aber nach der carackter auswahl kickt er mich . Ist ein Dyndns server Eintrag aus der syserr der : SYSERR: Nov 10 14:56:27 :: DirectQuery: AsyncSQL::DirectQuery : mysql_query error: MySQL server has gone away query: select card_id FROM `mat_user` WHERE username='humaxo11



All times are GMT +1. The time now is 23:53.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.