LCKB
Summary of how it's built - Printable Version

+- LCKB (https://lckb.dev/forum)
+-- Forum: ** OLD LCKB DATABASE ** (https://lckb.dev/forum/forumdisplay.php?fid=109)
+--- Forum: Guides & Help Section (https://lckb.dev/forum/forumdisplay.php?fid=193)
+---- Forum: Help & Support (https://lckb.dev/forum/forumdisplay.php?fid=157)
+----- Forum: General Support (https://lckb.dev/forum/forumdisplay.php?fid=203)
+----- Thread: Summary of how it's built (/showthread.php?tid=4936)



- RGT - 11-13-2022


Hey good community of LCKB ?

I have been wanting to expand my limited knowledge of how it all works for quite some time now, and after hours of browsing through different forums and sections without finding a solid definition of how LC is built I thought it was high time we made a topic about it. I'm sure this is really obvious for some, hence this should be a fairly short topic.

The question is, how is the typical server build structure-wise? Assuming we all know the components you need to make a server, how does the different systems integrate into each others? What parts do you have to edit on the client side, and what parts are edited in database side? Is there any clear definition on this? 

Example: All the different names you see in the game needs to be edited on the database side


A big and possibly dumb question im sure, and if I'm completely out of line asking it then we can go ahead and remove the topic ?  But it would be great help to new people to get a basic understanding of it all. 




- nicolasg - 11-13-2022



5 hours ago, RGT said:




Hey good community of LCKB ?



I have been wanting to expand my limited knowledge of how it all works for quite some time now, and after hours of browsing through different forums and sections without finding a solid definition of how LC is built I thought it was high time we made a topic about it. I'm sure this is really obvious for some, hence this should be a fairly short topic.



The question is, how is the typical server build structure-wise? Assuming we all know the components you need to make a server, how does the different systems integrate into each others? What parts do you have to edit on the client side, and what parts are edited in database side? Is there any clear definition on this? 

Example: All the different names you see in the game needs to be edited on the database side




A big and possibly dumb question im sure, and if I'm completely out of line asking it then we can go ahead and remove the topic ?  But it would be great help to new people to get a basic understanding of it all. 




Your question is ambiguous, be a little more specific and you will get the concrete answers to your doubts...  Example of Example: what do you mean by names? the names of npc, of characters, of the pets, of missions, of items... do I explain myself?




- RGT - 11-14-2022


Thanks for reaching out, let me try and clean it up a little ?



Which elements of the game is edited in which section of the structure? The thought behind the summary is to get an idea of where to look when you are trying to edit something in the game whether it's exp rates, disabling ex characters, the launcher, weapons, lvl caps etc...

Lets say someone wants to edit textures but don't know where to look? They head here and find out it's in the client side. 

Hope that specified it a little.




- nicolasg - 11-14-2022



7 hours ago, RGT said:




Thanks for reaching out, let me try and clean it up a little ?



Which elements of the game is edited in which section of the structure? The thought behind the summary is to get an idea of where to look when you are trying to edit something in the game whether it's exp rates, disabling ex characters, the launcher, weapons, lvl caps etc...

Lets say someone wants to edit textures but don't know where to look? They head here and find out it's in the client side. 



Hope that specified it a little.




Well... There is no documentation or wikipedia about the LC code/work. The forum has some information (Mostly outdated and disorganized)... However you can find some guides that will explain or give you a basic idea of how to do certain things, you can always post your question and eventually someone will answer you.




- RGT - 11-14-2022



32 minutes ago, nicolasg said:




Well... There is no documentation or wikipedia about the LC code/work. The forum has some information (Mostly outdated and disorganized)... However you can find some guides that will explain or give you a basic idea of how to do certain things, you can always post your question and eventually someone will answer you.




Yes that's the idea, there are bits and pieces of information shattered all across the web in several languages. So how great would it be to make a summary here that just deals with the general structure of LC editing. I for one would love if we could use this topic as a small "guide" on where to edit what ?




- Scura - 11-17-2022



On 11/14/2022 at 4:42 PM, RGT said:




Yes that's the idea, there are bits and pieces of information shattered all across the web in several languages. So how great would it be to make a summary here that just deals with the general structure of LC editing. I for one would love if we could use this topic as a small "guide" on where to edit what ?




Basic LC-structure:

 

ServerSources: Those are the files which are edited and then compiled. All the server-side code is inside here (like: wars system, battle system, ranking. Everything which need to interact with other players pass here).  After compilation they produce the ServerFile

ServerFiles: This files come from the ServerSource. They are basically executables with some config files, needed to make the server run (of course)

ClientSources: Same as ServerSource, everything which is related at the client stuff goes here (heart-beat, Ui managment, DirectX rendering). After compilation they produce the ClientFiles

ClientFiles: Files inside Bin folders. They come from the ClientSources ... just the final file produced.

Database: Everything about items, weapon, armor, buff, titles, npcs, skills ...  and users account.

 

Usually the idea behind the work flow is:

 

Modify the Sources files and DB with new stuff. Turn off the server and replace the new files compiled before. Release a patch for all users for the client-side part. Turn on the server again.

 

Take in mind that you can compile the server for windows and linux, but the are tons of the differences between this two OS. My suggestion is to develop where you are gonna release (not about the server, but about the OS).

 




- RGT - 11-18-2022



On 11/17/2022 at 10:48 AM, Scura said:




Basic LC-structure:



 



ServerSources: Those are the files which are edited and then compiled. All the server-side code is inside here (like: wars system, battle system, ranking. Everything which need to interact with other players pass here).  After compilation they produce the ServerFile



ServerFiles: This files come from the ServerSource. They are basically executables with some config files, needed to make the server run (of course)



ClientSources: Same as ServerSource, everything which is related at the client stuff goes here (heart-beat, Ui managment, DirectX rendering). After compilation they produce the ClientFiles



ClientFiles: Files inside Bin folders. They come from the ClientSources ... just the final file produced.



Database: Everything about items, weapon, armor, buff, titles, npcs, skills ...  and users account.



 



Usually the idea behind the work flow is:



 



Modify the Sources files and DB with new stuff. Turn off the server and replace the new files compiled before. Release a patch for all users for the client-side part. Turn on the server again.



 



Take in mind that you can compile the server for windows and linux, but the are tons of the differences between this two OS. My suggestion is to develop where you are gonna release (not about the server, but about the OS).



 




Amazing summary, thank you very much for taking the time to post this ? Exactly what I was looking for!