L2J Architecture

This is not a Support area! Discuss about the Server here. Non-Server related discussion goes in Off-Topic Discussion.
Forum rules
READ NOW: L2j Forums Rules of Conduct
User avatar
UnAfraid
L2j Veteran
L2j Veteran
Posts: 4199
Joined: Mon Jul 23, 2007 4:25 pm
Location: Bulgaria
Contact:

Re: L2J Architecture

Post by UnAfraid »

LasTshaMAN wrote:
Login Server is listening for client connections on 2106 port and on 9014 for Game Server connections.
Login Server handles client authentication, username and password validation, as well as game server access, when user is validated and able to proceed to the game server login generates two keys and gives them to client which gives to game server (and it verifies them with login server) and there Login Server ends his job.

They are made in separate packages for complete isolation in fact when you build project it only includes the required packages to each jar (You can see build.gradle)
It took me quite some time to find how things described above are accomplished in the code. But I still don't understand, why the login process was made in such a complex way(may be complex is not the right word, consider repetitive instead).

First, does anybody here know why NCZ0ft made client to authenticate through one socket and proceed with game activities connecting through another socket ? I don't see any good reason for this. Why couldn't they just connect client through one socket with server, making login activity just as a part of the client-server interaction process ?

Second, I don't see any good reason for making repetitive actions. Namely, client performs authentication at login server and then client basically performs authentication again at game server(this game server authentication is the check conducted by game server via communicating with login server). Does something prevent me from making this client, login server, game server triplet just client, server with login part of the communication process ?
They use this login protocol for all their games, lineage, aion, (probably those as well: guild wars, blade and soul, etc..)
As u start get more deeply within lineage 2 development u'll have more such questions why things are made that way there are multiple cases where things are done really badly :)
Image
LasTshaMAN
Posts: 12
Joined: Wed Nov 04, 2015 10:38 pm

Re: L2J Architecture

Post by LasTshaMAN »

As u start get more deeply within lineage 2 development u'll have more such questions why things are made that way there are multiple cases where things are done really badly :)
Are you talking about poor L2J implementation here or you are talking about questionable NCZ0ft's decisions, which influence the way you implement server component (things like 2 sockets on the client) ?
User avatar
Aikimaniac
L2j Inner Circle
L2j Inner Circle
Posts: 3048
Joined: Sun Aug 07, 2005 11:42 pm
Location: Slovakia

Re: L2J Architecture

Post by Aikimaniac »

Why you do not contact NCZ0ft and ask them directly about why they did it the way they did actually did it? You can spare the walls of text you posted during several last days in this way and maybe you get the answers you would like to get... :clap:
Image
User avatar
Gladicek
Posts: 634
Joined: Wed Jan 19, 2011 6:25 pm
Location: Czech Republic

Re: L2J Architecture

Post by Gladicek »

NoobSoft is just lazy to do things right....
ImageImage
L2J retired
Sdw
L2j Veteran
L2j Veteran
Posts: 855
Joined: Mon May 03, 2010 8:38 am
Location: France

Re: L2J Architecture

Post by Sdw »

Aikimaniac wrote:Why you do not contact NCZ0ft and ask them directly about why they did it the way they did actually did it? You can spare the walls of text you posted during several last days in this way and maybe you get the answers you would like to get... :clap:
Keep that spirit, you're doing great :/
Nik
L2j Veteran
L2j Veteran
Posts: 629
Joined: Fri Apr 18, 2008 9:09 pm

Re: L2J Architecture

Post by Nik »

@Aikimaniac, people say, if you don't have anything good to say, just don't say anything. Your comment was not even a bit helpful. For a person with inner status in a community that relies on questions and answers, you are being really professional in your contribution.
Playing a game where you know how every single mechanism works is quite satisfying.
Its the main perk that a gamer-developer has :D
User avatar
Aikimaniac
L2j Inner Circle
L2j Inner Circle
Posts: 3048
Joined: Sun Aug 07, 2005 11:42 pm
Location: Slovakia

Re: L2J Architecture

Post by Aikimaniac »

Nik wrote:@Aikimaniac, people say, if you don't have anything good to say, just don't say anything. Your comment was not even a bit helpful. For a person with inner status in a community that relies on questions and answers, you are being really professional in your contribution.
Asking about what NCZ0ft did intend to do and why they decide to do things the way they do is not a topic for this forums. Continue and the thread will be locked.
Image
LasTshaMAN
Posts: 12
Joined: Wed Nov 04, 2015 10:38 pm

