Multiplayer-probleme "im allgemeinen"
Übersicht

AFROBetreff: Multiplayer-probleme "im allgemeinen" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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. ![]() |
||
Mr Hopp |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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" ![]() |
||
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. |
AFROBetreff: THX |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das tutorial hab ich als erstes durchgearbeitet ![]() |
||
![]() |
Pdd |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 ![]() Ich hoffe das is einigermaßen verständlich o.O |
||
Lieber Apfel als Birne. |
![]() |
Lunatix |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 ![]() 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+ |
AFROBetreff: Lobby |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Also, ich möchte schon eine Lobby für mein spiel erstellen bin aber totaler noob in php, sozusagen null. ![]() -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? ![]() |
||
atom-dragon |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
PHP ist ganz einfach:
http://tut.php-q.net/index.html Durchlesen und verstehen danach bisse schlau genug um dir sowas zu schreiben! |
||
![]() |
Pdd |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
WOW ![]() |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group