Jump to content

Recommended Posts

Posted

Revision 613

 

Project GNU license was updated from version 2 to version 3.
This revision does not include any bug fixes.

 

BR,
DnR

  • 2 weeks later...
Posted (edited)

Revision 614

 

Hello guys.

From now on, project will use L2J latest geoengine as it was adapted in rev614.
Now, few details about this.

 

- Merged jars with core. Now, anyone can experiment with geo engine.
- Geodata is active by default, meaning that if server has geo files then geodata will work. Instead of using 3 options for Geodata, admins will now use 3 options for pathfinding.
- Gameserver maximum memory was increased for proper startup, if server has geodata files.
- GeoDriver.properties was renamed to Geodata.properties.
- Improved map dimensions calculation in L2World.
- Regarding AI, adding several geodata checks for monsters casting skills.
- Removed an AI check increasing the probability for monsters that cast skills to stuck in walls. Tests were done in necropolis. Thanks DanielaCZ for pointing out.
- Fixed 2 issues in login server. Also, increased login maximum memory limit.

 

Unfortunately, I noticed that there might still be cases that monsters stuck in wall corners if pathfinding is enabled.
Tests were done with L2JGeo Premium Geodata.

 

Thank you all for your support and good luck.

DnR

Edited by DnR
Posted (edited)
7 hours ago, Vinter said:

It's incredible that you've been running this for 7 years. Congrats on your resolve.

 

Thanks a lot! :)

It's a bit more than 7 years actually. In early 2011, i privately begun to adapt patches and fixes to project (this has never been the poor version of L2j C4) and in summer of 2011 I uploaded my work as revision 1 of the project I manage today.

Edited by DnR
Posted (edited)

Revision 615

 

- Cleanup of useless attributes in skill XML files.
- Removed buffDuration flag from all skills. Duration can always be calculated from total count * period.
- Updated aggro system so that each skill has its own aggro points.
- Added isLevelStackable and maxStackableLevel attributes for skills like Hot Spring diseases.
- Removed 7000-7099 skill XML, since these skills are not supported by client.
- Minor fix regarding AIO Buffers update. Default time was broken.

 

Revision 616

 

- Fixed mobs circling players and getting stucked in walls. Thanks Karakan.
- Added FleeingNpc AI. Thanks Karakan.
- Added Valley of Saints AI. Thanks Karakan.
- Added a skill XML that was accidentally removed in previous commit. Thanks Karakan for reporting.
- Fixed sitting characters being able to move if they turn invisible while sitting, by GM command.

 

Revision 617

 

- Replaced getAltSpawn method with getScriptValue. Thanks Karakan.
- Retail-like ss/sps charge. Thanks Karakan.
- Improved summon spawn coords offset calculation.

 

Revision 618

 

- Reworked Friend System.
- Added Hot Springs Guildhouse missing doors. Thanks panousos1995.
- Organized doors file by ordering doors by region.
- Minor changes regarding variable and method names. Converted names from studly case to camel case.
- Added and updated new AI scripts. Thanks a lot Karakan.
- Added staticHitTime property for skills.
- Fixed Scrolls of Ressurection, so that they ignore caster' s casting speed.
- Fixed Dimensional Rift chests being aggressive. Thanks improvise and Karakan.
- From now on, chest monsters are not going to help monsters of the same faction. But it can still be done vice-versa.
- Fixed MagicSkillUse packet being corrupted at certain cases.
- Fixed characters targetting themselves upon using items like soe or fishing shots. Thanks improvise.
- Fixed soe exceptions causing soe for Castle and Clan Hall not to work. Thanks improvise.
- Fixed minor craft issues. Thanks improvise.
- Fixed private store visual bugs. Thanks improvise.
- From now on, character names will be store in CharNameTable.
- Added cache support for CharNameTable.
- Modified Trade chat configurations to be identical to Shout chat's.
- From now on, global shout chat flood protector will also be used for global trade chat.
- Changed isOnline method fron integer to boolean for easier usage.
- Friends should not be blocked by /block command.
- Block commands will not prevent GMs from talking to block requester.
- Player message refusal mode cannot apply to a character with higher access level.
- Fixed server name in login server list getting red at times due to missing packet data.

 

