Jump to content

Chronicle 4 Project L2JLisvus


Recommended Posts

4 hours ago, DenArt Designs said:

https://subversion.assembla.com/svn/L2JLisvus/trunk/Lisvus_GameServer/lib/

you use many old version libraries you can make mmocore inside the server and many of those jars can be removed too :)

 

Hello, thanks a lot for posting your opinion about project structure.

 

Before i start, let me point out that I believe you are overreacting here.

 

JavaScript and BeanShell engines are being kept for legacy purposes, just like l2j did for dozens of years, and for the time being i'd rather they stayed there, since they don't cause any harm.

Ofc, I also doubt admins will create scripts using these engines. They have enough trouble doing "the easy part".

Jython engine is used for quest scripts.

Java engine is also available and is used for AI scripts.

Trove is a really useful library but not much use has been made of it. In that case, i'm probably gonna agree with you and remove it from project.

JDBC libraries need to update to their current versions. That is definitely because project wasn't really active these past few years.

 

MMOCore is going to be merged with source soon, it's been in the plan for a long time but there have been obstacles, far more important than the amount of libraries ^^.

Also, work regarding geodata is going to be done in the future. After all, L2J_GeoAbstraction was adapted from Freya, which removed it a while later, long ago.

 

I hope i answered your questions.

Thanks for suggesting.

Edited by DnR
Link to comment
Share on other sites

12 hours ago, SweeTs said:

I've never understood the logic of frozen uMad folder (website engine read to get vote) and many others but still frozen is abandoned..

 

9 hours ago, DnR said:

 

Hello, thanks a lot for posting your opinion about project structure.

 

Before i start, let me point out that I believe you are overreacting here.

 

JavaScript and BeanShell engines are being kept for legacy purposes, just like l2j did for dozens of years, and for the time being i'd rather they stayed there, since they don't cause any harm.

Ofc, I also doubt admins will create scripts using these engines. They have enough trouble doing "the easy part".

Jython engine is used for quest scripts.

Java engine is also available and is used for AI scripts.

Trove is a really useful library but not much use has been made of it. In that case, i'm probably gonna agree with you and remove it from project.

JDBC libraries need to update to their current versions. That is definitely because project wasn't really active these past few years.

 

MMOCore is going to be merged with source soon, it's been in the plan for a long time but there have been obstacles, far more important than the amount of libraries ^^.

Also, work regarding geodata is going to be done in the future. After all, L2J_GeoAbstraction was adapted from Freya, which removed it a while later, long ago.

 

I hope i answered your questions.

Thanks for suggesting.

it was not questions or commends so overraction is nonexistant, I just suggested an update in your libraries mysql 5.6 more faster/stable just an example now question that acis solved, why you keep java outside of jar? your possible answer is "for reload purpuses" cause there is no other valid answer so keeping all this angines to read outside java for scripts and AI logic is to debug without building the source, in sort you load a count of useless jars to debug live, if you do that its ok, but if you dont just remove the datapack side python/java/quest/ai or w/e files you have and put them inside the core its the logic think to do, we have fast computers now an extra build to fix something is some seconds its nothing compared to before some years that it was usefull for this engines to exists when we had dual cores and HDDs 80GB. Think that you want to update all your try{} to try(resources){} you have 2 things to update Core and DP.... why?

 

PS I did not ask what the engines do, I know. This is why I suggested the updates/removals so now I give you the reason of my suggestions to be more understandable.

in sort

1) everything that is on DP side that has .py extension should be translated into java

2) all java of DP side should be on core

3) cleanup all engines that used to read java from DP

this is how you achieve speed and stability, faster updates in 1 side.

 

and before you say anything remember... you started it with removal of javolution.

Edited by DenArt Designs
Link to comment
Share on other sites

8 hours ago, DenArt Designs said:

I've never understood the logic of frozen uMad folder (website engine read to get vote) and many others but still frozen is abandoned..

 

it was not questions or commends so overraction is nonexistant, I just suggested an update in your libraries mysql 5.6 more faster/stable just an example now question that acis solved, why you keep java outside of jar? your possible answer is "for reload purpuses" cause there is no other valid answer so keeping all this angines to read outside java for scripts and AI logic is to debug without building the source, in sort you load a count of useless jars to debug live, if you do that its ok, but if you dont just remove the datapack side python/java/quest/ai or w/e files you have and put them inside the core its the logic think to do, we have fast computers now an extra build to fix something is some seconds its nothing compared to before some years that it was usefull for this engines to exists when we had dual cores and HDDs 80GB. Think that you want to update all your try{} to try(resources){} you have 2 things to update Core and DP.... why?

 

