Main Menu

Recent posts

#91
Announcements / Re: Forum Announcements
Last post by Sido - April 21, 2019, 01:59:06 PM
Scheduled Maintenance on 2019-04-23 12:00:00 
Estimated finish 2019-04-23 13:00:00
#92
Announcements / Re: Last aCis updates
Last post by Tryskell - April 18, 2019, 11:47:08 AM
Changeset 382 (1288)

Since a lot of core has been edited/moved, sources will be exceptionally shared at rev 382 for Customers, added to the diff patch for the adventurers. If you begin to dev a project, I strongly invite you to port your customs directly on 382 shared pack.

Organization, Cleanup, Bugfixes


Organization

A lot of organization has been made, in order to give some consistency to core side.
   - Creation of package gameserver.enums. All existing enum have been moved here, and renamed to either get distinct name (CtrlEvent / EventType being too generic), and to fit with new convention name for enums (has to end with "Type" or "Status").
   - Creation of package gameserver.model.actor.player and gameserver.model.actor.npc, holding classes related directly to Player and Npc (+ children) classes.
   - Creation of package gameserver.model.spawn, holding AutoSpawn / L2Spawn / BossSpawn classes.
   - Drop model.base and model.actor.appearance packages.
   - Player is moved out of model.actor.instance, to model.actor.
   - Drop of Broadcast class and gameserver.util package, content is splitted between World / ZoneManager / Creature.
   - Drop of gameserver.templates package. StatsSet is moved to common.util.
   - Drop of gameserver.instancemanager, with rename : SevenSigns > SevenSignsManager, SevenSignsFestival > FestivalOfDarknessManager. Both are cleaned (CLogger, try-with-ressources,...) and moved to gameserver.data.manager.
   - AutoSpawnManager > AutoSpawnTable and moved to gameserver.data.table, with a split of AutoSpawnInstance > AutoSpawn moved to gameserver.model.
   - Drop XMLDocumentFactory and gameserver.xmlfactory package (no use anymore).
   - Drop gameserver.model.petition package, move Petition back to gameserver.model (we avoid to use package for single classes).
   
Cleanup
   - Refresh DP .project to avoid Eclipse warnings.
   - Move GET_PLAYER and INSTANT_JUMP skills to their own SkillType, TELEPORT, in order they aren't used by regular AI system. In order NPCs use them, you have to write additional script.
   - Add Npc#doCast(SkillType), which randomly cast a skill based on its SkillType and associated to the NpcTemplate skills.
   - Heading is now part of getPosition(). New setXYZ/spawnMe methods have been generated to give the possibility to feed heading in same time than X/Y/Z. To set the heading independently, you have to use getPosition().setHeading(heading).
   - Improve Npc#toString().
   - Rename Player#getPet() / setPet > getSummon() / setSummon(), since it is supposed to return Summon, which are both Pets and Servitors.
   - Walker doesn't override HP drop stuff (since it inherits from Folk#isMortal).
   - Creation of Punishment model (with Javadoc) in model.actor.player, holding all punishments informations of a Player.
   - Creation of HennaList model (with Javadoc) in model.actor.player, holding all Hennas informations of a Player. Ty vampir for the initial contribution.
   - L2Radar > RadarList + Javadoc and move it to gameserver.model.actor.player, extract RadarMarker to gameserver.model.
   - ValidatePosition _heading isn't processed anymore (no use).
   - Generate TeamType enum, based on StinkyMadness idea.
   - Complete rework of RaidBossManager.
      - Merge the different Maps holding infos into one. Create BossSpawn in model.spawn package to hold all related infos.
      - The saving process isn't lazy anymore, but handled on spawn/death/server start.
      - BossStatus isn't related to a Npc instance anymore, meaning you can interrogate it even if Npc isn't existing (DEATH case).
      - Rename StatusEnum > BossStatus enum, moved into enums package.
   - Add the possibility for server admins to tweak default items quantity and equipability. The result is more readable than previous system. It uses the newly generated ItemTemplateHolder (gameserver.model.holder).
   - Cleanup RandomAnimationTaskManager
      - Animation task cancel is now instant upon NPC death, inactive region or intention change != ACTIVE for Attackable. Before it was waiting the regular end timer.
      - Following instances types aren't registered anymore on RandomAnimationTaskManager : ControlTower, EffectPoint, FlameTower and SiegeFlag.
      - Drop of Npc#isMob(), addition of Npc#calculateRandomAnimationTimer().
   - Add missing login status on admin/maintenance.htm
   - Generate StatusType and AttributeType enum, which are used for both LS and GS. Unload ServerStatus of multiple variables.
   
