Jump to content

Recommended Posts

Posted

[align=center]vasika asxoloume edo kai 2xronia peripou me L2

 

kapou apo Servers, exo ftiaksei

 

L2jC1 & L2jC3 & L2jC4... ...mono java!

 

 

 

pote den ekatse na kano L2off, kai de ksero ti paizei m'afto

 

kai gi'afto vasika kano afto to thread na matho kapoies

 

kyries diafores.

 

 

 

loipon anamesa sto L2java(emu) kai L2-off:

 

1) poios server hackarete poio efkola?

 

2) lag?

 

3) perisottera bugs tha vrethoun... ( se poion ap'tous 2? )

 

4) mia, i merikes apo tis vasikoteres diafores pou pistevete oti yparxoun

 

Na'saste kala paides. SKYscreamer[/align]

 

 

 

[align=center]IN ENGLISH

 

Basicly, 2 years now, L2 is my hobby.

 

about creating a Lineage2 server, all i've done is:

 

L2j chronicle1, L2jC3, and L2jC4.. ...only java servers.

 

 

 

it never cross my mind, to even try L2off, and that why i know nothing!

 

this is the more reason i made this thread, to learn so

 

main differences.

 

 

 

so.. about L2java(emu) and L2-off:

 

1) which of them, would be easier to hack/crack? ( opinion )

 

2)lag? which of'em has less lag?

 

3) in which of L2j & L2-off, would be found more bugs? why's that?

 

4) and finally, i'd like to hear from you, which are the main differences

 

as about L2java and L2-off.

 

Thanks a lot guys: SKYscreamer[/align]

Posted

Java is taking more place on ram than Off. If u use java, u must find a computer which has over 4gb ram for 100 user. If u use Off server, 2gb enough for 100 user. I hope u understand.

