Suche für io spiel serverprotokoll

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
AdriBloober
User
Beiträge: 17
Registriert: Samstag 17. Februar 2018, 20:09

Samstag 17. Februar 2018, 20:17

Hallo,
ich bin, was das Netzwerkprogrammieren angeht noch nicht so fortgeschritten, darum habe ich eine Frage. Jeder kennt doch die ganzen .io Spiele(wie z.b. seither.io, gar.io, paper,io u.s.w.) und ich programmiere ein Spiel, dass so ähnlich ist wie die io spiele, es soll Multiplayer enthalten, jetzt stehe ich vor dem Problem, wie man über einen Server, die Spiel Daten übertrage kann, sie müssen sehr schnell übertragen werden, da es sonst du lass kommen würde. Es muss übertragen werden, ob jemand schießt, in welche Richtung er schaut und an welcher Position er sich befindet. Ich habe hallt nur keine Ahnung, wie ich das machen sollte, weil es ja schell übertragen werden muss, damit das Spiel flüssig läuft. Ich hoffe mal ihr könnt mir da mal helfen und ja?

Lg AdriBloober
MrRegister
User
Beiträge: 5
Registriert: Samstag 17. Februar 2018, 16:11

Samstag 17. Februar 2018, 20:30

hallo? | hab dir ne PN gesendet
Benutzeravatar
noisefloor
User
Beiträge: 2476
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: Görgeshausen
Kontaktdaten:

Samstag 17. Februar 2018, 21:39

Hallo,
Ich habe hallt nur keine Ahnung, wie ich das machen sollte, weil es ja schell übertragen werden muss
Hättest du dein eine Ahnung, wie es geht, wenn es langsam übertragen werden dürfte?
MrRegister hat geschrieben:hallo? | hab dir ne PN gesendet
Support per PN, damit möglichst wenig (=keiner außer einer) von deiner möglichen Lösung profitieren können? Ziemlich uncool und nicht Sinn eines öffentlichen Supportforums...

Gruß, noisefloor
AdriBloober
User
Beiträge: 17
Registriert: Samstag 17. Februar 2018, 20:09

Sonntag 18. Februar 2018, 11:06

noisefloor hat geschrieben:Hallo,
Ich habe hallt nur keine Ahnung, wie ich das machen sollte, weil es ja schell übertragen werden muss
Hättest du dein eine Ahnung, wie es geht, wenn es langsam übertragen werden dürfte?
MrRegister hat geschrieben:hallo? | hab dir ne PN gesendet
Support per PN, damit möglichst wenig (=keiner außer einer) von deiner möglichen Lösung profitieren können? Ziemlich uncool und nicht Sinn eines öffentlichen Supportforums...

Gruß, noisefloor
Hallo,
Eine ungefähre Ahnung davon, wie es schnell übertragen werden könnte, ja, nur ziemlich umständlich und jeder wird sich dabei wohl denken, dass es die schlechteste Idee sie. Das ist sie auch, doch eine andere Möglichkeit habe ich nicht gefunden. Mir ist ebenfalls bewusst, dass es damit zu programmieren fast schon unmöglich ist. Ich habe gedacht an MySql. Damit würde ich es niemals tuen, deswegen frage ich ja nach, ob es eine Möglichkeit gäbe?

Das mit der PN habe ich auch nicht richtig verstanden, aber er hat mir nur geschrieben, was ich so Programmiere und so was halt.

Aber Danke für das Feedback

Lg AdriBlobber
Sirius3
User
Beiträge: 8433
Registriert: Sonntag 21. Oktober 2012, 17:20

Sonntag 18. Februar 2018, 12:10

@AdriBloober: da die von Dir angesprochenen Spielchen im Browser laufen, sind die Kommunikationsmöglichkeiten sehr beschränkt. Standard ist WebSocket, ein TCP-Übertragungsprotokoll. Wenn das kein Browser-Spiel werden soll, dann gibts natürlich mehr.
__deets__
User
Beiträge: 3500
Registriert: Mittwoch 14. Oktober 2015, 14:29

Sonntag 18. Februar 2018, 12:11

Die Art wie man das normalerweise macht: es gibt einen Server. Der berechnet die ganze Welt, definiert also die einzige Wahrheit. Die verschiedenen Spieler haben Clients deren Aufgabe ist, die Steuer Kommandos an den Server zu schicken. Und zurück kommen die Veränderungen in Position, Lebensenergie etc von allen Spielern und Spielgegenständen.

