Jump to content

Recommended Posts

Posted

 

You need to set the server/login proprtities external ip to yours and add it to the host file

Server Side

Login File
 

Quote
# ---------------------------------------------------------------------------
# Login Server Settings
# ---------------------------------------------------------------------------
# This is the server configuration file. Here you can set up the connection information for your server.
# This was written with the assumption that you are behind a router.
# Dumbed Down Definitions...
# LAN (LOCAL area network) - typically consists of computers connected to the same router as you.
# WAN (WIDE area network) - typically consists of computers OUTSIDE of your router (ie. the internet).
# x.x.x.x - Format of an IP address. Do not include the x'es into settings. Must be real numbers.
# ---------------------------------------------------------------------------
# Networking
# ---------------------------------------------------------------------------
# This is transmitted to the clients connecting from an external network, so it has to be a public IP or resolvable hostname
# Common settings...
# 127.0.0.1 - If you are playing alone on a test server
# 192.168.x.x - This is if you are on a 192.168.x.x type network (behind a standard consumer router) and want other computers from JUST the internal network to be able to connect
# x.x.x.x - WAN IP obtained from http://www.whatismyip.com/. This is if you want people outside your internal network to be able to connect to your server.
# ---------------------------------------------------------------------------
# Default: 127.0.0.1
ExternalHostname = 94.2.13.188

# ---------------------------------------------------------------------------
# This is transmitted to the client from the same network, so it has to be a local IP or resolvable hostname.
# This can be the internal IP such as 127.0.0.1 or the computer's IP such as 192.168.x.x.
# ---------------------------------------------------------------------------
# Default: 127.0.0.1
InternalHostname = 192.168.0.150
# ---------------------------------------------------------------------------
# If you are behind a router which using its own local IP for Port Forwarding then set this to the routers
# local IP if you want people outside your internal network to be able to connect to your server.
# ---------------------------------------------------------------------------
# RouterHostname = 192.168.0.150

# Bind ip of the LoginServer, use * to bind on all available IPs
# Default: *
LoginserverHostname = 192.168.0.150
# Default: 2106
LoginserverPort = 2106

# The address on which login will listen for GameServers, use * to bind on all available IPs
# Default: *
LoginHostname = 192.168.0.150

# The port on which login will listen for GameServers
# Default: 9014
LoginPort = 9014

# The delay in minutes after which the login updates the gameservers IP's (usefull when their ip is dynamic)
# Default: 15
IpUpdateTime = 15

# ---------------------------------------------------------------------------
# Security
# ---------------------------------------------------------------------------
# Default: True
LogLoginController = True

# How many times you can provide an invalid account/pass before the IP gets banned.
# Default: 10
LoginTryBeforeBan = 10

# Time you won't be able to login back again after LoginTryBeforeBan tries to login.
# Default: 600 (10 minutes)
LoginBlockAfterBan = 600

# If set to True any GameServer can register on your login's free slots
# Default: False
AcceptNewGameServer = False

# Enforce GameGuard authorization from client?
# If True, login server will kick client if the client bypassed GameGuard authentication.
# Default: False
ForceGGAuth = False

# Flood Protection. All values are in MILISECONDS.
# Default: True
EnableFloodProtection = True

# Default: 15
FastConnectionLimit = 15

# Default: 700
NormalConnectionTime = 700

# Default: 350
FastConnectionTime = 350

# Default: 50
MaxConnectionPerIP = 50

# ---------------------------------------------------------------------------
# Database
# ---------------------------------------------------------------------------
# Specify the appropriate driver and url for the database you're using.
# Examples:
# Driver = com.mysql.jdbc.Driver (default)
# Driver = org.hsqldb.jdbcDriver
# Driver = com.microsoft.sqlserver.jdbc.SQLServerDriver
Driver = com.mysql.jdbc.Driver

# Database URL
# URL = jdbc:mysql://localhost/l2jdb (default)
# URL = jdbc:hsqldb:hsql://localhost/l2jdb
# URL = jdbc:sqlserver://localhost/database = l2jdb/user = sa/password =
URL = jdbc:mysql://localhost/l2jdb

# Database user info (default is "root" but it's not recommended)
Login = root

# Database connection password
Password =

# Default: 10
MaximumDbConnections = 10

# Default: 0
MaximumDbIdleTime = 0

# ---------------------------------------------------------------------------
# Misc.
# ---------------------------------------------------------------------------
# If False, the license (after the login) will not be shown.
# Default: True
ShowLicence = True

# Default: True
AutoCreateAccounts = True

# ---------------------------------------------------------------------------
# Developer Settings
# ---------------------------------------------------------------------------
# Default: False
Debug = False

# Default: False
Assert = False

# Default: False
Developer = False

 


Game Server

 

Quote
# ---------------------------------------------------------------------------
# Game Server Settings
# ---------------------------------------------------------------------------
# This is the server configuration file. Here you can set up the connection information for your server.
# This was written with the assumption that you are behind a router.
# Dumbed Down Definitions...
# LAN (LOCAL area network) - typically consists of computers connected to the same router as you.
# WAN (WIDE area network) - typically consists of computers OUTSIDE of your router (ie. the internet).
# x.x.x.x - Format of an IP address. Do not include the x'es into settings. Must be real numbers.
# ---------------------------------------------------------------------------
# Networking
# ---------------------------------------------------------------------------
# This is transmitted to the clients connecting from an external network, so it has to be a public IP or resolvable hostname
# Common settings...
# 127.0.0.1 - If you are playing alone on a test server
# 192.168.x.x - This is if you are on a 192.168.x.x type network (behind a standard consumer router) and want other computers from JUST the internal network to be able to connect
# x.x.x.x - WAN IP obtained from http://www.whatismyip.com/. This is if you want people outside your internal network to be able to connect to your server.
# If this IP is resolvable by the Login Server, just leave *.
# ---------------------------------------------------------------------------
# Default: *
ExternalHostname = 94.2.13.188