Revision 619

 

- Added NPC Location Info function to Newbie Guides. Thanks xlinkinx.
- Added configuration for setting Clan & Alliance name regex template. Thanks improvise for suggesting.
- Organized Item Container classes in itemcontainers package.
- Minor rework on SpawnTable.
- Removed PetNameTable, since certain methods including isValidName were moved in Util class for general usage and had no more purpose.
- Moved L2PetDataTable to datatable package.

 

Revision 620

 

- Completely removed Beanshell from core since it's not used.
- Improved Faenor Script Engine, so that it can parse XML files directly, instead of opening zip first.
- Removed events folder from datapack.
- Refactored Script-related class files.
- Added Java JSR-223 engine to core.
- Added a check for preventing players from selling collar of their summoned pet. Thanks improvise.
- Renamed controlItemId to controlItemObjectId to avoid confusion.

 

Revision 621

 

- Replaced old quest state system with a newer one. Using CREATED, STARTED, and COMPLETED states by default.
- Replaced no quest and completed quest messages with getNoQuestMsg() and getAlreadyCompletedMsg() methods respectively, in all quests.
- Corrected Quest monster spawn coords for Test of the Warspirit quest. It was way below ground, so players could not proceed to next quest step.

 

*This update affected almost all scripts and there is a small chance that there might be small isues. If so, we are here to solve them.

 

Revision 622

 

- Added more private store checks. Thanks improvise.
- Corrected Magical Creatures race skill ID. Thanks Karakan.
- Replaced TOI AI with a new one, written in Java. Thanks Karakan.
- Converted 'Letters of Love' quest to Java.
- Fixed questItemIds array which got broken in previous commits.

 

Revision 623 - 624

 

- Removed useless synchronization blocks inside MinionList.
- AI additions. Thanks Karakan and xlinkinx.
 

Revision 625

 

- Fixed aggression skills causing monsters to walk when they shouldn't. Thanks xlinkinx and Karakan.
- Reduce monster walk on attack chance.
- Minor refactoring.

 

Revision 626

 

Cubic System rework!
- Improved Cubic AI so that cubics attack when possible and when target is appropriate for attack. Thanks confejulian.
- Cubics will now use their own M.Atk for attacking.
- Added 'saveCubicOnExit' parameter to store cubics on logout. This is officially applied to Life Cubic for novice characters. Thanks Karakan.
- Removed useless 'save' parameter from all skills.
- Added missing effect type/power/stack for certain skills.
- Added a special check so that a new effect with identical stack type and order does not replace old effect if it has higher duration. This is mostly done for high rate servers where a buff like blessed body may have a lot higher duration than body of avatar or battleroar.
- Removed few bad spawns in Plains of Dion. Also, corrected Z coordinate of some spawns in that area.
- Added support to CreatureSay packet for displaying player name inside message.
- Added Plains of Dion AI. Thanks Karakan.
- Added Forge of the Gods AI. Thanks Karakan.
- Reworked Fairy Trees AI into Java. Thanks Karakan.
- Fixed Venomous Poison skill not working. Thanks Karakan.
- Corrected Death Bomb hit time.

 

Revision 627

 

Important!
Previous commit included an effect check that caused duplicate buffs.
This check was removed. I'm sorry for the inconvenience.

Also:
- Improved NPC Buffer checks.
- Added support for bypass commands without the use of -h parameter.

 

Revision 628

 

- Reworked NPC Buffer (Summer Gift by DnR).
- Fixed Tyrant fist skills working with other weapons. This was probably broken in past commits.
- Minor additions and fixes in PlainsOfDion AI. Thanks xlinkinx.
- Added contains method for checking if an array contains an object. Thanks Karakan.
- //setaio command will not run if AIO Buffers are disabled.
- Fixed HP/MP bug for servitors and pets.
- Re-added effects duration check. No issues will occur this time.

 

Revision 629

 

