PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : BF1942 Dedicated unter Linux: Was wie geht (oder auch nicht)



zeeman
29.12.02, 21:03
Hallo zusammen!

Ich hatte heute viel Zeit und hab mich mal was intensiver mit bf1942-server für Linux beschäftigt.
Erst mal ein paar Vorbemerkungen:

1.) Alles habe ich auf nem Athlon 850 mit 384 MB-SD-RAM 133 MHz (alle 3 Riegel No-Name, aber keien Fehler beim Memory-Test) und Suse 8.0. Es gibt keien Updates der Systemdateien von Suse.

2.) Habs nur mit einem bzw. 2 Clients ausprobiert (beide XP). Beide Version 1.2 (wie Server).

3.) Es ist ein Betaserver. Alle Ausgaben, die über den Screen rasseln sind Fehlerausgabe. Sie lassen sich nur mit '2>' abgfangen. '>' liefter nix .

Die ServerSettings.con habe ich geändert so wie die maplist.con.
Etwas anderes habe ich nicht geändert.

Die Test:
In die maplist.con immer folgendes Eingetragen:

game.addLevel LevelName
game.setCurrentLevel LevelName

Dann gewartet, bis der Server gestartet ist :

DBGSTR: *** Changing challenge# ***
DBGSTR:

(0): Error: : 1Failed to load

mit dem Client verbunden.

Nächste Karte.

Ergebnis:
Grundsätzlich funktionieren alle Karten.
Jeder Mapwechsel wird mit einem Segmentation fault bestraft.
Man kann jedoch ohne Probleme mehrere Runden auf einer Map spielen.

Die Fehlerausgabe kann man getrost nach /dev/null leiten, bringt einem eh nix.
Ich habe es nur mit root-Berechtigung geschafft, den Server zum Laufen zu kriegen (ggf. Dateiberechtigungen umsetzen, dann könnte es auch so gehen).

Wenn man Maps mit viel Wasser (Wake, Midway) lädt, die Ausgbe dringend nach /dev/null leiten.
Andernfalls wird die Console mit einer Fehlermeldungs-Zeile zugespammt (Sieht nach ner Endlosschleife aus).
Es ist trotzdem ein Spielen auf der Karte möglich.

Die Auslastung der CPU war die ganze Zeit <10% (bei einem Spieler).
Bei 2 Spielern war sie dauerhaft bei 20-25%.
Was heißt, dass mehr als 8 nicht drin sein dürfen. (Ggf. 10, dann wirds aber haarig).
Während des gesamten Test liefen NMBD, SMBD und pure-ftpd sowie die "normalen" Systemdienster. Ggf. kann man da noch ein bisschen einsparen.

Das Konfigurieren:
Es gibt eigentlich nur 2 Konfigurationsdateien, die man editieren muss:
Die anderen muss ich erst noch auskundschaften :D

- maplist.con
- ServerSettings.con

Die Bedeutung der Dateien dürfte klar sein :D .
Sie liegen beide in
/bf1942-lnxded-1.2beta1/mods/BF1942/Settings

Die Maplist muss nur 2 Zeilen enthalten (da ein Mapwechsel ja nicht geht..... :ugly: ):

game.addLevel Mapname
game.setCurrentLevel Mapname

Mapname ist dabei der Dateiname der Karte.
Er ist identisch mit den Dateinamen der Windows-Version (am besten mit C&P bearbeiten *gg*).

Die ServerSettings.con:

