Main Menu

Recent posts

#81
Crappy servers / Re: L2 Order VS Chaos Returns:...
Last post by sahar - February 04, 2020, 08:29:21 PM
Been a while since I posted here  :likeaboss:
You all are welcome on a new l2ovc season that just started this weekend :)
Live streams on homepage: http://l2ovc.com













#82
Announcements / Re: Last aCis updates
Last post by Tryskell - January 17, 2020, 08:44:42 PM
Changeset 388 (1562)

Movement is still experimental. The status IS NOT OK for LIVE servers. MoveToPawn behavior still need to be fixed.
Siegable Hall isn't tested, and probably need further development. Those CHs are normally fully working regarding owner administration.


Env drop, PartyMatching, Quests, Bugfixes, Organization


Env drop - Ty Hasha for debug.
   - Drop Env and Lambda, which were retaining a lot of pointless variables.
   - Add missing "base" functions, and make a use of it.
   - All FuncHennaCON/DEX/... are merged into FuncHenna.

PartyMatching
   Organization
      - Merge PartyMatchWaitingList and PartyMatchRoomList into PartyMatchRoomManager.
      - Move PartyMatchRoom on model.group, make it use AbstractGroup.
      - Delete package model.partymatching.
      - Related packets are cleaned. Methods are generated on appropriated classes to make it cleaner.
   Bugfixes
      - Fix all possible CMEs due to unappropriated containers, fix one possible NPE.
      - Rework the changeLeader management to avoid a client crash.
      - Add the missing max member amount check.
      - Rework waiting list behavior to fit with L2OFF.
      - Set the location as "1", to avoid a client crash. Put a TODO, as we miss needed implementation to code it as it should.

Quests
   - Q351 : Fix reward. Ty p0w3rf1y.
   - Q025 addition. Ty roko91 / Hasha.
   - Q335 addition. Ty RooT / Hasha.

Bugfixes
   - Fix login system, reverting Account cache system.
   - Clan skills aren't rewarded on Player relog if reputation < 0.
   - Clan skill, upon acquisition, isn't rewarded if reputation reaches 0.
   - Add a missing Config.MINIMUM_CLAN_LEVEL use over ClanMember.
   - Fix Sand Cloud, Heroic Grandeur, Heroic Berserker, Invocation skills.
   - Rework ForestOfTheDead in order Npc references are correctly exploited + some cleanup. Ty Hasha.
   - Fix HP/MP Clan Hall regen calculation. Ty p0w3rf1y.
   - Save ClanHallFunction upon creation. Ty p0w3rf1y.
   
Organization
   - Optimize packet sending over Clan skill acquisition.

Movement is still experimental. The status IS NOT OK for LIVE servers. MoveToPawn behavior still need to be fixed.
Siegable Hall isn't tested, and probably need further development. Those CHs are normally fully working regarding owner administration.
#83
Newcomers, read this / Re: How to access private sour...
Last post by Tryskell - January 10, 2020, 09:09:45 PM
Added related infos on BAT payment method

You can now pay me in BAT. BAT is a crypto token used by Brave browser in order to reward content creator. You can generate BAT seeing ads (some little popups).

Brave is a pretty much decent browser based on Chromium engine, which I use on a daily base.

A referal link to the Brave browser is also added.
#84
Announcements / Re: Last aCis updates
Last post by Tryskell - January 07, 2020, 05:36:43 PM
Changeset 387 (1541)

Movement is still experimental. The status IS NOT OK for LIVE servers. MoveToPawn behavior still need to be fixed.
Siegable Hall isn't tested, and probably need further development. Those CHs are normally fully working regarding owner administration.


LS rework, Quest related edits, Chat related edits, Organization


LS rework
   - Generate enums package for LS, and extract existing enums to it.
   - Generate data (sql and manager) package, and move all related classes to it.
   - Replacement of password algorithm from Base64 to BCrypt. Ty SweeTs.
   - Load all Account (previously AccountInfo) in memory, to avoid pointless SQL manipulation and generating/destroying Accounts objects.
   - Extract related content from multiple classes and generate AccountManager and IpBanManager out of it.
   