PS I did not ask what the engines do, I know. This is why I suggested the updates/removals so now I give you the reason of my suggestions to be more understandable.

in sort

1) everything that is on DP side that has .py extension should be translated into java

2) all java of DP side should be on core

3) cleanup all engines that used to read java from DP

this is how you achieve speed and stability, faster updates in 1 side.

 

and before you say anything remember... you started it with removal of javolution.

 

Quote

it was not questions or commends so overraction is nonexistant, I just suggested an update in your libraries mysql 5.6 more faster/stable

I know very well what it was, but you seem to fail to understand. Not only was it overreacting, but it offended project's philosophy at the same time. I already provided you with details regarding libraries such as mysql not being up-to-date and had a good explanation for it, but i'm really wondering if you ever got past the second line while reading.
 

Quote

why you keep java outside of jar? your possible answer is "for reload purpuses" cause there is no other valid answer

My possible answer? There is no other valid answer? I don't like people who make assumptions based simply on their own thoughts.

You have to realize this is the project's philosophy. I declared that project won't translate quests from python to Java, long ago.

It might do so in a very distant future if it's still alive, that's all i have to say.

However, AIs (most of them) are written in java and people are allowed to develop their scripts using any engine.

I also declared many other things that strangers who never followed project before, would not be familiar with.

 

Quote

we have fast computers now an extra build to fix something is some seconds its nothing compared to before some years that it was usefull for this engines to exists when we had dual cores and HDDs 80GB.

That's not making sense, at all.

 

Quote

Think that you want to update all your try{} to try(resources){} you have 2 things to update Core and DP.... why?

I never had such major issues while updating. Not even with removing Javolution, since python scripts use native python map and list. Datapack required updating merely about 5 scripts.

 

Quote

PS I did not ask what the engines do, I know. This is why I suggested the updates/removals so now I give you the reason of my suggestions to be more understandable.

Even though your first post was as senseless as suggesting to rewrite project in C++, it was really understandable, but on the other hand you haven't got a damn clue about project's 8-year history, my lack of activity and announcements, and yet you treated, willingly or not, me and all those people who worked hard in these past years as stupid. So on my side, i treated you and your first post as clueless, as gently as possible.

I'm pretty surprised you didn't assume that using your psychic powers, though.

 

Quote

and before you say anything remember... you started it with removal of javolution.

Before i say anything? Remember? Well, tbh your attitude gives me the chills.

Script engine is still working pretty well even after the removal of Javolution. Also, I believe i have the right to choose what to update and what to not according to what i think it's the best for my project.

 

Project also focuses on game stability which you didn't say a thing about, and i really don't have enough time to waste at reworking things that are still of use. Please assume that my time is really limited, because it is.

C4 branch required even more work due to its horrible mess, than few later chronicles, despite having less features.
 

I honestly took your suggestion of updating libraries into account because it's common sense to do so. About removing, it's not going to happen.

I would also be grateful if you respected project's philosophy more, and realized that not everyone wants to follow the examples of aCis project.

 

Once more, thanks a lot for your suggestions and good luck.

DnR

Edited by DnR
Link to comment
Share on other sites

I was talking in a friendly manner, yes I don't know the projects past but since I saw the last commit I tried to suggest something and I see now that you got offended sorry bye.

  • Thanks 1
Link to comment
Share on other sites