So machen das spiele seit Anbeginn der Zeit, ZB quake und Doom.
AdriBloober
User
Beiträge: 17
Registriert: Samstag 17. Februar 2018, 20:09

Sonntag 18. Februar 2018, 13:45

Sirius3 hat geschrieben:@AdriBloober: da die von Dir angesprochenen Spielchen im Browser laufen, sind die Kommunikationsmöglichkeiten sehr beschränkt. Standard ist WebSocket, ein TCP-Übertragungsprotokoll. Wenn das kein Browser-Spiel werden soll, dann gibts natürlich mehr.
Ich habe nicht gesgat das es im Browser Laufen soll
AdriBloober
User
Beiträge: 17
Registriert: Samstag 17. Februar 2018, 20:09

Sonntag 18. Februar 2018, 13:47

__deets__ hat geschrieben:Die Art wie man das normalerweise macht: es gibt einen Server. Der berechnet die ganze Welt, definiert also die einzige Wahrheit. Die verschiedenen Spieler haben Clients deren Aufgabe ist, die Steuer Kommandos an den Server zu schicken. Und zurück kommen die Veränderungen in Position, Lebensenergie etc von allen Spielern und Spielgegenständen.

So machen das spiele seit Anbeginn der Zeit, ZB quake und Doom.
Aber was benutzen die denn für Arten, wie soll ich es denn machen?
__deets__
User
Beiträge: 3500
Registriert: Mittwoch 14. Oktober 2015, 14:29

Sonntag 18. Februar 2018, 13:49

Was heisst denn "Arten"? Du musst einen Server schreiben. Das ist nichts, was man von der Stange bekommt. Dein Server beinhaltet die komplette Spiellogik. Die Clients machen "nur" die Darstellung.
AdriBloober
User
Beiträge: 17
Registriert: Samstag 17. Februar 2018, 20:09

Sonntag 18. Februar 2018, 14:59

__deets__ hat geschrieben:Was heisst denn "Arten"? Du musst einen Server schreiben. Das ist nichts, was man von der Stange bekommt. Dein Server beinhaltet die komplette Spiellogik. Die Clients machen "nur" die Darstellung.
Ich meine wie man mit dem Client komonizieren soll, dass weiss ich halt noch nicht.
Benutzeravatar
noisefloor
User
Beiträge: 2476
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: Görgeshausen
Kontaktdaten:

Sonntag 18. Februar 2018, 19:54

Hallo,

das gibt es diverse Möglichkeiten. Du kannst ein vorhandenes, definiertes Übertragunsprotokoll wie HTTP nutzen, du kannst Websockets nutzen, du kannst dir ein eigenes Übertragungsprotokoll auf Basis eines Protokoll wie TCP implementieren, du kannst ...
Möglichkeiten gibt's viele.

Gruß, noisefloor
AdriBloober
User
Beiträge: 17
Registriert: Samstag 17. Februar 2018, 20:09

Sonntag 18. Februar 2018, 19:56

noisefloor hat geschrieben:Hallo,

das gibt es diverse Möglichkeiten. Du kannst ein vorhandenes, definiertes Übertragunsprotokoll wie HTTP nutzen, du kannst Websockets nutzen, du kannst dir ein eigenes Übertragungsprotokoll auf Basis eines Protokoll wie TCP implementieren, du kannst ...
Möglichkeiten gibt's viele.

Gruß, noisefloor
Gibts dazu auch Tutorials, weil damit alleine kann ich leider nichts anfangen
__deets__
User
Beiträge: 3500
Registriert: Mittwoch 14. Oktober 2015, 14:29

Sonntag 18. Februar 2018, 20:38

Websockets ist die richtige Technik dafür. Und da kannst du jetzt nach Python, websockets und Tutorial suchen, da kommt bestimmt was.
Sirius3
User
Beiträge: 8433
Registriert: Sonntag 21. Oktober 2012, 17:20

Sonntag 18. Februar 2018, 20:40

@AdriBloober: diese Fullquotes sind unnötig, weil man den Diskussionsverlauf ohne viel besser verfolgen kann. Was Du brauchst, kannst Du viel besser beurteilen. Tutorials liefert Dir Google zu hauf, wenn Du die Stichworte von noisefloor eingibst.
Benutzeravatar
snafu
User
Beiträge: 5537
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Sonntag 18. Februar 2018, 20:46

Du machst halt für jeden Client eine WebSocket-Verbindung zu deinem Server auf. Die Kommunikation könnte über JSON passieren. Das Rendern der Bewegungen übernehmen die Clients.
shcol (Repo | Doc | PyPi)
Antworten