Jump to content
  • 0

About diffs, patch, compile and compiled server


Question

Posted

Sorry guys i am pretty new to L2J theme. I compiled, installed, started and tested with compiled one server, but now i am gonna start on Quests and Events, but my head is broken.

 

Subject: For example i got source code of server and compiled one server which i use atm. By next step i put in code changes and i need compile full project again? But whats will be with my changes, which i made on compiled one server? I googled whole day and didnt found answe on this my quest.

 

Subject2: How better work on code with server? I need to make my private svn and put there base code? And update it with tested diffs? 

 

Thanks for help.

5 answers to this question

Recommended Posts

  • 0
Posted (edited)

You take only .jar file(from source/build) and replace on your pack . (If you use IL l2jserver for acis , l2jfrozen-core for frozen)

 

Edited by Generic
  • 0
Posted (edited)

You have to recompile the core each time you want to refresh your server. You have to replace l2jserver.jar, which holds the core side aswell as whatever datapack you edited (sql, xml, htm,...). Previous core is crushed on the process, so consider to track your changes using a SVN (which is a sort of online history of your editions, allowing you to see/revert your editions, even old ones).

 

Diffs / patches (same thing for different names, a patch is distributed under .diff) are generated using a SVN. It compares local copy (with editions) and online edition (untouched, at latest commited revision) and generate all changes between those 2 revisions.

 

A commit is an edit you did locally than you uploaded on your SVN, making your SVN one revision higher. All editions are accessible if you checkout your project at HEAD revision (which is the accumulation of all changes you did).

 

A checkout is a download of your project at a revision X (you choose).

 

For example, aCis got atm 874 commits. If I checkout project at HEAD revision, I will have project at revision 874. But I can also checkout the project at any passed revision. I can also compute diff patches for one revision, or multiple revisions - which will hold changes made during those revisions, and only that.

Edited by Tryskell
  • 0
Posted (edited)

hm.

 

so if i rightly understand lets look on example:

 

i added to core some quest, i recompiled gameserver project and there after compilation i got in dist folder file like l2jserver.jar which also contains on my local pc in gameserver/libs folder.

 

and all what i need to to change file in my folder with compiled one? 

 

then if i rightly understand thats work so:

1.after each compilation after i write any update to core i just need swap this l2jserver.jar

2. and after i upgraded my core with new function like event i just need relalize it on server with mysql/xml/html bt way: adding npc which will start this script, which will be used from core (for example).

3. and i dont need after each compilation change all files in my local project.

 

i just trying understand mechanics how it working.

 

Thanks for advice.

 

Edited by aidie1
Guest
This topic is now closed to further replies.
×
×
  • Create New...