Multiplayer-probleme "im allgemeinen"

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

AFRO

Betreff: Multiplayer-probleme "im allgemeinen"

BeitragFr, Nov 24, 2006 22:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab jetzt so die grundstruktur um ein spiel aufgebaut, rumrennen, spieler, schießen, level, menü, etc fertig und will das ganze jetzt in einen Multiplayer verpacken, mit UDP. Jetzt will ich mal erst im allgemeinen fragen, ob man dafür einen masterserver braucht, der rund um die uhr online ist, oder ob sich die programme "selber finden". Ich hab den Thread im allgemeinen genannt, weil ich gerade am anfang stehe und viele tutorials durchstudiere *kopfqualmer* und werde wahrscheinlich noch n bisschen starthilfe brauchen^^ Ich hoffe mir kann hier wieder jemand helfen, wie bei meinen anderen Fragen. Laughing
 

Mr Hopp

BeitragFr, Nov 24, 2006 22:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Also... die PC's können sich selbst finden, dies geht per IP- und Port-Angabe. Am besten guckst du mal bei http://www.robsite.de/bbkurs2/12multiplayer.htm nach, da ist alles erklärt.

Edit: Und dies gehört übrigens in "Allgemein", wenn nicht sogar "Beginners Corner" Wink
Zitat:
Wie poste ich falsch?

Nachdem ich Google, die FAQ's und die Boardsuche erfolgreich ignoriert habe, erstelle ich zwei bis fünf neue Themen, in den falschen Unterforen, mit kreativen Titeln und undeutlichem Text, unter dem sich jeder etwas anderes vorstellen kann.
 

AFRO

Betreff: THX

BeitragSa, Nov 25, 2006 11:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Das tutorial hab ich als erstes durchgearbeitet Very Happy aber ich war n bisschen verwirrt wegen den ganzen masterservers bei großen games wie battlefield oder cod. Sry, hab auch grad gemerkt, dass das nicht ins Forum passt. Ich glaub ich bin grade auf was richtig gutes gestoßen und arbeite das jetzt mal durch, schreib dann wieder mal.

Pdd

BeitragSa, Nov 25, 2006 13:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Also im Beispiel Battlefield funktioniert das so:
Der Spieler (CLIENT) loggt sich beim MASTER-SERVER ein. Dieser is aber nur dazu da, die Punkte für den CLIENT zu zählen, seine Daten zu verwalten, etc. Die eigentlichen SERVER laufen auf allen möglichen PC's. Wenn man solch einen Server startet, meldet dieser an den MASTER-SERVER, dass er jetzt online und verfügbar is. Wenn dann du (CLIENT) im Inet spielen willst, fragst du den MASTER-SERVER an, er soll dir doch bitte eine List aller verfügbaren Server schicken. Diese hat er ja gespeichert. Also schickt er dir diese Liste, in der Alle SERVER mit IP, etc. aufgelistet sind. Dann kannst du dir einen Aussuchen und draufgehen. So kann man einfach das Problem der IP's umgehen. Man nennt das auch LOBBY. Da du aber sehr wahrscheinlich keinen Root rumstehen hast, musst du deinen MASTER-SERVER mit PHP & MySQL programmieren. Das geht -relativ- einfach und dieser ist dann immer unter der selben ADRESSE (nicht IP, diese kann sich ändern!) erreichbar. (Kannst du dann mit TCP ansprechen). Diesen Scripten musst du dann noch bestimmte Varialben übergeben, wie das geht, findest du mit der Suche.
Alle SERVER melden sich dann bei diesem PHP-SERVER an. Dieser Speichert daten wie IP, etc. in der DATENBANK (MySQL o.ä.) und wenn ein Client diese Daten haben will, gibt er sie eben aus Wink

Ich hoffe das is einigermaßen verständlich o.O
Lieber Apfel als Birne.

Lunatix

BeitragSa, Nov 25, 2006 14:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Oder du mietest dir nen VServer und kaufst bmax, da kann man dann auch programme laufen lassen. Da Server allerdings mit Linux normal ausgestatted sind, braucht man BlitzMax/c++ etc.
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen...
 

FBI-blitz

BeitragSa, Nov 25, 2006 14:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Pdd hat Folgendes geschrieben:
Also im Beispiel Battlefield funktioniert das so:
Der Spieler (CLIENT) loggt sich beim MASTER-SERVER ein. Dieser is aber nur dazu da, die Punkte für den CLIENT zu zählen, seine Daten zu verwalten, etc. Die eigentlichen SERVER laufen auf allen möglichen PC's. Wenn man solch einen Server startet, meldet dieser an den MASTER-SERVER, dass er jetzt online und verfügbar is. Wenn dann du (CLIENT) im Inet spielen willst, fragst du den MASTER-SERVER an, er soll dir doch bitte eine List aller verfügbaren Server schicken. Diese hat er ja gespeichert. Also schickt er dir diese Liste, in der Alle SERVER mit IP, etc. aufgelistet sind. Dann kannst du dir einen Aussuchen und draufgehen. So kann man einfach das Problem der IP's umgehen. Man nennt das auch LOBBY. Da du aber sehr wahrscheinlich keinen Root rumstehen hast, musst du deinen MASTER-SERVER mit PHP & MySQL programmieren. Das geht -relativ- einfach und dieser ist dann immer unter der selben ADRESSE (nicht IP, diese kann sich ändern!) erreichbar. (Kannst du dann mit TCP ansprechen). Diesen Scripten musst du dann noch bestimmte Varialben übergeben, wie das geht, findest du mit der Suche.
Alle SERVER melden sich dann bei diesem PHP-SERVER an. Dieser Speichert daten wie IP, etc. in der DATENBANK (MySQL o.ä.) und wenn ein Client diese Daten haben will, gibt er sie eben aus Wink

