Das wäre auch normal da hast Du recht (war ja auch in den ersten Versionen der Fall), aber der Server läuft an einem Ort, wo Gtaspider keinen Zugriff auf den Router hat für die Portweiterleitung.
Also haben wir das ganze verbindungstechnisch Kurzerhand umgekehrt...aber diese Details kanntest Du ja nicht.
Beiträge von Eddy_Erpel
-
-
Hallo,
Zitatbernd670
Das kann so auch nicht funktionieren, der Server ist richtig, beim Client muss die Variable $g_ip den gleichen Wert haben wie beim Server, mit dem er Verbindung aufnehmen soll und nicht die lokale Adresse.
Das stimmt allerdings nicht. Der Server läuft irgendwo auf dieser Welt und connected auf die WAN-Adresse von gtaspider. Dann muss dieser durch den Router durch (also Portforwarding), dann ist der connect-request schon beim Client. Deshalb muss er auf der lokalen-IP laufen.
Der Client baut ja keine Verbindung auf via TCPConnect, sondern befindet sich im Listen-mode und dieser muss immer lokal laufen (127.0.0.1 oder zugewiesene IP)
eddy_erpel -
Ich habe noch einen Zusatz:
@error=2 läuft auch nicht.
Also: Funtionierende @errors: 1,3,4,5.
eddy_erpel -
Hallo,
also ich kann keinen Fehler dabei finden:Habe es gerade getestet und es läuft...
Die Lösung von Real_Bourbon ist natürlich eleganter da es mit eigenen Mitteln gelöst wird.[Blockierte Grafik: http://autoit.aufwaerts.de/images/icons/icon16.gif]eddy_erpel
-
-
Hallo
Der Router/Firewall muss auf der Server Seite immer konfiguriert werden, damit dieser über den Port vom WAN ansprechbar ist.
Wo sollte den der Server und wo der Client laufen?
Bin ansonsten auch über Skype erreichbar, dann geht das etwas schneller...eddy_erpel
-
Hallo,
klar muss auf den Server-PC die Firewall auch konfiguriert werden.
Das hast Du aber wahrscheinlich schon gemacht, sonst würde es ja im LAN nicht laufen.
Ansonsten wird sich die FW schon melden, wenn die etwas von Dir möchte [Blockierte Grafik: http://autoit.aufwaerts.de/images/icons/icon5.gif]eddy_erpel
-
Hallo,
ja genau das meinte ich. Dann scheint es ja wirklich nur noch beim Router zu liegen.
eddy_erpel
-
Hallo,
läuft es auch mit den lokalen IP-Adressen auf 2 PCs?
Server auf @IP_Dein_PC => Client auf @IP_Mom_PC (nicht über WAN-IP)
Wenn ja, dann ist nach wie vor der Router falsch konfiguriert.
Wie sieht denn die Konfg des Routers aus?
eddy_erpel -
Hallo,
Also wenn der Client und der Server nicht auf dem selben PC laufen, braucht es natürlich auch nur eine IP. Portweiterleitung muss aber trotzdem auf den Server gemacht werden.
(Es ist richtig, dass es keine 2. IP benötigt; dann muss aber über PAT gearbeitet werden auf dem Router wenn man über die öffentliche IP geht, z.b zum Testen)
Nun zum zweiten: Standardmässig ist auf dem Router NAPT (Network- & Port-Translating) aktiviert, welches Dir erlaubt von mehreren PCs aus auf das Internet zuzugreiffen, ohne eine weitere öffentliche IP zu benötigen.
Bei "TrackMania Nation" stellst Du eine Verbindung mit dem Server her und nicht der Server mit Dir, deshalb läuft dies.
Deine Software-Firewall überwacht nur den lokalen Verkehr; Abgehend & eingehend auf dem lokalen PC.
eddy_erpel -
OK, kein Problem.
Wenn die jetzige lokale IP 192.168.0.10 ist, fügst Du einfach noch eine weitere hinzu. TCP/IP-Einstelliungen des Adapter=>Erweitert...=>IP-Hinzufügen (192.168.0.11).
Der Server muss dann auf der neuen IP (192.168.0.11) gestartet sein.
Achtung, habe gerade noch gesehen, dass ich einen Quatsch erzählt habe: Portforwarding muss natürlich auf die 2.IP (192.168.0.11) eingerichtet sein, sonst geht da nicht viel.Gruss
eddy_erpel -
Hallo,
mir ist da nochmals etwas in den Sinn gekommen. Wenn Du es nur auf einem PC machst, musst Du noch eine 2. IP auf dem PC vergeben und den Server auf der 2. IP laufen lassen.
Portforwarding allerdings auf die 1. IP
Andere Frage: Wenn du alles mit lokalen IPs machst läuft es dann?
eddy_erpel -
Ich nehme an, du hast einen Netgear-Router. Dann muss du dort die Portweiterleitung konfigurieren.
-
Wie geht's Du denn ins Internet? DSL oder wie?
-
Hi,
Was hast Du denn konfiguriert? Router (NAT), Software-Firewall oder Hardware-Firewall? -
Hallo,
ev. Firewall auf den WAN nicht geöffnet für port 666 zu LAN-Adresse.
eddy_erpel -
Hallo,
der Server muss auf der lokalen-IP laufen (LAN-Adresse), dann läuft es.
Zur Sicherheit müste noch ein Buffer eingeführt werden (Start-Stop-Zeichen), denn sonst kann es sein, dass bei einer langsamen Verbindung zwei Befehle auf einmal ankommen...
Client:
Server:Code$message = TCPRecv ($ConnectedSocket,512) $befehl=StringMid($message,StringInStr($message,"<")+1,StringInStr($message,">")-2) switch $befehl
eddy_erpel -
Hi,
stimmt genau. Deine Lösung ist aber nicht allgemeingültig!
Diese funktioniert nur für xx.xx.xxx.xxx. Läuft deshalb bei mir nicht.eddy_erpel
-
Hallo,
ob es mit HotKEySet läuft weiss ich nicht, aber über die _IsPressed-Funktion.
Während Blockinput aktiv ist, werden gewisse Keys nicht aufgewertet; So auch die ESC-Taste. CTRL + ALT sind verfügbar, das weiss ich sicher. Weitere Tasten musst du ausprobieren.CodeBlockInput(1) While 1 if _ispressed("11") Then BlockInput(0) ;Nicht zwingend notwendig, da bei Exit Blockinput automatisch deaktiviert wird Exit EndIf WEnd
eddy_erpel -