Jump to content

Recommended Posts

Posted

I know that i'm new here but i think to make a guide for people that are newbwie in creating server on LineageII.The skills are about 70% fixed-quest 100%- s80 items- and much more that you will find in the pack.

ADDISIONAL ID FROM CUSTOM NPC's

 

 

So let's start.

 

 

First you have to download the pack from here:

http://rapidshare.com/files/93163711/How_To_Create_LII_CT1_Server__Kamael_.rar

 

then extract it at C:\

 

Then download the "host" from here:

DownloadLink: http://rapidshare.com/files/92733584/hosts.rar

and send it at C:\Windows\system32\drivers\etc. then press yes to all (replace) and close the folder.

 

Now download the official system of Lineage II CT1 (delete the system you have now and press check files and you will have the official Pack)

 

Then go to C:\How To Create LII CT1 Server [Kamael]

 

and now

 

open start.bat
startloginserver.bat
startgameserver.bat

 

and your server is online !

 

 

MAKING YOUR SERVER GLOBAL

to make your server global you need to have static IP. If you don't go to www.no-ip.com and create a no-ip.

 

Now let's start.

First go to C:\Kamael server by Maker --> open Gameserver By Maker-->config-->server(properties) and in

ExternalHostname=add your static ip (or no-ip)

 

InternalHostname=you pc ip address which you can find at (Start->Run->write cmd->write ipconfig->and the get ip address.

 

now save and close

 

now go to loginserver by Maker open config and the loginserver (propetries) and do the same.

 

HOW OTHER CAN CONNECT TO YOUR SERVER  [AND YOU TOO]

 

Ok Open L2FileEdit and open l2.ini you will find this "ServerAddr=you static  ip [or you no-ip]"

then press  Save and Enctypt. Save it at Version" 413 " . Now you are READY! open l2.exe and log in with admin account ID: Maker

                          PASS: admin

 

 

EDITING YOU SERVER NAME

 

You don't like Bartz , Liona etc No problem we are here to solve it.

 

First you have to download L2 File Edit from here: http://www.hophost.net/DOWNLOAD/e0de61251/L2%20FileEdit.exe

 

now open l2 file edit and press open and decrypt open servername-e and edit anything you want. :P

 

EDIT NPC NAMES

You still have L2FileEdit??? OK open it press open and decrypt and open the npcname-e and change anything you want.

 

NPC GM SHOP

 

This is a very good GM shop for the Server Try It:

DownloadLink: http://rapidshare.com/files/92836145/Gm_Shop__MaxCheaters_.rar

 

NPC ONEO BUFFER

 

Here is The Oneo Buffer

 

DownloadLink: http://rapidshare.com/files/93165866/Oneo_Dev_Team_Npc_Buffer.rar

 

 

I hope you like it ;)

 

CREDITS TO L2 ONEO TEAM ;)

 

WARNING!: THE 1st TOPIC IS GOING TO BE UPDATING EVERY DAY BY ME

Posted

you can easilly change NPC Name using navicat (or every SQL explorer soft). server-side-name to 1 and server-side-title to 1 and you got it.

 

I think it's more simple than editing and sharing client file, no ?

Posted

UPDATED ON 19/2/2008 (ADDED NEW PACK (MINE) AND ALSO ADDED NPC ONE BUFFER)

your pack ??? lol dude ??? if u want to call a serverpack and dp your you should create it :) and not to take it ready or take the base from another dp :P next time give credits about the pack you use and dont call it YOUR PACK .... its another person work and you should apriciate that he share it with you and not stole his work .....

 

 

nice guide *Sticked*

Posted

your pack ??? lol dude ??? if u want to call a serverpack and dp your you should create it :) and not to take it ready or take the base from another dp :P next time give credits about the pack you use and dont call it YOUR PACK .... its another person work and you should apriciate that he share it with you and not stole his work .....

 

 

nice guide *Sticked*

 

ok themental i give credits to the Oneo L2j Team.

 

And also thanks for the *Sticked*

Guest revenger
Posted

when i start l2.exe and login with the account it doesnt show up any server.. can anyone help me?

 

EDIT:now it shows up a server but when i try to connect it goes back to the login screen and shows up a menssage saying: Acess Failed

Guest
This topic is now closed to further replies.



  • 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
    • ZonePvPSpawnBossRadio=0 ZonePvPSpawnBossBarakiel=0 at the Customs.ini in L2Server folder. Im prety sure this is it because i had the same problem with you in cruma 1 floor for example and i couldn't fix it but i fixed it finally by changing these 2 lines
    • Siege Reward Start PM Msg Rework Config root BossDieAnnounce and BossDieSound in the L24Team.properties and Config.java files for global raid boss death notifications and sounds. Adds a new reward_list table to the DB.sql file to track castle rewards. Improves character creation logic for thread safety and validation. Adds extensive state checks to the RequestEnchantItem method to prevent enchantments during inappropriate player states. Fixed auto-attack animation bug (there was no attack animation, only damage animation) Clean Code Other fixes I forgot to list! Java 14 Fixed issue where deleting a character would prevent it from leaving the screen or being removed, or even after a delete CD (it would only exit when re-logging in or creating a new character). Added Premium System from the other C2 project (Needs testing and improvement). Added the "Improved" Community Board (incomplete).
  • 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