game.serverName "zeemans Linux-BF1942-Server" # Name des Servers, frei wählbar
game.serverDedicated 1 # Muß 1 sein
game.serverGamePlayMode GPM_CQ # Spielmodus, nicht frei wählbar
game.serverGameTime 0 # ?? Standart 0
game.serverMaxPlayers 8 # Maximale Spiele. Hardwareanforderung am besten in der Readme der Win-Version ablesen.
game.serverScoreLimit 0 # PunkteLimit für DM zum Sieg
game.serverInternet 0 # 1=Internetspiel, 0=LAN-Spiel
game.serverNumberOfRounds 1 # Anzahl der Runden pro Map
game.serverSpawnTime 5 # Zeit, bis ein toter Spieler respawn in Sekunden
game.serverSpawnDelay 1 # ?? Standart 1
game.serverGameStartDelay 1 # Zeit bis das Spiel startet
game.serverGameRoundStartDelay 10 # ?? Stadart 10
game.serverSoldierFriendlyFire 50 # Wieviel % des eigentlichen Schadens auf eigene Einheiten wird abgezogen (Soldaten)
game.serverVehicleFriendlyFire 50 #Wieviel % des eigentlichen Schadens auf eigene Einheiten wird abgezogen (Panzer/Jeeps/Flugzeuge etc.)
game.serverTicketRatio 500 # Faktor zur Ticketberechnung; Werte 1-1000
game.serverAlliedTeamRatio 1 # Verhältiniss der TeamStärken bei Auto-Balancing (hier 1:1), siehe nächste Zeile
game.serverAxisTeamRatio 1 # Siehe vorheriege Zeile
game.serverCoopAiSkill 75 # KI-Skill, im Multi-Player unwichtig
game.serverCoopCpu 20 # % an CPU Zeit für KI, siehe vorheriege Zeile
game.serverPassword "" # Passwort für Spiel
game.ServerBandwidthChokeLimit 0 # Irgendwas mit Bandbreite? *gg*
game.ServerMaxAllowedConnectionType CTLanT1 # Verbindungen, die nur akzeptiert werden, hier nur LAN und T1, ka was es noch für Typen gibt (DSL, nur wie?)
game.ServerAllowNoseCam 1 # Ist die Nose-Cam (F9) bei Flugzeugen vorhanden? 0=nein, 1=ja
game.ServerFreeCamera 1 # Kann ein toter Spieler frei herum fliegen? 0=nein, 1=ja
game.ServerExternalViews 1 # Kann der Spieler aus der 3rd-View spielen?
game.ServerAutoBalanceTeams 0 # Ist AutoTeamBalance an? 0=nein, 1=ja
game.ServerNameTagDistance 50 # Ab welchem Abstand wird der Name eines Spielers eingeblendet?
game.ServerNameTagDistanceScope 300 # Ab welchem Abstand wird der Name eines Spielers eingeblendet beim Sniper?
game.ServerKickBack 0.000000 # ??
game.ServerKickBackOnSplash 0.000000 # ??
game.setServerSoldierFriendlyFireOnSplash 100 # Irgendwas mit FF
game.setServerVehicleFriendlyFireOnSplash 100 # Nochmal was mit FF
game.setServerIP 192.168.0.74 # IP des Servers; muss angegeben werden
game.setServerPort 14567 # Port des Servers, Standart 14567

Es muss eigentlich nur die game.setServerIP eingestellt werden.

Update:
Es gibt Updates für den Linux-Server:
http://icculus.org/betas/bf1942/

So wie es aussieht, würde es reichen, wenn man den letzten, sprich den vom 26. Dezember runterlädt und entpackt.

Ich habe den vom 26.12 und den vom 12.12 mir angeschaut.

In der Version vom 12.12. wird die Map jetzt gewechselt, ohne das der Server abschmiert.
Allerdings scheint den Server die maplist.con einen Scheixxx zu interessieren.
Der lädt jegliche Map, nur nicht in der Reihenfolge, wie sie in der Datei stehen.

In der Version vom 26.12. ist noch eine sehr hübsche Sache integriert worden:
Der Server versucht sich immer mit GameSpy über Port 22000 zu verbinden, wenn man ein LAN spiel auf hat und über Port 23000, wenn man ein Inet-Spiel aufgemacht hat.
Aber irgendwie funzt das noch net so ganz (wenn ich 22000 tcp+udp auf den Linux weiterleite, kann man immer noch nicht zu ihm connecten).
Wie es mit Port 23000 aussieht, weiß ich net, da mit dieser Version kein vernünftiger LAN-Server zu erstellen ist.