Quest related edits - Ty Hasha
   - Quest system edit
      - Complete the javadoc + cleanup.
      - QuestTimer storage is simplified (all timers are stored on same level).
      - Quest#onEvent is dropped, onAdvEvent prevails.
      - Add the possibility to cancel specific QuestTimer based on multiple criterias.
      - Implement Quest#onTimer, moving timer based events from onAdvEvent.
      - Quest#onGameTime and Quest#onSiegeEvent got now parameter for easier usage.
      - Make an extensive use of onDecay on all quests.
      - All quests are edited to spawn only one instance of a quest monster at a time.
      - Remove boolean flag isRepeating over Quest#startQuestTimer ; cut that method in 2, Quest#startQuestTimer and Quest#startQuestTimerAtFixedRate.
   - Quests
      - Introduce SecondClassQuest abstract class, holding shared content between all 2nd class transfert quests.
      - Q021 : Add few missing sounds and HTMs.
      - Q242 : Fix the Fallen Unicorn issue.
      - Q619 : Introduce droplists of relics for 4sep and IT.
      - Fix retail typo "Neidrahu" > "Nidrah" on all HTMs ("Nidrah" being the reverse of "Hardin", the necromancer).
      - Q334 addition, ty Rootware.
      
Chat related edits - Ty Hasha
   - NpcSay : added more constructors, javadoc
   - CreatureSay (Say2)
      - added more constructors, javadoc
      - updated packet structure, removed _npcString (IL client does not use NpcString)
      - removed systemmessage parameters, they are not used by client
      - updated parameter names, added some explanation
      - updated the usage of packet, whenever possible, changed to NpcSay(shorter packer name (string) -> npcid (int))
   - Introduction of new enum SayType for chat type.
   - Added NpcStringId container, based on L2OFF fstring.txt content.

Organization
   - Add SevenSignsManager#getLosingCabal(), rename SevenSignsManager#getCabalHighestScore() > getWinningCabal().
   - Delete CabalBuffer instance. Move behavior to AI script, as group.CabalBuffers. Behavior is taken from L2OFF GF (same than IL).

Note: Prefer NpcSay over CreatureSay, when having a need for creature (with NPC ID) to speak.

PS : The transition between Base64 and BCrypt for password encryption is left to live servers owners, but the idea is to edit used algorithm of "password replace feature" using BCrypt on your existing account panel, and request your users to edit their password to be able to log on.

Movement is still experimental. The status IS NOT OK for LIVE servers. MoveToPawn behavior still need to be fixed.
Siegable Hall isn't tested, and probably need further development. Those CHs are normally fully working regarding owner administration.
#85
Announcements / Re: Forum Announcements
Last post by Tryskell - January 05, 2020, 11:09:12 AM
"Redirection links towards important topics" category is dropped, instead I decided to move important topics to their own, dedicated board to avoid people to search and persecute me with idiots and already answered questions.

Discord channel has been edited to reflect this change.
#86
Newcomers, read this / What is aCis ?
Last post by Tryskell - January 05, 2020, 09:59:01 AM
Introduction

aCis (acronym for "another Crappy interlude server") is a Java emulator, based on L2J work, focusing on Interlude chronicle. Project leader is named Tryskell. The project begun around december 2010, after the end of L2JArchid. At this moment, none European L2JIL pack was maintained.

Particularities

  • We focus about retailness ; a big emphasis is done to reproduce the good aspects of L2OFF behavior, using all informations we still have.
  • The customs are dropped when not needed. It allows you to make WHAT YOU REALLY WANT, avoiding any conflict. The time saved not developing customs is fully used to enhance retail behavior.
  • The pack is under a freemium concept, which mean you can contribute with money or with code, and get rewarded with latest sources access. Read the dedicated thread to understand the whole concept.

Achievements

Countless reworks have been done, but the biggest could be named as:

* XMLization of numerous tables.
* Complete rework of scripts folders, with drop rates checked from L2OFF.
* Rewritten AIs using L2OFF behavior.
* Cleaned up knownlist system.
* New movement system.
* Multiple hundreds, if not thousands, fixed issues.

A lot of work is still needed : join the community in order L2J world got one day a decent IL emulator.
#87
Announcements / Re: Last aCis updates
Last post by Tryskell - January 02, 2020, 04:41:34 PM
Changeset 386 (1497)

Movement is still experimental. The status IS NOT OK for LIVE servers. MoveToPawn behavior still need to be fixed.
Siegable Hall isn't tested, and probably need further development. Those CHs are normally fully working regarding owner administration.


