Quote:
Originally Posted by Ich_hasse_Schule
ich benutzte ja die Serverfiles von Daroo und da brauche ich kein Portmap etc. Falls du es kennst
Oder meinst du am Client?
|
xD man braucht für alle Hamachiserver Ports, sobald jemand von aussen connecten will.
Das was du hier beschreibst deutet auf ein Fehlerhaftes packen.
Hier mal ein paar Grundlagen:
Die normale Metin2.exe oder Starter.exe oder was auch immer ist für localhosts gedacht, das heisst wenn du einen Hamachi server hast kannst nur du damit connecten, als localhost = du braucht man nie eine Surakopf.exe
Die Surakopf.exe ist ein Starter, der das spielen auf einem Hamachiserver von aussen ermöglicht, sprich ich spiele mit meinem Client auf einem Server meines Kumpels, somit komme ich von aussen ins Spiel, was wiederum heisst Ports werden gebraucht und ich muss im Hamachinetzwerk meines Kumpels sein.
Was sind Portmaps ? Portmaps sind dazu da, um die Verbindung von aussen zu den jeweiligen Cores oder was auch immer (3306,80,22) Freizuschalten, sprich damit Leute von aussen auf den Server connecten können. Wer auch immer sagte, dass port xxxx für bspw. die Wüste ist liegt falsch, Ports sind nie für eine Map da, der Port 1102 bspw. ist für den Authserver, zuständig und das ist keine Map. Port 13000 wiederum ist dazu da um auf den Channel1(standarmässig) connecten zu können btw. alle Maps die darauf laufen. Bei einer Core verteilung müssen je nach dem auch neue Ports hinzgefügt werden. So viel mal zum Thema Portmap.
Nun kommen wir zum eigentlichen Problem die serverinfo.py, in dieser Datei wird festgelegt auf welche Ip und welche Ports der Client connectet beim starten. Es gibt verschiedene Serverinfo.py's die wohl bekannteste für Root und localhost ist diese:
PHP Code:
import os
import app
import locale
import debugInfo
CHINA_PORT = 50000
##IP = "xx.xx.xx.xxx"
##CH1PORT = 13000
##AUTHPORT = 11002
##SERVERNAME = "Instant 2012"
if locale.IsEUROPE():
STATE_NONE = "..."
STATE_DICT = {
0 : "......",
1 : "normal",
2 : "belebt",
3 : "voll"
}
Lauling = {
1:{"key":11,"name":"CH1","ip":"xx.xx.xx.xxx","tcp_port":13000,"udp_port":13000,"state":STATE_NONE,},
}
REGION_NAME_DICT = {
0 : "GERMANY",
}
REGION_AUTH_SERVER_DICT = {
0 : {
1 : { "ip":"xx.xx.xx.xxx", "port":11020, },
}
}
REGION_DICT = {
0 : {
1 : { "name" :"Wartungsclient", "channel" : Lauling, },
},
}
MARKADDR_DICT = {
10 : { "ip" : "xx.xx.xx.xxx", "tcp_port" : 13000, "mark" : "10.tga", "symbol_path" : "10", },
}
TESTADDR = { "ip" : "xx.xx.xx.xxx", "tcp_port" : 13000, "udp_port" : 13000, }
Mit dieser kann bei Hamachiservern nur der localhost connecten. Was hier noch wichtig ist, die ip muss eine 100 am Schluss haben.
Dann haben wir noch die Serverinfo.py für die Surakopf.exe diese sieht wie folgt aus:
PHP Code:
import os
import app
import locale
import debugInfo
CHINA_PORT = 50000
CH1P = 13000
CH2P = 13001
CH3P = 13002
CH4P = 13003
AUTHP = 11002
IP = open("serverip.cfg", "r").readline()
SERVERNAME = open("servername.cfg", "r").readline()
if locale.IsEUROPE():
STATE_NONE = "..."
STATE_DICT = {
0 : "ist offline",
1 : "NORM",
2 : "BUSY",
3 : "FULL"
}
Server1 = {
1:{"key":11,"name":"CH1","ip":IP,"tcp_port":CH1P,"udp_port":CH1P,"state":STATE_NONE,},
2:{"key":12,"name":"CH2","ip":IP,"tcp_port":CH2P,"udp_port":CH2P,"state":STATE_NONE,},
3:{"key":12,"name":"CH3","ip":IP,"tcp_port":CH3P,"udp_port":CH3P,"state":STATE_NONE,},
4:{"key":12,"name":"CH4","ip":IP,"tcp_port":CH4P,"udp_port":CH4P,"state":STATE_NONE,},
}
REGION_NAME_DICT = {
0 : "GERMANY",
}
nun was stellen wir fest ? Die Serverionfo.py der surakopf.exe greifft auf die serverip.cfg und servername.cfg zu.
PHP Code:
IP = open("serverip.cfg", "r").readline()
SERVERNAME = open("servername.cfg", "r").readline()
if locale.IsEUROPE():
Folglich werden im Client auch diese 2 Dateien benötigt, natürlich mit der Hamachi ip und dem Servername.
Warum so eine lange erklärung ? weil es mich anpisst wie ich immer sehe was für billige falsche erklärungen gepostet wird und anfänger dann wieder das forum mit fragen vollspamen, einmal ausführlich erklärt und dan weiss man es.
mfg