Beide Versionen haben jetzt eine Standartausgabe und eine Fehlerausgabe ( > und 2> leifern jetzt beide was). > kann man aber getrost nach /dev/null leiten, da nur unwichtige Sachen (ob irgendwelche Keys da sind) ausgegeben werden und 2> liefert nach wie vor als einzigstes die ersehnte Nachricht 0 Errors: 1 Failed.
Des weiteren scheint die Version sich schneller zu laden (mal messen).

Momentan kann ich von der Version vom 26.12. nur abraten.
Die Version vom 20.12. wird gleich begutachtet.

Update 2:
Also die Version vom 20.12. ist schon ganz iO.
Mapwechsel funzen soweit ohne Probleme.
Es bleibt die Frage, wie es aussieht, wenn mehrere Leute zocken (kann leider immer nur mit 1 bzw. 2 Clients testen).
Außerdem versucht der Server net sich zu GameSpy zu connecten.
Und die maplist.con wird berücksichtigt, muß nach meinem jetztigen Wissen aber immer wieder bearbeitet werden.
maplist.con die Zweite:
Man trägt einfach alle Maps in die maplist.con, die man zocken möcht nach folgendem Muster:
game.addLevel Mapname

Jetzt startet der Server die Maps der Reihe nach durch.
Das Problem ist nur, dass nach Beendigung des Servers, an die Datei eine Zeile angehängt wurde.
Und die besagt, dass die (in der letzten Reihenfolge) nächste Map als 1. wieder gesatetet wird.
Diese Zeile muß halt gelöscht werden.
Praktische Alternative:
Man legt sich eine maplist.con irgendwo im System an.
Diese Bearbeitet man dann immer. Den Server startet man dann einfach per Script.
Allerdings kopiert man "seine" maplist.con über die eigentliche Datei, befor der Server selber gestartet wird.
That's it.

Dann sollte der Server laufen.

Gibts es Leute, die meine Beobachtungen stützen/wiederlegen/erweitern?

cu
zeeman

comrad
29.12.02, 22:12
ab damit nach holarse, wenn das ok ist?

zeeman
29.12.02, 22:44
was ist das?


jetzt weiß ich was das ist :D
hab was in deinem profil gestöbert. :D

klar.
wenn mein name und meine hp drunter kommt *gg*
http://www.zeeman.de

außerdem schau ich mir gerade die bugfixes von http://icculus.org/betas/bf1942/ an.
ich editier es, wenn sich da was ergibt



hab ne HTML-File+Banner gemacht:
ftp://zeeman.dyndns.org:2120/pub/BF1942ded.zip
für die, die es haben wollen



ich habe den server mal mit 3 Clients intensivst bearbeitet :D
der server läuft
eigentlich
muß man nur "öfters" neustartetn.
einfach mal die zip runterladen.
die ist wieder aktuell.


n8
zeeman

zeeman
31.12.02, 18:35
also der server läuft jetzt stabil.
halbwegs.

nach 2 mapchanges sollte der server jedoch komplett neugestartet werden, da die performance sehr in den keller geht.
das liegt jedoch nicht am RAM/CPU, da RAM noch 100 MB frei hat und CPU liegt bei 20% bei 3 spielern.
ich hab die html-datei aktualisiert.
da gibt es auch genauere angaben.
url steht oben.

cu
zeeman

Stargate
18.02.03, 12:07
In dem Archiv ist ja auch der XPack1 Ordner enthalten. Also gehe ich mal davon aus das RTR schon standartmäßig unterstützt wird ?!?
Wenn ich den Server allerdings z.B. mit der Map "Anzio" starte und ich versuche zu connecten kommt immer beim ende des Ladevorgangs: "Beschädigte Daten". Kann mir jemand sagen warum ?

zeeman
21.02.03, 18:56
spontan weil es doch noch nicht unterstütz wird.......

die anleitung wird wohl ne woche später für den 1.3 (scheint schlechter zu sein als die vorherigen versionen)
war die ganze woche krank.
sorry, vor allem an das holarse-team.

cu
zeeman