aCis


Beginning of the cycle 380-389. Current focus : exploit fixes, scripts ending. Changeset 383 (1388) is up ! Movement rework - Part I, Sit / Shop fixes, Safe fall height, Bugfixes, Organization

Recent Posts

11
Announcements / Re: Forum Announcements
« Last post by Sido on April 29, 2019, 12:41:51 PM »
On 2019-04-30 from 10:00 till 13:00 (GMT +3) we will perform a planed maintenance. Due to this reason, our services / websites will be temporary down.
12
Announcements / Re: Forum Announcements
« Last post by Sido on April 21, 2019, 02:59:06 PM »
Scheduled Maintenance on 2019-04-23 12:00:00 
Estimated finish 2019-04-23 13:00:00
13
Announcements / Re: Last aCis updates
« Last post by Tryskell on April 18, 2019, 12:47:08 PM »
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.
14
Crappy servers / Re: L2Free returns: 03/03 !
« Last post by henrique on April 02, 2019, 05:29:45 PM »
Last night in Giran.

15
Announcements / Re: Last aCis updates
« Last post by Tryskell on March 28, 2019, 11: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 : https://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.
16
Crappy servers / Re: L2 Order VS Chaos Returns: 27/10/18 !
« Last post by sahar on March 22, 2019, 07: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



17
Announcements / Re: Forum Announcements
« Last post by Sido on March 17, 2019, 09:21:17 PM »
Everything should be back to normal.
Please report any problems you may encounter.
18
Crappy servers / Re: L2Free returns: 03/03 !
« Last post by henrique on March 16, 2019, 01:25:28 PM »
ok
19
Announcements / Re: Forum Announcements
« Last post by Sido on March 15, 2019, 11:44:49 PM »
This weekend our community will be in maintenance as we doing some changes.
20
Crappy servers / Re: L2 Order VS Chaos Returns: 27/10/18 !
« Last post by sahar on March 08, 2019, 10:03:31 PM »
New season coming 15/03 17:00 GMT +3.
First post updated with most recent features.