MariaDB / SQL tables, Scripts, Bugfixes, Organization


MariaDB / SQL tables
   - Consider to download latest MariaDB (10.4.11 at the date of this note) and transfer your db to it. MySQL is considered legacy.
   - Following tables are edited : accounts, auctions, augmentations. More will come with time, until all are optimized and follow convention.

Scripts
   - Addition of Q120. Ty StinkyMadness for adaptation.
   - Addition of Q343, based on L2J's ivantotov script. Fix memoStateEx to fit L2OFF.
   - ShadowWeapon script
      - Add 10 missing entries out of 90, out of 3 multisells.
      - Add exchange option to Ranspo, as depicted on L2OFF.
   - Q101 : add missing quest items in registered items list. Ty Rootware.
   - Q336 : add missing npcId in addTalkId. Ty p0w3rf1y.
   - Q626 : make the quest repetable and party friendly, according client infos. Ty p0w3rf1y.
      
Movement
   - Fix Boat stop behavior upon harbor reach (both regular and busy states), leading to memory leak.
   - Fix IOOBE over GeoEngine#findPath (trying to set player on non-existing layers), based on Hasha fix.
   - Fix movement issue related to route cutting edges. Ty vladalien.

Bugfixes
   - Orcs Mystics are considered as FIGHTER, and not MAGE anymore (22nd May 2007 patch note). Ty shyr.
   - Allow non stackable items with amount > 1 over create_item. Limitation based on inventory slot amount.
   - Second layer of fixes for enchanted item buy possibility.
      - Add missing messages for buy/sell enchanted items.
      - Add missing OperateType.NONE, which fix stuck behavior upon fail (casting a skill, setting on NO_STORE zone, etc).
      - Add ItemRequest#_enchant + related checks.
   - Fix Dice roll vector.
   - Fix SchemeBuffer duplicate key exception. Ty Sahar.
   - Revert part of 385 related to CC edit, fixing CCE about Raidboss.
   - Fix SecondClassChange "congratulations" htm.
   - Don't disband Party on DISCONNECTED leader (as tested on AdvExt).
   - Add missing zone data related to rev 384. Implement it under new enum SpawnType, based on StinkyMadness suggestion.
   
Organization
   - Server bypass floodprotection is lowered from 500ms to 100ms (lowest secured value, less painful for user).
   - Add SpawnLocation#getLocationWithOffset.
   - isVisible refactor, ty StinkyMadness.

Movement is still experimental. The status IS NOT OK for LIVE servers. MoveToPawn behavior still need to be fixed.
Siegable Hall isn't tested, and probably need further development. Those CHs are normally fully working regarding owner administration.
#88
Announcements / Re: Last aCis updates
Last post by Tryskell - October 17, 2019, 10:41:33 PM
Changeset 385 (1468)

Movement is still experimental. The status IS NOT OK for LIVE servers. MoveToPawn behavior still need to be fixed.
Siegable Hall isn't tested, and probably need further development. Those CHs are normally fully working regarding owner administration.


Scripts, CommandChannel edit, Bugfixes, Organization


Scripts
   - Addition of Q336. Ty RooT.
   - Q384 rework.
      - Fix IOOBE. Ty p0w3rf1y.
      - IntIntHolder use for shorter storage, avoid ArraysUtils using String#contains instead.
      - Medals aren't deleted anymore upon abort.
   - Addition of Q386, based on Q384 rework.

CommandChannel edit
   - Addition of BossInfoType enum, holding informations about Command Channel.
   - Move reduceCurrentHp override from Monster to RaidBoss and rework it.
   - The check task is now running every second, timer is reduced from 15m to 5m.
   - Looting rights messages have been added (10sec show).
   - Strategy Guide item (8871 itemId) is used as a side-way to create a Command Channel, and is now only needed/consumed if your clan doesn't own Clan Imperium skill (391 skillId).

Bugfixes
   - Fix TARGET_CORPSE_MOB target types ; you can now use such skills on Guards. Ty Art1s.
   - Fix unarmed mAtk damage.
   - Fix enchanted item buy possibility on Player tradelist. Ty RooT.
   - Fix extractable items inventory limit bug.
   - Fix a NPE over CreatureMove#moveToNextRoutePoint() execution.
   - Fix NPCs vulnerabilities passive skills.
   - Clear variables upon harvest and sweep attempt to avoid exploit attempt.
   