Bugfixes
   - CharInfo heading / boatId is fixed, based on Vilmis remark.
   - Fix a bug introduced in rev 380, where bosses died during a server down couldn't respawn properly. Ty bowling4soup.
   - Add HEAL_STATIC as potential buff slot (fix skillId 3125). Ty Sahar.
   - Modify Lightning Strike power effect. Ty Sahar.
   - Fix the double summon spawn issue (unSummon + doDie happening in same time), as tested by Sahar.
   - Decaying summons tasks are dropped if a decay occurs (avoid tasks to run for nothing).
   - Add Porta/Perum script named SummonPlayer.
   - startAttackStance() / stopAttackStance() system is cleanup. Avoid to spam AutoAttackStop broadcast by NPCs. Decrease the amount of startAttackStance() / stopAttackStance() calls tremendously, notably because the call is moved from onHitTimer to doAttack. Since each attack can produce 1, 2 and up to 10 hits for polearm users, as much calls were done.
   - Player#store doesn't store anymore client X/Y/Z (avoid exploit upon relog).
   - Diagonals flags rule is edited on GeoDataConverter. They must now be validated in both direction.
   - Add/improve character water/fly state on SummonInfo, NpcInfo, PcMorphInfo, PetInfo.
   - Avoid NPE on ClanHall#setOwner, issue introduced in rev 381. Ty bowling4soup.
   - Fix ShortcutList#restore(), issue introduced in rev 381. Ty bowling4soup.
   - Fix ignoreShield() behavior for L2SkillType STRSIEGEASSAULT, PDAM && FATAL. Ty Sahar.
   - SiegeGuard AI is set to ACTIVE and not IDLE when reduceHate occurs.
   - Fix an issue on player creation ; items (armors) weren't equipped properly.
   - Fix default skills shortcut acquisition upon player creation.
   - A DOWN server now correctly repells login attempts (case of Shutdown 60sec). Negative access levels accounts see the server DOWN, and can't login aswell. Addition of GameServerInfo#canLogin(LoginClient client).
   
PS : You should update your geodata, either using GeoDataConverter or refreshing it using aCis shared link (verify modification date).

Since a lot of core has been edited/moved, sources will be exceptionally shared at rev 382 for Customers, added to the diff patch for the adventurers. If you begin to dev a project, I strongly invite you to port your customs directly on 382 shared pack.
#93
Crappy servers / Re: L2Free returns: 03/03 !
Last post by henrique - April 02, 2019, 04:29:45 PM
Last night in Giran.

#94
Announcements / Re: Last aCis updates
Last post by Tryskell - March 28, 2019, 10:07:17 PM
Changeset 381 (1225)

Updates, Cleanup, ClanHall, Bugfixes


Updates
   - aCis officially support JDK11 (since Oracle changed their licence, consider to use OpenJDK), and is now mandatory. Older/different versions aren't supported anymore.
   - Refresh mysql connector from 5.1.26 to 8.0.15.
   
Cleanup
   - Revert StringUtil#isEmpty(String... strings) logic.
   - Rnd.get(list) / Rnd.get(array) uses are unified over the source. Those methods don't send anymore default values, and will lead to errors if the given array is null.
   - Add Player#isWearingFormalWear().
   - Add ExProperties#parseIntIntList.
   - Add ZoneType#addKnownObject / removeKnownObject.
   - Drop L2Skill isDemonicSkill() / isFlyingSkill() / isStriderSkill() - no use anymore.
   - Activation of the try-with-ressources warning. All impacted classes were cleaned up in the process (renames, CLogger addition, regular writting style, Stringified queries, Javadoc...). I won't list all changes, but there was something like 200+ warnings.
   - IdFactory
      - Merged with BitSetIDFactory.
      - Drop _freeIds.clear() on initialization (Javadoc says it sets to false by default).
      - Drop _initialized flag (unused).
      - Drop Collections.sort(usedObjectIds) (pointless).
   - Basic Duel packets cleanup. Add missing ExDuelEnemyRelation packet (with no use). Ty RooT.
   - ZoneType#getKnownTypeInside returns Collections.emptyList() if no characters are found - avoid to generate an empty List for nothing. Delete children classes isEmpty() checks.
   
