Das Spiel, an dem ich gerade arbeite (ManaWar) ist ein Mehrspielergame funktioniert gerade aber nur über einen einzigen Computer. Dh. wenn man es spielen will müssen mehrere Spieler an den selben PC an eine Tastatur.
Ich möchte das jetzt endlich verbessern und einen Online bzw. Netzwerk Mode hinzufügen.
Ich habe mich auch schon informiert und im Netz schlau gemacht aber auf die “beste” Lösung bin ich noch nicht gekommen.
Mein Ziel ist eine direkte “Verbindung” zweier Computer (Ohne Server). Ich möchte über diese Verbindung bestimmte Pakete verschicken können, die dann durch einen Listener angenommen und verarbeitet werden.
Wisst ihr vielleicht, was dafür am meisten geeignet ist? Kennt ihr vielleicht sogar ein paar gute Tutorials?
Die Frage nach “der besten Lösung” ist immer schwierig zu beantworten, weil viele unbekannte Parameter die Lösungsauswahl beeinflussen können. Hier hört es sich für mich aber danach an, dass Du mit Objektserialisierung am schnellsten zurecht kommen solltest. Damit verschickst Du direkt Java-Objekte und kannst Sie auf der Gegenseite direkt wieder benutzen.
Wie gesagt, es gibt verschiedene Möglichkeiten, zum einen kann man es über das Netzwerksocket (such mal nach Java Chat Tutorial, da solltest du passendes finden) machen, das ist die primitivste Variante, in der du Zeichenketten über das Netzwerk schickst und die auf der anderen Seite wieder in Informationen umwandelst.
Der Server muss dabei kein Richtiger Server sein, das ist quasie der Host, der das spiel aufmacht
Oder die genannte Variante von nillehammer.
Danke für die Antwort
Klingt nach einer einfachen und guten Lösung. Das werde ich auf jeden Fall gründlich anschauen und wahrscheinlich auch verwenden.
[QUOTE=Unregistered;71075]Wie gesagt, es gibt verschiedene Möglichkeiten, zum einen kann man es über das Netzwerksocket (such mal nach Java Chat Tutorial, da solltest du passendes finden) machen, das ist die primitivste Variante, in der du Zeichenketten über das Netzwerk schickst und die auf der anderen Seite wieder in Informationen umwandelst.
Der Server muss dabei kein Richtiger Server sein, das ist quasie der Host, der das spiel aufmacht
Oder die genannte Variante von nillehammer.[/QUOTE]
Das könnte auch gut funktionieren. Mir reicht es nämlich, wenn ich einzelne Bytes versenden kann
Ich werde in den nächsten Tagen beides genauer googlen und Infos darüber lesen und anschließend kann ich dann endlich meinen Onlinemode einbauen
Testweise habe ich eine Jar mit diesem Code auf zwei verschiedenen Computern die beide im selben Netzwerk sind ausgeführt.
Beide Computer haben jeweils Server und Client erstellt und den Server gestartet - ohne irgendwelchen Fehler.
Als die Computer dann aber durch „client.discoverHosts()“ nach Servern im Netzwerk gesucht haben wurde NICHTS gefunden.
Bei anderen Spielen kann ich problemlos über das Netzwerk mit beiden Computern spielen.
Kann es sein dass ich zuerst irgendeine Firewall deaktivieren muss damit der Server erkannt werden kann?
Testweise habe ich eine Jar mit diesem Code auf zwei verschiedenen Computern die beide im selben Netzwerk sind ausgeführt.
Beide Computer haben jeweils Server und Client erstellt und den Server gestartet - ohne irgendwelchen Fehler.
Als die Computer dann aber durch „client.discoverHosts()“ nach Servern im Netzwerk gesucht haben wurde NICHTS gefunden.
Bei anderen Spielen kann ich problemlos über das Netzwerk mit beiden Computern spielen.
Kann es sein dass ich zuerst irgendeine Firewall deaktivieren muss damit der Server erkannt werden kann?[/QUOTE]
Hatte da auch meine Probleme, dass liegt am Port…
Bei mir hat es mit dem Port 12 geklappt, wenn der nicht geht probier 4 und wenn das auch nicht geht, kann ich dir auch nicht weiterhelfen
Ich hab von KryoNet keine Ahnung, aber ja kann sein, das deine Firewall auf deinem Rechner das Blockt. Teste es einfach mal mit deaktivierter Firewall.