Organization
   - Add following methods :
      - Location#isInRadius(int, int, int) / Point2D#isInRadius(int, int) (and variants)
   - Move 3x3 matrice, used by Q384 / Q386 quests to MathUtil.
   - Add container.monster. Generate OverhitState, SpoilState and SeedState from Monster content.

Movement is still experimental. The status IS NOT OK for LIVE servers. MoveToPawn behavior still need to be fixed.
Siegable Hall isn't tested, and probably need further development. Those CHs are normally fully working regarding owner administration.
#89
Announcements / Re: Last aCis updates
Last post by Tryskell - September 29, 2019, 06:20:09 PM
Changeset 384 (1454)

Movement is still experimental. The status IS NOT OK for LIVE servers. MoveToPawn behavior still need to be fixed.
Siegable Hall isn't tested, and probably need further development. Those CHs are normally fully working regarding owner administration.


SH part I, Movement part II, PlayerLevelData addition, Boats, Bugfixes, Organization
   
SH part I
   - Add Q504 and Q655 quests.
   - Add 4 out of 6 Siegable Halls scripts :
      - Devastated Castle
      - Fortress of Resistance
      - Fortress of the Dead
      - Rainbow Springs Chateau
   - Add relatedNpcIds for all clan halls.
   - Add clanHall information for all doors.
   - Rework SiegeNpc to use all retail HTMs. It isn't supposed to NPE over Siegable Hall anymore.
   - Create SiegableHallZone.xml, based on ClanHallZone zones.
   - Update ClanHallZone.xml with "other" spawns.
   
Movement part II
   - Fix Boat movement, based on vladalien work.
   - Rework isPathClear behavior, which wasn't working properly. Objects don't use geopath anymore when not needed.
   - Drop ARRIVED event for intermediate path points. Ty vladalien.
   - Fix player/creature following "knownlist-forgotten" teleporting character behavior.
   - Don't process Walker path if already moving.
   
PlayerLevelData addition
   - Unhardcode Formulas#karmaMods and Experience.java.
   - Implement missing exp loss % per player death based on level.
   - Rework getExpForThisLevel() / getExpForNextLevel() / getExpForLevel(int level) for both Summon/Pet/Player. It is now only located on Stat.
   - Don't feed anymore getExpForThisLevel / getExpForNextLevel for regular servitors packets. Revert-able if a visual issue occurs.
   
Boats
   - Boat clandestines entering DURING boat leaving harbor are now correctly dropped out from Boat if they got no valid tickets.
   - Pay process is now delayed of 5sec to fit with AdvExt, passenger system is reworked.
   - Fix Boat entrance/exit to fit with AdvExt. You now instantly stop on the edge of each side (harbor/boat), and can now enter from afar. Ty vladalien.
   - Boat is now correctly set to null while teleporting (soe, gm) and upon leaving boat while boat is still sailing.
   - Store process is stopped upon boat oust.
   - Passenger summon is unsummoned to avoid movement tracking issue. RELEASE_PET_ON_BOAT is called only once, as a first shot warning and Player can onboard freely with summon on.
   
