SimpleUDP2 - Version 1.2

Übersicht Sonstiges Projekte

Gehe zu Seite 1, 2, 3  Weiter

Neue Antwort erstellen

ToeB

Betreff: SimpleUDP2 - Version 1.2

BeitragDo, Jul 15, 2010 18:45
Antworten mit Zitat
Benutzer-Profile anzeigen
user posted image


Hallo ! Ich habe mich nun endlich entschlossen eine vorab-Version der SimpleUDP2 raus zu bringen Wink

Was ist SimpleUDP ?
SimpleUDP ist eine Netzwerk-Bibliothek, die sowohl Anfängern als auch erfahrenen Programmierern das Programmieren von Netzwerk Spielen und/oder Programmen leichter und schneller ermöglicht. Durch diese Bibliothek kommt man schnell und zufrieden zum Ziel. Da ich die alte SimpleUDP viel zu unübersichtlich, langsam und verbuggt fand, habe ich mich an die Neue SimpleUDP 2.0 rangesetzt.

Was ist anders als in der Vorgängerversion ?
Anders ist z.B. das keine Stringketten mehr verschickt werden. Dadurch muss weniger bytes verschickt werden als vorher und ist dadurch schneller. Auch hat man in dieses Bibliothek die Möglichkeit einen Dedizierten Host zu erstellen oder sich zwischen LAN oder Internet Host zu entscheiden. Das wichtigste ist allerdings, dass fast ausschließlich alles in der UDP_Update() - Funktion passiert, dadurch hat man viel mehr möglichkeiten um z.B. Lobbys zu erstellen, die dadurch aber auch eine Funktion ist die über 1130 Zeilen lang ist.

Features (Ein paar wurden schon genannt)
Arrow Schnelles einbinden der Lib in das Programm, da man wenig Befehle braucht um 2 Programme miteinander zu verbinden.
Arrow Sowohl LAN als auch Internet Verbindungen möglich (mit entsprechendem Portforwarding und/oder Holepunching)
Arrow Dedizierter Host möglich
Arrow Nachrichten werden über "Commands" versendet
Arrow Ausführliche Event Ausgabe
Arrow Sicheres Senden, damit kann man Daten verschicken, die auf jeden Fall ankommen, ist sogar noch besser als TCP, da man meherere Daten gleichzeitig versenden kann und das sogar in Echtzeit, das Programm wird nicht solange angehalten, bzw. kommen die nachrichten spätestens nach 256ms an (bei einem Ping <= 64)
Arrow Serverfiles, damit kann der Host dateien angeben, die sich der Client beim Connecten runterläd, bzw können damit auch ganze ordner verschickt werden. Auch das ist sehr schnell und in Echtzeit, man kann sogar die Packetgröße bestimmen (z.B. 100bytes)
Arrow Kicken/Bannen von Spielern, mit grund und beim Bann auch mit Zeit
Arrow Server suchen (bisher nur im LAN funktionsfähig)
Arrow ServerChange, erlaubt es den Host während des Spieles zu wechseln, es ist sogar möglich zusätzliche Informationen anzugeben, also z.B. aktuelles Geld der Spieler etc.
Arrow ChangeName, damit kann man seinen Namen wechseln, auch wenn man nicht verbunden ist, wird dann geändert wenn man connectet.

Die Bibliothek
- Musste rausgenommen werden weil Codeboxen nicht funtzen -

Der Download mit Samples

SimpleUDP 2 - Version 1.2

Fragen bitte hier oder per PN, wer mehr über die Bibliothek wissen möchte, kann im Worklog nachlesen.

Viel Spaß und schreibt mir bitte etwas darüber !

Edit : Wäre Dankbar für jedliche art von Feedback Very Happy


mfg ToeB


PS. : Dies ist eine Beta, also noch nicht die vollständige Version, und dieser Eintrag ist dafür da, damit ihr mir verbesserungs Vorschläge etc. machen könnt !
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!
  • Zuletzt bearbeitet von ToeB am Fr, Mai 06, 2011 0:23, insgesamt 11-mal bearbeitet

