Zum Inhalt springen

Archiviert

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

Platoun

Spiel Neustart bei neuem Spieler

Empfohlene Beiträge

tach zusammen,

Frage wo muss ich was einstellen damit der server die map bzw das laufende Spiel nicht neustartet wenn ein 2. Spieler joint?

Sprich ich bin drauf zocke schon schön im coop ein 2. spieler kommt hin zu zack spiel wird neu gestart wie kann ich das änder?

Ist nen Bf42 Server mod DC und das ganze auf linux.

Greez &thx for help

Link zu diesem Kommentar
Auf anderen Seiten teilen

ich roll das thema nochmal auf in der hoffung das jetzt einer ne lösung hat ;)

also hier noch mal das Problem erläutert.

Ich bin alleine auf ner Coop map sobald jemand neu hinzu kommt startet die runde neu wie kann man dies verhindern?

Dies ist aber nur wenn man ganz alleine drauf ist und jemand dazu stösst sobald 2 leute drauf spielen ist dies nicht so.

Greez

Link zu diesem Kommentar
Auf anderen Seiten teilen

ich roll das thema nochmal auf in der hoffung das jetzt einer ne lösung hat ;)

also hier noch mal das Problem erläutert.

Ich bin alleine auf ner Coop map sobald jemand neu hinzu kommt startet die runde neu wie kann man dies verhindern?

Dies ist aber nur wenn man ganz alleine drauf ist und jemand dazu stösst sobald 2 leute drauf spielen ist dies nicht so.

Greez

Das kann man nicht verhindern - da ja dem Spieler, der zuvor auf dem Server war, die gleichen Bedingungen eingeräumt werden wie den Nachzüglern.

Link zu diesem Kommentar
Auf anderen Seiten teilen

allet klör nur warum läd es die runde nicht neu wenn bereits 2 spieler drauf sind? dadurch kam es mir nähmlich vor wie eine falsche einstellung

Link zu diesem Kommentar
Auf anderen Seiten teilen

allet klör nur warum läd es die runde nicht neu wenn bereits 2 spieler drauf sind? dadurch kam es mir nähmlich vor wie eine falsche einstellung

Weil die zwei sich dann theoretisch ja schon bekriegen und bei jedem neuen Spieler ein Restart wär ja wohl nur mehr nervig...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich mach jetzt mal den Leichenfledderer.... denn diese Sache ist mir grad wichtig.

Zwecks Fehlersuche bei Codes ist's nötig, auf einem dedizierten Server zu testen, der auch initialisiert ist. Sprich, dass die Meldung "soundso viele Spieler bis Start" weg ist und die Runde "richtig" läuft. Denn erst dann kommen Teile des Codes zum tragen, die für die Netzwerkfähigkeit da sind. Man hat nicht immer jemanden im TS, den man mal eben bitten kann, sich die Patchdatei zu ziehen und ebenfalls auf den Server zu verbinden, auch wird das bei teilweise einigen Dutzend Testläufen doch recht nervtötend. Bei Bf2 gibt's defintiv eine Servereinstellung, mit der man diese Anzahl der zum Spielstart benötigten Spieler verändern kann, sie lautet, wie kann es anders sein, sv.numPlayersNeededToStart. Gehört habe ich schon davon, dass es einen vergleichbaren Befehl auch für's 42er geben soll, doch wurde ich nach Stunden der Suche nicht fündig. Nun frage ich in letzter Hoffnung euch, ob einer unter euch vielleicht weiter weiß.

Früher habe ich einfach einen Zweitrechner mit dem Key von einem Kumpel verwendet, früher. Das werd' ich mir wohl wieder so einrichten müssen, oder ist's etwa doch nicht nötig?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Nach so einem Befehl hab ich auch schon erfolglos gesucht. Sorry.

Aber so zum testen ob deine gemoddete Map läuft könntest du auch zusätzlich ein Battlefield in einer Virtualbox installieren. Dann einmal ganz normal joinen und zusätzlich auch mit dem Virtuelem System. Dann startet die Map auch richtig und du benötigst keinen Extra PC. Problem wäre nur das der Rechner ordentlich Power benötigt.

Wobei der Virtuele Spieler ja eigentlich nur auf den Server rauf muss. Ob der sich bewegt oder wie die Grafik dort aussieht ist ja wurscht.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ein zweites Bf zu starten ganz ohne Zweitrechner oder VirtualBox ist für mich dank Linux nicht das Ding. Nur eben... unbequem ... bei meinem Pentium4.. *husthust* :shuriken:

Den Befehl zu haben, falls es ihn denn geben sollte, wäre doch eine große Vereinfachung.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ein zweites Bf zu starten ganz ohne Zweitrechner oder VirtualBox ist für mich dank Linux nicht das Ding. Nur eben... unbequem ... bei meinem Pentium4.. *husthust* :shuriken:

Den Befehl zu haben, falls es ihn denn geben sollte, wäre doch eine große Vereinfachung.

Ok, mit nem P4 dürfte das einige Probleme aufwerfen. Generell ist das aber glaub ich nicht verkehrt.

Ich machte das bis gestern anders rum. Hab normal Vista aufm Lapi, und dort dann einen Linux (Ubuntu) BF Server zum testen in ner Virtualbox. Damit hab ich mir auch den zweit Pc und viel Zeit gespart. Nur hat gestern mein Grafikchip z.T. das Zeitliche gesegnet. Nichts was irgendwie mit 3 D zu tun hat geht mehr. *kotz*:wtfgtfo:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ein zweites Bf zu starten ganz ohne Zweitrechner oder VirtualBox ist für mich dank Linux nicht das Ding. Nur eben... unbequem ... bei meinem Pentium4.. *husthust* :shuriken:

Es läuft doch erstaunlich gut, etwas hackelig, aber immerhin 30Fps beim Ideln:

linuxftw.jpg

Etwas umständlich, aber das Problem ist gelöst. Nun kann ich mich wieder ans Frickeln machen.

€ Falls jemand das nachmachen will:

Einen 2. Wineprefix (virtuelle Windose) erstellt, die wichtigsten Bf Sachen (Registryeinträge, Bf exe, dlls und den Settings Ordner) kopiert, alles andere, um Platz zu sparen, einfach gesymlinkt. Sprich Mods/bf1942/Archives und natürlich Mods/GCMOD, Mods/GCDEV.

€² Einen 2. Monitor dran, zweite Maus, zweite Tastatur (zweite Soundkarte hab ich ja schon), einen zweiten X-Server gestartet und zwei Leute könnten am selben Rechner spielen.... wenn meiner denn nur stark genug wäre :rolleyes:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich mach jetzt mal den Leichenfledderer.... denn diese Sache ist mir grad wichtig.

Zwecks Fehlersuche bei Codes ist's nötig, auf einem dedizierten Server zu testen, der auch initialisiert ist. Sprich, dass die Meldung "soundso viele Spieler bis Start" weg ist und die Runde "richtig" läuft. Denn erst dann kommen Teile des Codes zum tragen, die für die Netzwerkfähigkeit da sind. Man hat nicht immer jemanden im TS, den man mal eben bitten kann, sich die Patchdatei zu ziehen und ebenfalls auf den Server zu verbinden, auch wird das bei teilweise einigen Dutzend Testläufen doch recht nervtötend. Bei Bf2 gibt's defintiv eine Servereinstellung, mit der man diese Anzahl der zum Spielstart benötigten Spieler verändern kann, sie lautet, wie kann es anders sein, sv.numPlayersNeededToStart. Gehört habe ich schon davon, dass es einen vergleichbaren Befehl auch für's 42er geben soll, doch wurde ich nach Stunden der Suche nicht fündig. Nun frage ich in letzter Hoffnung euch, ob einer unter euch vielleicht weiter weiß.

Früher habe ich einfach einen Zweitrechner mit dem Key von einem Kumpel verwendet, früher. Das werd' ich mir wohl wieder so einrichten müssen, oder ist's etwa doch nicht nötig?

Ich glaub ich hab den Befehl gefunden. Hab die Exe Datei mal mit nem Editor durchsucht. Dort stehen jede Menge unbekannte Befehle im Klartext drin. Unter anderem:

#A Ð#A à#A 0ÌZ À„C  C €ÌN @C Ðg@ €TS ð4p  sƒ nrOfRounds  Ôp `^ƒ @#A P#A °sƒ °ú@ í `#A p#A €#A #A  #A °#A ð#A Ð#A à#A 0ÌZ À„C €C uq C Ðg@ €TS ð4p  sƒ setMinNrOfPlayers  Ôp `^ƒ @#A P#A °sƒ °ú@ í `#A p#A €#A #A  #A °#A ð#A Ð#A à#A 0ÌZ À„C C PÿB °C Ðg@ €TS ð4p  sƒ ticketRatio  Ôp `^ƒ @#A P#A °sƒ °ú@ í `#A p#A €#A #A  #A °#A ð#A Ð#A à#A 0ÌZ À„C @ƒC PÿB C Ðg@ €TS ð4p  sƒ timeToNextWave  Ôp `^ƒ @#A P#A °sƒ °ú@ í `#A p#A €#A #A  #A °#A ð#A Ð#A à#A 0ÌZ À„C @C PÿB àC Ðg@ €TS ð4p  sƒ spawnWaveTime

