Leaderboard
Popular Content
Showing content with the highest reputation since 06/21/2024 in all areas
-
Hello cheaters, As a team of avid developers and enthusiasts of Lineage 2, we are excited to present the L2 Control Hub, a groundbreaking plugin designed by myself and my collaborator, StinkyMadness. This innovative tool equips server administrators with powerful automation capabilities directly within the game's community board. L2 Control Hub simplifies the creation and management of automations, enabling you to customize your server operations without the need to modify the source code. Key Features of L2 Control Hub: Robust Automation Triggers: Select from a plethora of triggers currently available, with continuous additions in the works to enhance your control options. Dynamic Conditions and Actions: Tailor your server operations with an extensive range of conditions and actions, ensuring flexible and precise control over game events and player interactions. Customizable Variables: Easily integrate server-specific variables from your database to further personalize and streamline your automations. Utilize these variables across various automation scenarios to cater to your specific server requirements. JavaScript Integration: Execute custom JavaScript codes that interact seamlessly with Java classes, bringing advanced functionalities to your server's ecosystem. Explore L2 Control Hub in Action: We've prepared a series of video tutorials to demonstrate the capabilities of L2 Control Hub: Control Hub - Create a Simple Flow with 1 Condition and 1 Action: Get started with basic automations. Control Hub - Multiple Conditions with Multiple Actions: Explore more complex automations for detailed server management. Control Hub - Using Variables: Discover how to implement and use custom variables for tailored automations. Control Hub - Using JavaScript: Experience the power of custom scripts in enhancing your server functionality. L2 Control Hub is currently about 70% complete, and we are actively developing and refining features. We invite you to join our Discord community to engage with the development process, provide feedback, and be the first to test new features. Additionally, any updates or changes to the plugin are seamlessly delivered to all customers directly from our web server, ensuring your system is always up-to-date without the need for manual downloads. Your game, your rules, automated. Join us in redefining server management in Lineage 2 and elevate your gaming community with unmatched automation capabilities. For more details, contact us directly to get started with L2 Control Hub. Currently, the plugin is developed using aCis sources. We will continue with these sources until we finalize all the necessary details before proceeding to integrate with the more prominent sources available. The L2 Control Hub is designed to extend beyond mere functional additions to your server. We are in the process of implementing a suite of advanced mechanisms, such as a vote manager capable of interfacing with any Lineage 2 voting site without requiring configuration, live statistics to provide admins with real-time insights, and an event engine that can generate any desired event within seconds. All these features will be seamlessly integrated into the module, enhancing your server management experience significantly. Please note that L2 Control Hub will be a premium tool, reflecting the extensive features and benefits it offers. While we are finalizing the pricing structure, rest assured that we aim to deliver great value for your investment. We will announce the cost details soon on our platforms to ensure everyone is well-informed and can plan accordingly. Join us to take your server management to the next level with L2 Control Hub. At this time, the project is on hold until further notice.12 points
-
Hey everyone, today I’m sharing the Assassin’s Interface for Interlude with the community for free! However, only Premium users can download it. The interface is clean no binds or protections. If you're missing any files, you can download the L2ACDC server to grab them(Since their files have 0 protection). This isn't the end I’ll keep sharing more on MaxCheaters. That’s all for today, cheers! [Hidden Content]11 points
-
This package is based of aCis 408/409 and has been prefilled with server & client modifications for your convenience. A detailed list of the features (including images/videos) in this package can be found in the L2DEV Discord. You can download the entire package here. What this Package DOES include: Prerequisite Install Files (MySQL, JDK21) Server (Compiled) + Patch Files Popular server-side Java Mods What mods are currently installed: Custom Community Board Character Preferences Menu Daily & Weekly Quests Balance System Events Engine Visual System (aka DressMe) Achievements System Retail Interface with Teleport Menu Player Startup Guide Agathion Support Autofarm System Castle / Hall Siege Manager Daily Login Rewards NPC & Item Search Dungeon System Class & Subclass Master Preset & Scheme Buffer Market Board System Ranking / Leaderboard System PCBangPoints System 4 Custom Maps (Hellbound, Fantasy Isle, Kamael Island & Crystal Island) Updated WorldMap/Minimap to support custom zones What this Package DOES NOT include: EmuDevs Armor Files EmuDevs Weapon Files EmuDevs Skin Files EmuDevs Cloak Files EmuDevs Skill Files EmuDevs Enemies/Raid Bosses EmuDevs Essence Interface Source Code To properly setup this package you will need to: Install the prerequisite files Import the database backup Register a gameserver/hexid using the tools provided in the GameServer folder Notes: The default database scheme name is "emudevs" Agathion support has been added but you will need to add your own Agathion NPC's to your patch. Bugs should be reported in L2DEV or EmuDevs discord. Most mods can be configured via the XML files Most HTML's can be edited via the HTML files Quickly updated the download link to fix incorrect idTemplates. Can we not edit posts here or am I retarded?10 points
-
Website: https://www.nimeracp.com/ Discord: https://discord.gg/jCfcKTxdtr Hey there! Hope you liked my presentation on the control panel. I know you're probably wondering about the price, but I can't give an estimate just yet since we're still in development. That said, I’ll update you as soon as I have a final price to share. If you have any questions about the panel, feel free to ask in the replies, I’ll do my best to answer them accurately! @Moderators, if this isn't the right place and this section is only for finished products, feel free to move it to a more suitable section.7 points
-
Hello, Guys today i would like to share you something unique i know many people was looking for free good H5 Community boards since on community there are few shared and old i will share you this unique L2Dorn Community Board includes it's not my work it's shared for mxc users - PSD + all scripts Server Side & Client Side If you need to change default logo to your - write me in skype Support_La2-Pro Previews Download: Link = DOWNLOAD to get the password of the archive Like my 1st post send me pm and reply in topic..7 points
-
5 points
-
L2VikosMemory | User Manual 1. General Information L2VikosMemory is a memory optimization tool for Lineage II. It automatically clears the game cache, reducing RAM usage and improving stability. 2. Installation Extract L2VikosMemory.dll and ogg.dll into the game folder (where l2.exe is located). No additional steps are required. 3. Configuration L2VikosMemory settings can be adjusted in the L2VikosMemory.cfg file: CleanInterval=X – Cleanup interval (in minutes) TryElevate=true/false – Enable/disable privilege escalation AltClientGuard=true/false – Compatibility setting for STRIXGUARD Example Configuration: CleanInterval=3 TryElevate=false AltClientGuard=false 4. Verification The log file L2VikosMemory.log contains: Connection status Cleanup results Freed memory 5. Troubleshooting If L2VikosMemory is not working: Check if the DLL files are in the correct folder. Try running the game as an administrator. Check the log file for errors. 6. Support For support, contact Artem on Telegram. 7. Additional Information Compatibility: Supports most Lineage II clients. Recommended Interval: 3-5 minutes. Gameplay Impact: No effect on gameplay performance. Price: $1505 points
-
WARNING: This mod is still experimental, don't use it on LIVE servers. This is an old mod of mine which i ditched since it carries many risks but i decided to share it for "educational" purposes and with the hope you guys give some insight and help to make it functional and safe to run. The idea behind this mod is to give an extra layer of protection for host-machines against DDOS attacks. When DDOS occurs ---> trigger the lockdown mechanism allow only in game (player) IP's and block all unknown traffic. Putting all in game players to "quarantine" will lead to question "How will a player who wasn't online during the lockdown get their IP added to the whitelist?". Well my temporary solution for that is to combine it with discord bot by adding a bot command for example: !addIP 127.0.0.1 or by adding an option in your site (user CP) "allow my ip" it could be button or whatever. Incase of discord bot command has to be sent to the bot itself and not in channels (obviously). Still giving your IP is sus for many people (i dont blame them). If you guys have better ideas you are more than welcome to share them here. Obviously this is the theory behind my idea. I'm not even sure if it's possible, but that's why I shared it with you all. It could potentially be useful for many server owners. OS: Linux - Debian 12 CODE -> pass : maxcheaters5 points
-
Hello everyone, As you can see lately, the L2 community is decreasing, especially on private servers, its been 21 years since Lineage2 release date (1st October 2003). MaxCheaters.com was created in 2005 (with different names) and till today we are basically focused on Lineage 2. We made several attempts to add other games, but everyone still knew us as an L2 based forum. MaxCheaters has a long history and is one of the few forums that have survived to this day,It would be a shame to let the site die. So I came up with a few ideas to improve it and follow the trends. 1. Create a utility token, (evm or solana), that will be used for several things such as: Staffers/moderators payment. Content creators reward system. (influencers/advertising/topic creators) Paid forum support. Exchanges and marketplaces . Lineage 2 utility token for private servers. Other MMO utility token for buying/selling accounts/gold etc. Maxcheaters fixed expenses/improvements/development/expansion/design/topsite 2. Reduce l2 sections, (we done this before) , and add more games on main page Less l2 sections More MMO games Focus on marketplaces 3. Rebuild staffers team/more events. Add one staffer per MMO game. More active staffers on our team. 4. Social media activity / streaming Twtter / TikTok content for gaming. Streaming platforms (create official channel) Moderators/content creators for this content specifically.5 points
-
[L2J] Pacote baseado no Wallaz L2JDream - Atualizado para Java 14 + Correções Salve comunidade, Venho compartilhar um pacote baseado no projeto Wallaz L2JDream, que revisei e corrigi extensivamente para facilitar a vida de quem deseja iniciar ou evoluir seu servidor L2J. O que foi feito: Migrado e reorganizado o projeto para o Java 14 (compatível com os tempos atuais e mais desempenho). Corrigido problema de Spawns que estavam ausentes no pacote original. Passivas de itens faltando foram identificadas e devidamente adicionadas. Banco de dados limpo e organizado, entregue como arquivo .sql dentro da pasta tools. Todos os erros de "sinal amarelo" (warnings) foram resolvidos no código. Adicionado painel com interface gráfica usando WScript.Shell para facilitar a execução, evitando o uso de .bat no CMD. Projeto já pronto para ser importado direto na IDE Eclipse (você pode ver na imagem abaixo o pacote carregado com sucesso). Imagens de apresentação: Auth Login Server Game Server (World) Projeto importado no Eclipse Links para download: Source completa (core + datapack): https://github.com/JulioPradoL2j/L2JDreamV2 Considerações finais: Esse pacote é ideal para quem quer iniciar um projeto L2J de forma rápida e com menos dores de cabeça. Caso encontre algum erro ou tenha sugestões, fique à vontade para comentar aqui no post. Boa sorte no seu projeto! .4 points
-
Hello every one I want to share this files. l2jacis Pack: https://mega.nz/file/wSVTURgJ#uYfCNlnqWrx8p4KaLTWCqkEH2cGIQbjTwrvoOoZnGwo Source: https://mega.nz/file/pe9WGQrA#loT_dg-cFam_9NQp4krJRt9vST9rXrJMVt3jmdXyi8w Geodata: https://mega.nz/file/ZesFlRRQ#ll4q0Dh-HfHvksiRf_SAv1Lo8vrMAdaYWVLTmeFvekw Patch: https://mega.nz/file/NbVBjRQB#w2WiV6nrJdgfaienbtVl0lHqvTtLXDuBjfnV5OcLMVA Tools: https://mega.nz/file/techDZxb#H-5aSfLyvzgtul23SSzt8PYLphu6Qpw1pMq7AO5u1084 points
-
Hello Folks once again im going to share now the Classic Version the reason im sharing this stuff as i mentioned before the logs are writed on Essence Share i've did Download: [Hidden Content] Mirror: [Hidden Content] to get the link react & reply Credits: Sanyol for removing Protection4 points
-
Hello Folks, I'm Sharing Essence Based Interface which is made from a Brasilian Guy called "Ona" The person copied from other projects features and started selling it as his own , claiming that everything has been made by him. So i've removed every possible protection from his interface and i would like to share it with everyone. Do not waste anymore your money for stolen projects Download: [Hidden Content] Mirror: [Hidden Content] if you have issues with installing the interface or missing any textures pm me back In order to get download link you have to react & reply. Credits: Sanyol4 points
-
"share" tag without share, scam even on sharing4 points
-
Hello everyone, I'm sharing the version I was working on recently. And a more original server-focused package following the missions of the original game. The entire calling package was restructured, making it lighter and easier to execute. It is good for people who want to start a package, without customizing equipment and skills. * I put together 4 bases: "RusaCis3.5" "Lucera" "aCis" "Dev" It has a Modern UI template. JDK 14: https://mega.nz/file/rg5QwDJA#FwHrPbt8bw8prD3WLJz7dFOv1HAoYakNLTbVhLdgQTY Client: https://www.mediafire.com/file/rg6twikao7zugd2/L2_CLIENT_INTERLUDE.zip MariaDB: https://mega.nz/file/YBIXXSgY#9xqdkVMXAXY3VPNkBs6R05rnzJ9bH6aU47y2WNLfri4 L2FileEdit: https://mega.nz/file/xdQTTaKJ#poqzJDE-gItyQo0EOEWCHsC_r4HPXaCmLAZ_InUmOjE Soucer: https://mega.nz/file/cv1BnCpY#F6UDroejOid2i4F9ipMZTt8d0u_ww10o9e0zAjlHMSA Compilado: https://mega.nz/file/M3FxCaaR#FW6k4SFZJhajRygJSxDJwDfWc04kaC6HVUc5rktT2SE Author post: IFox4 points
-
Promotion FREE for 1 month use of Donation Panel v5 Promotion Period: 11/11/2024 - 11/12/2024 Coupon Code: Offer: Before payment apply this coupon and get 100% discount on the initial fee (98.90€) for the v5 Donation Panels plan. Note: After the free month ends and you choose to continue using the panel you will need a monthly subscription. Important Details: Cancellation: If you decide not to continue using the panel after the free month, the panel will be automatically canceled. Limit: Only 20 uses available; the first 20 people can enjoy the initial month without the upfront fee. Eligibility: One use per account. Dual or multiple accounts are strictly prohibited and will result in a ban from this promotion. Installation: You can see the installation by the videos in this topic, or ask help in discord URL's Information about the panel: Donate Panel v5 Support for the panel: Donate Panel v5 Support Download the panel: Donate Panel v5 Download BE AWARE: Leaked versions of old v2 panels (year 2018 with bugs) are still out sold by scammers without support or knowledge of the files. Good luck.4 points
-
Hellllllo everyone ! Good news for some, bad news for others : aCis was, once again, leaked. It wouldn't be that problematic if it was old content, or even last revision 408 ; but this time, the whole content of under development/master branches was leaked out. One pack project is actually reselling NEXT revision content - before even being announced on aCis forums. The mole/leaker is still part of customers, and is still capable to leak data, at the date I speak about. Since I'm on a joyful mood, following events will occur : PIRATE PLANK MINIGAME Since we got restricted amount of donators (we're actually 13 on sources counting developers, over all), it's not extremely hard to actually delete the mole ; few ppl are actually matching the description, and a list can be easily generated based on time leak, potential country, contributions,... Which basically end with that representation : How will it work ? Everytime a new leak will occur, the following donator on the board will jump out of ship (and Talking Island waters are kinda cold). Since I'm not a monster and got principles, I will send back spent money for the non-granted months to the kicked dude. You won't be added back to the sources, anytime. The game ends when the mole is dropped out, or when I'm alone with my most loyal peeps around. CONTRIBUTION Leftover donators will have to contribute to the pack, being reports or code edits. Silent people won't be renewed anymore solely based on money. In the same order of idea, I will now request a minimum of 100 cookies contribution before accepting any new ppl on the gitlab - which anyway won't be hard to do if you're a minimum invested into the pack. If you understood the concept, free ppl can access gitlab sharing for 200 cookies contribution (100+100), and donators can access with 100 cookies + 200€. Regarding monthly contribution, there are no special numbers to achieve, stay active and you will stay. PUBLIC REVISION WILL STEP UP Next rev 409 will be exceptionally released as public revision. This revision got unique reworks, notably AI (L2OFF GF 1:1) and pathfind systems (up to 100 times faster, see #for-your-eyes-only over aCis discord for screens proofs). This revision got a lot of new content, and is far ahead of any other L2J pack in terms of AI fidelity with L2OFF - even the costier. ENDING WORD Thanks to all loyal people who have, will or currently support this pack - one of the very few to offer unique reworks. L2J community, as a whole, unfortunately never stepped up or shined by its cleverness or integrity - and is more preocuppied to add poorly written customs over quality leaked sources. The olympic medal goes to the poop-eater project owner applying straight leak, not even knowing what exactly is the changeset content (because yes, he doesn't know)... It's actually sad real people follow and pay for your work, but well, good job surfing on my own merits, I guess. Maybe one day you will go out of my shadows, and make your own path. That's the best I can wish you. So, my thanks to the few beacons of light in this mere pool of shadows. That's essentially for you (and for my own pleasure, ofc) I continue to work on this hobbyist project - started almost 14 years ago. ----------------------------------------------------- Changeset 409 (3301) SCH, Castles, IU, Npc movement, Drop rate rework, Bugfixes, Organization SCH - Ty Bandnentans for the good work All SCHs are normally fixed and working. CH decorations are reworked (they got their own XML, related Configs are dropped). Aden CHs got the Wyvern option, as stated in Patch Notes. Ty Denzel for report. CH features levels are corrected. Ty Denzel for report. Fix NPC clan crest issue. Castles Keep Castle next tax percent instead of resetting it to 0. Implementation of missing variables over Castle vault management. Ty KejbL for report. Remove doublons over Residence npcIds. Add npcId 35552 HTMs. Ty //Dev for report. Fix the tax income calculation. IU Add PAPERDOLL as potential location for IU (fix gm enchant, arrows consumption). Ty Roko91 for report. Fix weight calculation over login. Ty KejbL for report. Fix inventory update upon teleport (BSOE consumption). Ty //Dev for report, La Roja for fix. Fix inventory weight upon NPC buy. Npc movement MOVE_TO desire is cleansed over onEvtBlocked, avoiding to build infinite desire. Don't add MOVE_TO desire if given Location isn't reachable. FLEE doesn't call event upon onEvtBlocked (that event means something wrong happened, it's then impossible to trigger "regular" FLEE checks). Use Location#equals in few scripts. NpcAI#thinkFollow cleanup (-8 arrays, -24 List#get, -8 distance2D). Drop rate rework Main idea is to iterate each category X times, as if X monsters were killed. No % re-calculation or whatever, it's plain and simple. x50 means you got the calculated drops of 50 monsters. Avoid to generate IntIntHolder, manage the drop/spoil using a Map<Integer, Integer> instead, which also allow to merge similar itemIds. Categories % are tested no matter if drop or spoil, which allow levelMultiplier to be properly applied. Monster#dropItem is moved to Npc#dropItem, which allow any Npc to drop an item and avoid cast. "killer" is now part of all Npc#dropItem, meaning the item is properly item protected. Bugfixes Fix a ClassCastException over Quest#onClanAttacked. Fix a NegativeSizeArrayException upon client logging. Drop few logging errors related to invalid client attempts. Fix NPE over Q635. Fix PDAM calculation prior to rev 399 physical attack/skill split. Ty Yoska for report. Fix TradeList automatic title cleanup. Ty Denzel for report/fix. Add back missing Config.PARTY_XP_CUTOFF_METHOD "none" option. Ty CUCU23 for report/fix. Fix "upper roof" NPCs. Ty Bandnentans for fix. Fix Seven Signs individual stone contribution method. Ty //Dev for report. Fix Q372 reward table and drop rate. Ty //Dev for report. Q348 now distributes drops as party-random, despite the client info. Ty Denzel for report. Fix Benom teleports out. Hardcode other in/out Locations. Ty //Dev for report. Don't show Crystallize icon on inventory for Bounty Hunters (was an addition of CT1 GP1). Ty Bandnentans for report. Replace "weightPenalty" for "weightLimit" over skills XMLs. Ty //Dev for report/fix. When Heroes participate in a raid against Antharas, Valakas, and Baium, the boss monster has a chance to shout out the Hero characters’ names. Ty deekay for fix. Fix isRaidBoss implementation (a raidboss minion without master was considered raidboss). Fix Nurse Ants not healing the Queen Ant larva. Fix a SQLException over Olympiad server startup. Fix a SQLException over Clan member removal (since clan privs rework). Fix default 30169 npcId HTM. Ty Bandnentans for report. Fix Festival Guide missing rift option. Ty Denzel for report/semi-fix. Few dwarven/general manufacture fixes Add the missing max recipe integrity check. Upon shop fail, call back the manage window. Upon shop fail, don't cleanup the manufacture list. Upon shop success, cleanup the reverse manufacture list (successful general shop resets dwarven, successful dwarven shop resets general). Organization Rework HtmCache and CrestCache to use NIO. Move CrestType to enums. Implementation of WorldObject#forEachKnownType / WorldRegion#forEachType & forEachRegion - Avoid List overhead in numerous popular locations (notably broadcastPacket or region checks - which are done on every knownlist check). Rework SkillList packet, it is now handled as other packets. Delete Player#sendSkillList method. Delete DeadlockDetector class and related configs. Add GameServer#isServerCrash, based on LaRoja implementation - without uses, for now. Move IPv4Filter class to commons.network, delete net.sf.l2j.util package. Add DefaultSeeRange config, use the retail value 450 instead of 400. Add more records, ty LaRoja for the merge request. Delete unused dimensionalRift.xml. Few ItemContainer optimizations. Rename all ocurrences of adenas to Adena. SonarLint / UCDetector fixes : Drop MathUtil#limit, use Math#clamp instead (introduced in JDK21). Drop following unused Configs : FS_TIME_ENTRY, FS_TIME_END, RAID_MINION_RESPAWN_TIMER. Few public / protected / private edits. A lot more to come. switch cases are merged (introduced in JDK12). Boolean object is compared to Boolean.FALSE/TRUE, not directly tested as a boolean. String#replaceAll is replaced with String#replace when a regex pattern isn't involved. Generate few records : Sequence, TutorialEvent. Few class-based variables are now local. Use HashMap.newHashMap instead of new HashMap when the capacity is known (static final maps). HashMap.newHashMap avoids to set 0.75 capacity when it's not needed. LogRecord record is renamed LogRecord logRecord, due to record being now a keyword. Use proper Singleton pattern for instance type (notably listeners). Generate private constructors calling IllegalStateException for utility classes.4 points
-
You have deleted a lot of things you need in the compiler. At least you deleted the strip command. To return the strip to normal operation, you need to return Editor.u, Fire.u. Editor.u is needed for the command, Fire.u for the Editor.u build. You also need to add them to UT2003.ini, example below: [Editor.EditorEngine] CacheSizeMegs=32 EditPackages=Core EditPackages=Engine EditPackages=Fire EditPackages=Editor EditPackages=NWindow EditPackages=Interface If you want to protect your code at least a little, use this command to build your interface.u, or any other unrealscript file you need. To compile with the strip command, use the Make_Interface_Strip.bat file Source Editor, Fire and Make_Interface_Strip.bat: Download After the first build of Editor.u and Fire.u, you can delete the source code folders if they bother you, they are no longer needed for further work. I use this command myself, though in a different compiler. I decided to share the fix because I was helping a friend with restoring this feature, as I was surprised that it didn't work for him. For this reason, that it uses a similar compiler, I decided to share the fix here.4 points
-
A good day to everybody here on Max-Cheaters..! Or as they say in Thessaloniki, Greece. Kalispera. Ela re bros. I am here to bring you another masterpiece archived in the very darkest corners of l2rr.ucoz where even this archaeologist Dwarf dares not venture. However. Such a find must be revealed. After brushing off its dust from 2014 and polishing it up a bit to fit **MODERN USERS** (DXT3 compression, skin masking, 64x64 icons). Behold, the absolutely shockingZeuS ThuNDeRarmor set. Once again. Another masterpiece immortalized in the museum known as the MaxCheaters Client-Development-Discussion section. Credits: The17heroes Gracia Final Download: https://l2jbaylee.dev/shares/ZeuSThuNDeRArmor.rar3 points
-
I'm releasing a complete Lineage 2 C4 server pack based on the Accumulative Subclass System — totally free, with no restrictions, and everything you need to launch your own server. What’s included: Website (ready-to-use) SQL Server 2012 compatible structure L2OFF Server Files (C4 Chronicle with subclass accumulative system) - Client (Interlude) Tools like L2Account.exe to manage accounts Fully working Client Installation Instructions: Install SQL Server 2012 Open SQL Server Management Studio Go to the folder: Servidor/SQL/ Execute all .sql files — they will automatically create the needed databases. Setup the ODBC connections: Copy these files to My Documents: l2c4_lin2clancomm.dsn l2c4_lin2comm.dsn l2c4_lin2world.dsn Or manually create them via Control Panel > Administrative Tools > ODBC > File DSN Run the account manager: Servidor/ZZZ-l2account/L2Account.exe From there you can: Create regular accounts Create a GM/Admin account Start your server by launching: A. Servidor/hAuthD/hAuthD.exe B. Servidor/CacheD/CacheD.exe C. Servidor/L2Server/L2Server.exe D. Servidor/L2NPC/L2NPC.exe After everything is running, open your Lineage II client and log into your own server! Download Link: Full C4 Accumulative Pack (Server + Web + Client) Support This pack is provided 100% free, no license system, no limits. If you have any doubts or questions, feel free to message me directly here. Enjoy and good luck with your server! — GX-Ext Other Mirror: https://www.mediafire.com/file/r7cph8fxj9y6j7c/L2OFF_C4_C4_ACU%2BWEB%2BCLIENT.rar/file3 points
-
A New Chapter Begins We're Rebuilding – Join Our Staff Team After many years of activity, growth, and challenges, it’s finally time for our community to restructure and move forward. We’re ready to turn a new page and evolve into something greater — but we can’t do it without the help of passionate and committed people. That’s why we’re now opening up staff applications for those who want to actively shape the future of our community. If you have the motivation, time, and patience to contribute to something meaningful, this is your chance to step in and make a real impact. What We're Looking For We’re building a fresh and dedicated team of individuals who are ready to support and grow this project. Open roles include: Moderators – to keep the forum clean, safe, and organized Gaming Moderators – to help manage gaming boards (e.g., Lineage, GTA FiveM) Content Creators – to post updates, guides, and articles Community Managers – to engage users and drive activity Technical Staff – for development, backend, and server work We’re not focusing only on Lineage anymore. Our vision is expanding to new areas — including GTA FiveM and other multiplayer games you might have expertise in. If you have a good idea, a server plan, or something new to suggest — we’re open to it. Now’s the time to bring it forward. Requirements We’re looking for individuals who have: A history of activity on the forum (preferred) Available time to contribute consistently A sense of teamwork and responsibility A genuine interest in gaming and community building If you're interested, just send a private message to me or Celestine. (or just reply here) Tell us a few things about yourself and how you’d like to contribute. Let’s bring this community back to life. Let’s rebuild something great — together. M M G A3 points
-
Radiant Sapphire skin for Lineage 2! Crystal-encrusted skin for all protocols! Perfectly tailored for all races, this armor features a glowing blue aesthetic that will make you look both fierce and majestic. Gleaming sapphire design Exclusive, one-of-a-kind look Perfect for making your character shine3 points
-
There's many reasons why it would be more NO than YES : Using NCSoft assets is a death wish, they can lawyer any LU3/Unity if they wanted, since it's a plain steal of intellectual property. It's an hobby, as you said it, and it's not specially about money. Money is a way to filter idiots/resellers, nothing more. It's really about trying to replicate old content and optimize it which I find it fun. I just align with the basic idea than an emulator emulates. When you launch Project64 and SuperMario 64, you don't expect to get something more than 120 stars and Bowser boss in the end - which should have been L2J project to begin with Even if I played a lot with TESCS from Morrowind, back in time, it's not enough to handle current engines, and I'm too lazy to learn Unity/Unreal Engine. Moreover, it would mean buying assets. While doing it alone would be a fail, coupling to L2J / L2 community would still be shitty (since the majority is RU/BR) ; people is only about fame/glory/reselling shit on back of others. Opening to others, the project would be leaked day 1, rebranded and resold. MMO genre is basically dead, and that's not a reboot of any game (l2/wow classic :D) which will turn the tide. Regarding L2 or an remastered version of it, you can obviously blatantly copy-cat it (as Propnight did for Dead by daylight). All frenchies aren't supposed to do Expedition 33 :).3 points
-
Hello everyone, it’s been a hell of a long time since my last post here. The graveyard keeps growing. You’re probably wondering, “What’s this all about?” Let me tell you: the best Lineage 2 server you’ve ever played on. Maxthor, dicksucker of the century - are you listening? How about you answer your fucking messages? Celestine, it’s been a while - you’ve got my messages hours ago. Now, since I’m the only one from the old crew who still has an account on this dead-ass forum, let me tell you what’s going on. We’ve got the resources, the infrastructure, and everything else needed to create the ultimate Lineage 2 servers – better than anything you’ve ever seen. Why? Because we’re fucking bored. There’s not a single L2 server out there worth mentioning. All of them are total disasters run by clowns who think they can make a quick money with premium accounts and donation fests. Well, here’s a message for you: you’re fucked. We’re back. You’re probably asking, “Back? Who? Why? What’s the point?” Here’s the answer: it’s none of your fucking business who. All you need to know is that we’ve got the money, the infrastructure, and the experience – and we don’t give a fuck about profits, we’re doing it for ourselves and for players like us. We’re about to create Lineage 2 servers like no one has ever fucking seen before. The work has already been in progress for over a year. We’re building a network of servers – whatever style you can imagine: low rate, high rate, stack sub – you name it. Got a crazy idea for a server? Now’s your time to speak up. Your ideas – our execution. We’ve got the files, we’ve got the servers, and soon we’ll share the website where you can vote in polls and help shape the servers of your dreams. And of course, all the hate drama from all of you who made that pathetic garbage servers is very appreciated.3 points
-
3 points
-
This version (1.34) includes all the fixes from above + more, with the exclusion of Premium Account System. The Premium Account System was added in 1.35, which is currently only available through the Chronicle Coders Discord. Appreciate those of you reporting issues and providing suggestions. Download EmuDevsIL 1.343 points
-
3 points
-
Hi Maxcheaters Users! By request of many users asking me if I have compiler for interface.u, here are my share of my collection. I hope this will be useful for anyone of this forum. Enjoy it!! Interlude Compiler: DOWNLOAD Hellbound Compiler: DOWNLOAD Gracia Final Compiler: DOWNLOAD Epilogue Compiler: DOWNLOAD Freya Compiler: DOWNLOAD High Five Compiler: DOWNLOAD Ertheia Compiler: DOWNLOAD Grand Crusade Compiler: DOWNLOAD Salvation Compiler: DOWNLOAD Now, if you want to have all in one pack with a basic menu like this: Download HERE3 points
-
Utility for more comfortable management of configuration files. Supplied free of charge. NO VIRUSES/KNOCKERS/WORMS and other nonsense! If in doubt, you can not download. you can to see: you can to download it here3 points
-
It's funny that you don't realize the irony of this situation LMAO, it just shows how braindead you are. So far it's been pretty chill, take care PS: we were only downvoting to push you to share more3 points
-
[Release] Solo PvP Zone System Compatible with: aCis 401+ Features: Automatic Exit on Restart: Players are removed from the zone if a restart occurs or logout. Custom Exit Command: Players can exit the Solo Zone with the voice command .exit. Teleport NPC Command: new bypass solopvp for gatekeeper. Random Name Generator: Generates random names. PvP Flag: The players are flagged within this zone. xml preview & java code backup code -> https://pastebin.com/974V2p2p SoloZone.xml <?xml version="1.0" encoding="UTF-8"?> <list> <zone shape="NPoly" minZ="-5200" maxZ="-4680"><!-- Frintezza Solo Zone --> <stat name="name" val="Solo PvP Zone" /> <stat name="locs" val="174244,-89089,-5112;174260,-86881,-5112;173184,-88090,-5112;175309,-88018,-5112;174231,-88019,-5112;175136,-88828,-5104;174962,-87025,-5104;173149,-87142,-5104;173470,-88908,-5112" /> <stat name="restrictedClasses" val="15,16,97" /> <node x="172031" y="-90127"/> <node x="176428" y="-90089"/> <node x="176428" y="-74051"/> <node x="172057" y="-74108"/> </zone> </list> SoloZone Code: diff --git a/java/net/sf/l2j/gameserver/taskmanager/SoloZoneTaskManager.java b/java/net/sf/l2j/gameserver/taskmanager/SoloZoneTaskManager.java new file mode 100644 index 0000000..6b7ef6f --- /dev/null +++ a/java/net/sf/l2j/gameserver/taskmanager/SoloZoneTaskManager.java @@ -0,0 +1,98 @@ +package net.sf.l2j.gameserver.taskmanager; + +import java.security.SecureRandom; +import java.util.ArrayList; +import java.util.logging.Logger; + +import net.sf.l2j.commons.random.Rnd; + +import net.sf.l2j.gameserver.data.manager.ZoneManager; +import net.sf.l2j.gameserver.enums.ZoneId; +import net.sf.l2j.gameserver.handler.voicecommandhandlers.VoiceExitSoloZone; +import net.sf.l2j.gameserver.model.World; +import net.sf.l2j.gameserver.model.actor.Player; +import net.sf.l2j.gameserver.model.location.Location; +import net.sf.l2j.gameserver.model.zone.type.SoloZone; + + +/** + * @author MarGaZeaS + */ +public class SoloZoneTaskManager implements Runnable { + + private static final Location EXIT_LOCATION = VoiceExitSoloZone.getExitLocation(); // Λαμβάνουμε την έξοδο από το VoiceExitSoloZone + + @Override + public void run() + { + // Διασχίζουμε όλους τους παίκτες του κόσμου + for (Player player : World.getInstance().getPlayers()) + { + // Ελέγχουμε αν ο παίκτης είναι στο SoloZone + if (player.isInsideZone(ZoneId.SOLO)) + { + // Μεταφέρουμε τον παίκτη στην έξοδο + player.teleportTo(EXIT_LOCATION.getX(), EXIT_LOCATION.getY(), EXIT_LOCATION.getZ(), 0); + player.sendMessage("The server is restarting, you have been moved out of the Solo Zone."); + } + } + } + + private int _id; + + private static final Logger _log = Logger.getLogger(SoloZoneTaskManager.class.getName()); + private static final ArrayList<String> _rndNames = new ArrayList<>(); + private static final int RANDOM_NAMES = 500; + private static final String CHARS = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; + private int _playersInSoloZone = 0; + + public int getPlayersInside() { + return _playersInSoloZone; + } + + public void setPlayersInside(int val) { + _playersInSoloZone = val; + } + + public SoloZoneTaskManager() { + _log.info("Solo Zone System: Loading..."); + for (int i = 0; i < RANDOM_NAMES; i++) { + String name = generateName(); + _rndNames.add(name); + _log.info("Generated name: " + name); + } + _log.info("Solo Zone System: Loaded " + _rndNames.size() + " names."); + } + + public String getAName() { + if (_rndNames.isEmpty()) { + _log.warning("SoloZoneManager: No random names available."); + return "Unknown"; + } + return _rndNames.get(Rnd.get(5, RANDOM_NAMES - 5)); + } + + private static String generateName() { + SecureRandom rnd = new SecureRandom(); + StringBuilder sb = new StringBuilder(15); + for (int i = 0; i < 15; i++) { + sb.append(CHARS.charAt(rnd.nextInt(CHARS.length()))); + } + return sb.toString(); + } + + public int getZoneId() + { + return _id; + } + + public final static SoloZone getCurrentZone() { + return ZoneManager.getInstance().getAllZones(SoloZone.class) + .stream() + .findFirst() // Επιστρέφει την πρώτη SoloZone (αν υπάρχει μόνο μία) + .orElse(null); + } + + public static SoloZoneTaskManager getInstance() { + return SingletonHolder._instance; + } + + private static class SingletonHolder { + private static final SoloZoneTaskManager _instance = new SoloZoneTaskManager(); + } +} diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/taskmanager/PvpFlagTaskManager.java b/aCis_gameserver/java/net/sf/l2j/gameserver/taskmanager/PvpFlagTaskManager.java index a707ce5..d247e2e 100644 --- a/aCis_gameserver/java/net/sf/l2j/gameserver/taskmanager/PvpFlagTaskManager.java final Player player = entry.getKey(); final long timeLeft = entry.getValue(); + if(player.isInsideZone(ZoneId.SOLO)) + continue; if(player.isInsideZone(ZoneId.BOSS)) continue; // Time is running out, clear PvP flag and remove from list. if (currentTime > timeLeft) diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestCharacterCreate.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestCharacterCreate.java index a707ce5..d247e2e 100644 +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestCharacterCreate.java if (Config.ALLOW_FISH_CHAMPIONSHIP) FishingChampionshipManager.getInstance(); + if (Config.ENABLE_STARTUP) + StartupManager.getInstance(); diff --git a/java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminMaintenance.java b/java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminMaintenance.java new file mode 100644 index 0000000..6b7ef6f --- /dev/null +++ a/java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminMaintenance.java if (!st.hasMoreTokens()) { sendHtmlForm(player); return; } try { switch (st.nextToken()) { case "shutdown": + SoloZoneTaskManager exitTask = new SoloZoneTaskManager(); + ThreadPool.schedule(exitTask, 0); Shutdown.getInstance().startShutdown(player, null, Integer.parseInt(st.nextToken()), false); break; case "restart": + exitTask = new SoloZoneTaskManager(); + ThreadPool.schedule(exitTask, 0); Shutdown.getInstance().startShutdown(player, null, Integer.parseInt(st.nextToken()), true); break; case "abort": Shutdown.getInstance().abort(player); break; diff --git a/java/net/sf/l2j/gameserver/handler/voicecommandhandlers/VoiceExitSoloZone.java b/java/net/sf/l2j/gameserver/handler/voicecommandhandlers/VoiceExitSoloZone.java new file mode 100644 index 0000000..6b7ef6f --- /dev/null +++ a/java/net/sf/l2j/gameserver/handler/voicecommandhandlers/VoiceExitSoloZone.java +package net.sf.l2j.gameserver.handler.voicecommandhandlers; + +import net.sf.l2j.commons.pool.ThreadPool; + +import net.sf.l2j.gameserver.enums.ZoneId; +import net.sf.l2j.gameserver.handler.IVoiceCommandHandler; +import net.sf.l2j.gameserver.model.actor.Player; +import net.sf.l2j.gameserver.model.location.Location; +import net.sf.l2j.gameserver.network.serverpackets.MagicSkillUse; + +/** + * Handles the voice command for exiting the Solo Zone with delay and effects. + * + * @author MarGaZeaS + */ +public class VoiceExitSoloZone implements IVoiceCommandHandler +{ + private static final String[] VOICE_COMMANDS = + { + "exit" + }; + + // Default location to teleport players when exiting the Solo Zone + private static final Location EXIT_LOCATION = new Location(81318, 148064, -3464); // Replace with your desired coordinates + + // Προσθήκη της μεθόδου για να πάρουμε την τοποθεσία εξόδου + public static Location getExitLocation() { + return EXIT_LOCATION; + } + + @Override + public void useVoiceCommand(Player player, String command) + { + if (command.equalsIgnoreCase("exit")) + { + if (!player.isInsideZone(ZoneId.SOLO)) + { + player.sendMessage("You are not inside the Solo Zone."); + return; + } + + // Notify the player about the delay + player.sendMessage("You will be teleported out of the Solo Zone in 2 seconds."); + + // Cast skill effect (Skill ID: 2100, Level: 1) + player.broadcastPacket(new MagicSkillUse(player, player, 2100, 1, 2000, 0)); + + // Schedule the teleportation after a 2-second delay + ThreadPool.schedule(() -> { + // Teleport the player to the designated exit location + player.teleportTo(EXIT_LOCATION.getX(), EXIT_LOCATION.getY(), EXIT_LOCATION.getZ(), 0); + + // Inform the player + player.sendMessage("You have exited the Solo Zone."); + }, 2000); // Delay in milliseconds (2000ms = 2 seconds) + } + } + + @Override + public String[] getVoiceCommandList() + { + return VOICE_COMMANDS; + } +} diff --git a/java/net/sf/l2j/gameserver/handler/VoiceCommandHandler.java b/java/net/sf/l2j/gameserver/handler/VoiceCommandHandler.java new file mode 100644 index 0000000..6b7ef6f --- /dev/null +++ a/java/net/sf/l2j/gameserver/handler/VoiceCommandHandler.java public class VoiceCommandHandler { private final Map<String, IVoiceCommandHandler> _entries = new HashMap<>(); protected VoiceCommandHandler() { ............ ............ + registerHandler(new VoiceExitSoloZone()); } public void registerHandler(IVoiceCommandHandler handler) { for (String command : handler.getVoiceCommandList()) _entries.put(command, handler); } diff --git a/java/net/sf/l2j/gameserver/model/actor/Npc.java b/java/net/sf/l2j/gameserver/model/actor/Npc.java new file mode 100644 index 0000000..6b7ef6f --- /dev/null +++ a/java/net/sf/l2j/gameserver/model/actor/Npc.java else if (command.startsWith("Chat")) { int val = 0; try { val = Integer.parseInt(command.substring(5)); } catch (final IndexOutOfBoundsException ioobe) { } catch (final NumberFormatException nfe) { } showChatWindow(player, val); + ) + else if (command.startsWith("solopvp")) + { + SoloZoneTaskManager.getInstance(); + player.teleportTo(SoloZoneTaskManager.getCurrentZone().getLoc(), 25); + } else if (command.startsWith("Link")) { final String path = command.substring(5).trim(); if (path.indexOf("..") != -1) return; final NpcHtmlMessage html = new NpcHtmlMessage(getObjectId()); html.setFile("data/html/" + path); html.replace("%objectId%", getObjectId()); player.sendPacket(html); } diff --git a/java/net/sf/l2j/gameserver/network/clientpackets/RequestRestartPoint.java b/java/net/sf/l2j/gameserver/network/clientpackets/RequestRestartPoint.java new file mode 100644 index 0000000..6b7ef6f --- /dev/null +++ a/java/net/sf/l2j/gameserver/network/clientpackets/RequestRestartPoint.java // Fixed. - else if (_requestType == 4) - { - if (!player.isGM() && !player.isFestivalParticipant()) - return; - - loc = player.getPosition(); - } + if (_requestType == 4) + { + // Έλεγχος αν ο παίκτης δεν είναι GM, δεν είναι μέρος του φεστιβάλ και δεν είναι στην Solo Zone + if (!player.isGM() && !player.isFestivalParticipant() && !player.isInsideZone(ZoneId.SOLO)) + { + return; + } + + SoloZoneTaskManager.getInstance(); + SoloZone currentZone = SoloZoneTaskManager.getCurrentZone(); + if (currentZone != null && currentZone.getLoc() != null) + { + // Αν υπάρχει ζώνη και οι τοποθεσίες δεν είναι κενές, χρησιμοποιούμε τυχαία τοποθεσία από την ζώνη + loc = currentZone.getLoc(); + } else + { + // Διαφορετικά, κάνουμε respawn στην τρέχουσα θέση του παίκτη + loc = player.getPosition(); + } + } diff --git a/java/net/sf/l2j/gameserver/network/clientpackets/RequestRestart.java b/java/net/sf/l2j/gameserver/network/clientpackets/RequestRestart.java new file mode 100644 index 0000000..6b7ef6f --- /dev/null +++ a/java/net/sf/l2j/gameserver/network/clientpackets/RequestRestart.java if (player.isFestivalParticipant() && FestivalOfDarknessManager.getInstance().isFestivalInitialized()) { player.sendPacket(SystemMessageId.NO_RESTART_HERE); sendPacket(RestartResponse.valueOf(false)); return; } + if (player.isInsideZone(ZoneId.SOLO)) + { + player.sendMessage("You cannot restart your character while in Solo Zone. Use .exit to leave"); + player.setFakeName(null); + sendPacket(RestartResponse.valueOf(false)); + return; + } player.removeFromBossZone(); diff --git a/java/net/sf/l2j/gameserver/network/clientpackets/Logout.java b/java/net/sf/l2j/gameserver/network/clientpackets/Logout.java new file mode 100644 index 0000000..6b7ef6f --- /dev/null +++ a/java/net/sf/l2j/gameserver/network/clientpackets/Logout.java player.removeFromBossZone(); player.logout(true); } } + + if (player.isInsideZone(ZoneId.SOLO)) + { + player.sendMessage("You cannot logout or restart your character while in Solo Zone. Use .exit to leave"); + player.setFakeName(null); + player.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + player.removeFromBossZone(); player.logout(true); } } diff --git a/java/net/sf/l2j/gameserver/model/zone/type/SoloZone.java b/java/net/sf/l2j/gameserver/model/zone/type/SoloZone.java new file mode 100644 index 0000000..6b7ef6f --- /dev/null +++ a/java/net/sf/l2j/gameserver/model/zone/type/SoloZone.java +package net.sf.l2j.gameserver.model.zone.type; + +import java.util.ArrayList; +import java.util.List; +import java.util.Random; + +import net.sf.l2j.commons.random.Rnd; + +import net.sf.l2j.Config; +import net.sf.l2j.gameserver.enums.MessageType; +import net.sf.l2j.gameserver.enums.ZoneId; +import net.sf.l2j.gameserver.handler.voicecommandhandlers.VoiceExitSoloZone; +import net.sf.l2j.gameserver.model.World; +import net.sf.l2j.gameserver.model.actor.Creature; +import net.sf.l2j.gameserver.model.actor.Player; +import net.sf.l2j.gameserver.model.location.Location; +import net.sf.l2j.gameserver.model.zone.type.subtype.ZoneType; +import net.sf.l2j.gameserver.network.SystemMessageId; +import net.sf.l2j.gameserver.network.serverpackets.EtcStatusUpdate; +import net.sf.l2j.gameserver.taskmanager.PvpFlagTaskManager; +import net.sf.l2j.gameserver.taskmanager.SoloZoneTaskManager; + +/** + * @author MarGaZeaS + * + */ +public class SoloZone extends ZoneType +{ + private String _name; + private List<Location> _locations = new ArrayList<>(); + + public SoloZone(int id) + { + super(id); + } + + @Override + public void setParameter(String name, String value) + { + if (name.equals("name")) + _name = value; + else if (name.equals("locs")) + { + for (String locs : value.split(";")) + { + String[] coordinates = locs.split(","); + if (coordinates.length == 3) + { + int x = Integer.parseInt(coordinates[0]); + int y = Integer.parseInt(coordinates[1]); + int z = Integer.parseInt(coordinates[2]); + _locations.add(new Location(x, y, z)); + } + else + { + LOGGER.warn("Invalid location format: " + locs); + } + } + } + } + + + @Override + protected void onEnter(Creature character) + { + if (character instanceof Player) + { + final Player player = (Player) character; + + if ((player.getClassId().getId() == 15 || player.getClassId().getId() == 16 || player.getClassId().getId() == 97)) + { + Location respawnLocation = VoiceExitSoloZone.getExitLocation(); + player.instantTeleportTo(respawnLocation, 20); + player.sendMessage("Your class is not allowed in this zone."); + return; + } + + String randomName = SoloZoneTaskManager.getInstance().getAName(); + if (randomName == null || randomName.isEmpty() || !isValidName(randomName)) + { + randomName = generateRandomName(); + } + if (isNameAlreadyTaken(randomName)) + { + randomName = generateRandomName(); + } + player.setFakeName(randomName); + player.sendMessage("Welcome to the Solo Zone, your random name is: " + randomName); + player.sendPacket(SystemMessageId.ENTERED_COMBAT_ZONE); + character.setInsideZone(ZoneId.SOLO, true); + character.setInsideZone(ZoneId.NO_STORE, true); + character.setInsideZone(ZoneId.NO_SUMMON_FRIEND, true); + + if (player.getParty() != null) + { + player.getParty().removePartyMember(player, MessageType.DISCONNECTED); + } + + if (player.getPvpFlag() > 0) + PvpFlagTaskManager.getInstance().remove(player, true); + + player.updatePvPStatus(); + player.broadcastUserInfo(); + } + } + + private static boolean isValidName(String name) { + return name.matches("[a-zA-Z0-9_]+"); + } + + private static String generateRandomName() { + Random rand = new Random(); + int nameLength = rand.nextInt(12) + 4; + StringBuilder nameBuilder = new StringBuilder(); + + for (int i = 0; i < nameLength; i++) { + char randomChar = (char) (rand.nextInt(26) + 'a'); + nameBuilder.append(randomChar); + } + + return nameBuilder.toString(); + } + + private static boolean isNameAlreadyTaken(String name) { + return World.getInstance().getPlayers().stream().anyMatch(player -> player.getFakeName().equals(name)); + } + + @Override + protected void onExit(Creature character) + { + character.setInsideZone(ZoneId.SOLO, false); // Solo zone + character.setInsideZone(ZoneId.NO_STORE, false); // Allow making a store + character.setInsideZone(ZoneId.NO_SUMMON_FRIEND, false); // Allow summon + + if (character instanceof Player) + { + final Player player = (Player) character; + + if (player.getFakeName() != null) + { + player.setFakeName(null); + } + + player.sendPacket(SystemMessageId.LEFT_COMBAT_ZONE); + { + if(!player.isInObserverMode() && player.getPvpFlag() > 0) + PvpFlagTaskManager.getInstance().add(player, Config.PVP_NORMAL_TIME); + + player.sendPacket(new EtcStatusUpdate(player)); + player.broadcastUserInfo(); + } + } + } + + public String getName() + { + return _name; + } + + public Location getLoc() + { + if (_locations.isEmpty()) + { + return null; // Αν η λίστα είναι κενή, επιστρέφουμε null + } + return _locations.get(Rnd.get(0, _locations.size() - 1)); // Επιλέγουμε τυχαία τοποθεσία + } +} diff --git a/java/net/sf/l2j/gameserver/GameServer.java b/java/net/sf/l2j/gameserver/GameServer.java new file mode 100644 index 0000000..6b7ef6f --- /dev/null +++ a/java/net/sf/l2j/gameserver/GameServer.java if (Config.ALLOW_FISH_CHAMPIONSHIP) FishingChampionshipManager.getInstance(); + StringUtil.printSection("Custom Features"); + SoloZoneTaskManager.getInstance(); StringUtil.printSection("Handlers"); LOGGER.info("Loaded {} admin command handlers.", AdminCommandHandler.getInstance().size()); diff --git a/java/net/sf/l2j/gameserver/GameServer.java b/java/net/sf/l2j/gameserver/Shutdown.java new file mode 100644 index 0000000..6b7ef6f --- /dev/null +++ a/java/net/sf/l2j/gameserver/Shutdown.java // disconnect players try { disconnectAllPlayers(); LOGGER.info("All players have been disconnected."); } catch (Exception e) { // Silent catch. } + // Restore real names for players in SoloZone + restoreRealNamesInSoloZone(); // stop all threadpolls ThreadPool.shutdown(); try { LoginServerThread.getInstance().interrupt(); } catch (Exception e) { // Silent catch. } // avoids new players from logging in if (_secondsShut <= 60 && LoginServerThread.getInstance().getServerType() != ServerType.DOWN) LoginServerThread.getInstance().setServerType(ServerType.DOWN); _secondsShut--; Thread.sleep(1000); } } catch (InterruptedException e) { } } + // This method restores the real names of players in SoloZone + private static void restoreRealNamesInSoloZone() + { + for (Player player : World.getInstance().getPlayers()) + { + // Check if player is inside the SoloZone + if (player.isInsideZone(ZoneId.SOLO)) + { + // Restore the real name by removing the fake name + if (player.getFakeName() != null) + { + player.setFakeName(null); // Restore the real name + LOGGER.info("Player {}'s fake name has been removed and real name restored.", player.getName()); + } + } + } + } private static void sendServerQuit(int seconds) { World.toAllOnlinePlayers(SystemMessage.getSystemMessage(SystemMessageId.THE_SERVER_WILL_BE_COMING_DOWN_IN_S1_SECONDS).addNumber(seconds)); } diff --git a/java/net/sf/l2j/gameserver/enums/ZoneId.java b/java/net/sf/l2j/gameserver/enums/ZoneId.java new file mode 100644 index 0000000..6b7ef6f --- /dev/null +++ a/java/net/sf/l2j/gameserver/enums/ZoneId.java public enum ZoneId { PVP(0), PEACE(1), SIEGE(2), MOTHER_TREE(3), CLAN_HALL(4), NO_LANDING(5), WATER(6), JAIL(7), MONSTER_TRACK(8), CASTLE(9), SWAMP(10), NO_SUMMON_FRIEND(11), NO_STORE(12), TOWN(13), HQ(14), DANGER_AREA(15), CAST_ON_ARTIFACT(16), NO_RESTART(17), SCRIPT(18), - BOSS(19), + BOSS(19), + SOLO(20); private final int _id; private ZoneId(int id) { _id = id; } diff --git a/java/net/sf/l2j/gameserver/network/serverpackets/Die.java b/java/net/sf/l2j/gameserver/network/serverpackets/Die.java new file mode 100644 index 0000000..6b7ef6f --- /dev/null +++ a/java/net/sf/l2j/gameserver/network/serverpackets/Die.java if (creature instanceof Player) { Player player = (Player) creature; - _allowFixedRes = player.getAccessLevel().allowFixedRes(); + _allowFixedRes = player.getAccessLevel().allowFixedRes() || player.isInsideZone(ZoneId.SOLO); _clan = player.getClan(); } diff --git a/java/net/sf/l2j/gameserver/model/actor/Player.java b/java/net/sf/l2j/gameserver//model/actor/Player.java new file mode 100644 index 0000000..6b7ef6f --- /dev/null +++ a/java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java // Attacker or spectator logging into a siege zone will be ported at town. if (player.isInsideZone(ZoneId.SIEGE) && player.getSiegeState() < 2) player.teleportTo(TeleportType.TOWN); + if (player.isInsideZone(ZoneId.SOLO)) + { + ThreadPool.schedule(() -> { + Location exitLocation = VoiceExitSoloZone.getExitLocation(); + + if (exitLocation != null) + { + player.teleportTo(exitLocation.getX(), exitLocation.getY(), exitLocation.getZ(), 0); + player.sendMessage("You have been moved to the exit of the SoloZone."); + } + }, 5000); // 5000 milliseconds (5sec) + } diff --git a/java/net/sf/l2j/gameserver/model/actor/Player.java b/java/net/sf/l2j/gameserver/model/actor/Player.java new file mode 100644 index 0000000..6b7ef6f --- /dev/null +++ a/java/net/sf/l2j/gameserver/model/actor/Player.java @Override public void doRevive() { super.doRevive(); stopEffects(EffectType.CHARM_OF_COURAGE); sendPacket(new EtcStatusUpdate(this)); getStatus().setCpHpMp(getStatus().getMaxCp(), getStatus().getMaxHp(), getStatus().getMaxMp()); _reviveRequested = 0; _revivePower = 0; if (isMounted()) startFeed(_mountNpcId); + if (isInsideZone(ZoneId.SOLO)) + { + // Give Nobless (1323 ID) + L2Skill no = SkillTable.getInstance().getInfo(1323, 1); + no.getEffects(this, this); + sendMessage("You have received the Nobless status in the Solo Zone."); + } + } If anyone thinks the code is wrong, please make an update and upload it here so I can update the post. A part was edited with chatgpt3 points
-
On a daily basis you check my posts and downvote them regardless of if you've been mentioned or what I've said, you've recently leaked files as per your own title description, are still attempting to sell $20,000 files that are likely to be low quality or result in a giant refund shitstorm/scam, called me a scammer when I've uploaded everything I've worked on for free/made it available to MaxCheaters and you actively shit on forum staff. Penalize a little? Your penis size is little.3 points
-
Join Lineage 2 Monsters – The Ultimate Old-School Adventure! NO Pay-to-Win | NO Wipe | Long-Term Stability Classic L2, Reimagined – Old School but Exciting & Professional! Server Version: High Five Part 5 (Improved) Client Interface: Unique & Enhanced Anti-Cheat: Dynamic system on both client & server Multilanguage Support: English | Russian | Arabic Dynamic SP/XP Rates (Chapters System) – Adapt and grow! Exclusive Cloaks, Accessories & Suits! Retail-Like Gameplay with Custom Enhancements! And much more… A world of adventure awaits! Join us today! Website: L2Monsters.com Discord: L2 Monsters Discord Your journey begins now! Are you ready?3 points
-
Camp Location=(X=168800.000000,Y=234300.000000,Z=-2250.000000) Fafurion Nest Location=(X=173400.000000,Y=252300.000000,Z=-14300.000000) simplified version of the original Fafurion map from the Fafurion 166 client combined 2 in 1 squares 25_24 + 25_25 in a square 25_25 original music tracks installed, date in archive geodata from Koner in the archive not installed in this version: doors in Fafurion's lair, ambisound obzh, event ID at emitters if you don’t need all the installed effects, textures FX_E_T.utx, LineageEffectsTextures.utx, LineageEffectsTextures2.utx can not be replaced The boss itself is available in the archive (repack from SGER@fjs) Download3 points
-
I believe it was 406 (back in mid 2023?), I apologized profusely to Tryskell for my mistake as I wasn't completely aware of the damage I was doing at the time & immediately removed the post once I arrived home from work. After seeing 1st hand how much effort that guy puts into his project, it was indeed a dick move on my end and by far the biggest regret I have. Wont shy away from that mistake at all. At that point in time, we had spoken a fair bit and was given a 2nd chance in the donators section which I still appreciate him for doing to this day. I'd never be as silly as to share anyone's private sources again. Strange attempt to taint my reputation on your behalf though considering its completely unrelated to the topic at hand. You're answering your own question if you think about it hard enough -- I don't particularly want to share sources at the moment, but people are welcomed to the compiled version for free and if they want to report any issues found, they will be periodically fixed and updated. People are always welcome to ya know, not use them at all? Any issues that are stemming from the original aCis branch will be forwarded to Tryskell (or his discord) as well as any possible fixes if I find a solution. Though at the moment, as expected, people that are using it are more focused on the mods. Taking time out of your day to research who I am (as mentioned in the first quote) instead of moving on with your day demonstrates how gay you are and proves you care a great deal. I provided my reasons for posting from the moment you asked, which led you to believe the post was sketchy & I was being dramatic. Dunno what else to tell you man, we're just talking in circles at this point. If you want a more detailed reason: I'd guess that most people in the l2 scene are 30+ years old with jobs/kids and don't have time to learn java, then take on the task of developing an l2j server on the side. Anything I share is made with those types of people in mind, not meant to be some hotshot dev (I'm far from it) or con people in to paying for things (don't need anyone's money), just nerds having fun taking a trip down memory lane while hopefully bringing some enjoyment to a few people in the process. If it manages to get the attention of any half-decent developer in the process that want to contribute in some way, that's just a bonus.3 points
-
3 points
-
Since last massive leak as explained as 07/09 (notably all development branches), I don't accept anymore financial newcomers that easily. People will have to contribute 100 cookies worth of contributions (bug reports/fixes) as a first step to be accepted as Donator. Free user can join after sharing over 200 cookies out of contributions, compared to 100 cookies before. You can say thanks to RusAcis, and notably his worthless leader, UnleashedForce. The size of users will continue to shrink if more leaks occur, until true helpers only will be left. New prices are as following : Joining price: 200€ + 100 cookies, or 200 cookies This fee has to be paid if you are joining aCis project. Next month, and all other months, you will have to donate only basic monthly donation. Monthly price: 10€ / 10 cookies This fee has to be paid every month. I won't accept any new join fee before the 100 cookies contribution. Your money will be instantly sent back. Also, in the same shape of idea, actual supporters/donators have to be active to stay in sources. It doesn't have to be a particular amount, you just have to share from time to time *anything*. I don't accept anymore silent ppl. Only useful people will be kept.3 points
-
engine.dll ?RequestAuthLogin@UNetworkHandler@@UAEHPAG0H@Z int __fastcall RequestAuthLogin(unsigned int This, unsigned int EDX, wchar_t * login, wchar_t * password, int unk)3 points
-
3 points
-
2 points
-
Look at that I'm the first one to share something in this part of the forum. Free Buffer System for the Lucera2 Classic Client. This buffer was originally based on someone else's work, but has undergone many modifications and improvements to support all the main buffer pages, and others, including full profile support for dimensions and how they are formatted. This is just a small gift to the Lucera2 community. If you have any questions or issues, don't hesitate to contact us here. The .htm files are adapted for custom dimensions. You must have support in your client for handling custom HTML window sizes. Example dimensions used in this buffer: resize_x=750 resize_y=470 MetaMan Version Buffer2 points
-
Maxcheaters is not worthy of this share. The MeGaFlaME ELLiNaS armor doesn’t just protect the body, it protects the soul. A design so ahead of its time, some might mistake it for a tragic accident. But no. This is art. This is vision. This is fashion. My eyes may never recover. Thank you for blessing us with this masterpiece.2 points
-
Interfece 196 protocol TW (Source) Good afternoon, everyone, I often see people interested in the source code of protocol 196, so I decided to share it. The source code is easily accessible in the 196 protocol, but no one knows that the 196 protocol from Taiwan is easily extracted. You can verify this by opening the original files in the program WOTgreal, the original files are in the archive with the code. It can also be extracted via ucc.exe using the command: UCC.exe BatchExport interface.u Class uc .\interface\classes -NoBind Here I am publishing the source code for general use. I hope it will be useful. If necessary, it is very easy to adapt to any other localization. Interface 196 TW (Source): Download PS: Use it for your health and have a nice day. I apologize for my English, there may be problems translating through the translator.2 points
-
I do what I like because I don't need to push myself to do things for L2 as a means of income. You, on the other hand, are here trying to scam people for $20k files... But, since you're so talented and competent, I suppose you must be thriving on the fruits of your talents as an L2Off dev, no? Oh wait Guess not2 points
-
Having recently spoken with Salem, he seems like a genuine person and was quick to help me with design ideas for the Chronicle Coders discord which we are now using. Appreciate your work @ThatSalem.2 points
-
The only thing you've contributed to is the spreading of aids throughout your hometown, via sex with gay men, because you are gay.2 points
-
As a member of the community and someone completely unrelated to UnknownSoldier I'd like to say, on behalf of the community, you're the biggest down syndrome cunt this forum has ever seen & deserves to be banned. You contribute nothing, are highly toxic, a con-artist and also gay.2 points
-
in the case of h5 client and lower, those 'combos' are completely hardcoded, you can't really make new ones, this is a thing only ever since goddess.2 points
-
2 points
-
Buy high-quality web templates at the best price on the market! At TPLBox and Templstock you will find several web projects for your game, explore our store and find the best option that adapts to your project! Check our new themes: - Multi-Theme Lineage 2 Template - Eternal Templar Lineage 2 Template For more information acess: TPLBox: un1k.digital (tplbox.store) Templstock: Un1k - All Game Templates (templstock.com)2 points