ToeB

BeitragDo, Jul 29, 2010 15:44
Antworten mit Zitat
Benutzer-Profile anzeigen
user posted image

So es gibt jetzt wieder eine neue Version mit kleinen netten neuen Features Smile

Features
Arrow Holepunching (-> Host musst keine Firewall mehr freischalten, kann er aber, wenn er will Wink )
Arrow Online-Serverlisten. Die Abfrage der Serverlisten ist zwar da, aber ist noch nicht ganz perfekt. Ich werde noch einige sachen ändern müssen. Vorerst reicht es aber
Arrow Sein spiel kann man nun beim Master server über die exe "AddGame.exe" mit name und passwort hinzufügen, und mit der exe "DeleteGame.exe" kann man sein Spiel wieder löschen (wenn man name und passwort noch weiß Wink ), zusätzlich werden natürlich auch die Serverlisten gelöscht.
Arrow Passwort wird auf dem Server verschlüsselt gespeichert
Arrow Automatische "SavePoints", bei dem jede Stunde einmal alle Spiele und Serverlisten in eine Datei (verschlüsselt) gespeichert werden. Damit kann nach einem Absturz alles wieder hergestellt werden.
Arrow Einige Bugs sind gefixed, bzw. Programmbremesen gestoppt (wie unendliche schleifendurchgänge)
Arrow Hostet man ein Internet Spiel (UDP_NetMode auf UDP_NetGame), dann wird automatisch ein Eintrag in der Serverliste gemacht.
Edit : Hatte ich noch vergessen zu sagen, man muss, wenn man die Serverlisten benutzt, am anfang des Programms die funktion UDP_Init( Name$, Passwort$ ) aufrufen, damit die Lib die Daten weiß. Auch muss, wenn man das Holepunching beim Connecten benutzen will, bei UDP_JoinGame( ServerIP$, ServerPort%, HolePunchingActivated) den Dritten Parameter auf True setzen. Damit wird über den Masterserver connected, man braucht also umbedigt Internetzugriff.


Edit : Ich bitte darum wirklich nur 1 account für 1 Spiel zu machen, also nicht aus spaß einfach Accounts erstellen (oder sie wenigstend hinterher wieder löschen)



Viel Spaß,

ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!
  • Zuletzt bearbeitet von ToeB am Di, Dez 14, 2010 16:27, insgesamt 4-mal bearbeitet

juse4pro

BeitragFr, Jul 30, 2010 4:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Ist echt gut geworden, eure Engine Wink
Respekt.

Aber über eins würde ich mich noch mehr freuen... Dass ihr das auch für BlitzMax macht
Wäre echt oberklasse Very Happy
Portfolio |LinkedIn |XING

tft

BeitragFr, Jul 30, 2010 8:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

respect, ist echt gut geworden. Das ganze packet ist stimmig und gut erklärt.

Gruss TFT
TFT
https://www.sourcemagic.ch
Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!!

ToeB

BeitragFr, Jul 30, 2010 13:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke für die gute Resonanz Wink

@Juse4pro : Also die SimpleUDP ist von mir ganz alleine ,Chrise macht die LlAmaNet Wink

Und BlitzMax, ja ich habe mir ja vor kurzem Blitzmax gekauft, und werd mal gucken was sich da machen lässt Wink

mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!
 

c64

BeitragFr, Jul 30, 2010 19:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

Für BlitzMax guckt euch doch einfach mal BNET oder XNET an Wink !


mfg. C64
Betreten verboten! Kinder haften für ihre Eltern!

faeX

BeitragMi, Okt 06, 2010 6:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Alles Gute zu deinem 4-jährigen bestehen, Toeb! Wink
Und eine tolle Lib übrigens!!

Hummelpups

BeitragMi, Okt 06, 2010 20:02
Antworten mit Zitat
Benutzer-Profile anzeigen
c64 hat Folgendes geschrieben:
Hi,

Für BlitzMax guckt euch doch einfach mal BNET oder XNET an Wink !


mfg. C64