Ich hoffe das is einigermaßen verständlich o.O



Für das alles reicht ein normales Webhosting-Paket mit PHP. Optimal ist auch, wenn du ne MySQL-unterstützung hast, ist dann deutlich bequemer.

Falls du dir keinen Webspace mieten willst (ist teilweise schon für sehr wenig Geld zu haben, auf planet-hosting.de z.B. schon für 10 Cent im Monat) kannst du auch auf Freespace -Anbieter wie Funpic zurückgreifen. Die sind aber meist nicht so schnell oder haben sonstige Probleme.
Computer 1: AMD Athlon64 3500+ | nVidia GF 7900GT | 1024 MB DDR-RAM | ASUS A8N-SLI Preimium | 250 GB SATA 2 || WindowsXP | Blitz3D | Blitz+
Computer 2: AMD AthlonXP 2400+ | ATI Radeon 9500 | 512 MB DDR-RAM | MSI K7N2 | 80 GB IDE | 160 GB IDE || WindowsXP | Blitz3D | Blitz+
Computer 3: Intel Pentium MMX | onBoard-Grafik | 32 MB RAM | 1 GB IDE || Windows 98 SE | Blitz+
 

AFRO

Betreff: Lobby

BeitragSa, Nov 25, 2006 20:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Also, ich möchte schon eine Lobby für mein spiel erstellen bin aber totaler noob in php, sozusagen null. Embarassed kann mir mal da jemand helfen, weil ich einen wirklich einigermaßen guten multiplayer haben will. Alles was ich möchte ist Lobby, keine Ranglisten etc. so wie ich das verstanden habe weißt das internet den mit php erstellten Masterserver eine IP-Adresse zu, die immer die selber ist, und über die man sich dann in die lobby einwählen kann, wo dann wieder die liste aufgeführt wird von allen laufenden servern. Ganz schön verwirrend... Und woher soll der masterserver die ganzen Servernamen, Maps und Spieleranzahlen wissen? wahrscheinlich werden die dann halt an ihn gesendet. Ich den mal wieder in textform fällt mir gerade auf... sry. Also, das ganze Läuft so:
-Masterserver läuft auf eigener IP und kann angewählt werden
-Um hosten zu können muss man den Masterserver anwählen und die Mapnahmen, Spieleranzahl und Rundenanzahl, Servernamen etc übermitteln
-Die Clients kontaktieren den Masterserver, der ihnen die info übermittelt, die in der lobby verarbeitet und angezeigt werden
-Spieler wählen ein

Jetzt müsste ich nur noch wissen, wie man einen Masterserver baut, weil ich momentan schon ziemlich vorangekommen bin im lernen von UDP. Kann mir da mal wer helfen? Laughing
 

atom-dragon

BeitragSo, Nov 26, 2006 3:38
Antworten mit Zitat
Benutzer-Profile anzeigen
PHP ist ganz einfach:
http://tut.php-q.net/index.html
Durchlesen und verstehen danach bisse schlau genug um dir sowas zu schreiben!

Pdd

BeitragSo, Nov 26, 2006 12:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Genau die URL wollt ich auch posten. Beschäftige dich damit (du musst nicht alles durchmachen) und dann kannst du so einen Master-Server mit lechtigkeit bauen!
Lieber Apfel als Birne.
 

AFRO

BeitragSo, Nov 26, 2006 12:46
Antworten mit Zitat
Benutzer-Profile anzeigen
WOW Shocked da hab ich ja jetz ganz schön was zu tun, bis ich des kapiert hab... Kostet eigentlich so ein PHP-Server was und wo krieg ich den her???
 

Dreamora

BeitragSo, Nov 26, 2006 12:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Kosten tut der meist nichts, nur die normalen Userbedingungen verbieten explizit solche Services wie Matchserver etc (selbst wenn du ein hosting angebot nimmst für webpages ist das normalerweise verboten)
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

AFRO

BeitragDo, Dez 14, 2006 17:03
Antworten mit Zitat
Benutzer-Profile anzeigen
also, ich hab noch n problem (wie vorhergesagt^^) wenn ich jetzt stream = createudpstream (8000) eingebe, dann kommt immer n fehler, dass es den stream nicht gibt, WARUM???
 

Dreamora

BeitragDo, Dez 14, 2006 20:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Weil es vermutlich keinen Server hat der am Port 8000 auf eine Verbindung wartet.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group