Upps, das hab ich nicht bedacht, ich hatte erst den Gedanken, jedem Clienten eine Digitale Signatur zu verpassen, aber das wäre wohl schlimmer als DRM...Syntov hat geschrieben:So noch eine kleine Anmerkung zur sicherheit:Das mit dem MD5 hash senden ist eine schlechte idee.Jside hat geschrieben:Benutztername und MD5 Hash des Passwortes zu Server senden (Port 5000)
->Wenn Server return -1 Registermenu/Loginmenu einblenden
du denkst wenn jemand mitsnifft kann dieser das PW nicht auslesen. aber er bracuht ja das PW gar nicht. Er muss nur den MD5 hash senden.
Falls jemand durch eine Sicherheitslücke die Membertabelle aus der Datenbank downloaden kann hat er alle MD5 hashes und kann sich als einen beliebigen Member ausgeben.
Lösungsvorschlag:
-Das PW wird eingegeben
-PW wird über eine Verschlüsselte Verbindung übertragen
-PW wird in einen sha256 hash umgewandelt und verglichen.

Also Zwischenstatus(ungefähr 5min Arbeit... Texturmanager hab ich rausgeworfen...):
- Grafik: OpenGL Init, SDL Init ...weiter nix...
- Netztwerk: SDL_netINIT ...weiter nix...
- Dateiparser für Scenen: bin ich gerade dran, Übern Header wird die Anzahl der Ressourcen(Musik, Sounds, Modelle etc.) eingelesen, sodass der Parser weiß, wielange die Datenliste der entsprechenden Sektion ist, danach ließt dieser diese ein(Dateilisten(-und danach die Coordinaten etc, das Implentiere ich, sobald der Anfang schonmal funktioniert)), und überprüft, ob die Ressourcen da sind, wenn nicht, werden diese später über den Sever nachgeladen, zudem wird später vom Client eine Checksumme der Szenendateien zum Server gesendet, stimmen diese nicht überein, gab es eine Änderung, und der Client lädt sich die neuen Szenendateien herunter, so hab ich schonmal Ziel 1 Erreicht, ich kann die Szenen vergrößern/verändern, ohne das die Spieler einen Finger rühren müssen, um diese zu Installieren. Die alten Szenen werden trotzdem auf dem Server bleiben, bis sich alle Clients ausgeloggt haben, und sich neu einloggen, wobei obrig genanntes ausgeführt wird. Spielstände bleiben immer Cross-Kompatibel, da es sich nur an bestimmten Stellen abspeichern lässt....
Und nebenbei hab ich hier noch Interessante OpenGL Tutorials gefunden...