Da ich nicht wusste wohin mit dem Befehl, hab ich den als game.setMinNrOfPlayers 0 in verschiedene Serverdateien geschrieben. (serversettings.con, servermanager.con, usw...) Das hat leider nichts gebracht und wurde vom Server auch einfach wieder entfernt.

Ich habs jetzt in die Map geschrieben. Und da scheint das zu funktionieren. Die Map läuft anstandslos und auch bei Conquest fehlt jetzt die Meldung benötigte Anzahl der Spieler 1 oder wie auch immer die Nachricht genau lautete. Ob jetzt auch wirklich wie beabsichtig alle Netzwerkdienste gestartet wurden, kann ich aber nicht sagen. Wie bekomm ich das raus?

Da ich eine eingene kleine Dateistrucktur zum Modden nutze kann ich dir auch nicht sagen wo du den Befehl reinschreiben musst. Ist wahrscheinlich wurscht, kannst ja mal testen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

setMinNrOfPlayers
:awesome:

Hab die Exe Datei mal mit nem Editor durchsucht. Dort stehen jede Menge unbekannte Befehle im Klartext drin.
Ich hab ein

strings BF1942.exe | less

gemacht. Das wirft alle lesbaren Strings aus, wie der Name schon sagt. Und ich hab mich totgesucht in dem Haufen Wirrwarr. Jede Menge Zeugs vom Wettersystem gefunden und all dies, aber das hab ich irgendwie übersehen. Respekt, dass du es in einem simplen Texteditor unter all dem unlesbaren Krempel gefunden hast. :clapping:

Da ich nicht wusste wohin mit dem Befehl, hab ich den als game.setMinNrOfPlayers 0 in verschiedene Serverdateien geschrieben. (serversettings.con, servermanager.con, usw...) Das hat leider nichts gebracht und wurde vom Server auch einfach wieder entfernt.
Schaut man sich den Kontext an, wo das steht:

timeLimit

scoreLimit

restartMap

runNextLevel

setNextLevel

timeBeforeRestartMap

nrOfRounds

setMinNrOfPlayers

ticketRatio

timeToNextWave

spawnWaveTime

toggleGamePause

spawnDelayPenaltyForTK

nrOfTKToKick

banPlayerOnTKKick

TKPunishMode

getRemoteConsoleEnabled

enableRemoteConsole

so möchte man wirklich vermuten, dass es ein Serverbefehl ist.

Ich habs jetzt in die Map geschrieben. Und da scheint das zu funktionieren. Die Map läuft anstandslos und auch bei Conquest fehlt jetzt die Meldung benötigte Anzahl der Spieler 1 oder wie auch immer die Nachricht genau lautete.
Sehr mysteriös :kritisch: Ich würd's in eine Conquest spezifische Datei packen, innerhalb einer if v_arg1 == host Bedingung. Wo genau hattest du es drin? €³ PM gesehen /€³

Ob jetzt auch wirklich wie beabsichtig alle Netzwerkdienste gestartet wurden, kann ich aber nicht sagen. Wie bekomm ich das raus?
Gute Frage. Ich schieß mal in's Blaue und behaupte, das sieht man dann, wenn bei so einer Hirn****karte wie GC_ExtremePrejudice alle zerstörbaren Objekte erwartungsgemäß auftauchen *zu Django schiel*.

Da ich eine eingene kleine Dateistrucktur zum Modden nutze kann ich dir auch nicht sagen wo du den Befehl reinschreiben musst. Ist wahrscheinlich wurscht, kannst ja mal testen.
Ja, das find ich schon raus.

Jedenfalls großes :danke: .

Etwas spät zwar, aber besser spät als nie, vorallem in dem Fall. Hilft ja nicht nur mir.

€ Ich hab mal die Ausgabe von Strings angehangen.

Wenn im Windoof Notepad nur Müll steht, nehm Notepad++ oder so. Zeilenumbruchcodierung und so ;-)

€² Diese txt Datei im Anhang ist auch was für findige Schatzsucher, die imLetzte Geheimnisse von Bf42Fred glänzen wollen :whistling:

BF1942exe_strings.zip

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich hab zum ansehen der Exe den Totalcomander (Eierlegendewollmilchsau) benutzt, der hat einen Dateibetrachter damit hab ich das gefunden. Ich hab eingentlich nach einer Variable für den aktuellen Spielmodus gesucht für meine Dateistruktur.

http://www.bf-games.net/forum/index.php?showtopic=12770

Und da hab ich nachdem ich jede Menge Befehle und Gott weis was noch gefunden hab einfach mal nach player gesucht, da ich unser gemeinsames Problem ja noch im Hinterkopf hatte. Zum Glück haben die Programmierer so eindeutige Namen für die Meisten Befehle genommen.

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.