BNetEx btw und ENet ist auch sehr gut
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus

faeX

BeitragSo, Okt 10, 2010 13:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Kann es sein, dass sichere Nachrichten beim Empfänder mehrfach ankommen können?

Edit: Ich vermisse eine Funktion, mit der ich dem Server noch zusätzliche Informationen angeben kann, die dann direkt bei der Abfrage vom Masterserver mit angegeben werden. (Name, Friendlyfire an/aus etc.)
Das ist zwar nicht schwer von Hand nachzuprogrammieren, aber direkt in der Lib wäre es eben komfortabler.

ToeB

BeitragSo, Okt 10, 2010 13:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein, das nachrichten mehrmals ankommen ist ausgeschlossen. (Außer du sendest sie mehrmals)

Und in der Neue SimpleUDP2 gibts so eine Function Wink Wird bald rauskommen !

mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

faeX

BeitragSo, Okt 10, 2010 14:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Komisch... Ich habe den Parameter für die sicheren Nachrichten auf 0 gestellt ohne sonst etwas zu verändern, schon kommt die Nachricht nur einmal an. Liegt definitiv nicht an meinem Code, die Nachricht wird nur einmal gesendet.

Gerade habe ich noch mit dem Server ein Problem bekommen, da wird die Netzwerkfunktion immer langsamer, ich mache mir gerade ein paar DebugLogs rein, um zu gucken, was da vor sich geht. Wink

EDIT: Okay, das liegt jetzt wirklich an meinem Code...

ToeB

BeitragDi, Okt 12, 2010 12:57
Antworten mit Zitat
Benutzer-Profile anzeigen
So jetzt ist sie endlich da Very Happy

SimpleUDP2 - Version 1.1

Was beinhaltet diese Version jetzt ?
Arrow Games erstellen / in Games eintreten / Games verlassen
Arrow Spieler Kicken / Bannen
Arrow Online und LAN - Server-listen
Arrow Online Spieler - Man kann Fortschritte oder Highscores Online Speichern
Arrow Holepunching - Verbinden trotz Firewall
Arrow Simuliertes TCP, UDP - Nachrichten kommen zu 100% an
Arrow Commands, man kann die Datentypen bestimmen die man verschicken möchte
Arrow Event System, damit kann man alles Überwachen was intern in der SimpleUDP 2 abläuft
Arrow Namen ändern, Server - Informationen geben ( z.B. Map, Mods etc. ) und z.B. die Clients dazu zwingen nochmals auf dem Host/Server sich zu Verbinden


Arrow Die Blitzbasic - Hilfe hier im Forum für die SimpleUDP2 werde ich noch im Laufe der Woche fertig machen.
Arrow Tutorials gibt es noch keines, dafür 5 Kommentierte Beispiele


An dieser Stelle nochmals großen Dank an Pummelie, dass er mir einen Platz auf seinem VServer zur verfügung stellt !

Fröhliches ausprobieren und Benutzen Wink

ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!
  • Zuletzt bearbeitet von ToeB am Di, Dez 14, 2010 16:28, insgesamt 4-mal bearbeitet

juse4pro

BeitragMi, Okt 13, 2010 19:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich finde diese Idee klasse, und es scheint alles ziemlich gut zu funktionieren. Daumen hoch!
Nur kann ich es leider nicht verwenden, da ich BlitzMax verwende und Blitz3D und co. recht unprofessionell wird, wenn es tiefer in die Materie geht.
Es wäre GÖTTLICH... wenn ihr das in BlitzMax ebenfalls realisieren würdet. Da würd' ich mich freuen wie so'n Hosenscheißer... Wink
Portfolio |LinkedIn |XING

ToeB

BeitragMi, Okt 13, 2010 22:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Also ich wills noch nicht an die große Glocke hängen aber die grundzüger eine SimpleUDP in BMax stehen schon Wink Wird allerdings noch etwas dauern bis eine erste beta erscheint ... !

mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!
 

Düsi

