Zum Inhalt springen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

Lotte

BF1942 Linux Gameserver auf Dualcore Systemen

Empfohlene Beiträge

Achso, was noch dazu kommt. Der Server zählt die Slotnummern falsch (kommt das auch davon?). Soll bedeuten das der Server z.B mit 8 Spielern plötzlich voll ist.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ja, der Code sieht richtig aus. Spontan fallen mir nur folgende Punkte ein, die per Ferndiagnose abgefragt werden können:

1. taskset verweigert die Mitarbeit. Bitte einmal per

ps -ef

die Prozeß-ID des BFSMD heraussuchen und per

taskset -p 1 Prozeß-ID

von der Kommandozeile aus von Hand aufrufen. Hier sollten die alte und die neue CPU-Affinity ausgegeben werden. Wenn diese nicht vorher schon auf 1 stand, ist in dem Startskript etwas verkehrt gegangen.

2. Der BF1942-Prozeß läuft nicht auf der richtigen CPU. Hierzu Vorschlag 1 mit dem BF1942-Serverprozeß einmal durchspielen.

3. Es liegt nicht an der CPU-Zuordnung, sondern an anderen Prozessen/Faktoren in Deinem System. Eine guter Startpunkt für die Übersicht über laufende Prozesse bieten die folgenden Kommandos:

ps -ef (Prozeßliste)

netstat -nap (Prozesse, die auf verschiedenen Ports lauschen / bestehende Verbindungen im Netzwerk)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

pid 13262's current affinity mask: 1

pid 13262's new affinity mask: 1

Sollte passen, so wie ich das sehe.