- Added NpcSay packet. It's now used for most cases of NPCs talking.
- Corrected few spawns in Forest of Outlaw.
- Changed registerMobs method to registerNPC for registering NPCs one by one.
- Added Ant Nest AI. Thanks Karakan.
- Reworked Devil's Isle AI into Java. Thanks Karakan.
- Reworked Treasure Chests AI into Java. Thanks Karakan.
- Added Outlaw Forest AI. Thanks Karakan.
- Added Fairy Trees AI social actions. Thanks Karakan.
- Fixed Sin Eater skill not working. Thanks xlinkinx.
- Fixes for Fallen Orc Shaman AI. Thanks xlinkinx.
- Added missing AI paths in scripts.cfg. Thanks Karakan.

 

Revision 630

 

- Corrected Sin Eater social action texts. Thanks Karakan.
- Added Java AI script for Feedable Beasts.
- Dropped support of Python in AI directory.

 

Revision 631

 

- Wedding System implementation.
This is an improved version of L2J Wedding System. Couple of bugs have been fixed, code has been improved, and few additions have been added.
A unique feature is that in the case of a divorce refund, if the partner to refund is offline, adena will be transferred to partner's warehouse freight.
- Organized custom mods HTML files.
- Organized Handlers in their corresponding Handler Managers, instead of loading all of them inside GameServer class. Same goes for Event Engine.
- Added walk speed to all character class templates.
- Replaced some findObject calls with new getPlayer. Player OID list is a lot smaller and has better performance.
- Improved movement speed calculation to a lot more accurate version. Also, movement speed multiplier is now calculated properly.
This fixes all minor bugs regarding movement speed.
- Added base speed for swimming (50 player, 70 player mounting strider, 140 player mounting wyvern).
- Completed ConfirmDlg packet. It's fully C4 functional now.
- Replaced getRunSpeed calls with getMoveSpeed. This way, walk speed will be checked if character is walking.
- Added check for custom skills in addSkillName method.
- Fixed Clan Creation bug. Thanks GM.Smiley and Karakan.

 

Revision 632 - 633

 

- NPC AI additions. Thanks Karakan.
- Added Olympiad Enchant Limit configuration.
- Fixed a bug that caused an Olympiad participant to stuck when he/she tried to attack a dead opponent.

- Minor change for reuse timestamps.

 

Revision 634

 

- EnterWorld exploit fix by Tryskell.
- Minor HTML teleport corrections.

 

Revision 635

 

Multisell Update.
- Added isTaxIngredient and maintainIngredient properties.
- Added AltBlacksmithCanUseRecipes configuration.
- Improved security regarding overflowing amounts, slots, and weight.
- Improved multisell list packet so that it does not throw NPEs if an item is invalid.
- Added missing tax ingredients to certain multisells.

 

Revision 636

 

- Added all missing Lottery Ticket Seller spawns.
- Added default onTalk message for Tutorial NPCs.
- Fixed minor issues regarding NPCs displaying quest windows.

 

Revision 637

 

- Removed custom folder from datapack since it's never used.
- Moved event html folder in mods folder.
- Added page parameter to NPC buffer bypasses.
- Added support for buff schemes to NPC Buffer.
- Fixed a warehouse freight message being shown when not needed.
- Minor improvement in warehouse client packets code.
- Player will rotate when talking to NPC if in interaction distance and looking on another direction. Thanks Sacrif.
- Added interval to prevent social action flood for NPCs.

 

Revision 638

 

- Fixed CastleManorManager causing log spam when using manor admin panel.
- Fixed ss/sps/bss issues. Thanks Sacrif.
- Improved onAction method and removed overrides from most of npc instances.
- Override showChatWindow method for npc instances who support talk, instead of creating a new method.
- NPC conditions were moved to L2FolkInstance and are inherited by the rest of classes, along with validateCondition method.
- Changed the way archers leave distance since guards were getting stucked due to their super long range. Default flee distance is 300. Thanks Karakan for code.
- Improved autoAttackCondition to ignore only invulnerable characters with GM status.

 

Revision 639

 

- Fixed bad conditions for certain folk NPCs. They were broken in previous commit.

 

Revision 640

 