BeitragFr, Okt 15, 2010 0:23
Antworten mit Zitat
Benutzer-Profile anzeigen
So schwer, sich auf eine Sprache und auf einen Code-Stil festzulegen? Rolling Eyes

ToeB

BeitragFr, Okt 15, 2010 0:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Düsi hat Folgendes geschrieben:
So schwer, sich auf eine Sprache und auf einen Code-Stil festzulegen? Rolling Eyes


Sinnvoller Beitrag, leider erschließt sich mir dieser nicht ... Was will er uns damit sagen ?

mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!
 

Düsi

BeitragFr, Okt 15, 2010 1:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
Type UDP_Client
   Field ID   
   Field Stream
   Field IP$,Port
   Field Ping,PingMs,WaitPing
   Field kick,host,connected
   Field name$,changename,newname$
   Field recon, reconms
   Field OnlineID
   Field tmp, tmpMs
End Type

Sauber! 3 verschiedene Stile zur Groß/Kleinschreibung von Variablen in einem Type gemischt. Smile

Code: [AUSKLAPPEN]
Type UDP_Cmd
   Field typ <- "typ"? Das -->deutsche<-- Wort für "Type"?
   Field ID
   Field FromID,toID <-- Zwei verschiedene Stile in nur einer Zeile - Respekt!
   Field maxparameter
   Field parameter$[ UDP_MaxParameter ]
   Field info.UDP_Cmd
   Field del
   Field send,sendms
   Field bank
End Type


Code: [AUSKLAPPEN]
Function UDP_HostGame( tmpServerName$="SimpleUDPTestServer", tmpMaxPlayers=16, tmpNetMode=UDP_NetGame, tmpPort=8000, tmpDediziert=0 )

tmpDediziert? Dann wären wir nun bei Deutsch und Englisch - Sind noch mehr Sprachen drinnen?

ToeB

BeitragFr, Okt 15, 2010 1:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Son klugscheißer hab ich lange nicht mehr gesehen oO

Man versteht doch was gemeint ist oder ? Außerdem : Die Lib funtz so oder so, Ob ich jetzt Name "name" oder "Name" oder "NAME" schreibe...


und... WAS ZUM TEUFEL IST SCHLIMM DARAN DIE VARIABLEN SO ZU SCHREIBEN ? Für Blitz is das alles Gleich, Wenn du die Lib benutzt (Falls sie dir überhaubt würdig ist OO) dann kannst du die Groß/Klein schreibung so anpassen wie du möchtest.

Und jetzt komm nicht mit "Ich kann keine Kritik vertragen" - Kann ich. Aber nicht solchen Kleinscheiß. Ersthaft, das hat nix mit dem Projekt an sich zu tun >.<

mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

Xaymar

ehemals "Cgamer"

BeitragFr, Okt 15, 2010 13:58
Antworten mit Zitat
Benutzer-Profile anzeigen
tmpDediziert -> tempörarDediziert / tempDediziert
tmp ist nicht englisch. Nichtmal ein bisschen. Es ist eine Abkürzung.

Düsi, wenns dir nicht gefällt, musst du dich darüber nicht beschweren. Machs besser. Simple Regel.(Außer es ist ein Bug oder Vorschlag. Aber deins war ja Schreibstil-Flame.)

Finde die Lib so ok wie die ist.
Warbseite

ToeB

BeitragFr, Okt 15, 2010 15:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja ich weiß das mit tmp, tmp soll halt für "temp" stehen und "temp" für "tempörär". Ich fand das sah gut aus für Locale Variablen immer ein kleines "tmp" davor, dann weiß ich auch das es ein Locale variable ist. Ich mein wenn man vor seine Variable "a" schreibt, macht das ja auch kein sinn, kennzeichnet aber z.B. das es ein Type ist (oder was anderes, je nach dem wer das Programmiert hat)..

(Außerdem sry für das war ich oben geschrieben hab, mich hat das gestern nur so aufgeregt und ich war müde >.<)

mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

Gehe zu Seite 1, 2, 3  Weiter

Neue Antwort erstellen


Übersicht Sonstiges Projekte

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group