# ---------------------------------------------------------------------------
# This is transmitted to the client from the same network, so it has to be a local IP or resolvable hostname.
# This can be the internal IP such as 127.0.0.1 or the computer's IP such as 192.168.x.x.
# If this IP is resolvable by the Login Server, just leave *.
# ---------------------------------------------------------------------------
# Default: *
InternalHostname = 192.168.0.150

# Where's the Login server this gameserver should connect to
# Default: 127.0.0.1
LoginHost = 192.168.0.150

# TCP port the login server listen to for gameserver connection requests
# Default: 9014
LoginPort = 9014

# Default: *
GameserverHostname = 192.168.0.150

# Default: 7777
GameserverPort = 7777

# ---------------------------------------------------------------------------
# Database
# ---------------------------------------------------------------------------
# Specify the appropriate driver and url for the database you're using.
# Examples:
# Driver = com.mysql.jdbc.Driver (default)
# Driver = org.hsqldb.jdbcDriver
# Driver = com.microsoft.sqlserver.jdbc.SQLServerDriver
Driver = com.mysql.jdbc.Driver

# Database URL
# URL = jdbc:mysql://localhost/l2jdb (default)
# URL = jdbc:hsqldb:hsql://localhost/l2jdb
# URL = jdbc:sqlserver://localhost/database = l2jdb/user = sa/password =
URL = jdbc:mysql://localhost/l2jdb

# Database user info (default is "root" but it's not recommended)
Login = root

# Database connection password
Password =

# Default: 100
MaximumDbConnections = 100

# Default: 0
MaximumDbIdleTime = 0

# ---------------------------------------------------------------------------
# Misc Server Settings
# ---------------------------------------------------------------------------
# This is the server ID that the Game Server will request.
# Example: 1 = Bartz
# Default: 1
RequestServerID = 1

# True = The Login Server will give an other ID to the server if the requested ID is already reserved.
# Default: True
AcceptAlternateID = True

# Datapack root directory.
# Defaults to current directory from which the server is started unless the below line is uncommented.
#DatapackRoot = C:/Work/tmp/DataPack

# Define how many players are allowed to play simultaneously on your server.
# Default: 100
MaximumOnlineUsers = 100

# Numbers of protocol revisions that server allows to connect.
# Delimiter is ;
# WARNING: <u><b><font color="red">Changing the protocol revision may result in incompatible communication and many errors in game!</font></b></u>
# Default: 146;152
AllowedProtocolRevisions = 152

# ---------------------------------------------------------------------------
# Misc Player Settings
# ---------------------------------------------------------------------------

# Character name template.
# Examples:
# CnameTemplate = [A-Z][a-z]{3,3}[A-Za-z0-9]*
# The above setting will allow names with first capital letter, next three small letters,
# and any letter (case insensitive) or number, like OmfgWTF1
# CnameTemplate = [A-Z][a-z]*
# The above setting will allow names only of letters with first one capital, like Omfgwtf
# Default .* (allows any symbol)
CnameTemplate = .*

# This setting restricts names players can give to their pets.
# See CnameTemplate for details
PetNameTemplate = .*

# Maximum number of characters per account.
# Default: 7 (client limit)
CharMaxNumber = 7

 

 

Posted
1 hour ago, Pratotip4 said:
In the server part, I know where to change,
I cannot change the ip in the client
in the systems folder, where to change
the ip for the external one.

Did you try to edit by using l2 fileedit?

Posted

In the l2.ini file, the result was zero. In what other files can the ip address be hidden? They write that in this file there can be (DSETUP.dll) in some other files.

 

В файле l2.ini пробывал результат нулевой. В каких еще файлах может быть спрятан ip адрес?. Пишут что в этом файле может быть (DSETUP.dll) может еще в каких файлах.

Posted

I found where the ip address is hidden in the DSETUP.dll file, so now how to open it and change it?

 

Я нашел где спрятан ip адрес  в файле DSETUP.dll вот теперь чем бы его открыть и изменить?

Posted
2 hours ago, Pratotip4 said:

I found where the ip address is hidden in the DSETUP.dll file, so now how to open it and change it?

 

What's the problem using a clean DLL and editing it however you like?

Posted (edited)
3 hours ago, NevesOma said:

What's the problem using a clean DLL and editing it however you like?


So in this and the problem, I can not find under Homunculus this chronicle dsetup.dll source code.
And than you can edit .dll compiled.

 

Так в этом и проблемма я не могу найти под Homunculus эту хронику dsetup.dll исходный код.
А чем редактировать можно .dll скомпелирлваную.

Edited by Pratotip4
Posted (edited)

nothing is hidden in dsetup if u use clean l2 files, you can override login IP with command line arg: start L2.bin ip=127.0.0.1

 

edit: l2.ini of ncw clients have it enabled by default, if you have custom edits make sure its enabled in Auth section

Edited by AlmostGood
Posted
20 hours ago, Pratotip4 said:


So in this and the problem, I can not find under Homunculus this chronicle dsetup.dll source code.
And than you can edit .dll compiled.

 

write to me and we will solve the problem

  • Upvote 1

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • 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...