ClanHall
   - Complete rework of ClanHall system. Added to the regular cleanup (CLogger, Javadoc, Stringified queries,...) :
      - Improve clanhall admin management.
         - Usage is now //ch chId <set|del|open|close|goto|end> (one admincommand for all actions).
         - Clan Hall and Siege admincommands got now seperated AdminCommandHandler.
         - No more Exception on invalid parameter for both clan halls and sieges admincommands.
      - Fix clan hall doormen "To Beginning" button.
      - Change the way of attribution of ClanHallManagerNpc ClanHall (no subsequent ClanHallManager calls).
      - XMLize static data (moved out from SQL). Merge Auction db content with ClanHall db content. AuctionManager is dropped, Auction is now stored to the ClanHall directly.
      - Rework the fee task to be more friendly.
      - ClanHallFunctions are loaded in same time than ClanHall, to benefit from the existing Connection. ClanHall don't use anymore one Connection per ClanHall, too.
      - "Clan Action" panel is refreshed upon ClanHall free() method call.
      - Fix an issue with owned ClanHall bids cleaned up upon server start.
      - Upon setOwner() : previous owner got some actions made on it, fee task is renewed for new clan, existing ClanHallFunctions are deleted, outsiders are dumped out.
      - Doors are closed for both free() / setOwner() processes.
   