Ansonsten laufen eigentlich nur noch BF2 Server drauf, die aber keine Probleme machen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Bei uns lief es 2 Tage lang gut und dann derselbe Sch.... :(

Kann man hieraus was verdächtiges ablesen ?

netstat -nap

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address		   Foreign Address		 State		PID/Program name

tcp		0	  0 88.198.16.138:27015	 0.0.0.0:*			   LISTEN	 2	549/srcds_amd

tcp		0	  0 88.198.16.138:4711	  0.0.0.0:*			   LISTEN	 2	502/bf1942_lnxded

tcp		0	  0 88.198.16.138:14667	 0.0.0.0:*			   LISTEN	 2	504/bfsmd

tcp		0	  0 88.198.16.138:4711	  88.198.16.138:41428	 ESTABLISHED2	502/bf1942_lnxded

tcp		0	  0 88.198.16.138:41428	 88.198.16.138:4711	  ESTABLISHED2	504/bfsmd

tcp6	   0	  0 :::22				 :::*					LISTEN	 2	402/sshd

tcp6	   0	  0 ::ffff:88.198.16.1:22 ::ffff:91.54.84.9:64687 ESTABLISHED2	550/2

udp	  368	  0 88.198.16.138:27015	 0.0.0.0:*						  2	549/srcds_amd

udp		0	  0 88.198.16.138:27020	 0.0.0.0:*						  2	549/srcds_amd

udp		0	  0 88.198.16.138:26901	 0.0.0.0:*						  2	549/srcds_amd

udp		0	  0 88.198.16.138:23000	 0.0.0.0:*						  2	502/bf1942_lnxded

udp		0	  0 88.198.16.138:14690	 0.0.0.0:*						  2	502/bf1942_lnxded

udp	  368	  0 88.198.16.138:14567	 0.0.0.0:*						  2	502/bf1942_lnxded

udp		0	  0 88.198.16.138:27005	 0.0.0.0:*						  2	549/srcds_amd

Active UNIX domain sockets (servers and established)

Proto RefCnt Flags	   Type	   State		 I-Node PID/Program name		Path

unix  3	  [ ]		 DGRAM					5991	 2292/syslogd			/dev/log

unix  2	  [ ]		 DGRAM					3904	 1443/udevd			  @/org/kernel/udev/udevd

unix  2	  [ ACC ]	 STREAM	 LISTENING	 6053	 2364/acpid			  /var/run/acpid.socket

unix  2	  [ ]		 DGRAM					6006	 2298/klogd
ps -ef
UID		PID  PPID  C STIME TTY		  TIME CMD

root		 1	 0  0 21:29 ?		00:00:00 init [2]

root		 2	 1  0 21:29 ?		00:00:00 [migration/0]

root		 3	 1  0 21:29 ?		00:00:00 [ksoftirqd/0]

root		 4	 1  0 21:29 ?		00:00:00 [watchdog/0]

root		 5	 1  0 21:29 ?		00:00:00 [migration/1]

root		 6	 1  0 21:29 ?		00:00:00 [ksoftirqd/1]

root		 7	 1  0 21:29 ?		00:00:00 [watchdog/1]

root		 8	 1  0 21:29 ?		00:00:00 [events/0]

root		 9	 1  0 21:29 ?		00:00:00 [events/1]

root		10	 1  0 21:29 ?		00:00:00 [khelper]

root		11	 1  0 21:29 ?		00:00:00 [kthread]

root		16	11  0 21:29 ?		00:00:00 [kblockd/0]

root		17	11  0 21:29 ?		00:00:00 [kblockd/1]

root		18	11  0 21:29 ?		00:00:00 [kacpid]

root	   122	11  0 21:29 ?		00:00:00 [khubd]

root	   124	11  0 21:29 ?		00:00:00 [kseriod]

root	   176	11  0 21:29 ?		00:00:00 [pdflush]

root	   177	11  0 21:29 ?		00:00:00 [pdflush]

root	   178	11  0 21:29 ?		00:00:00 [kswapd0]

root	   179	11  0 21:29 ?		00:00:00 [aio/0]

root	   180	11  0 21:29 ?		00:00:00 [aio/1]

root	   426	11  0 21:29 ?		00:00:00 [xfslogd/0]

root	   427	11  0 21:29 ?		00:00:00 [xfslogd/1]

root	   428	11  0 21:29 ?		00:00:00 [xfsdatad/0]

root	   429	11  0 21:29 ?		00:00:00 [xfsdatad/1]

root	   467	11  0 21:29 ?		00:00:00 [ata/0]

root	   468	11  0 21:29 ?		00:00:00 [ata/1]

root	   469	11  0 21:29 ?		00:00:00 [ata_aux]

root	   499	11  0 21:29 ?		00:00:00 [scsi_eh_0]

root	   500	11  0 21:29 ?		00:00:00 [scsi_eh_1]

root	   501	11  0 21:29 ?		00:00:00 [scsi_eh_2]

root	   502	11  0 21:29 ?		00:00:00 [scsi_eh_3]

root	  1205	11  0 21:29 ?		00:00:00 [kmirrord]

root	  1257	11  0 21:29 ?		00:00:00 [kjournald]

root	  1443	 1  0 21:29 ?		00:00:00 udevd --daemon

root	  1776	11  0 21:29 ?		00:00:00 [kpsmoused]

root	  2292	 1  0 21:29 ?		00:00:00 /sbin/syslogd

root	  2298	 1  0 21:29 ?		00:00:00 /sbin/klogd -x

root	  2364	 1  0 21:29 ?		00:00:00 /usr/sbin/acpid -c /etc/acpi/events -s /var/run/acpid.socket

root	  2373	11  0 21:29 ?		00:00:00 [kondemand/0]

root	  2374	11  0 21:29 ?		00:00:00 [kondemand/1]

root	  2402	 1  0 21:29 ?		00:00:00 /usr/sbin/sshd

root	  2424	 1  0 21:29 ?		00:00:00 /sbin/mdadm --monitor --pid-file /var/run/mdadm/monitor.pid --daemonise --sca

root	  2434	 1  0 21:29 ?		00:00:00 /usr/sbin/cron

root	  2458	 1  0 21:29 tty1	 00:00:00 /sbin/getty 38400 tty1

root	  2459	 1  0 21:29 tty2	 00:00:00 /sbin/getty 38400 tty2

root	  2460	 1  0 21:29 tty3	 00:00:00 /sbin/getty 38400 tty3

root	  2461	 1  0 21:29 tty4	 00:00:00 /sbin/getty 38400 tty4

root	  2462	 1  0 21:29 tty5	 00:00:00 /sbin/getty 38400 tty5

root	  2465	 1  0 21:29 tty6	 00:00:00 /sbin/getty 38400 tty6

eod080	2502	 1 42 21:30 ?		00:10:18 ./bf1942_lnxded +game eod +restart 1 +dedicated 1 +reconnectPassword 9666 +re

eod080	2504	 1  0 21:30 ?		00:00:00 ./bfsmd -start -restart -ip 88.198.16.138 -port 14667 -daemon -noadmin -nodel

cstriker  2532	 1  0 21:32 ?		00:00:00 /bin/sh ./srcds_run -game cstrike +ip 88.198.16.138 +port 27015 +map de_dust

cstriker  2549  2532 21 21:32 ?		00:04:44 ./srcds_amd -game cstrike +ip 88.198.16.138 +port 27015 +map de_dust +maxplay

root	  2550  2402  0 21:32 ?		00:00:00 sshd: root@pts/2

root	  2552  2550  0 21:32 pts/2	00:00:00 -bash

root	  2563  2552  0 21:54 pts/2	00:00:00 ps -ef

Link zu diesem Kommentar
Auf anderen Seiten teilen

Es tut mir leid - ich kann hier keine verdächtigen Prozesse erkennen. Vorbildlicherweise sind ja schon alle nicht für den Gameserverbetrieb benötigten Prozesse abgeschaltet worden. Der CS:S-Server dürfte eigentlich nicht dazwischenfunken (was sich aber auch durch kurzzeitiges Herunterfahren testen lassen sollte).

Den SSH-Server habe ich auf einen High-Port (jenseits 1024) verschoben, um den mit Brute-Force-Angriffen verbundenen Traffic einzuschränken. Bei aktivem Public-Key-Verfahren und ausreichender Schlüssellänge ist das Risiko eines Einbruchs über diesen dann auch gleich noch einmal reduziert. Unter /var/log/auth.log kannst Du nachschlagen, ob jemand ab dem fraglichen Zeitpunkt über längere Zeit auf dem Port massiv Traffic (und CPU-Last: Verschlüsselungsverfahren) erzeugt hat.

Wenn der Server zwei Tage am Stück durchhält, könnte sich als Work-Around anbieten, den Server per BFSM (Schedule - Tab) alle zwei Tage durchstarten zu lassen (z.B. um 5 Uhr morgens).

Interessant wäre zu überprüfen, ob der BF1942-Serverprozeß durch mangelnde CPU-Power oder durch mangelnde Bandbreite in die Knie geht. Mit top -d 0.2 konnten wir zumindest feststellen, daß der Prozeß sich unerwartet über fast 1s 100% der verfügbaren CPU-Power zu krallen versuchte, was schließlich zu den beschriebenen Rucklern führte. Wenn dieses nicht ebenfalls bei Euch auftritt, arbeiten wir vielleicht an unterschiedlichen Problemen.

Ansonsten verwenden wir den folgenden Kernel (uname -a):

Linux 2.6.22.1-amd-smp-06082007-1 #2 SMP Mon Aug 6 17:16:55 CEST 2007 i686 GNU/Linux

Bislang steht der Dauertest auch bei unserem Server noch aus. Die meisten Spieler tummeln sich auf der Battlebox1 und erst wenn diese dauerhaft voll ist, schwappen ein paar Spieler auf die 3 über. Ggf. erleben auch wir im Vollastbetrieb die gleichen Probleme wie Tobias und Du. Seit dem Festlegen der Prozesse auf die einzelnen CPUs sind mir allerdings noch keine neuen Beschwerden über Lags auf dem Server zu Ohren gekommen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hab jetzt nochmal alles neu installiert und Suse 10.2 (das älteste was ich in den Installimages vom Provider finden konnte) drauf gehauen. Ein noch älteres (aus der BF42-Zeit, Suse 9.3 o.ä.) wäre mir lieber gewesen, aber dafür hab ich zu wenig Plan von Linux.

Linux openSUSE-102-32-minimal 2.6.18.8-0.9-bigsmp #1 SMP Sun Feb 10 22:48:05 UTC 2008 i686 athlon i386 GNU/Linux

wird angezeigt und der Server läuft genauso besch... wie mit Debian, trotz Taskset.

Also auf dem Server läuft momentan gar nichts ausser 24 Slots BF1942-EoD mit Bots, der aber sehr gut.

Wenn ich 32 Slots mache fängt es nach 2-3 Maps wieder mit den Lags an.

CPU-Last steigt über 60% ---> Matrixeffekt.

imho müsste die Hardware aber locker 2x64 Slots packen.

Mit FH-2 haben wir auf derselben Hardware (anderer Rootserver) jedenfalls keine Probs.

CS lässt sich jetzt gar nicht mehr starten wegen fehlender libc-irgendwas.

Könnte das evtl. auch -versteckte- Ursache für die Lags in BF1942 sein ?

Beim CS wird nämlich auch nichts angezeigt von wegen Fehler oder so...er crasht einfach beim starten.

Link zu diesem Kommentar
Auf anderen Seiten teilen

@Birdie: Die Battlebox läuft eigentlich sehr stabil und ohne Probleme.

Nur manchmal, wenn viele Spieler auf einen Haufen sind, lagt es manchmal etwas, das habe ich aber auf anderen Server teilweise auch. Die Frage wäre in disem Moment, ob es an der Internetverbindung (sollte eigentlich nicht, da 16000-er Arcor), am PC (2GB RAM, XP und alle Prozesse, die nicht zum Spielen gebraucht werden sind deaktiviert) oder dem Zusammenspiel von mehreren Faktoren liegt.

Ich vermute ja, daß da mehrere Dinge zusammenkommen, gestern bei Battlegroup hatte ich das auch wieder (wieder als viele Spieler auf engem Raum zusammen waren).

Link zu diesem Kommentar
Auf anderen Seiten teilen

@Lotte:

OK, einen Diagnoseversuch haben wir noch:

Probier doch einmal BF1942 ohne BFSM in einer Screen-Umgebung laufen zu lassen. Falls Du noch keine Erfahrung mit Screen hast. Hier ein paar Hinweise dazu:

Wenn Du eine SSH-Verbindung geöffnet hast, in der offenen Shell dann ein Programm ausführst und Dich abmeldest, bevor das Programm beendet ist, wird das Programm automatisch beendet. Dies ist nicht der Fall, wenn Du mit dem Befehl "screen" eine eigene Shell öffnest, die genau für diesen Fall gedacht ist. Um aus einer Screen-Umgebung herauszuwechseln, ohne diese zu beenden, wird die Tastenkombination <Strg>+<a>, <Strg>+<d> verwendet. Um Dich an eine laufende Screen-Umgebung wieder anzukoppeln, genügt der Aufruf "screen -r". Wenn es mehrere gleichzeitig laufende Screen-Umgebungen im Hintergrund gibt, bekommst Du eine Liste aller verfügbaren Umgebungen angezeigt. Mit "screen -r PID" wählst Du dann einfach die passende aus, wobei PID durch die Prozeß-ID der passenden Umgebung zu ersetzen ist.

Wenn Du nun erst eine Screen-Umgebung startest und dann in dieser mit

cd /hier/liegt/bf1942

./start.sh +statusMonitor 1

startest, bekommst Du eine Übersicht über den Status des Gameservers, die im Normalbetrieb mit BFSM nicht erreichbar ist. Insbesondere bekommst Du rechts oben die derzeitigen FPS (Average FPS) angezeigt, die der Gameserver gerade berechnen kann. Weiterhin zeigt Dir der Server die Prozeßbelastung an (Util%: ). Diese Werte geben Dir einen Hinweis darauf, welche Last der Serverprozeß zu verursachen meint. Die Werte, die Dir mit top angezeigt werden, müssen nämlich nicht mit den hier angezeigten Werten übereinstimmen. In der Regel denkt man aufgrund der Anzeige von top, daß man noch ein wenig Luft hat, allerdings ist dies nicht unbedingt mehr der Fall. Von der Screen-Umgebung kannst Du Dich durch schließen von PuTTy oder durch das Kommando <Strg>+<a>, <Strg>+<d> abkoppeln und wie oben beschrieben nach einiger Zeit wieder ankoppeln, um nachzusehen, ob es zu veränderten Ausgaben auf der Konsole gekommen ist. Ein Administrieren des Servers ist in diesem Zeitraum leider nur durch das Ankoppeln an die Serverausgabe und Eingeben von Kommandos in die dort offene Konsole möglich. Nach mehreren optimistischen Anläufen, wieviele Slots mit einem Servern zu bedienen sind, habe ich mich auf ziemlich niedrige Werte eingeschossen, da die mögliche Maximalanzahl sehr stark von den Karten abhängt. Liberation of Caen oder die meisten FH-Karten belasten den Server z.B. deutlich mehr als El Alamein oder Midway. Wenn ich Dich richtig verstanden habe, hast Du eine Reihe Bots zugeschaltet. Diese sind absolute Resourcenfresser und können einen Rechner schnell an den Rand der Leistungsfähigkeit bringen. Zusätzlich solltest Du bedenken, daß zwar die gebündelte Leistung einer modernen 2-Kern-CPU größer ist als die Leistung einer einzelnen 1-Kern-CPU, allerdings muß dieses nicht zwangsläufig zu einer besseren Performance des Gameservers führen. Da alle Gameserver, die ich bislang installiert habe, single-threaded sind, laufen diese auch nur als einzelner Prozeß auf einem CPU-Kern. Wenn dieser Kern nun langsamer ist als der einer 1-Kern-Maschine, hat man einen Leistungseinbruch zu verzeichnen.

@Sven:

Vielen Dank für Deine Rückmeldung. Dennoch bin ich mir fast sicher, daß Du Dich auf den verkehrten Server bezogen hast. Zumindest hat unser kleiner Serverchecker die BattleBox3 (80.86.85.93) in den letzten Wochen nie mit 32 Spielern voll gesehen, so daß der Leistungstest wirklich noch bevorsteht. Da unser Provider nun von Server4you geschluckt wurde und die Server mit Ach und Krach und wirklich extrem viel Ungemach umgezogen wurden/werden (die Homepage ist wegen plötzlich gedrosselter Leistung immer noch in den Fritten) bin ich mir auch nicht sicher, ob wir in nächster Zeit die Gelegenheit zum Testen ohne äußere Störeinflüsse bekommen werden.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich war vorhin ca. 2 Stunden auf der BB1 und habe mal versucht, etwas zu behalten, wenn es mal lagt. Es war nicht so, wie ich beschrieben hatte, wenn mehrere oder viele Spieler auf einen Haufen waren, sondern allle 2..3 Wechsel, wobei bei Euch ja jede Karte 2x kommt. Also mal nach dem Wechsel zu einer neuen Karte, mal erst beim Wechsel zur Übernächsten. Und nicht an solchen Punkten, wo viele geballt zusammen waren. Ob das nun ein Speicherproblem am Server war, oder an mir gelegen hat, vermag ich nicht zu sagen, vielleicht kannst Du ja mal bei Euch rumfragen, es waren ein paar Leute von TBB mit drauf. Es waren die Karten Caen und Market auf jeden Fall dabei. Vielleicht ist ja einem was aufgefallen. Es ruckelt so 5..10 Sekunden, es kann aber nicht bei allen so sein, weil ich auch schon mehrmals in dieser Zeit gekillt wurde und manchmal sieht man auch auf der Minimap, daß manche Leute einen Sprung machen, sich das Symbol also ruckartig ein paar (3..5) Millimeter weiterbewegt (um sich dann völlig gleichmäßig weiterzubewegen).

Vielleicht sollten wir das auch abtrennen, denn ob das Lottes Problem betrifft, ist schwer zu sagen...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Mit SCREEN ohne BFSM zeigt er nach dem Start 40 FPS und 38-40 Util% an.

Nach kurzer Zeit geht Util% dann auf bis zu 70% hoch !

Hab die Slotanzahl mal von 32 auf 24 reduziert, damit läuft es etwas länger ohne "Matrixeffekt". Trotzdem der hohe Util%-Wert.

Es ist auch egal welche Maps gerade laufen, mal läuft Map "XY" perfekt, ein anderes Mal kommt bei derselben Map dieses hängen.

Nach Neustart des Servers läuft dann alles wieder bestens und da, wo die CPU-Last gerade noch 75% betrug ist sie nach Neustart wieder auf 12% runter. Für ein paar Maps lang geht es dann gut...

Daß es an den Bots liegt wage ich mal zu bezweifeln, da bei mir zuhause unter Windows auf einem AMD64-3200 64 Bots ohne Probs laufen; die CPU wird dabei nichtmal lauwarm.

Wir hatten im Clan auch schonmal einen 64 Slot auf einem AMD 3400 mit nur 1 GB laufen ohne jegliche Probleme.

Daß die neueren Rechner - in diesem Fall ein Dualcore AMD 5600 mit 4 GB - das nicht schaffen sollen kann ja nicht sein.

Momentan bin ich geneigt den Server zu kündigen und irgendwo so ein altes Schätzchen zu mieten, nur um das auszuprobieren :D

Wir haben jeden Abend so 30-40 Spieler am Server (EoD 0.80) von denen aber nur 10 Hartgesottene bleiben und die dauernden Serverneustarts mitmachen. Das ist wirklich schade :(

Die MOD war nämlich gerade dabei wieder zu neuem Leben zu erwachen...

Ein Königreich für denjenigen, der die Lösung hat :D

Link zu diesem Kommentar
Auf anderen Seiten teilen

ähm ich habe den fred nicht ganz verfolgt, aber hast du/ihr mal euren hoster gefragt ? evtl kann der euch ja tips geben.

btw, der laggt schon wieder ....

(welchger hoster ist denn das ?)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wir könnten ja mal zum Vergleich bei uns die Mod laufen lassen, ob es da auch diese Probleme gibt (ich müßte nur mal rausbekommen, was für ein Server das ist). Wenn wir das etwas absprechen, könnte man sicher auch mal an einen Abend einige Leute zusammenbekommen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

88.198.16.138:14567:23000 [hslan] EoD 0.80

*OMG* ! Eben ist Util% auf 120 hochgegangen bei nur 24 Slots.

Je mehr Spieler connecten (also weniger Bots), desto schlimmer wird es.

(Immer noch mit SCREEN und ohne BFSM.)

Offline läuft es mit 64 Bots (!!!) auf 28% konstant unter XP.

Host ist Hetzner (vorher Server4you und CS-Arena dasselbe) und bei Hetzner haben wir denselben Server nochmal als 64'er FH-2 ohne Probs. Also an dem liegt es ganz sicher nicht.

BF1942 verträgt sich mit den neueren Linux oder Dualcore nicht.

Hat mal einer 'nen Singlecore Root mit aktuellem Linux wo man testen könnte ?

@SVEN: Paar Leute zusamenkriegen ist normal kein Problem, der Server ist eigentlich jeden Abend gut besucht. Wenn dieses leidige Problem nicht wäre würde er sogar im CONQ voll.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich habe mal den Olli über ICQ angefragt, mal sehen, ob er antwortet. Ich komme mal ein bißchen mit drauf.

Link zu diesem Kommentar
Auf anderen Seiten teilen



  • Wer ist Online   0 Benutzer

    • Keine registrierten Benutzer online.
×
×
  • Neu erstellen...

Wichtige Information

Wir haben Cookies auf Deinem Gerät platziert. Das hilft uns diese Webseite zu verbessern. Du kannst die Cookie-Einstellungen anpassen, andernfalls gehen wir davon aus, dass Du damit einverstanden bist, weiterzumachen.