Hi Leute,
bin durch Google auf dieses Forum aufmerksam geworden. Hier scheinen ja einige kompetente Leute unterwegs zu sein. Genau das richtige für mein Problem , hoffe ich doch
Folgendes Problem, eher folgende Probleme. Ah naja erstmal die Infos, besser ist das.
System: Debian GNU/Linux Etch/stable auf einem AthlonXP3000+ mit 1GB RAM
BF2-Linuxversion: bf2-linuxded-1.1.2965-797.0-installer.sh
Installiert als root, dann gechowned als normaler User und gestartet, danach in ein chroot gebaut. Die hier beschriebenen Probleme sind sowohl mit als auch ohne chroot vorhanden. Ich entschuldige mich jetzt schonmal für den Mega-Post, ich möchte halt nur so prazäise wie möglich sein. Ich beschäftige mich mit dieser Geschichte schon eine ganze Weile und mir gehen die Ideen aus.
Okay wie fange ich am besten an? Also ich habe den Server installiert, der Install lief ohne Probleme durch, allerdings hat das VoIP nicht funktioniert, obwohl ich meines Erachtens alle Einstellungen vorgenommen habe.
Frage1 - Muss ich ausser diesen Einstellungen noch etwas anderes vornehmen?
sv.voipEnabled 1
sv.voipQuality 3
sv.voipServerRemote 0
sv.voipServerRemoteIP ""
sv.voipServerPort 55125
sv.voipBFClientPort 55123
sv.voipBFServerPort 55124
Ich habe dann mal mit einem
nachgesehen, ob die Ports die oben drinstehen, auch auftauchen. Ein Port fehlt mir da nämlich der 55123.
Habs mal gekürzt :wink:
root@tuvok:# netstat -tulpen|grep bf2
tcp 0 0 0.0.0.0:4711 0.0.0.0:* LISTEN bf2
udp 0 0 x.x.x.x:16567 0.0.0.0:* bf2
udp 0 0 x.x.x.x:29900 0.0.0.0:* bf2
udp 0 0 0.0.0.0:55124 0.0.0.0:* bf2
udp 0 0 0.0.0.0:55125 0.0.0.0:* bf2
Frage2- muss der Port 55123 hier auftauchen, oder ist dieser rein Client-seitig?
Frage 2b - Ich habe beim Tante Google ausquetschen gesehen, das öfter mal eine voip.con angesprochen wird, meist dann aber in Verbindung mit einem "externen" VoIP-Server, ich habe keine voip.con, brauche ich diese?
Frage3 Dann habe ich desöfteren hier auf dem Board geschnüffelt und gelesen das der BF2-Server wohl auch logs schreiben soll? Wo liegen die denn bitte? Ich habe keine Logs entdecken können? Wie aktiviert man diese?
Naja, jedenfalls kann ich den Server starten und er läuft (leider ohne VoIP). Soweit so gut, allerdings bekomme ich ein Problem wenn ich den Server starte und unsere Firewall läuft. Wir haben eine restriktive Firewall geschrieben, die sowohl eingehende als auch ausgehende Ports sperrt und wirklich nur das zulässt was wir wollen. Wenn ich die Firewall ausmache startet der BF2-Server, dann starte ich die Firewall wieder und der Server läuft weiter. Stoppe ich die Firewall jedoch nicht, dann versucht der Server zu starten und stirbt mit einem Core Dump.
Folgende Ports habe ich mit entsprechenden Regeln freigeben:
bf2ports="16567" #UDP IN
bf2gamespy="29900:29904" #UDP IN
bfrcon="4711" #TCP IN
bf2voip="55123:55125" #UDP IN/OUT
bf2gamespy2="29910" #UDP IN
bf2hb="33000:34000" #UDP IN/OUT
Die Ports ganz unten habe ich freigegeben weil mir mit einem
aufgefallen ist, das er versucht sich anscheinend mit den DNS-Servern unseres Providers zu unterhalten
root@tuvok:/games/bf2server1/bf2/pb# lsof -i|grep bf2
bf2 UDP tuvok:29900
bf2 UDP tuvok:33656->ns3-x.x.de:domain
bf2 UDP tuvok:33657->ns2-x.x.de:domain
bf2 UDP tuvok:33658->ns1-x.x.de:domain
bf2 UDP tuvok:29900
bf2 UDP tuvok:33656->ns3-x.x.de:domain
bf2 UDP tuvok:33657->ns2-x.x.de:domain
bf2 UDP tuvok:33658->ns1-x.x.de:domain
bf2 UDP tuvok:29900
bf2 UDP tuvok:33656->ns3-x.x.de:domain
bf2 UDP tuvok:33657->ns2-x.x.de:domain
bf2 UDP tuvok:33658->ns1-x.x.de:domain
bf2 UDP tuvok:29900
bf2 UDP tuvok:33656->ns3-coloc.x.de:domain
bf2 UDP tuvok:33657->ns2-coloc.x.de:domain
bf2 UDP tuvok:33658->ns1-coloc.x.de:domain
Alles anzeigen
Dieses wiederholt sich ein paarmal, bis der Server dann mit einem Coredump stirbt.
warning: Can't read pathname for load map: Input/output error.
Error while mapping shared library sections:
/bf2/bin/ia-32/libdice_py.so: No such file or directory.
Error while mapping shared library sections:
/bf2/pb/pbsv.so: No such file or directory.
Reading symbols from /usr/lib/libz.so.1...done.
Loaded symbols for /usr/lib/libz.so.1
Reading symbols from /lib/libncurses.so.5...done.
Loaded symbols for /lib/libncurses.so.5
Error while reading shared library symbols:
/bf2/bin/ia-32/libdice_py.so: No such file or directory.
Reading symbols from /lib/libpthread.so.0...done.
Loaded symbols for /lib/libpthread.so.0
Reading symbols from /usr/lib/libstdc++.so.6...done.
Loaded symbols for /usr/lib/libstdc++.so.6
Reading symbols from /lib/libm.so.6...done.
Loaded symbols for /lib/libm.so.6
Reading symbols from /lib/libgcc_s.so.1...done.
Loaded symbols for /lib/libgcc_s.so.1
Reading symbols from /lib/libc.so.6...done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /lib/libdl.so.2...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /lib/libutil.so.1...done.
Loaded symbols for /lib/libutil.so.1
Reading symbols from /lib/ld-linux.so.2...done.
Loaded symbols for /lib/ld-linux.so.2
Error while reading shared library symbols:
/bf2/pb/pbsv.so: No such file or directory.
Reading symbols from /lib/libnss_files.so.2...done.
Loaded symbols for /lib/libnss_files.so.2
Reading symbols from /lib/libnss_dns.so.2...done.
Loaded symbols for /lib/libnss_dns.so.2
Reading symbols from /lib/libresolv.so.2...done.
Loaded symbols for /lib/libresolv.so.2
Error while reading shared library symbols:
/bf2/bin/ia-32/libdice_py.so: No such file or directory.
Error while reading shared library symbols:
/bf2/pb/pbsv.so: No such file or directory.
Core was generated by `/bf2/bin/ia-32/bf2'.
Program terminated with signal 11, Segmentation fault.
#0 0x081213a4 in dice::hfe::CheckServerAliveThread::run ()
Alles anzeigen
Interessanterweise steht ja im Dump das er weder /
noch
finden kann. Die Dateien sind sowohl in diesem Verzeichnis vorhanden, als auch im
Ordner gesymlinkt.
Im übrigen macht er die gleiche Abfrage an die DNSse auch wenn die Firewall unten ist, allerdings stirbt der Server dann nicht mit einem Coredump, sondern er startet. Daher auch meine Frage wo die Logdateien sind, ich würde gern vergleichen, ob der Server zwar startet aber diese beiden Dateien trotz alle dem nicht gefunden werden, ich bin halt kein Pythonexperte und weiss nicht wie wichtig diese Dateien sind.
Wie gesagt er macht erst (anscheinend) DNS-Anfragen und startet danach dann die Server-Instanzen.
root@tuvok:/games/bf2server1/bf2# lsof -i|grep bf2
bf2 UDP tuvok:29900
bf2 UDP tuvok:16567
bf2 TCP *:4711 (LISTEN)
bf2 UDP *:55124
bf2 UDP *:55125
bf2 UDP tuvok:29900
bf2 UDP tuvok:16567
bf2 TCP *:4711 (LISTEN)
bf2 UDP *:55124
bf2 UDP *:55125
bf2 UDP tuvok:29900
bf2 UDP tuvok:16567
bf2 TCP *:4711 (LISTEN)
bf2 UDP *:55124
bf2 UDP *:55125
bf2 UDP tuvok:29900
bf2 UDP tuvok:16567
bf2 TCP *:4711 (LISTEN)
bf2 UDP *:55124
bf2 UDP *:55125
bf2 UDP tuvok:29900
bf2 UDP tuvok:16567
bf2 TCP *:4711 (LISTEN)
bf2 UDP *:55124
bf2 UDP *:55125
bf2 UDP tuvok:29900
bf2 UDP tuvok:16567
bf2 TCP *:4711 (LISTEN)
bf2 UDP *:55124
bf2 UDP *:55125
Alles anzeigen
Ich hoffe ihr könnt mir da noch den ein oder anderen Tip geben, ich bin mit meinem Latein langsam am Ende. Am wichtigsten wären mir Tips, damit ich das Voip ans Fliegen bekomme. Die FW kann ich zur Not ins Start/Stop-Script mit aufnehmen. Ich will den Server ja nicht alle Nase lang neu starten, nur wenn es sein muss, da kann die FW auch mal für 10 Sekunden aus sein, das würde ich als Kompromiss in Kauf nehmen.
Achso, hätte jemand hier Interesse an den Bau eines chroot-Gefängnis für den BF2-Server? Ist nicht einfach, aber wie Tuvok so schön sagen würde, mit Logik zu bewältigen!