Bugfixes
   - Implementation of EventTrigger packet + retail usage (castle traps visual effect on siege progress). Ty RooT.
   - Implementation of ExMPCCPartyInfoUpdate packet.
   - Add mods_wedding as part of restored objectIds (otherwise those ids are usable, while they shouldn't).
   - ShortcutList / Shortcut
      - Fix addition/remove/update SKILL shortcut type (manual or from trainer).
      - Integrity check upon addition (check MACRO, RECIPE, ITEM, SKILL types).
      - Fix cleaning issue for ITEM (dropping an item on ground was only clearing the first occurence of shortcut met, not others if existing).
      - Implementation of ShortCutDelete packet.
   - Olympiad Competition starts time seconds are set to 0.
   - EnterWorld exploit fix (create a special GameClientState ENTRING for the occasion, more infos here : http://acis.i-live.eu/index.php?topic=10070).
   - GMViewSkillInfo shows correctly disabled skills when wearing Formal Wear. Also refresh skills state upon equiping/unequiping Formal Wear.
   - Add back regular skills use for mounted players and cursed weapons users. Indirectly fix SoE and alike skills items for mounted / CW user.
   - Fix zone/region overlapping (can be tested on Giran castle active front trap). Ty bowling4soup.
   - Fix Q348. It uses L2OFF script for Blooded Fabric acquisition formula.
   - Add MultiSellChoose _entryId integrity check to avoid packet craft (avoid IOOBE). Ty Ghadda / bowling4soup.
   - Rework BrokenLabyrinth based on L2OFF GF. Fix an IOOBE.
   - Edit Linux shell scripts to automatically create log folder if not existing. Ty RooT.
   - Add CW SocialAnimation upon ranking.
   - Fix CW visual effect (goes from 1 to 10 stage, not 0 to 9). Ty RooT for tip.
   - Fix XP/SP calculation. HP ratio is already taken in consideration by template values. Ty Ghadda.
   - Revert previous edition of a config, based on Sahar observations - From -18104, 109992, -2656 to -18312, 110056, -2512 archers could shoot.

   
PS : if you already own a live server, you have to add "?serverTimezone=UTC" as part of database URL.
PS2 : you have to refresh your developement board :
   - OpenJDK 11 can be downloaded here : https://jdk.java.net/
   - Eclipse 2018-12 or any IDE accepting JDK11.
#95
Crappy servers / Re: L2 Order VS Chaos Returns:...
Last post by sahar - March 22, 2019, 06:56:43 PM
Don't forget to join and say hi folks, l2ovc is not the typical crappy server  :happyforever:
Live streams also available to watch on our homepage: http://l2ovc.com



#96
Announcements / Re: Forum Announcements
Last post by Sido - March 17, 2019, 08:21:17 PM
Everything should be back to normal.
Please report any problems you may encounter.
#97
Announcements / Re: Forum Announcements
Last post by Sido - March 15, 2019, 10:44:49 PM
This weekend our community will be in maintenance as we doing some changes.
#98
Crappy servers / Re: L2 Order VS Chaos Returns:...
Last post by sahar - March 08, 2019, 09:03:31 PM
New season coming 15/03 17:00 GMT +3.
First post updated with most recent features.
#99
Announcements / Re: Last aCis updates
Last post by Tryskell - February 18, 2019, 03:20:09 PM
Changeset 380 (1133)

RaidBossManager rework, Admincommands, DayNightSpawnManager rework, Scripts, Cleanup, Bugfixes


RaidBossManager rework
   - Regular cleanup (CLogger, try-with-ressources, stringified queries,...).
   - Edit tasks to not be canceled, probably fixing InterruptedException on raid boss death.
   - Tweak raid boss death query in order to only update it, and not all raid bosses.
   - Fix the raid boss loaded HPs upon server restart.
   
Admincommands
   - Revert //setinvul (setIsInvul true), rename it //invul and move it on AdminEffects.
   - Add //undying, which takes back the current //setinvul behavior (setIsMortal false).
   - Add //buff <skillId skillLvl>. If no valid Creature target, use player itself. Can be used as buff/debuff.
   - Fix admincommands para_all / para (mobs were still ending current casting/attack).
   - Add admin_debug for the alt+G panel ("Information" button).
   
DayNightSpawnManager rework
   - Cleanup (divide by 3 the class).
   - Hellmann is moved out, to its own script. The day/night spawn is fixed.
   - Fix the issue where day/night spawns are only handled on next day/night change after server start.
   
Scripts
   - ON_CREATURE_SEE event type is added.
   - Fix Q023 : upon saying Innocentin you didn't read the book, the quest was freezed.
   - Q024_InhabitantsOfTheForestOfTheDead is added.
   - "ForestOfTheDead" script is added. In the end, it will gather all related AIs. Handle following for now :
      - Hellmann day/night spawn.
      - Cursed Village NPCs day spawns.
      - Q023 "Maid of Lidia" night spawn.
      - Q024 night Dorian check.
   - Add a missing QueenAnt onAttack condition regarding fire spells. Ty bowling4soup.
   - NPE fix for onKill. Also allow onKill to handle custom suicide behaviours (simply check if killer is npc).
   
Cleanup
   - Complete ChangeMoveType packet structure. Ty RooT.
   - Complete TeleportToLocation packet structure.
   - Rename Creature#teleToLocation for teleportTo.
   - Addition of instantTeleportTo method (used for short distance teleport, mostly skills). GetPlayer skillhandler is edited to use it.
   - Addition of WorldObject#refreshKnownlist() method (used only by instantTeleportTo).
   - Drop unused Player constructor.
   - Move all unrelated content (spoil, soul crystals, seed,...) from Attackable to Monster (1 Map, 2 Lists, few other variables : Guard / SiegeGuard don't need such).
   - Slight Henna rework, ty StinkyMadness.

Bugfixes
   - On teleport, the heading is now taken in consideration.
   - Fix NPE for detached Players upon //character_info use. Ty sahar.
   - Complete previous fix regarding auto-attack behavior which should stop once the target isn't autoattackable anymore.
   - Fix Q634 Dimensional Fragments drop amount/rate.
   - Anakazel rewards Soul Crystal leveling to all party members.
   - Fix a weapon equip task exploit. Ty Celestine for the detailed video.   
   - Fix ghost attacks upon stun/sleep/paralyzed/... effects. Notably visible on NPCs.
#100
Announcements / Re: Searching for laboratory m...
Last post by Tryskell - February 02, 2019, 10:40:42 PM
Refreshed the topic !  :srsly: