Jump to content

Recommended Posts

Posted (edited)

https://www.L2Ash.com/

 

Grand Opening 29th of November 2019 at
21:00 (+2 UTC)
19:00 (+0 UTC)
14:00 (-5 UTC)
11:00 (-8 UTC)

 

Chronicle: Interlude (C6)
Hardcore PvP/Craft Mid Rate

 

image_src.jpg

 

Damage.thumb.JPG.b36e4609365ed5e6f64b9386923001d5.JPG

 

Opening Events!
- First player to level 80 wins 30 euro!
- First clan leader to reach clan level 5 wins 20 euro!

 

RATES

Exp: x10
Sp: x10
Adena: x10
Items: x3
Spoil: x3
Quests: x1

Raidboss: x2


ENCHANTS

Safe +3
Weapons / Armor / Jewelry:
Max Enchant +16/+16/+16


PROFESSIONS

Changing professions does not require quests (but you can do them if you want to.)
1st class change free!
2nd class change free!
3rd class change 1kk adena
Noblesse 10kk adena or quested
Subclass 10kk adena or quested


OTHER

No Donations for stats/gear
Automatically learn skills
Tokens for voting on TOP sites and vote shop
Olympiad
Castle Siege

Seven Signs
TvT events
No CP potions - hardcore PvP
Users may bot with up to two characters per party (max bot party size 2)


BUFFS

Number of slots: 20 + 4
Number of debuff slots: 6
NPC Buffer near Gate Keeper
Buff Price(ea): 1k adena Lv41+, 500 adena Lv1-40
Duration of buffs: 2 hours (CoV/PoF/high level buffs - retail)


CHAT

+Trade chat is global chat
Trade chat requires level 30
See rules for more info on Trade chat


GAME SECURITY

Protection from Brutus (password guessing)
Protection from Anti-Dos and DDoS.


WEB SECURITY

Protection from Brutus (password guessing)
Anti-Dos and DDoS.
Protection against hackers

 

Edited by L2Ash
Rate adjustments due to community demand
Posted (edited)
2 hours ago, steve said:

this server is running under java files, change the title post...

Hi steve,

Thanks for checking out the server! L2Ash is an L2OFF server. What makes you think this is a java server? I can assure you the server is coded in C++

Regards,

L2Ash Admin

Edited by L2Ash
Posted

Open Beta Test today at 16:00 GMT, 11:00 GMT -5, 08:00 GMT -8
Hype hype!!
There will be an OBT NPC selling gear and boosted server rates for testing.

Posted
4 hours ago, mr zero said:

Beta ended? Cant seem to get my hands on a patch. 

Hi Mr Zero,

That is correct, OBT is over now and we took the OBT files down. A more complete set of files will be made available 24-48 hours before launch. We will update this post and announce on our forums as soon as they're ready.

 

I will also take this opportunity to mention that due to community demand we are updating some of the server settings. The following changes have been made to our rates/settings:

Exp: x15 -> x10
Sp: x15 -> x10
Adena: x15 -> x10
Spoil: x1 -> x3

 

Default max buff slots: 24 -> 20

 

Regards,
L2Ash Staff

Posted (edited)

It's almost here! Launch is a little more than 24 hours away! We've made the links available to download the L2Ash launcher and files. You can choose to use the L2Ash launcher or to manually install with the files - you do not need both. First install Lineage 2 before using the launcher or patch. The launcher will automatically handle patching.

 

https://www.l2ash.com/?page=download

 

Once you've finished installation you can test logging in to our server with your website account and update your display settings. After that you're ready for launch! Character creation will be enabled when we go live.

 

We can't wait to see you online. We're hoping for 800+! Help us hype to your friends!!

 

Regards,
L2Ash Staff

Edited by L2Ash
Posted

Hi!

Come one people, let's try this server. I started here because the staff works good and I like the features. We need people :)

 

---

Borrokalari

  • 3 weeks later...
Posted

I'ts a great time to join L2Ash, starting weapons have been upgraded! New players now get a jump start! Dagger, Apprentice's Wand and Squire's Sword weapons are now a little less powerful than top NG. See you soon!
Regards,
L2Ash Staff

Posted

It's Christmas on L2Ash! We've brought out the decorations and Santa's helpers have arrived. Checkout our forums or a helper in Giran for more info!

It's a great time to join L2Ash, the newbie weapons have been upgraded to do more damage!

Merry Christmas!

Posted

Seven Signs has now been implemented on L2Ash!
All buffs now 2 hour duration.

L2Ash continues to grow into it's final form! We listen to our players, research and don't take any decisions regarding the server lightly.

Everyone is respected by the staff on our server.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • what pack you use  send me on discord for it
    • package custom.events.RandomZoneEvent; import java.io.File; import java.util.ArrayList; import java.util.List; import java.util.Random; import java.util.concurrent.ScheduledFuture; import org.w3c.dom.Document; import org.w3c.dom.Node; import org.l2jmobius.commons.threads.ThreadPool; import org.l2jmobius.commons.time.SchedulingPattern; import org.l2jmobius.commons.time.TimeUtil; import org.l2jmobius.commons.util.IXmlReader; import org.l2jmobius.gameserver.managers.ZoneManager; import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.quest.Event; import org.l2jmobius.gameserver.model.zone.ZoneId; import org.l2jmobius.gameserver.model.zone.ZoneType; import org.l2jmobius.gameserver.model.zone.type.RandomZone; import org.l2jmobius.gameserver.util.Broadcast; /** * Random Zone Event - Activates one random PvP zone temporarily. No modifica la clase de la zona: usa flags PvP en runtime. * @author Juan */ public class RandomZoneEvent extends Event { private static final String CONFIG_FILE = "data/scripts/custom/events/RandomZoneEvent/config.xml"; private static int EVENT_DURATION_MINUTES = 15; private static boolean _isActive = false; private ScheduledFuture<?> _eventTask = null; private final List<ZoneType> _availableZones = new ArrayList<>(); private ZoneType _activeZone = null; public RandomZoneEvent() { loadConfig(); loadZones(); registerZoneListeners(); } /** * Registra listeners a TODAS LAS ZONAS random */ private void registerZoneListeners() { for (ZoneType zone : _availableZones) { addEnterZoneId(zone.getId()); addExitZoneId(zone.getId()); LOGGER.info("[RandomZoneEvent] Registered listener for zone: " + zone.getName()); } } private void loadConfig() { new IXmlReader() { @Override public void load() { parseDatapackFile(CONFIG_FILE); } @Override public void parseDocument(Document doc, File file) { forEach(doc, "event", eventNode -> { final StatSet att = new StatSet(parseAttributes(eventNode)); final String name = att.getString("name"); for (Node node = eventNode.getFirstChild(); node != null; node = node.getNextSibling()) { if ("schedule".equals(node.getNodeName())) { final StatSet attributes = new StatSet(parseAttributes(node)); final String pattern = attributes.getString("pattern"); final SchedulingPattern schedulingPattern = new SchedulingPattern(pattern); final StatSet params = new StatSet(); params.set("Name", name); params.set("SchedulingPattern", pattern); final long delay = schedulingPattern.getDelayToNextFromNow(); getTimers().addTimer("Schedule_" + name, params, delay + 5000, null, null); LOGGER.info("[RandomZoneEvent] Event " + name + " scheduled at " + TimeUtil.getDateTimeString(System.currentTimeMillis() + delay)); } } }); } }.load(); } private void loadZones() { for (ZoneType zone : ZoneManager.getInstance().getAllZones(RandomZone.class)) { if ((zone.getName() != null) && zone.getName().toLowerCase().startsWith("random_zone")) { _availableZones.add(zone); LOGGER.info("[RandomZoneEvent] Loaded zone: " + zone.getName() + " (id=" + zone.getId() + ")"); } } LOGGER.info("[RandomZoneEvent] Total random zones loaded: " + _availableZones.size()); } @Override public void onTimerEvent(String event, StatSet params, Npc npc, Player player) { if (event.startsWith("Schedule_")) { eventStart(null); final SchedulingPattern schedulingPattern = new SchedulingPattern(params.getString("SchedulingPattern")); final long delay = schedulingPattern.getDelayToNextFromNow(); getTimers().addTimer(event, params, delay + 5000, null, null); LOGGER.info("[RandomZoneEvent] Rescheduled for " + TimeUtil.getDateTimeString(System.currentTimeMillis() + delay)); } } @Override public boolean eventStart(Player eventMaker) { if (_isActive) { if (eventMaker != null) { eventMaker.sendMessage("RandomZoneEvent already active."); } return false; } if (_availableZones.isEmpty()) { Broadcast.toAllOnlinePlayers("[RandomZoneEvent] No zones configured."); return false; } _isActive = true; Broadcast.toAllOnlinePlayers("⚔️ Random Zone Event has started!"); _eventTask = ThreadPool.schedule(this::activateRandomZone, 5_000); return true; } private void activateRandomZone() { _activeZone = _availableZones.get(new Random().nextInt(_availableZones.size())); _activeZone.setEnabled(true); Broadcast.toAllOnlinePlayers("🔥 Random Zone Event: " + _activeZone.getName() + " is now PvP for " + EVENT_DURATION_MINUTES + " minutes!"); _eventTask = ThreadPool.schedule(this::eventStop, EVENT_DURATION_MINUTES * 60 * 1000L); } @Override public boolean eventStop() { if (!_isActive) { return false; } _isActive = false; if (_eventTask != null) { _eventTask.cancel(true); _eventTask = null; } if (_activeZone != null) { _activeZone.setEnabled(false); Broadcast.toAllOnlinePlayers("🏁 Random Zone Event ended. " + _activeZone.getName() + " is back to normal."); _activeZone = null; } else { Broadcast.toAllOnlinePlayers("🏁 Random Zone Event ended."); } return true; } @Override public void onEnterZone(Creature creature, ZoneType zone) { if (!_isActive || (_activeZone == null)) { return; } if ((zone == _activeZone) && creature.isPlayable()) { creature.setInsideZone(ZoneId.PVP, true); if (creature.isPlayer()) { creature.sendMessage("Esta zona está en modo PvP temporalmente."); } } } @Override public void onExitZone(Creature creature, ZoneType zone) { if (!_isActive || (_activeZone == null)) { return; } if ((zone == _activeZone) && creature.isPlayable()) { creature.setInsideZone(ZoneId.PVP, false); if (creature.isPlayer()) { creature.sendMessage("Abandonaste la zona PvP temporal."); } } } @Override public boolean eventBypass(Player player, String bypass) { return true; } @Override public String onEvent(String event, Npc npc, Player player) { return super.onEvent(event, npc, player); } @Override public String onFirstTalk(Npc npc, Player player) { return null; } public static void main(String[] args) { new RandomZoneEvent(); } } i have this but its not working
  • Topics

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock