Das ist ein Scherz, oder? ^^]Auch eine Serverfarm?Also Physik hab ich folgendermaßen vorgestellt: Server 1 hängt mit eth0 am Inet, und mit eth1 an einem Switch, Server zwei hängt ebenfalls an diesem Switch, und berechnet alles (Physik, Wettersystem, Zeitzonen(wegen nachtmodus etc.(falls die Engine das auch optisch darstellen kann, ich bin nicht der beste in sachen GUI/3D, bin halt ein Konsolenkind
)) Und kann dieses über 100MB/s (bzw. 1000MB/s wenn ich einen Gigabitswitch zufassen bekomme) Zu Server 1 senden, der die Netztwerksachen verwaltet.

Wenn du ein Multiplayerspeil mit evlt mehr als 100 Mitspielern in EINEM Spiel hast, dann die Spielphysik zentral auf einem Server zu berechnen ist Wahnsinn.
Erstens wird das dein Server kaum mitmachen.
Zweitens müssen die Ergebnisse, die der Server errechnet hat, ja auch an jeden einzelnen Clienten geschickt werden.
Was die Netzwerkverbindung nochmals heftig belastet.
Ein ordentliche Welt mit Modelldaten und Texturen und allem drum und drann kann gerne mal die 500 MB übersteigen. Bei großen Welten mit guter Grafik (=hochauflösende Texturen, viele Vertexe) kommst du auch gerne auf mehr als 1,5 GB (es sollen ja ca 100 Spieler in der Welt Platz finden -> Die Welt muss entsprechend groß sein).Ich könnte es ja auch z.b. so machen, das bei Spielstart erstmal eine kleine Singeplayer mit NPCs zur Verfügung steht, während man diese Spielen kann, wird im hintergrund der Rest gedownloadet...
Wenn ich mir das vorm Spielen runterladen müsste, dann würde ich mehrere Stunden mit deinem NPC verbringen, wozu dieser schon enorm gut programmiert und das Spiel enorm spannend sein müsste....
Das musst du dir überlegen. Einige Netzwerkbibliotheken (SDL...) stellen eine Funktion zur Verfügung, die dir bei sowas hilft. Das Problem liegt ja darin, dass das "Warten auf Daten" eine blockierende Funktion ist und damit das ganze Spiel anhalten würde.So, mal eine Technische Frage:
Sollte ich die Anfragen der Cliente quasi Batchmäßig in einem anderen Thread verarbeiten, oder direkt?(Dateien ausgenommen, die werden über FTP versendet)
Entweder du realisierst es über diese Funktion (Socketsets..) oder du lagerst das Empfangen/Senden von Daten in einzelne Threads aus. Heißt für jeden Spieler ein "Kommunikationsthread".
Dass musst du dir aber auf jedenfall genau durchdenken!