Bugfixes
   - Rework nextActionIsAttack() implementation to avoid one NPE and properly set NEXT intention.
   - SS / BSS animation is now processed as retail. Ty SweeTs.
   - NPCs don't recharge ss/bss anymore if already charged.
   - Chance skills upon casting magic skills is fixed. Ty Sahar.
   - Allow players to use Curse Death Link with CTRL. Ty Zarie.
   - Fully fix fake death behavior, as tested on AdvExt PTS.
      - Heal, buffs, missed attacks and self damage don't trigger the effect end anymore.
      - The begin of a cast/attack don't trigger the effect end anymore.
      - User spam skill/stand action got now a delay (similar to sit and revive).
      - The effect end isn't triggered anymore when being in middle of animation start (it is simply ignored).
   - Revert following part of rev 238 : 'Reflect damage skills type don't kill you anymore (stuck at 1). Well, shouldn't.' as tested on AdvExt PTS.
   - Fix Dark Vortex absorb part %.
   - Gates of Splendors can't be opened anymore using Unlock skill, based on official patch notes. Edit values based on IL patch notes.
   - Revert partially FourSepulchersManager, prior to rev 379. Shadows of Halisha should correctly spawn.
   - Upon //hide, summons are now hidden and STEALTH effect is applied.
   - Fix a missing distance check on Quest#getClanLeaderQuestState (player killer wasn't tested if not clan leader ; now both player and leader must be in good distance of the npc to trigger it).
   - Fix Anakazel duplicates. Ty bowling4soup.
   - Add missing SCHs doors upon Siegable Halls getDoors() in order to make them usable by NPCs (previous system couldn't work properly).
   - Implement CP_CH_USE_FUNCTIONS privilege. Fix missing occurences of CP_CL_VIEW_WAREHOUSE, CP_CH_SET_FUNCTIONS and CP_CH_OPEN_DOOR.
   - Fix naming conventions for both player/pet (alphanumeric 1-16 for both), based on AdvExt PTS.
   - Implementation of Siege Mercenary Gatekeepers. Ty RooT.
   - Fix missing MercenaryManagerNpc checks (upon AdminNpc to show Shop button, and on the regular packet RequestBuylist, making it impossible to buy tickets).
   - Properly cleanup tickets and mercenaries upon //removecastle.   
   - Add missing CHARGE FlyType.
   - Fix Player cast behavior : you can now queue the same skill.
   - Fix an issue with bookmarks. Bookmark name isn't server-scope anymore, but player scope. Ty StinkyMadness.
   
Organization
   - Addition of Point2D, the mother class of Location.
   - SchemeBuffer - Ty StinkyMadness
      - Rework getGroupSkillList, reducing code amount.
      - Add images to fill empty space in "prev - next", in order layout always keeps its shape.
   - Refresh some SQL tables PRIMARY KEY. Ty StinkyMadness.
   - RandomWalkRate is configurable now (default 30%).
   - Addition of //walker admincommand, showing Walker routes.
   - Remove //move_defenders (unused, not implemented).
   - //siege is reworked. It now shows current siege status and a link to siege information packet, for each castle.
   - Addition of following methods :
      - Npc#isLordOwner(Player)
      - WorldObject#setXYZ(WorldObject)
      - Quest#checkClanLeaderCondition(Player, Npc, String, String)
      - Player#hasClanPrivilege(int)
      - SpawnLocation#setHeadingTo(int, int) and variants.
      - WorldObject#knows(WorldObject). Replacement of all getKnownType(class).contains uses for knows. It will lead to big performance hit over any live server.
      - Location#distance(Location) and variants (with int coords, Point2D).
   - Multiple classes now extend appropriate classes and/or are moved to proper packages (RadarMarker, Bookmark, NewbieBuffHolder,...).
   - Store FlyType under enum, to avoid calculation.
   - Add a package named model.zone.type.subtype to store all subtypes zones related classes (aka mother classes, not used directly by XMLs but used by children).
   - Add subtype zone ResidenceZoneType, used by CastleZone and ClanHallZone.
   - Add Spawn(int id) which generate a Spawn with included NpcTemplate check.
   - AdminEditNpc is renamed AdminNpc.
      - Creation of //npcinfo (clone of shift + left click), which split all NPC infos towards categories.
      - Drop //show_minion, //show_scripts and //show_droplist ; they are now added directly into //npcinfo.
      - Edit npcinfo / doorinfo to add clan hall / siegable hall informations.
   - Npc / Door now use NpcTemplate / DoorTemplate variable to feed ClanHall / SiegableHall information instead of getNearestClanHall (avoid 100k+ iterations).
   - Package "container" creation - A container is basically an "extension" of an instance, holding multiple variables affecting one particular system and linked to an instance.
      - Move model.player and model.npc into a new package, model.container.
      - Generate model.container.creature and hold the few related classes into it.
      - Rename CharEffectList to EffectList.

Movement is still experimental. The status IS NOT OK for LIVE servers. MoveToPawn behavior still need to be fixed.
Siegable Hall isn't tested, and probably need further development. Those CHs are normally fully working regarding owner administration.
#90
Newcomers, read this / Re: Latest free sources and ge...
Last post by Tryskell - September 28, 2019, 05:22:45 PM
GitLab offering more services and options than GitHub, both private/public projects are now migrated to it.