Posted
Java is taking more place on ram than Off. If u use java' date=' u must find a computer which has over 4gb ram for 100 user. If u use Off server, 2gb enough for 100 user. I hope u understand.[/quote']

 

 

 

yeap, because L2J uses Java, and JAVA uses the JVM (Java Virtual Machine). So L2J need more sources than off :lol: :lol: :lol: :lol: :lol:

Posted

L2j is generaly more buggy but can be edited much more easier. It has the new stuff, since the L2x is harder to uprade because its C1 beta server with plugins. L2j is too laggy, on our L2x server we usualy had over 600 people with minimal lags only with 2GB ram. L2x often uses geodata gathered from L2j. L2j has still problems with shooting through walls etc.

 

But most of these things depend on the version of the server.

  • 3 weeks later...
Posted

turksauron > 4 gb for 100 players ??? i dont thing so

 

 

 

the only thing i have to say is: java sucks

 

 

 

you give 1 hour to make 1 l2j server why not give more 1-2 hours to try make a l2off?

Posted
turksauron > 4 gb for 100 players ??? i dont thing so

 

 

 

the only thing i have to say is: java sucks

 

 

 

you give 1 hour to make 1 l2j server why not give more 1-2 hours to try make a l2off?

 

 

 

lol it's not that easy. U need a lot of work for l2off. L2j is just a copy-paste

  • 4 weeks later...
Posted

emulators always stays emulators...

 

L2j is not even Lineage II. It has no geodata, has lots of bugs.

 

U said u played L2 for 2 years. if you played in global server then u should see that L2j is the biggest mistake of nature ever made.

 

 

 

L2j took the lead in L2 world becouse it was simple to edit and was easy to add new features.

 

 

 

But now new times has come. People are sharing full C4 L2off servers and thats thruth.

 

 

 

I suggest you to check one of the global like private l2off server - L2-Kaimas

 

Server is quite good even without C4 full. (http://l2-kaimas.ten.lt)

Posted

At the time being, full C4 is not shared, it's sold for 10k$.... only the scripts are shared.

 

Basically there is an off c4 being shared out there, but it contains trojans and it is password protected T.T

  • 2 weeks later...
Posted

LOL guys, L2OFF (Ragezone Live edition 1.0 exactly) uses MUCH MORE cpu / ram power to play ... you can hardly run the server on an average PC and play at the same time in your server.

 

 

 

at the other side, L2EMU uses less CPU / RAM power, but people dont like it, coz of bugs/implementation/geo system.

Posted

ummm afaik java is a langauge that isn't compiled but the jvm translates the code at hand, so how this can be faster and less cpu/ram usable ?

  • 1 month later...
  • 5 weeks later...
Posted

Okey , here we go :

 

L2J : Lineage II Java

L2J use Java , so It's less stable.You can not handdle many people on a L2J server , max is 800 player with a fking good hardware and it will crash every 5 hours.

Why use L2J so ?

-L2J is for admin who begin in the world of server , it's easy to dev and fast to set up , it's perfect for high rate with 200 player or a bit more.

 

L2Official.

It use C++ , it's very stable and bugless.It can handdle more than 2000 player with a good hardwar , up to 4000 players with no lagg ! ( If you got dual serv .... )

C++ is a hard language , hard to dev.

Why use L2Off so ?

-For skilled admins who got a DEV team and want to start a low or medium rate server ( and high also) with a big community and a good stability.

 

Personnaly I think that L2Off is much better than L2J , If you got good hardwar to host your server and a bit time , L2Official Is the best.

L2J is for me just to test some new skill and area in C5 but not a serious server.

 

 

Ps : with 2Gb you can run a L2official , for me 1.5Gb is enough for a good server if it have a good configuration.

  • 1 month later...
Posted

egw exw kanei l2j c3+c4, off c1(based)c3

 

perisotera bugs sto l2j

poio poli lag se official

to poios hackarete pio efkola einai analogo..

vasiko xaraktiristiko diaforas anamesa l2j k l2off: poio poli douleia ston l2off k poio polla atoma...

genika polles diafores.. pio afstira(polla) requirements gia official, pio polles ry8miseis, prepei na ksereis merika pragmata, ktl..

Guest
This topic is now closed to further replies.


  • Posts

    • hello, i want to wtt my charracter in l2elmorelab 1x harbor for 1.5kkk adena in l2reborn 10x new. Or if you interested tell me your offer. :)) Clean Mail 30 lvl Cleric Naked   Updated.
    • package ai.npc.NFWalker; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Random; import l2r.gameserver.enums.CtrlIntention; import l2r.gameserver.model.Location; import l2r.gameserver.model.actor.L2Npc; import l2r.gameserver.model.quest.Quest; import l2r.gameserver.network.clientpackets.Say2; import l2r.gameserver.network.serverpackets.NpcSay; public class NFWalkerAI extends Quest { private static final int WALKER_NPC_ID = 20116; private final Map<String, Route> routes = new HashMap<>(); private final Map<Integer, Integer> npcIndexes = new HashMap<>(); private final Map<Integer, Boolean> npcReverse = new HashMap<>(); private final Map<Integer, String> npcCurrentRoute = new HashMap<>(); public NFWalkerAI() { super(-1, NFWalkerAI.class.getSimpleName(), "ai/npc/NFWalker"); loadRoutes(); addSpawnId(WALKER_NPC_ID); } private void loadRoutes() { // Route 1 Data Route route1 = new Route("route1"); route1.addPoint(new RoutePoint(0, 149363, 172341, -941, 0, false, "")); route1.addPoint(new RoutePoint(1, 148568, 172328, -980, 5, true, "Puff")); route1.addPoint(new RoutePoint(2, 148536, 172792, -980, 0, false, "")); // Route 2 Data Route route2 = new Route("route2"); route2.addPoint(new RoutePoint(0, 149363, 172341, -941, 0, false, "")); route2.addPoint(new RoutePoint(1, 150248, 172328, -980, 5, true, "Rise my children! Bring me the servants of the god! Let them be offered to our god Bifrons!")); route2.addPoint(new RoutePoint(2, 150248, 172776, -980, 0, false, "")); // Add routes to the map routes.put("route1", route1); routes.put("route2", route2); } @Override public String onSpawn(L2Npc npc) { if (npc.getId() == WALKER_NPC_ID) { selectInitialRouteForNpc(npc); } return super.onSpawn(npc); } @Override public String onAdvEvent(String event, L2Npc npc, l2r.gameserver.model.actor.instance.L2PcInstance player) { if (event.equalsIgnoreCase("move")) { moveNpc(npc); } else if (event.equalsIgnoreCase("check_reached")) { checkIfReached(npc); } return null; } private void moveNpc(L2Npc npc) { String routeName = npcCurrentRoute.get(npc.getObjectId()); Route route = routes.get(routeName); Integer pointIndex = npcIndexes.get(npc.getObjectId()); if (route != null && pointIndex != null) { RoutePoint point = route.getPoints().get(pointIndex); if (point.isRun()) { npc.setRunning(); } else { npc.setWalking(); } if (!point.getChat().isEmpty()) { npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), point.getChat())); } npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, new Location(point.getX(), point.getY(), point.getZ())); // Log movement intention System.out.println("NPC " + npc.getObjectId() + " moving to " + point.getX() + ", " + point.getY() + ", " + point.getZ()); // Schedule a check to see if the NPC has reached its destination startQuestTimer("check_reached", 1000, npc, null); } } private void checkIfReached(L2Npc npc) { String routeName = npcCurrentRoute.get(npc.getObjectId()); Route route = routes.get(routeName); Integer pointIndex = npcIndexes.get(npc.getObjectId()); if (route != null && pointIndex != null) { RoutePoint point = route.getPoints().get(pointIndex); Location currentLocation = npc.getLocation(); Location targetLocation = new Location(point.getX(), point.getY(), point.getZ()); // Check if the NPC has reached the target location if (currentLocation.equals(targetLocation)) { // Log that the NPC has reached the target System.out.println("NPC " + npc.getObjectId() + " reached target " + targetLocation); // Schedule the next movement startQuestTimer("move", point.getDelay() * 1000, npc, null); if (!npcReverse.get(npc.getObjectId())) { pointIndex++; if (pointIndex >= route.getPoints().size()) { npcReverse.put(npc.getObjectId(), true); pointIndex = route.getPoints().size() - 1; } } else { pointIndex--; if (pointIndex < 0) { npcReverse.put(npc.getObjectId(), false); pointIndex = 0; // Choose a new route after completing the current one in both directions switchRouteForNpc(npc); return; } } npcIndexes.put(npc.getObjectId(), pointIndex); } else { // Check again after 1 second startQuestTimer("check_reached", 1000, npc, null); } } } private void selectInitialRouteForNpc(L2Npc npc) { // Randomly select either route1 or route2 String selectedRouteName = "route" + (new Random().nextInt(2) + 1); npcCurrentRoute.put(npc.getObjectId(), selectedRouteName); npcIndexes.put(npc.getObjectId(), 0); npcReverse.put(npc.getObjectId(), false); startQuestTimer("move", 5000, npc, null); // Log initial route selection System.out.println("NPC " + npc.getObjectId() + " selected initial route " + selectedRouteName); } private void switchRouteForNpc(L2Npc npc) { String currentRoute = npcCurrentRoute.get(npc.getObjectId()); String newRoute = currentRoute.equals("route1") ? "route2" : "route1"; npcCurrentRoute.put(npc.getObjectId(), newRoute); npcIndexes.put(npc.getObjectId(), 0); npcReverse.put(npc.getObjectId(), false); startQuestTimer("move", 5000, npc, null); // Log route switching System.out.println("NPC " + npc.getObjectId() + " switched to route " + newRoute); } private static class Route { private List<RoutePoint> points = new ArrayList<>(); public Route(String name) { } public void addPoint(RoutePoint point) { points.add(point); } public List<RoutePoint> getPoints() { return points; } } private static class RoutePoint { private int id; private int x, y, z, delay; private boolean run; private String chat; public RoutePoint(int id, int x, int y, int z, int delay, boolean run, String chat) { this.id = id; this.x = x; this.y = y; this.z = z; this.delay = delay; this.run = run; this.chat = chat; } public int getId() { return id; } public int getX() { return x; } public int getY() { return y; } public int getZ() { return z; } public int getDelay() { return delay; } public boolean isRun() { return run; } public String getChat() { return chat; } } } I looking for help, with this, the npc not start to move. Im trying to create, an NPC wich have multiple walk routes basic logic is  random pick a route complite the route  like Route 1 start form zero (0 -> 1 -> 2(or more) -> 1 -> 0) When the npc return to 0, the script should pic the other route and start again.  And if there is a message like point 1 here     "route1.addPoint(new RoutePoint(1, 148568, 172328, -980, 5, true, "Puff"));" The npc should display the chat message. Currently my problem is the npc not moving, but if I manage it to start moving its randomly move between the route 1 and 2 set of coordinates. Currently for me its  a nightmare. I hope anyone can help somhow.
    • We are certainly not an ambulance, but we will definitely cure you of blacklists and empty pockets. Live freely with SX! Each of you will receive a trial version of SX to familiarize yourself with the product, all you have to do is post in this thread
    • qual e o valor pra atualizar o java da soucer ?
  • Topics

×
×
  • Create New...