PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : RedHat Gameserver Problem



clownger
30.12.02, 16:28
Diese Mail hab ich mal an meinen Provider geschriebn sie beschreibt mein Problem ganz gut.

--------------------------------------------------------------------------------------
Hallo Support Team,

Ich hab bei ihnen 2 RedHat 8.0 RootServer (ip:213.133.103.246) (ip:213.133.103.195).
Und ich finde denn ping super, ich habe aber ein kleines (für mich unlösbar) Problem.
Und zwar habe ich bei S4F und bei 1&1 auch mehrer Root Server (nur als Gameserver genutzt), auf all diesen
Servern Leuft der UnrealTournamnet Mod AoT:Tactical Ops Sauber und Stapiel und muss vieleicht alle 2 Monate
mal neu Starten.
Leider stürtzen die Server (Gameserver) 2-3 mal am Tag ab ;(
Ich hab nun schon mehrere Gameserver images versucht und es ist immer das selbe.
Also muss es am Server selbst liegen.
Könnten sie mir vieleicht Tips geben wie ich der sache auf die Spurr komm ?
Ansonsten weis ich nicht mehr weider und gebe die Server wieder ab :(

Ich beschreibe ihnen mal das Problem:

Ich Starte denn Server mit einer Shell.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#! /bin/sh
while true
do
cd /opt/lampp/htdocs/server/ut-server/System
./ucc-bin server TO-Scope?game=s_SWAT.s_SWATGame userini=User.ini ini=TacticalOps.ini log=server.log multihome=213.133.103.246 -nohomedir
sleep 10
done
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Der Server Startet auch ganz normal und leuft auch eine zeitlang.
Nur ist er dann einfach weg nicht mehr ereichbar, aber der start Process und der Gamserver
an sich Laufen noch wenn ich ' ps aux ' zeigt er mir das


Start Shell:
------------------------------------------------------------------------------------------------------------------
root 829 0.0 0.4 3728 1040 ? S 16:24 0:00 /bin/sh ./start.sh
------------------------------------------------------------------------------------------------------------------


Und der Gameserver Process:
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
root 830 3.6 14.5 40440 35996 ? S 16:24 0:50 ./ucc-bin server TO-Scope?game=s_SWAT.s_SWATGame.........
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Die Gameserver Fehler log lässt auch nix auf sich schliessen.
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Join request: :7778/Entry.unr?Name={$D']['}_*']['RUNK}{?Class=s_SWAT.s_Player_T?.................. ..................
{$D']['}_*']['RUNK}{ logged in
{$D']['}_*']['RUNK}{ - Client has logged in @ 250.7.0.0 - IP : 212.95.103.52:4480
Signal: SIGSEGV [segmentation fault]
Aborting.
Exiting.
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Wenn ich nun noch eine Shell für die fehler Log laufen lass (so die Shell # tail -f /var/log/messages) bekomm ich folgenten fehler.
-----------------------------------------------------------------------------------------------------
Dec 30 15:34:41 linux kernel: Out of Memory: Killed process 30993 (ucc-bin).
Dec 30 15:34:41 linux kernel: Out of Memory: Killed process 31008 (ucc-bin).
Dec 30 15:43:38 linux kernel: Out of Memory: Killed process 30812 (ucc-bin).
Dec 30 15:43:42 linux kernel: Out of Memory: Killed process 30957 (ucc-bin).


Ich habe dann mal mit denn befehlen ' free mem ' und ' df ' die folgenten Ergebnisse ausgeben lassen.

free mem:
------------------------------------------------------------------------------------------------------
total used free shared buffers cached
Mem: 247332 228088 19244 0 2224 86804
-/+ buffers/cache: 139060 108272
Swap: 524656 0 524656
------------------------------------------------------------------------------------------------------


df:
------------------------------------------------------------------------------------------------------
Dateisystem 1K-Blöcke Benutzt Verügbar Ben% Eingehängt auf
/dev/hda1 5039560 3104824 1678732 65% /
none 123664 0 123664 0% /dev/shm
-----------------------------------------------------------------------------------------------------

Ich habe da denn eintrug als würde da was den Speicher fressen ?!?
Kann es sein das wenn zuwenig Arbeitsspeicher da ist der Server beendet wird ?
Und warum wird nichts auf die Swap ausgelagert ?
Können sie mir noch Tips geben wie ich das Problem lössen kann ?
Wenn ich das nicht hin bekomm sind die Server leider nicht für zu gebaruchen (meine schult, nicht ihre).
Ich weis echt nicht mehr weider, für Hilfe währe ich sehr dankbar.

--------------------------------------------------------------------------------------

comrad
30.12.02, 16:43
Hi

hast du die Mail wirklich so an deinen Provider geschickt? An deiner Stelle hätte ich nochmal die Rechtschreibung überprüft......schlimm!

Der Dedserver scheint speicher zu fressen, ein Bug im Server könnte die Ursache sein, da Linux das Programm killt, weil es zuviel Speicher frisst.

comrad

clownger
30.12.02, 16:52
Ich bin so fertig mit denn Nerver das ist meine Schei........ Recht............. egal.

Hm allso wie ich´s ja schon gesagt habe, habe ich schon mehrer Gameserver versucht und es ist immer das selbe.
Also muss es ja irgend wie an Reahat liegen :/
Und warum lagert er nichts auf Swap ab ?

RapidMax
30.12.02, 17:03
#! /bin/sh
while true
do
cd /opt/lampp/htdocs/server/ut-server/System
./ucc-bin server TO-Scope?game=s_SWAT.s_SWATGame userini=User.ini ini=TacticalOps.ini log=server.log multihome=213.133.103.246 -nohomedir
sleep 10
done
Das musst du mir erklären: Wieso ist das in einer Endlosschleife?

Gruss, Andy

clownger
30.12.02, 17:05
wenn sich der gameserver aufhängt oder ich ihn mit admin quit mal neustarten will, startet er in 10 Sek wieder neu darum.

Hat aber nichts mit dem problem zutun ich hab ihn auch schon in der console laufen lassen und es ist das selbe :(

RapidMax
30.12.02, 17:11
äh, jo, fehler meinerseits, ist ja nirgens ein "&" ;)

Gruss, Andy

clownger
30.12.02, 17:14
Helfen kannst du mir auch nicht oder ?
:( :( :( :( :( :( :( :(
Ich weis echt nicht mehr weider.

RapidMax
30.12.02, 18:38
Nö. Das System ist vorinstalliert? Die Hardware in Ordnung? Was für eine Version von ut2k3 hast du installiert, die Server-Version? Von wo?

Gruss, Andy

clownger
30.12.02, 18:54
1 ist es UnrealTournament nicht 2003
Ich hab schon mehrere Gepackte UT-Server versucht von verschiedensten leuden.
Es ist Redhat 8.0 mit grundinstallation ich hab nur screen nach inst.

clownger
30.12.02, 18:55
Mein Poblem ist glaube ich das nichts auf swap ausgelagert wird und wenn kein speicher mehr da ist beendet der kernel einfach nen process oder stop ihn.

comrad
30.12.02, 20:49
hi

willst du damit sagen, du hast keine swap partition? dann leg dir schleunigst eine swapdatei an:


dd if=/dev/zero of=swap.swp bs=1024 count=65536
das erstellt dir eine leere datei mit 65mb.

dann:

mkswap swap.swp

swapon swap.swp

schon hast du auslagerungsspeicher.

comrad

clownger
30.12.02, 21:33
OK das mach ich mal :)
Danke schön ich hoffe das es hilft !
Wenn nicht melde ich mich wieder

clownger
01.01.03, 21:02
Ist immer noch das selbe :8

comrad
01.01.03, 22:03
öhm, das is doof *g* was für nen kernel hast du?

clownger
02.01.03, 10:53
es ist ein 2.4.18-14 Kernel !
Ich hab mal ne andere frage, kann es sein das RedHat einfach ein Programm Stopt wenn der Arbeitsspeicher ausgeht ?
Und wie kann ich das Kontrolieren ?
Danke im voraus.

Headcrash23
02.01.03, 11:20
Ich glaube, dass es an RedHat liegt.
Als ich RedHat (mehrere Versionen) mal probiert habe, sind viele Anwendungen mit 'nem Segmentation Fault abgeschmiert, oder liessen sich gar nicht starten.
Vermutlich (nicht sicher) wird es irgendwas im Kernel sein.

clownger
02.01.03, 11:33
Hm jo kann sein aber ich hab nur über SSH zugriff auf denn server und hab noch nie nen Kernel Kompieliert :/
Und was anderes Installieren kann man über SSH ja vergessen oder ?
Oder hat einer nen Tip was der beste Kernel für nen Gameserver währe und ne gute DEUTSCHE anleitung dazu ?

ridcully
02.01.03, 12:24
schau dir mal die limits von dem user an unter dem du den server startest mit

ulimit -a

ausserdem kann man user ueber das file

/etc/security/limits.conf

einschraenken.

Generell kann ich mir nicht vorstellen, dass so ein bisschen UT schon den kernel anstehen laesst - noch dazu einen standard redhat kernel - die bauen natuerlich allen moeglichen schmarrn rein, aber die einstellungen sind so gemacht, dass alles damit problemlos laeuft. Fueg ausserdem mal in dein script

date >> utserver.log

ein, damit du siehst wie lange er es aushaellt im schnitt (sorry, falls ich das in dem thread ueberlesen hab)

Wenn du ganz verzweifelt bist, kannst mal versuchen ut mit valgrind zu starten - dann kann man vielleicht besser den speicherverbrauch nachvollziehen.

clownger
02.01.03, 12:39
Der User unter dem es leuft hat kein Limit.
In der /etc/security/limits.conf ist noch alles auskomentiert.
Zur date >> utserver.log kann ich sagen das die Automatisch vom Gameserver erstellt wird.
Da kann ich sehn wie lange er leuft.
Zum Arbeitsspeicher kann ich nur sagen das er voll ist.
Im mom ist 1,2MB frei.
Leuft aber nix drauf ;/
Ich lasse noch mal 256MB einbauen mal kucken ob es weg ist

Belkira
02.01.03, 13:49
Ob eine Swap Partition existiert, sollte sich in /etc/fstab herausfinden lassen. Ggf. mal ein explizites swapon auf diese Partition anwenden. Allerdings ist der Speicher noch recht ungenutzt und massig RAM für Disk Cache eingesetzt.


Ich glaube, dass es an RedHat liegt.

Wilde Spekulation.


Als ich RedHat (mehrere Versionen) mal probiert habe, sind viele Anwendungen mit 'nem Segmentation Fault abgeschmiert, oder liessen sich gar nicht starten.

Sehr schwammige und unqualifizierte Beschreibung. "Mehrere Versionen"? Also Red Hat Linux 7.2 und 7.3 (aber nicht nur die) laufen extrem stabil als Server. Zu 8.0 sind mir noch keine Klagen bzgl. Stabilität gekannt geworden. Und welche Applikationen? Pakete von Red Hat oder eigens kaputtcompilierte Applikationen? Auch manche vorcompilierte Applikationen aus dritter Hand sind inkompatibel mit Red Hat Linux 8.0.


Vermutlich (nicht sicher) wird es irgendwas im Kernel sein.
Nun, der 2.4.18-14 ist nicht der neueste für Red Hat Linux 8.0. Der User sollte auf seinem root-Server mal die Updates einspielen. Aber es schmiert ja der Gameserver ab, nicht der Kernel. Recht weit oben im Thread tauchte ein Segmentation Fault auf. Der wird seine Gründe haben. Wurde die Server Hardware schon auf Stabilität geprüft? Versuch mal, einen Kernel komplett durchcompilieren zu lassen.

clownger
02.01.03, 14:00
Das einzigste was ich bis jetzt nach installiert hab ist Screen sonst ist es immer noch die Grundinstallation von meinem Provider.
Ich lasse jetzt mal mehr Ram einbauen.
Zu den Updates kann ich nur sagen das ich das System mit APT Updaten hab lassen.
Es ist UT Gameserver da wird nichts Compiliert !!
Er wird einfach entpackt und dann mit ner Shell gestartet.
Zur Hardware, es sind 2 SERVER und auf beiten das selbe Porblem.

Belkira
02.01.03, 14:12
Das einzigste was ich bis jetzt nach installiert hab ist Screen sonst ist es immer noch die Grundinstallation von meinem Provider.
Und was ist mit "apt"? ;)


Zu den Updates kann ich nur sagen das ich das System mit APT Updaten hab lassen.

Den kernel definitiv nicht, wenn es weiterhin der 2.4.18-14 ist. Welche Updates fehlen Dir sonst noch?


Ich lasse jetzt mal mehr Ram einbauen.

Wie Du oben zeigtest, war noch massig RAM frei.


Es ist UT Gameserver da wird nichts Compiliert !!
Er wird einfach entpackt und dann mit ner Shell gestartet.

Eben. Der wurde vorcompiliert. Auf welchem System? Mit welchem Compiler? Statisch oder dynamisch gelinkt? Gegen welche Libraries?


Zur Hardware, es sind 2 SERVER und auf beiten das selbe Porblem.
Ich würde Dir trotzdem empfehlen, mal Deine SwapPartitionen zu analysieren.


Ist der Gameserver Unicode kompatibel? Mal mit export LANG=C starten.

clownger
02.01.03, 14:30
Also es ist ein von Loki erstellter Gameserver ich hab da keine Ahnung ob und wie:

Der wurde vorcompiliert. Auf welchem System? Mit welchem Compiler? Statisch oder dynamisch gelinkt? Gegen welche Libraries?
Ich habe aber auch schon mehrere Versucht.
Mit dem gleichen ergebnis.

So da ich noch ein Newbie bin :( muss ich jetzt mal dum fragen wie starte ich meinen GS mit export LANG=C ?

Ich starte ihn normal mit

#! /bin/sh
while true
do
cd /opt/lampp/htdocs/server/ut-server/System
./ucc-bin server TO-Scope?game=s_SWAT.s_SWATGame userini=User.ini ini=TacticalOps.ini log=server.log multihome=213.133.103.246 -nohomedir
sleep 10
done

Mir ist auch aufgefallen das er das meistens macht wenn der Server voll ist.
Aber wie ich schon gesagt habe er scheind den Process nur anzuhalten nicht zubenden.

clownger
02.01.03, 15:05
Oder wie kann ich einen eigenen Gameserver auf meinen System Compiliren ?

RapidMax
02.01.03, 15:46
Original geschrieben von clownger
Oder wie kann ich einen eigenen Gameserver auf meinen System Compiliren ?
Kannst du nicht, das UT nicht in den Sourcen verfügbar ist.

So wie ich verstanden habe handelt es sich um das gute, alte UT (nicht UT2003). Du verwendest fertige Server-Images?

Das Image hast du auf den Server geladen? Versuch einmal die md5-Summe zu überprüfen. Ein Hardware-Problem ist auch möglich.

Sonst noch ein Weg (ob er viel bringt ist was anders...):
Ich vermute, dass du sicher auch das Original UT hast? Installier dieses einmal, dazu brauchst du den Loki-Installer mit dem aktuellen Patch. Installier das mal von Hand.

Gruss, Andy

clownger
02.01.03, 15:50
Habe ich auch schon gemacht :(
Ist das selbe.
Die ganze nacht hochgeladen und nichts gebracht.

Belkira
02.01.03, 18:07
Also es ist ein von Loki erstellter Gameserver ich hab da keine Ahnung ob und wie:
Zeig mal ein ldd ucc-bin, sofern ucc-bin kein Shell-Skript ist. Andernfalls wende ldd auf das richtige Programm an.


So da ich noch ein Newbie bin :( muss ich jetzt mal dum fragen wie starte ich meinen GS mit export LANG=C ?

Einfach vorne ins Skript einfügen oder den Gameserver mit env LANG=C ./ucc-bin ....... starten.