29 minutes ago, Kara` said:

@DnR Calm down guys, you misunderstood each other.  :goodsir: Relax

 

45 minutes ago, DenArt Designs said:

I was talking in a friendly manner, yes I don't know the projects past but since I saw the last commit I tried to suggest something and I see now that you got offended sorry bye.

 

@DenArt Designs I believe I owe an apology. Being under a lot of stress these days, i might have misinterpreted your thoughts making me feel offended, and now I feel embarassed about this. I'm also under a lot of stress just by being the project manager and always try to defend project community's work and my work. Apart from developing, my role is to also listen as much as possible, which there are times that like many i do not, due to my human ego, but i'm doing my best.

 

Just as I pointed out in my earlier post, i'm going to take some of your advice and move forward.

I apologize for the inconvenience, and thank you for caring about this project.
 

Best regards,

DnR

Edited by DnR
Link to comment
Share on other sites

1 minute ago, DnR said:

 

 

@DenArt Designs I believe I owe an apology. Being under a lot of stress these days, i might have misinterpreted your thoughts making me feel offended, and now I feel embarassed about this. I'm also under a lot of stress just by being the project manager and always try to defend project community's work and my work. Apart from developing, my role is to also listen as much as possible, which there are times that like many i do not, due to my human ego, but i'm doing my best.

 

Just as i pointed out, i'm going to take some of your advice and move forward.

I apologize for the inconvenience, and thank you for caring about this project.
 

Best regards,

DnR

aww, don't be mad at DenArt little DnR <3 she is very nice person. :victory:

Continue work with LisvuS, you doin great job

Link to comment
Share on other sites

  • 2 weeks later...

DnR is probably the coolest project developer i've ever seen.

If anyone gets offended by his words or offending him in any way, must really have some mental issues.   

 

#NoOffense

Edited by Karakan
Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...

Revision 602 & 603

- Added unknown packet flood protection against server attacker tool. Thanks Mordor for reporting.
- Added move-based knownlist functionality, in case admins want to use it.
- Merged MMOCore source with GameServer source. This also fixes login issues reported.
- Removed L2Event from core.
- Reworked event system. Improved TvT Event and added support for adding future events, team or solo.

- Fixed players killing team members to increase kills in TvT Event.
- Fixed NPC walker routes not being reloaded with admin_reload command.
- Fixed QuestManager concurrency issue.
- Updated GameTimeController.
- Fixed weapon equip task bug found by Tryskell. Thanks jmd for reporting.
- Updated JDBC and related libraries. Thanks DenArt Designs for pointing out.
- Removed Trove library, since its use is minor. Thanks DenArt Designs for pointing out.

Edited by DnR
Link to comment
Share on other sites

Revision 604

 

Effects system reworked.

- Added debuff slots. Current default limit is 20 for buffs and 10 for debuffs.
- Implemented short buff icon for healing potions. Also, Healing Potions won't consume buff slots.
- Improved Charge system. Now, charges will be reset after 10 minutes.
- Fixed an issue in RaidBossSpawnManager causing server to freeze upon restart or shut down. Thanks Nakehoul and SCRASH0 for reporting.
- Took care of all XML warnings by declaring  doctype.
- Updated HOT effects. Also, their stack types have been corrected.
- GameTimeController task will start after NPCs have been loaded.
- Quest timers will be cancelled on server restart/shut down.
- Improved server database settings.
- Renamed few table columns to avoid using SQL reserved words.

Also, keep in mind that certain table columns have been renamed.
In order to avoid errors, please execute the following SQL queries in your database.

 

CODE:

ALTER TABLE `droplist` CHANGE `min` `min_drop` INT(11) NOT NULL DEFAULT '0';
ALTER TABLE `droplist` CHANGE `max` `max_drop` INT(11) NOT NULL DEFAULT '0';
ALTER TABLE `merchant_buylists` CHANGE `order` `item_order` DECIMAL(4,0) NOT NULL DEFAULT '0';



Best regards,
DnR

Edited by DnR
Link to comment
Share on other sites

  • 2 weeks later...

Revision 607

Fixed players being unable to unequip full body armors and hair accessories. Thanks panousos1995 for reporting.

 

Revision 606

CellPathFinding concurrency issue fixed. Thanks Karakan for pointing out.

 

Revision 605

Grand Olympiad update.
- Reworked Olympiad Observer mode. Also, fixed several related old bugs.
- Added Olympiad point ranking.
- Olympiad data will now be stored into database.
- Improved Olympiad user packet broadcasts.
- Players who log out during Olympiad will spawn at their initial location upon relog.
- Olympiad properties file will now contain Olympiad configurations.
- Fixed a serious bug that could stuck hero computation. This was caused by removal of Javolution.
- Minor corrections on database installer.
- Removed skill_name column from character_skills, since it's useless and consumes space.
- Fixed Olympiad and Seven Signs auto-save global tasks not running.

Before updating, please make sure to install new addons.
All in all, new update requires the following:
- Installation of olympiad_data and olympiad_nobles_eom tables.
- Drop of column skill_name from character_skills.
- Move of stored parameters from olympiad properties file to olympiad_data table.

Best regards,
DnR

Edited by DnR
Link to comment
Share on other sites

  • 3 weeks later...

Revision 610-611

Hello people.

 

This commit contains Login Server rework along with few minor additions.

- Updated login server to make full use of MMOCore and its NIO Selector. This is the first public C4 project that made L2J modern MMOCore operate with it.
- Cleanup of GameServerThread and took care of some duplicate values, since they were already kept into GameServerInfo instances.
- Added corrected GNU licences to certain classes.

- Column rename fixes for custom tables. Thanks SCRASH0.

 

For live servers, there are few SQL fields and the hexid file that need to be updated.

 

For taking care of SQL changes:

ALTER TABLE `accounts` CHANGE `lastServer` `last_server` INT(4) NULL DEFAULT '1';
ALTER TABLE `accounts` CHANGE `lastIP` `last_ip` VARCHAR(20) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL;
ALTER TABLE `accounts` CHANGE `lastactive` `last_active` DECIMAL(20,0) NULL DEFAULT NULL;

Hexid example:

#the hexID to auth into login
#Sat May 25 18:33:54 EEST 2019
HexID=<your hexid>
+ServerID=<your server id>

Thanks a lot for your support and have fun.

 

Best regards,
DnR

Edited by DnR
  • Like 1
Link to comment
Share on other sites

Revision 612

 

- AIO/NPC Buffers system was reworked.

 

Let's get into more details about this.

 

- Removed useless columns from npc_buffer table.
- Added aio_buffer table for AIO Buffers.
- Added //setaio command to turn a player into an AIO Buffer (e.g. //setaio 1 sets AIO status while //setaio 0 removes AIO status).
- Added //reload support for AIO/NPC buffs.
- Added configuration for setting name color to AIO Buffers.
- AIO Buffers can cast dances without dual swords.
- AIO Buffers cannot participate in Grand Olympiad Games or TvT Event.
- AIO Buffers cannot add or change subclass.
- AIO Buffers buffs are set in aio_buffer table, where their duration and level can also be configured.
- Duration set in both tables will only affect buffs given by AIO Buffers and NPC Buffers respectively.
- Duration set to 0 means that buff keeps its original duration.
- This method will let buffs keep their original duration when casted by common players. This way, admins benefit in such a way that players cannot create alternative characters to gain buffs. Also, original duration means balance for classes in Olympiad games and team events.
- Default duration is set to 1 hour for npc_buffer buffs and 2 hours for aio_buffer buffs. Also, admins are always allowed to use 'EnableModifySkillDuration' setting instead.


Couple of other additions.

 

- Added configuration for keeping buffs on subclass change.
- Fixed a reuse delay bug that caused certain skills cooltime not to be stored.
- Added FallenOrcShaman AI. Thanks Karakan.
- Corrected Benediction skill power.
- Added configuration for buff slots client patch.
- Converted System.out.println messages into logs.
- Changed access for couple of loggers.
- Minor cleanup in certain classes.

 

Thank you all for your support and have fun.

 

Best regards,
DnR

Edited by DnR
Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now



  • Posts

    • L2 Insignia High Five 20x MID SERVER FOCUSED ON OLYMPIAD | PVP | AUTOFARM       OPEN BETA TEST SERVER 3 MAY 2024   GRAND OPENING 10 MAY 2024    Rates: 📜 XP/SP 20x | Spoil 15x | Drop 10x | Adena 10x 📜     Server Features: 🔥 No Olf-T Shirt, No big over-enchant, No over-power Donate 🔥 🔥 VIP Gold Color Chat, Unique Olympiad Extra Points Engine, GvG Event 🔥 🔥 Auto-Farm, LoA and DV scheduled PvP Zone, Calendar Daily Reward 🔥 🔥 Castle Instance, Solo Instance, PvP Solo Rift, Dress me system, Adena Boxes 🔥        Website: https://www.l2insignia.com  Discord: https://discord.com/invite/yEgsrHn2hQ      
    • I am selling the essence project which includes versions 388 and 439 that have been running for over 2 years or (447 as custom PVP like Pride). I have a test server for you to test them out. If you are really interested in it then contact my seller at discord: kiwi7106. Price: 4000 Euro P/s: This is a project that I have spent a lot of money and time developing, so if you are not interested in it, please get out of this topic, thank you. P/s 2: If you find the price too expensive, it's best to skip this article and find another project and don't comment negatively on my topic, thank you.
    • Someone ask me for this, it should work on any client that has Kamael race, preview:     Installation - there are two ways to install depending on how you want to use it:   Method 1: If you want to completely replace the original, do:   Copy all lines from your armorgrp to Notepad++, press Ctrl+H, check the "match whole word" option and replace:   kamael.Mkamael_m000_w_ad00   by:   AvengersKamaelWings.Avengers_MKamael_m001_w_ad00   Then replace:   MKamael.Mkamael_m000_t00_w   by:   AvengersKamaelWings.MKamael_m001_t00_w   Now repeat the same process with the female, replace:   kamael.Fkamael_m000_w_ad00   by:   AvengersKamaelWings.Avengers_FKamael_m001_w_ad00   Then replace:   FKamael.Fkamael_m000_t00_w   by:   AvengersKamaelWings.FKamael_m001_t00_w   You're done, paste everything back into File Edit and save!   Method 2: If you only want to replace in specific sets, execute the above process only on the armorgrp of those sets.   Repack by: AvengersTeamBr Password: LadrãoDeFrango      
  • Topics

×
×
  • Create New...