Jump to content
  • 0

[PROBLEM] Changing external IP - other players cant connect


Ave
 Share

Question

Hi,

 

Normaly I dont have this problem, but friend of mine want to stand his own server - He configured server.properties and loginserver.properties for his internal IP and for external IP he put his domain from no-ip. So, he is connecting with his internal IP and all works fine...But other players (at his no-ip domain) cant connect anyway...

We have added this domain to l2.ini into ServerAddr= and it looks like this (e.g.): ServerAddr=dupa.no-ip.pl :) He is connecting with his internal IP so his l2.ini looks like this ServerAddr=xxx.xxx.x.xx (x - are numbers for his internal IP). And as I told - he can connect, but other cant...

 

We oppened ports:

- 9014,

- 7777,

Coz he is using router (livebox from Neostrada TP) using TCP and UDP ports - nothing, still cant connect...

 

So how the hell someone with changing IP can have their server online ? Normaly my way with no-ip worked fine...

Also, we have added those ports to firewall to not block them...

 

What went wrong ? :/

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

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

 Share



  • Posts

    • Hello I just made this simple code implementation for teleportation at l2jMobius and I'd like to share it with you.     Java code -> \java\org\l2jmobius\gameserver\model\actor\instance\CustomTeleporter.java /* * This file is part of the L2J Mobius project. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package org.l2jmobius.gameserver.model.actor.instance; import org.l2jmobius.gameserver.data.xml.TeleporterData; import org.l2jmobius.gameserver.enums.InstanceType; import org.l2jmobius.gameserver.enums.TeleportType; import org.l2jmobius.gameserver.instancemanager.CastleManager; import org.l2jmobius.gameserver.model.Location; 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.actor.templates.NpcTemplate; import org.l2jmobius.gameserver.model.holders.TeleporterQuestRecommendationHolder; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.teleporter.TeleportHolder; import org.l2jmobius.gameserver.network.PacketLogger; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.util.Util; import java.util.*; import java.util.logging.Logger; public class CustomTeleporter extends Npc { private static final Logger LOGGER = Logger.getLogger(CustomTeleporter.class.getName()); private static final Map<Integer, List<TeleporterQuestRecommendationHolder>> QUEST_RECOMENDATIONS = new HashMap<>(); public CustomTeleporter(NpcTemplate template) { super(template); setInstanceType(InstanceType.Teleporter); } @Override public boolean isAutoAttackable(Creature attacker) { return attacker.isMonster() || super.isAutoAttackable(attacker); } @Override public void onBypassFeedback(Player player, String command) { String[] xyzs = command.split(" "); int[] xyz; try { xyz = new int[]{Integer.parseInt(xyzs[1]), Integer.parseInt(xyzs[2]), Integer.parseInt(xyzs[3])}; } catch (Exception e) { LOGGER.warning("Error while parsing coordinates: " + command); return; } if (player.isInCombat() || player.isJailed()) { player.sendMessage("You cannot use a teleporter while in combat!"); return; } if (command.startsWith("goto")) { player.teleToLocation(xyz[0], xyz[1], xyz[2]); } else if (command.startsWith("ptzone")) { if (player.isInParty()) { player.teleToLocation(xyz[0], xyz[1], xyz[2]); } } else { super.onBypassFeedback(player, command); } } @Override public String getHtmlPath(int npcId, int value, Player player) { String pom; if (value == 0) { pom = String.valueOf(npcId); if ((player != null) && QUEST_RECOMENDATIONS.containsKey(npcId)) { CHECK: for (TeleporterQuestRecommendationHolder rec : QUEST_RECOMENDATIONS.get(npcId)) { final QuestState qs = player.getQuestState(rec.getQuestName()); if ((qs != null) && qs.isStarted()) { for (int cond : rec.getConditions()) { if ((cond == -1) || qs.isCond(cond)) { pom = rec.getHtml(); break CHECK; } } } } } } else { pom = (npcId + "-" + value); } return "data/html/teleporter/" + pom + ".htm"; } @Override public void showChatWindow(Player player) { // Teleporter isn't on castle ground if (CastleManager.getInstance().getCastle(this) == null) { super.showChatWindow(player); return; } // Teleporter is on castle ground String filename = "data/html/teleporter/castleteleporter-no.htm"; if ((player.getClan() != null) && (getCastle().getOwnerId() == player.getClanId())) // Clan owns castle { filename = getHtmlPath(getId(), 0, player); // Owner message window } else if (getCastle().getSiege().isInProgress()) // Teleporter is busy due siege { filename = "data/html/teleporter/castleteleporter-busy.htm"; // Busy because of siege } sendHtmlMessage(player, filename); } private void sendHtmlMessage(Player player, String filename) { final NpcHtmlMessage html = new NpcHtmlMessage(getObjectId()); html.setFile(player, filename); html.replace("%objectId%", String.valueOf(getObjectId())); html.replace("%npcname%", getName()); player.sendPacket(html); } } xml ->\game\data\stats\npcs\custom\custom.xml <?xml version="1.0" encoding="UTF-8"?> <list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../xsd/npcs.xsd"> <npc id="60008" displayId="9000" type="CustomTeleporter" name="Rosalia" usingServerSideName="true" title="Scheme Buffer" usingServerSideTitle="true"> <race>HUMAN</race> <sex>FEMALE</sex> <stats> <vitals hp="2444.46819" hpRegen="7.5" mp="1345.8" mpRegen="2.7" /> <attack physical="688.86373" magical="470.40463" random="30" critical="4" accuracy="95" attackSpeed="253" type="SWORD" range="40" distance="80" width="120" /> <defence physical="295.91597" magical="216.53847" /> <speed> <walk ground="50" /> <run ground="120" /> </speed> </stats> <status attackable="false" /> <collision> <radius normal="11" /> <height normal="22.25" /> </collision> </npc> </list>     html -> \game\data\html\teleporter\60008.htm <html><body>Gatekeeper Clarissa:<br> At the mercy of Gods we, the Gatekeepers, open the doors into outer spaces and teleport everyone to the desired place. Would you like to go somewhere?<br> <Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_goto 81386 14966 -3472">Teleport</Button> </body></html>     *Disclaimer I just edited onBypassFeedback method the rest code is implemented by NightMarez (mby)
    • ok i will try and let you know!
  • 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