- Removed bad handling for Baium's Gift skill.
- Added 2 exploit protections in Saga quests.
- Fixed skill handlers getting loaded during quests load.
- Fishing will now work on servers without geodata.
- Fixed error regarding quest leftovers cleanup upon completion.
- Improved QuestManager unload system.

 

Revision 641

 

- Updated dropable and tradeable flags for etcitems.

 

Revision 642

 

- Fixed ss/bss charge issues on weapon change. Thanks Sacrif.
- Improved checks in wear shop.

 

Revision 643

 

- Quest error fix. Thanks jmd.

 

Revision 644

 

- Minor cleaning and corrections in HTML files.
- Fixed Proof of Clan Alliance quest bugs.

 

Revision 645

 

- Added movement block time after talking to NPC. Thanks Sacrif.
- Added cleanup for warehouse freight deposit. Other character items were still remaining in world after transaction.
- Removed wedding divorce cost.
- Added a check for duplicate login that was accidentally removed in the past.
- Cleanup of useless close() calls since try automatically closes resources.
- Removed custom L2J Map & Set classes and used Java native ones instead.
- Improved deleteMe() method for ItemContainer.

 

Revision 646 - 647

 

- Completed work on NPC interaction block. Thanks Sacrif.
- Updated C3P0 library. Also, removed debugging on startup from console.
- Added new client states for login server.
- Improved item drop function in such a way that it's safer in terms of exploiting.
- Set Abyss Jewels movement speed to 0 just like in retail.
- Minor changes regarding movement speed. Also, added a check to prevent a bug/exploit when characters gave speed buffs to NPCs with 0 base speed.
- From now on, login server will check if requested game server IP is in banned IPs list before connecting.
- Improved knownlist code. Each instance will now use sendInfo method for such functions.
- Moved canInteract and canTarget in L2Character.
- Improved some Admin Panel HTML windows.
- Fixed a bug caused by unclosed center tags in Admin Panel that was breaking all HTML windows alignment until logout.
- Now, GMs can view players general stats by using shift + click.
- Improved onAction() call for summons.
- Character GM status change via //gm command will now be broadcasted using broadcastUserInfo() call. For example, by unsetting GM status, character will be affected by speed cap so character info packets must be sent.

 

Revision 648

 

Admin command rights system rework.
All access level checks have been removed from all admin command handlers.
Using old command-privileges file to apply minimum access level to each command. This file has been renamed to AdminCommandRights.properties.
Commands that have no access level set in that file will use MasterAccessLevel as default level.
Replaced default access level property with MasterAccessLevel.
When everyone has admin rights in server, their access level will be set to MasterAccessLevel upon login.
AdminNameColor will apply to characters whose access level is greater or equal to MasterAccessLevel.
GMNameColor will apply to characters whose access level is greater than 0.
Old system was written in such a way that server owners should only meddle with access levels of >= 100 for admins and >= 75 for GMs.
Also, EveryoneHasAdminRights property was setting character access level to 200.
The concept of this new system is to get rid of old bad-written command-rights system and let admins set access levels the way they want.

 

- Added few more checks for GM Transaction access.
- Corrected GMNameColor to yellow, just as it's described in comments.
- Deleted few unused conditions.
- Refactoring configuration files.

 

Revision 649

 

- Conditions will now gain access to funcOwner object. This way, more advanced conditions can be created.
- Using new "minEnchantLevel" condition for Dual Swords stats. Instead of finding item by id, then checking slot, and enchant level, admins can simply set enchant level. This condition works for all enchantable-equippable items.

 

Revision 650

 

- Getting rid of Lisvus_GameServer data folder by merging it with the one in Lisvus_DataPack.

 

Revision 651

 

- Minor improvements regarding Mercenary Tickets.

 

Revision 652

 

- Improved AdminSkill handler.
- Improved removeAllSkills method.
- Added admin remove all skills button to admin skill panel. Thanks confejulian.
- Fixed transaction issues. Thanks SCRASH0.

 

Revision 653

 

- Removed admin_gm command due to few visible flaws and hardcoded checks. Admins can always add this command as custom to their servers.
- Fixed wrong message when a GM tried to use a command that does not exist.
- Converted AdminCommandRights.properties to XML.
- Minor improvements in loading servername.xml.
- Improved GM transaction checks.

 