Re: L2J Architecture

Post by LasTshaMAN »

Asking about what NCZ0ft did intend to do and why they decide to do things the way they do is not a topic for this forums. Continue and the thread will be locked.
I am asking questions about NCZ0ft's decisions because some of those decisions directly influence L2J architecture which is the topic of this thread.
I don't expect to get exact answers to those questions, rather I'd like to know your thoughts on the subject which will stimulate my thought process.
Nik
L2j Veteran
L2j Veteran
Posts: 629
Joined: Fri Apr 18, 2008 9:09 pm

Re: L2J Architecture

Post by Nik »

Aikimaniac wrote:
Nik wrote:@Aikimaniac, people say, if you don't have anything good to say, just don't say anything. Your comment was not even a bit helpful. For a person with inner status in a community that relies on questions and answers, you are being really professional in your contribution.
Asking about what NCZ0ft did intend to do and why they decide to do things the way they do is not a topic for this forums. Continue and the thread will be locked.
This is exactly a topic for this forums since this is what we do.
Why don't you go ask NCZ0ft why did they intend to make Lineage 2 and why they decide to make it like that, then come back here at the "Lineage 2 Java Server Emulator" stating that it is not a topic for this forum.
If discussion about Lineage 2 and the way it works should not be practiced here, please tell me, what forum are we? Hello Kitty Online?
We can see that discussing about Lineage 2's construction is none of your concern, so please, don't place unnecessary comments here. Either participate in the discussion by contributing a legit analysis and thought, or just go to some other thread where your knowledge and abilities allow you to contribute to its discussion.
Playing a game where you know how every single mechanism works is quite satisfying.
Its the main perk that a gamer-developer has :D
User avatar
jurchiks
Posts: 6769
Joined: Sat Sep 19, 2009 4:16 pm
Location: Eastern Europe

Re: L2J Architecture

Post by jurchiks »

Wow, Aiki's still continuing with that great attitude...
If you have problems, FIRST TRY SOLVING THEM YOURSELF, and if you get errors, TRY TO ANALYZE THEM, and ONLY if you can't help it, THEN ask here.
Otherwise you will never learn anything if all you do is copy-paste!
Discussion breeds innovation.
User avatar
KGB1st
Posts: 230
Joined: Sat Jul 26, 2014 5:58 pm

Re: L2J Architecture

Post by KGB1st »

Hallo people. I know that you can help me with my idea. I want to make premium or VIP system for my server. I think that at first I must update `character` table (or will be create new) on my DB. Then I must will be edit some class(es) in L2JServer for new parameters initialization and after this can operate with this parameters as with objects, or values. Can you prompt me to start? Thx.

For example I need make one cell in DB, initialize it when all char params will be start initialize and then use value in custom script
Sacrifice
Advanced User
Advanced User
Posts: 1026
Joined: Thu Aug 14, 2014 6:31 am

Re: L2J Architecture

Post by Sacrifice »

Team dont give you or give us support about custom modifications... Get a life for yourself...
DevOps and Java Developer using Eclipse, Java 21, MySQL 8.0+
User avatar
KGB1st
Posts: 230
Joined: Sat Jul 26, 2014 5:58 pm

Re: L2J Architecture

Post by KGB1st »

okay, if I tried to ask about standard features, can I hear some information about how it works?
User avatar
Zoey76
L2j Inner Circle
L2j Inner Circle
Posts: 7005
Joined: Tue Aug 11, 2009 3:36 am

Re: L2J Architecture

Post by Zoey76 »

KGB1st wrote:okay, if I tried to ask about standard features, can I hear some information about how it works?
I would create a new table for this and keep all the VIP data separated from the game data, I'd also implement a cache for this data that it's in synch with the database information, so you can update it through a web or something else, and in the code I'd add listeners for the events I want for the VIP users.
Powered by Eclipse 4.30 🌌 | Eclipse Temurin 21 ☕ | MariaDB 11.2.2 🗃️ | L2J Server 2.6.3.0 - High Five 🚀

🔗 Join our Discord! 🎮💬
Post Reply