Jump to content
  • 0

Make Gracia Final server with the latest client.


Question

Posted

I took a huge break from server development. I came back wanting to create a Gracia Final server on the latest client (i think its essence) but i cant find any guide. I dont know how to link a Gracia Final pack to that client. Do i just get a clean install of the client and just edit the ini?

Also i would like to ask for a clean install for the client.

 

Ps. i dont know if this is the right place for this post. Also I dont have neither have the pack so please provide any link to get me started because i dont seem to find any topic about my needs. Thank you.

10 answers to this question

Recommended Posts

  • 0
Posted (edited)
On 6/12/2024 at 4:23 AM, onedase said:

I took a huge break from server development. I came back wanting to create a Gracia Final server on the latest client (i think its essence) but i cant find any guide. I dont know how to link a Gracia Final pack to that client. Do i just get a clean install of the client and just edit the ini?

Also i would like to ask for a clean install for the client.

 

Ps. i dont know if this is the right place for this post. Also I dont have neither have the pack so please provide any link to get me started because i dont seem to find any topic about my needs. Thank you.


Guys, if you'd let me be the bearer of bad news,

No amount of "break from server development" can justify your complete lack of idea how things work.

If it was this easy, you should've been seeing 90% of the servers of the popular old versions, such as IL and HF, running on the newest client.

For this task, you would need a lot of time - think at least 2 months, if you can code, have access to all the necessary tools for client development, and you have a relatively good idea of how server<->client communication works.
f you don't, then you either find yourself a well-paying job and find someone who would do it for you or you put the idea aside (for no less than 1-2 years) and start reading and learning asap.

Let me give you a little preview/breakdown of what some of the work includes.

The work can be split into two parts - SERVER side and CLIENT side. 

The server and the client communicate through packets. Each of these packets has a defined structure. Both, the server and the client MUST know this structure and MUST use the same structure, otherwise they won't be able to "understand" each other.

- The server side predominantly includes the alteration of existing packet structure and the creation (from zero) of missing packets that the client requires. Then you also have to take these changes into account and alter the existing features of your server to match the changes.

A good example for this is SKILL ENCHANTING. On older chronicles, the enchant level is determined by the LEVEL value of the skill and on the new clients, it has been taken out into a separate value. What this means is that you would have to figure out a way to adapt the old system to the new requirements.

- Now that we mentioned the client, you would also need to edit a bunch of files, such as Interface, UTX, UNR, as well as DAT files, including those related to ITEMS, SKILLS, QUESTS, NPCS, and AUGMENTATION STATS and DESCRIPTIONS, etc. For some of those, you would also have to figure out how to check for missing entries and how to parse data from the older client to the new.

The best example, again, would be the SKILLS. On the latest clients, the skill enchanting was limited to only +20. As such, even if there were some matching skills between the two different client versions, you would still need to add the missing 10 levels to +30.

And once you complete all of that, you start testing and fixing bugs and sh1t.

And once you have fixed all of that, you can start adding new features from the new client, because otherwise it would be one big mess and a waste of time and/or money.

Edited by Salty Mike
  • Like 1
  • Upvote 1
  • 0
Posted