Revision 654

 

- Cleanup and code improvements.
- Deleted AllyInfo server packet since it's been outdated since C3. Everything is handled properly by RequestAllyInfo client packet.
- Added message for admin_polymorph command upon usage.
- Fixed castle circlets removal system. Old system was deleting all clan members circlets upon one member's dismissal. Also, circlets would not be deleted if dismissed member was offline.
- Added a missing value in UserInfo and GMViewCharacterInfo packets.

 

Revision 655

 

- Removed AltGameSkillLearn configuration since it was exploitable.
- Removed SkillAbnormalStatus enums since this was an ugly way to take care of things.
- Weapon skills on cast will ignore ss/bss without the use of SkillAbnormalStatus enum.
- Added boolean isFirstCritical to all SkillHandlers and L2Skill child classes. Critical rate for first target will always be calculated before animation.
- Some work on improving skill handlers.
- Fixed players not retrieving noblesse skills during login. Thanks SCRASH0.
- Fixed noblesse status change sending UserInfo packet before noblesse flag updated.
- Added critical rate support for CHARGEDMG skills.

 

Revision 656

 

- Improved Beast Shot handlers.
- Added few missing System Messages.
- Discharge pet shots when entering olympiad.

 

Revision 657

 

- Fixed Mercenary Posting Tickets being dropped anywhere. Thanks DanielaCZ for an old related report.
- Mercenary Posting Tickets won't drop upon death.
- Removed 2 unused columns from etcitem table.

 

Best regards,
DnR

Edited by DnR
  • 1 month later...
Posted (edited)

Dear members,

 

Project has made a lot of progress since Revision 599 of 2018 which was thought to be the final version, and it hasn't been so active since 2015.
Now, it's time that I personally halt my activities for the next few months since lots of things are going on and I have to put certain priorities.
It's out of the question that troubleshooting is still a priority and fatal bug reports will be dealt with. We all put a lot of effort and I think we should all take some summer rest for start. :aproove-smile:
I want to thank you all for your efforts, and for being a part of this up until now. :)

 

Also, it would please me if I saw any new server projects sprout. I hope I do.
Either way, I have also been suggested for a mid rate server, but I haven't given a final answer yet.

I hope you enjoy the rest of summer relaxing, like I'll do and we'll be in contact again in the future. :wink:

 

*Previous post updated. Current commit is 657.

 

Best regards,
DnR

Edited by DnR
  • Upvote 2
  • 1 month later...
  • 2 weeks later...
Posted

Project has moved to GitLab. Link was added in first post.

Thank you all for your support until now.

 

BR,

DnR

 

  • 2 weeks later...
Posted

I wish a Merry Christmas to MxC community and best wishes to everyone!

Let's all enjoy these blessed days along with our beloved ones.

  • Like 3
Posted
19 minutes ago, DnR said:

I wish a Merry Christmas to MxC community and best wishes to everyone!

Let's all enjoy these blessed days along with our beloved ones.

Merry Christmas to you too

Posted

Since revision 699, we are adding configurable login support for clients with completely killed GG.

An unexpected benefit from this is that few of the last remaining working C5 patches can connect to our login server with 100% success. Might also add Interlude support to our login server in the future based on demand.

 

BR,

DnR

  • Upvote 1
Posted

Revision 701

 

- Added configurable login server support for chaotic throne clients.
Depending on forks, some game servers may need modifications to connect to login server. For now, it's tested with Interlude client.
- Fixed credentials issue. Thanks Joabi.
- Removed unused settings in LoginServer.properties.
- Fixed exception that occured when a client with a forbidden protocol version tried to connect. Also, protocol version validation attempts will only be logged in debug mode.

Posted (edited)

After many requests, we are moving back to our old SVN repository.
Its latest commit is 710 which is equal to GitLab's 711.

 

If any issues occur in SVN sources due to updates, feel free to report them. Thank you all for your contribution to the project.

 

 

BR,

DnR

Edited by DnR
  • Like 1
  • 1 year later...

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
Reply to this topic...

×   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...