December 01, 2021, 01:34:34 PM

Recent posts

Pages 1 2 3 4 5 6 ... 10
Announcements / Re: Last aCis updates
Last post by Tryskell - January 27, 2021, 09:11:17 PM
Changeset 398 (2308)

Admin commands - part II, Petition, TradeList, TargetHandler, Community Manager, Olympiads, Formulas, Bugfixes, Organization

Admin commands - part II
      - Fully rewritten, merged under //movie and //sequence. Delete MovieMakerManager.
      - Sequences are stored under TreeMap for automatic sort based on index.
      - Work even if indexes aren't following each other.
      - Sequences parameters are set on individual columns for easier read.
   Delete AdminNpc, AdminCamera, AdminShop admincommandhandlers.
      - Delete //walker, merged with //show (walker).
      - Delete //gmshop, merged with //buy (no params needed).
      - Delete //show_shop, merged with //info (shop).
      - Delete //show_shoplist, replaced by simple //buy.
      - Delete old //camera (redundant with //movie, almost impossible to use)
      - Rename //cameramode > //camera. Fix 2 issues (knownlist is properly refreshed, the camera doesn't bounce back to initial position anymore).
      - Merge all admin commands related to petitions to //petition (show, unfollow, reject, join, reset, view).
      - Implement //add_peti_chat and //force_peti from ALT+G panel.
   - //setnoble is merged with //set (noble).
   - Add missing checks for //remove. Ty StinkyMadness for report.
   - Overall cleanup (merge containers, Stream usage, Javadoc, multiple checks added, unhardcode HTMs, improve HTMs details). Rework ChatPetition to avoid to iterate upon sent message.
   - Allow petitions to be saved over server shutdown (lazy save), and properly loaded back (both responders and petitioner receive the Petition window with stored messages).
   - Implement the petition feedback system, and show it upon CLOSED state.
   - You can now add multiple users over a single petition (//add_peti_chat). If such added user "cancels" the petition, he can either cancel it if GM, or simply leaves it if regular user.
   - You can now enforce your target to petition with yourself (//force_peti). It will generate a perfectly regular Petition.
   - Add the possibility to switch from one Petition to another (active petition returns as PENDING if none active GMs are part of responders).
   - You can now move from one Petition to another simply joining another Petition - previous Petition will return as PENDING.
   - You can now unfollow current Petition without having to end it - it will return to PENDING if no left responders are GMs.
   - Set back the Petition as PENDING and remove associated responders if state is IN_PROCESS but no messages were sent.
   - Multiple integrity/sanity checks were added (avoid to reject if already REJECTED, etc).
   - Add Javadoc.
   - Add missing sysMsg ONCE_THE_TRADE_IS_CONFIRMED_THE_ITEM_CANNOT_BE_MOVED_AGAIN over self-locked TradeList.
   - Add missing sysMsg PRIVATE_STORE_UNDER_WAY over you/partner manage store mode.
   - Add missing sysMsg EXCHANGE_HAS_ENDED over unsuccessful trade - the most common unsuccessful trade being 2 empty validated TradeLists.
   - Fix an exploit moving distance check from trade request to validation. Ty StinkyMadness for report.
   - SendTradeDone packet now uses a static approach.
   - Add noicon over Recover Force.
   - Fix Signets symbols.
   - Delete TargetHandler PET.
   - Fix Treasure Keys.
   - Clear charges over Player death.
   - L2Skill addSummon/addCharacter methods aren't static anymore.
   - Rework canDoCast concept. Introduce ITargetHandler#meetCastConditions for Playable conditions, fixing numerous target issues over cast.
Community Manager
      - Move "Mail" class out of it.
      - Don't lazy load mails anymore, everything is done on startup - which avoid to db query to find last mail id.
      - Use PlayerInfoTable to retrieve isGm() instead of db query.
      - Introduce Favorites management (loading, saving, deleting being functional ; proper bypass saving being NOT due to the system chaos - mail coded in a way, memo in another, etc).
      - Rename Manager > manager and bb > model packages.
      - Fix NPE over ClanBBSManager access upon clan creation. Ty Gigi85 for report.
      - Add the possibility to close Community Board using static approach (ShowBoard.STATIC_CLOSE).
      - Rename all related SQL tables to "bbs_".
      - Create ForumType, ForumAccess enums. Delete TopicType.
      - Rework the Forum/Topic/Post management and move it from "BBSManager"s to "CommunityBoard". Delete CPost concept. Structure isn't lazy loaded anymore, db connections are far, far lesser.

   - Rename queries, tasks.
   - Remove synchronized, put _nobles as ConcurrentHashMap.
   - Drop _heroesToBe List (no use to retain it), compute it directly on HeroManager#computeNewHeroes.
   - loadNoblesRank() > processRankRewards(), use Entry to iterate data instead of keySet()/get().
   - saveNobleData() "to_save" concept is removed, instead use INSERT ON DUPLICATE KEY. Also use addBatch/executeBatch instead of generating multiple PreparedStatement.
   - Merge few one-shot methods with their calls (scheduleWeeklyChange/addWeeklyPoints, init/updateCompStatus, olympiadEnd/updateMonthlyData).
   - Delete _nobles == null checks (impossible).
   - OlympiadStat doesn't call 4 times the same content anymore.
   - Hit accuracy calculation : Raise the lowcap from 20% to 30%. Modifiers are now directly applied over acc/eva diff rate (which x2 the impact). Base rate is 90, not 80.
   - Blow damage : fully rework the formula.
   - Blow rate : fully rework the formula.
   - Pdef calculation : Full Armors don't count LEGS bonus anymore.
   - Shield rate versus bows is now x3, out of 30%.
   - Fix pole attack over Players on peace zone. Ty StinkyMadness.
   - Fix CCE over Infinity Axe "Discord" effect. Ty Sahar for report.
   - Rework EffectConfuseMob > EffectDistrust. Only affect Monsters, add a radius check, called only once.
   - Fix 80+ Quests being broken prior to rev 396 Hasha refactor. Ty StinkyMadness for report.
   - Add few missing IdFactory cleanup (bbs_mail<>playerId, bbs_favorite<>playerId, bbs_post<>topicId, bbs_post<>playerId).
   - Don't spend SS over failed Blow. Don't show ATTACK_FAILED message aswell.
   - Add Recovery Scrolls upon //buy "Scrolls" tab. Ty Somename.
   - Implement TeleportMode enum.
Crappy servers / Re: L2FRENZY - 2x
Last post by Gigi85 - January 22, 2021, 09:46:23 PM

Beta Server Opening the 24th January 2021 at 20.00 GMT +1

Web Page:
Visit our community discord at:
Crappy servers / L2FRENZY - 2x
Last post by Gigi85 - January 13, 2021, 09:45:39 PM
L2Frenzy bring you back to the Old good days.

We are group of passionate L2 players and developers which worked hard during last years to restore a retail gameplay of our favourite game.

Interlude Retail x2 Server NO PAY TO WIN - NO HELP - NO BOT

Some features are added in order to improve the gameplay itself:

* Buff Store which allow you to sell buffs in private store
* Academy Reward set from Clan Leader for the new players who join the clan
* Daily Reward free for everyone, just play & claim
* In-game build Search Tool-Drop Calculator to find monsters and items you need to drop/spoil
* Account services and Mail
* Marketplace to find items in sell/buy in town
* Menu to set your favourite game settings
* Offline shop with auto save/load list
* In-game Problem Report Service
* Vote bonus available for everyone simply voting for our server

and much more, you can visit our website to know more about it!

Full Guard protection against Bot and Cheats & DDOS protection web/server
DualBox Protection enabled: Is allowed to play only with 1 main client + 1 extra box

Latest Official & Improved Geodata

Event Medal running 24h

Server OFFICIAL BETA OPENING 24.01.2021 - GMT+1

A special thanks to all crappy users and good developers who help us during this year. :ork1_7:
Newcomers, read this / Re: Public sources
Last post by Tryskell - December 10, 2020, 11:43:49 PM
Geodata is now shared under L2J format (to use from rev 397)
Announcements / Re: Last aCis updates
Last post by Tryskell - December 10, 2020, 11:14:46 PM
Changeset 397 (2224)

Geoengine / Movement, Admin commands, Scripts, Bugfixes, Organization

Geoengine / Movement
   - Drop L2D concept. With years, it got less and less uses (was invalid for LoS, and can be calculated in another mean for geopath). L2OFF and L2J are, anew, fully supported.
   - Fix Z being shifted too high, leading to Z layer misplacement (forts outside wood ladder). Ty Sahar.
   - Fix geopath heuristics. Ty Hasha/Sahar.
   - First iteration of multilayer geopath support (Barakiel column, fort stairs/plateforms, etc) using binary heap. Ty Hasha for the implementation.
   - Fix the 2 IOOBEs related to canSee / canMove (since MoveDirectionType implementation). Ty Hasha.
   - Fix swim movement issue. Ty Sahar.
   - Remove the collision radius offset shrinker in order paths being properly executed (notably visible for Attackable stucking in corners). Introduce back some client<>server desync.
Admin commands
   - Addition of AdminCommand model, storing parameters and description of the admin command.
   - Addition of Pagination class, used to easily cut your data and format it under HTMs. Ty StinkyMadness.
   - Addition of multiple useful methods into IAdminCommandHandler to cut some target selection redundancy. Ty StinkyMadness.
   - activeChar > player rename.
   - Delete all admin HTMs related to skills (data/html/admin/skills). Skills list is generated from //skill list.
   - Move previous //help logic to new //link command.
   - //announce without params properly calls the panel.
   - //help is now generated using adminCommands.xml content. Previous static help system is deleted.
   - AdminDoor //open_all and //close_all are deleted (no use).
   - Merge //bkpage with //bk, //knownlist_page with //knownlist. A bookmark name can't be anymore a number.
   - All related server admincommands are merged into //server param.
   - All related siege commands are merged into //siege param castleName.
   - All related castle commands are merged into //castle param castleName.
   - All related zone commands are merged into //zone show "id"|all|clear, //zone calling the panel.
   - All related geoengine commands are merged into //geo.
   - All related pathfind commands are merged into //path.
   - All related skills commands are merged into //skill and //clan_skill. Greatly improve //clan_skill, allowing to add, delete, add all and delete all skills of a Clan.
   - All related summon commands are merged into //summon. Generate AdminSummon out of AdminRideWyvern/AdminEditChar content.
   - All related effect commands are merged into //effect. Merge AdminBuffs with AdminEffects. //effect now handle set, remove and visual parameters. Edit admin panels accordingly.
   - All related item creation commands are merged into //item. Generate AdminItem out of AdminCreateItem. //item coin can accept radius. Drop //reward_all.
   - //info over Player got a new look, added collision radius/height infos over Npc.
   - //runmod is deleted, //instant_move now accepts 0|1|2.
   - //recall_party and //recall_clan are merged into //recall.
   - //goto is deleted, //teleportto is used instead. All "goto" subcommands (ch, cw,...) are also renamed "teleportto".
   - //tele_areas is deleted.
   - //move_to is renamed //teleport. As L2OFF, it can accept only 2 parameters, being X and Y - Z being calculated based on X/Y coords and actual Player Z.
   - //polymorph is now a toggle, merging the 4 previous admincommands to it. Delete the possibility to morph into an Item (too much bugged).
   - //invul and //undying don't work anymore on other targets than yourself.
   - //para becomes a toggle. Delete //para_all and //unpara_all (no use).
   - Delete //special (not existing).
   - Delete all redundant commands ending with "_menu".
   - //abnormal and //social only affect your current target. There is no more player or radius check.
   - //ban, //ban_acc, //ban_char and //ban_chat are all merged. Same for //unban.
   - //kick, //kick_non_gm are merged. //character_disconnect is dropped.
   - Merge //kill, //res, //heal to new AdminManage, which now use [name[radius]] parameters. Delete //res_monster. Delete AdminHeal and AdminRes. //areacancel is renamed //cancel and moved to AdminManage.
   - Merge AdminGm with AdminAdmin. Rename //gm to //gmoff.
   - //ch chId parameter is moved from first to second place (//ch param chId).
   - Delete //cw "info". It is now part of regular //cw, similar to //siege, //zone, //ch...
   - Heal/kill/res/cancel/open/close now accept parameters over //admin quickbox. Added a "Cancel" button upon //admin.
   - Merge //find_character, //find_ip, //find_account and //find_dualbox into //find. //show_characters is renamed //list. Generate AdminFind for it.
   - Delete //clan_info (collide with //pledge info), //st (collide with //effect visual), //get/reset_skills (you can't ninja anymore skills set of another Player).
   - Generate AdminEditChar //remove out of //removereuse and //remove_clan_penalty. Add //remove death_penalty.
   - Drop //forge and AdminForge. Move left //msg to AdminAdmin.
   - Optional item (e.g. fish) isn't considered as quest item anymore for 3rd class quest. Ty Hasha.
   - Add Medusa and BrekaStronghold AIs. Ty Hasha.
   - Fix 2 NPEs due to AggroList rework. Ty Sahar for report.
   - Fix AttackableAI NPE over thinkIdle. Ty Sahar for report.
   - Fix CreatureCast/CreatureAttack NPEs (definitive edition). Ty Sahar.
   - Fix Doors being non attackable during SiegableHall. Ty Sahar.
   - Fix registration to SiegableHalls. Ty Sahar.
   - Fix Devasted Castle guards. Ty Sahar.
   - Fix BabyPet / Pet skill level. Ty Hasha.
   - Fix RaidPointManager not being properly saved + few optimizations. Ty AshenOne for report.
   - Validate teleport location if a random offset is used. Ty Hasha.
   - Fix invalid PK check over gatekeepers. Ty Dimityr203.
   - Add few more X/Y/Z check validation upons spawns (quest spawns, minion teleport, pet spawn). Ty Hasha.
   - Servitors/pets now spawn heading towards the Player, and their distance is moved from 30 to 40. Both Pets and Servitors use the same spawn rules.
   - Fix Buy shop showing wrong shop quantity. Ty StinkyMadness.
   - FloodProtector is moved to its own enum, on enums folder.
   - Add AggroList#getMostHatedCreature for easier usage.

PS  : Since geoengine doesn't accept anymore L2D format, the exact same geodata is now shared under L2J format. See public sources topic to download it back.
Crappy servers / Re: L2 Order VS Chaos Returns ...
Last post by sahar - December 05, 2020, 04:44:41 PM
Quote from: SweeTs on December 05, 2020, 02:24:37 PM
I wish ya a powerful ddos, like never before! :troll:
As if someone can go through my super advanced 2028 defense systems.  :lulsec:
Crappy servers / Re: L2 Order VS Chaos Returns ...
Last post by SweeTs - December 05, 2020, 02:24:37 PM
I wish ya a powerful ddos, like never before! :troll:
Crappy servers / Re: L2 Order VS Chaos Returns ...
Last post by sahar - December 05, 2020, 12:57:01 PM
L2 OvC GvE faction server opens in just 3 hours !
New Counter Strike and Battle Royale events.
New Clan Hall Siege event.
New Tournaments system.
And much more!
Register and download patch from site now:
Announcements / Re: Last aCis updates
Last post by Tryskell - November 12, 2020, 03:35:28 PM
Changeset 396 (2123)

Scripts, Bugfixes, Organization

Scripts - Ty Hasha.
   - Add missing Q501 and Q503. Ty RooT and Hasha.
   - Rework entirely Quest to be able to handle basic operations without a QuestState. All regular scripts are now QuestState free.
   - QuestState now extends MemoSet.
   - QuestStatus enum implementation, SQL is edited accordingly.
   - Add ElmoderenCemeteryTeleporters, splitted from Q620_FourGoblets. NPC 31919 and 31920 changed to Folk type, moved HTMLs.
   - Merge GoldenRamMercenary instance with Q628, and edit NPCs to Folk.
   - Move death event registration from Player to Quest.
   - Quest loading process is moved from Enterworld to Player#restoreCharData.
   - Implementation of QuestList, a Player container holding QuestStates.
   - Entire script reorganization and renames, to fit with future changes.
   - Complete rework of all Sagas, using dedicated npcIds, itemIds, NpcStringIds. Ty Hasha.

   - Revert one edit introduced in 395, leading to quest html modified in sysmsg. Ty shyr for report.
   - Fix rechargeShots bug upon toggle activation. Ty MasterRoshi for the fix.
   - Edit rank > ranking over clan privileges to bypass MySQL reserved word RANK. Ty Hasha for the fix.
   - Summons can't trigger pvp flag over their masters upon attack.
   - Fix SummonAI stackoverflow.
   - Fix bow>melee>bow cooling down exploit. Ty StinkyMadness.
   - Fix Player rotation over interaction, for both regular and Walkers.
   - Implement Npc#forceAttack, delete AttackableAIScript#attack and cleanup all uses.
   - Delete AccessLevel allowPeaceAttack, takeAggro, gainExp concepts. They were defeating the contract about GMs being as "playerish" as possible.
   - Priviledge > Privilege typo.
   - Drop unused CreatureMove#canfollow.
   - Drop few ActionFailed uses.
   - Move ON_ATTACK call from Attackable to Npc (allow futher custom or non custom usages).
   - Add few missing NpcStringIds.
   - BossInfoType stores NpcStringId instead of Strings.
   - ExShowScreenMessage packet is cleaned up. SMPOS is mandatory.
   - AbstractGroup#broadcastOnScreen is added.
   - Npc#broadcastNpcShout and broadcastOnScreen are added.

PS : Following SQL update is needed for live servers:

ALTER TABLE `clan_privs` CHANGE `rank` `ranking` INT NOT NULL DEFAULT '0';

UPDATE `character_quests` SET `var` = '<cond>' WHERE `var` = 'cond';
UPDATE `character_quests` SET `var` = '<flags>' WHERE `var` = '__compltdStateFlags';
UPDATE `character_quests` SET `value` = 'CREATED' WHERE `var` = '<state>' AND `value` = '0';
UPDATE `character_quests` SET `value` = 'STARTED' WHERE `var` = '<state>' AND `value` = '1';
UPDATE `character_quests` SET `value` = 'COMPLETED' WHERE `var` = '<state>' AND `value` = '2';
Announcements / Re: Last aCis updates
Last post by Tryskell - October 31, 2020, 11:11:16 PM
Changeset 395 (2038)

GeoEngine, StatSet / MemoSet, AggroList, Gatekeeper, Raid Curses, Bugfixes, Organization

GeoEngine - Ty Hasha
   - Added MoveDirectionType enum with pre-calculated constants.
   - Added getValidSwimLocation, which calculates last accessible swimming location. It also handles getting out of water correctly.
   - Dropped geo coordinate validation when converting from world coordinates (getGeoX, getGeoY).
   - Added world coordinate or geo coordinate checks in various can/get methods. GeoEngine now support processing of coords, when outside of world.
   - Fix LoM check giving false positive result, when target is on "balcony".
   - Simplified GeoEngine#getWorldX/Y calculation.
   - Added new admin command "geo_fly" to check LoF.
   - Fixing movement blocked / pathfinding fail /  by dual-layer (e.g. Sirra's pond).
StatSet / MemoSet
   - Implementation of MemoSet, a CHMap storing String pairs.
   - StatsSet is renamed StatSet and moved to
   - NpcMemo and AbstractMemo are deleted.
   - Lazy initialization concept is deleted from PlayerMemo and ServerMemoTable.
   - Introduce AggroList container, gathering all methods related to aggro.
   - Move few methods here and there for an easier and more logical use (notably, hold AggroInfo instead of Creature and compute back getHating).
   - Rework and cleanup methods, for easier use and/or optimization.
   - AggroList#stopHate/reduceAllHate trigger an AI reaction when a most hated isn't foundable.
   - Implement //info aggro for easier aggro management, include it in the existing panel.
   - Fixes related to that refactor :
      - AggroList#reconsiderTarget doesn't consider anymore actual most hated as a valid choice.
      - The aggro isn't cleared anymore if the most hated becomes out of range (so the second on the list inherits the attack stance).
      - Fix multiple aggro values (all are checked). "Raid related" use their own formula.
      - AggroList#randomizeAttack() don't build anymore aggro like crazy and can now work on non aggressive, 0 getAggroRange().
   - Delete 35001 > 35341 instant locations / associated HTMs.
   - Fix all Ivory Tower Gatekeepers, using proper systems.
   - Fix few HTMs typos.
   - RaceTrack > MonsterRaceTrack script rename.
Raid Curses
   - Correct implementation of Raid Boss curse system. Ty shyr for report.
   - Trigger it exclusively for Playable during a regular hit.
   - Regular RaidBoss now casts AntiStrider skill during a regular hit.

   - Fix revive animation. Remove the paralyze effect upon revive. Ty StinkyMadness.
   - Fix deadlock over AttackableAI#onEvtAttacked.
   - Fix broken movement Intention (fix few, linked, issues such as boat moving in ground, etc).
   - Secure all spawns position using World borders.
   - Fix doAttackHitByPole logic (ss consumption is fixed, add allowPeaceAttack() check) and optimize it.
   - Fix "Focus Attack" skill target amount.
   - Implement missing Seal of Strife siege banish behavior.
   - Fix rewardNewbieShots for Q273 and alike. Ty shyr for report.
   - Fix skillId 2217 leading to Inventory NPE. Ty shyr for report.
   - Fix Peace Zone messages/checks for attack/cast. Ty StinkyMadness.
   - Add RandomizeHate effect, used by 3 different skills (used notably by Confusion). Ty shyr for report.
   - Delete PenaltyMonster instance and introduce FishingBlocker script using L2OFF.
   - Rework Monastery script to fit with L2OFF.
   - Fix ON_SKILL_SEE being centered on actor and not on acting player.
   - canScheduleAfter is desactivated for AttackableAI. Fix onSpellFinished behavior, mage AI, aggro movement over a Confusion cast, etc.
   - Fix //reload npc, add //reload script. Ty nighty for report.
   - Shift Z upon teleport action.
   - Fix the NPE over CreatureAttack#onHitTimer.
   - Add World#isOutOfWorld method.
   - Remove all -100 / +100 from WorldObject#spawnMe/setXYZInvisible.
   - Add Location#addRandomOffsetBetweenTwoValues method.
   - Optimize Attack process.
   - Baium script heavy cleanup. Introduce Quest#addGrandBossSpawn.
   - Delete unused SummonCast.
   - //info is slightly edited / reorganized. 2 buttons are added, AggroList and knownlist
   - Quest#onSkillSee handle Creature[] targets, not WorldObject[].
   - Quest#showResult is slightly edited (secured html tags, move few null checks).
   - All "data containers" holding a single Queue/Map/List now directly extends it.
Pages 1 2 3 4 5 6 ... 10