I guess if you want to learn the whole process, your best bet is to start with a classic client (like salvation? also must be easy to modify so that you don't get stuck behind paywalls) and check how the network communication is implemented. L2jmobius has a lot of sources that use classic clients.

  • 0
Posted (edited)
3 hours ago, ratchet said:

I guess if you want to learn the whole process, your best bet is to start with a classic client (like salvation? also must be easy to modify so that you don't get stuck behind paywalls) and check how the network communication is implemented. L2jmobius has a lot of sources that use classic clients.


Upgrading to Salvation is exactly the same as upgrading to the newest client with the only difference being access to free-shared client editing tools and resources.

I am speaking from experience. I have upgraded my HF source to one of the newest clients by myself (in terms of server side. got help with the client) and hit every single wall there was in the process.
Now, I already have several multi-protocool server cores so I can easily compare different approaches to tackling the same issue, which also helped the learning process.

Best way to learn would be to use this one (link below) to snoop around and figure out what has been changed in the server side (the packet structure will be different, for sure, but works for understanding/figuring the process out in general terms).

https://github.com/iBezneR/L2J_SunriseProject_Purity

The client side will always be the same, always the same files, only the DAT structure will be different. I personally wrote myself some parsers for the data of the DAT files from OLD -> NEW client.

Edited by Salty Mike
  • 0
Posted
53 minutes ago, Salty Mike said:


Upgrading to Salvation is exactly the same as upgrading to the newest client with the only difference being access to free-shared client editing tools and resources.

I am speaking from experience. I have upgraded my HF source to one of the newest clients by myself (in terms of server side. got help with the client) and hit every single wall there was in the process.
Now, I already have several multi-protocool server cores so I can easily compare different approaches to tackling the same issue, which also helped the learning process.

Best way to learn would be to use this one (link below) to snoop around and figure out what has been changed in the server side (the packet structure will be different, for sure, but works for understanding/figuring the process out in general terms).

https://github.com/iBezneR/L2J_SunriseProject_Purity

The client side will always be the same, always the same files, only the DAT structure will be different. I personally wrote myself some parsers for the data of the DAT files from OLD -> NEW client.

Thanks for clarification. Do you think the newest clients offer solid advantages compared to the classic ones like Salvation?
I'm also in the process of porting h5 to one of them just for the sake of it, so I was wondering if I should just attempt to go to the newest possible.

  • 0
Posted (edited)
1 hour ago, ratchet said:

Thanks for clarification. Do you think the newest clients offer solid advantages compared to the classic ones like Salvation?
I'm also in the process of porting h5 to one of them just for the sake of it, so I was wondering if I should just attempt to go to the newest possible.


The heavy lifting is done in the client, because while you can get away with small imperfections in the java, everything in the client must be impecable.

So, if you haven't touched the client, I'd say pick the newest protocol version you can find the client editing tools and Interface.u (mandatory) / NWindow.dll (better to have it) / Engine.dll (optional) sources for.

At the very least, you need the Interface.u to fix the Clan Window and enable skill enchanting on Classic/Essence versions, if you decide to use one of them instead of MAIN/LIVE.

Edited by Salty Mike
  • Like 1
  • 0
Posted
On 6/13/2024 at 4:03 PM, Salty Mike said:


Guys, if you'd let me be the bearer of bad news,

No amount of "break from server development" can justify your complete lack of idea how things work.

If it was this easy, you should've been seeing 90% of the servers of the popular old versions, such as IL and HF, running on the newest client.

For this task, you would need a lot of time - think at least 2 months, if you can code, have access to all the necessary tools for client development, and you have a relatively good idea of how server<->client communication works.
f you don't, then you either find yourself a well-paying job and find someone who would do it for you or you put the idea aside (for no less than 1-2 years) and start reading and learning asap.

Let me give you a little preview/breakdown of what some of the work includes.

The work can be split into two parts - SERVER side and CLIENT side. 

The server and the client communicate through packets. Each of these packets has a defined structure. Both, the server and the client MUST know this structure and MUST use the same structure, otherwise they won't be able to "understand" each other.

- The server side predominantly includes the alteration of existing packet structure and the creation (from zero) of missing packets that the client requires. Then you also have to take these changes into account and alter the existing features of your server to match the changes.

A good example for this is SKILL ENCHANTING. On older chronicles, the enchant level is determined by the LEVEL value of the skill and on the new clients, it has been taken out into a separate value. What this means is that you would have to figure out a way to adapt the old system to the new requirements.

- Now that we mentioned the client, you would also need to edit a bunch of files, such as Interface, UTX, UNR, as well as DAT files, including those related to ITEMS, SKILLS, QUESTS, NPCS, and AUGMENTATION STATS and DESCRIPTIONS, etc. For some of those, you would also have to figure out how to check for missing entries and how to parse data from the older client to the new.

The best example, again, would be the SKILLS. On the latest clients, the skill enchanting was limited to only +20. As such, even if there were some matching skills between the two different client versions, you would still need to add the missing 10 levels to +30.

And once you complete all of that, you start testing and fixing bugs and sh1t.

And once you have fixed all of that, you can start adding new features from the new client, because otherwise it would be one big mess and a waste of time and/or money.

I didnt say i dont know anything but i couldnt find a place to start. a guy here mentioned l2jmobius which is a good place to start. so i searched for it and its actually what i wanted. Now i just need to find a clean client to start. I know how to program and how to do changed to client but its hard to find clean clients. I dont really want to make my server exactly like gracia final. I just want to test out the clients and decide which one works better for me. I dont really like the awakening classes and the newest races. Can you please provide me with a couple of links of different clients so i can test them out before i start my project? As i said i cant really find any clean install client. Thank you in advance

  • 0
Posted
46 minutes ago, onedase said:

I didnt say i dont know anything but i couldnt find a place to start. a guy here mentioned l2jmobius which is a good place to start. so i searched for it and its actually what i wanted. Now i just need to find a clean client to start. I know how to program and how to do changed to client but its hard to find clean clients. I dont really want to make my server exactly like gracia final. I just want to test out the clients and decide which one works better for me. I dont really like the awakening classes and the newest races. Can you please provide me with a couple of links of different clients so i can test them out before i start my project? As i said i cant really find any clean install client. Thank you in advance

In every mobius source there should be a readme file with all the links you need (system, client, IDEs etc).

Best of luck!

  • Like 1
  • 0
Posted
1 minute ago, ratchet said:

In every mobius source there should be a readme file with all the links you need (system, client, IDEs etc).

Best of luck!

oh, i didnt know that. I got everything i need.

Thank you so much for your information and help!

  • 0
Posted (edited)

 

1 hour ago, onedase said:

I didnt say i dont know anything but i couldnt find a place to start. a guy here mentioned l2jmobius which is a good place to start. so i searched for it and its actually what i wanted. Now i just need to find a clean client to start. I know how to program and how to do changed to client but its hard to find clean clients. I dont really want to make my server exactly like gracia final. I just want to test out the clients and decide which one works better for me. I dont really like the awakening classes and the newest races. Can you please provide me with a couple of links of different clients so i can test them out before i start my project? As i said i cant really find any clean install client. Thank you in advance


You are contradicting yourself!

In your first message you clearly state "I want to create a GF server on the latest client". What this means is you want a GF server that is working/running on the latest client. You didn't say "not exactly like GF". You explicitly stated that the server would be GF and the client will be whichever new client you could find. You never asked for servers either, as evident from the following excerpt: "to link Gracia Final Pack to that client". You asked how to do it, and more specifically:  "Do I just get a clean install and edit ini in the client", which brought me to the conclusion that you were completely oblivious and/or delusional, hense my EXTENSIVE and ON-POINT response, if I say so myself.

 

On 6/12/2024 at 4:23 AM, onedase said:

I came back wanting to create a Gracia Final server on the latest client (i think its essence) but i cant find any guide. I dont know how to link a Gracia Final pack to that client. Do i just get a clean install of the client and just edit the ini?


 

Edited by Salty Mike
typo
  • 0
Posted
4 minutes ago, Salty Mike said:

 


You are contradicting yourself!

In your first message you clearly state "I want to create a GF server on the latest client." What this means is you want a GF server that is working on the latest client. You didn't say "not exactly like GF". You explicitly stated that the server would be GF and the client will be whichever new client you could find. You never asked for servers either. You asked how to do it, and more specifically: "to link Gracia Final Pack to that client. Do I just get a clean install and edit ini in the client", which brought me to the conclusion that you were completely oblivious and/or delusional, hense my EXTENSIVE and ON-POINT response, if I say so myself.
 

 

 

you are right. thats because i was so confused by some servers, in which u could either download an old client like c6 or the classic client and you could play on that server on both. So when i took the decision to start my own server i wanted it to be on the classic client and while i was searching i couldnt find any information about it. Sorry for the confusion i caused.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...