Diskussion: Bald neue CS:S source engine mit multi-core support?

michael-08

New Member
Zitat:CS:S wird bald auf der neuen Sourceengine mit Multicore Support laufen.

Ich kann mich dunkel daran erinnern dass es die Diskussion hier schonmal gab. Es gibt keine "neue" und keine "alte" Source-Engine, sondern ein und die selbe Source-Engine wird staendig weiterentwickelt und mit Patches sowie Erweiterungen versorgt welche zum Teil in aeltere Spiele backported werden. Die aktuelle Version fuer ein Spiel laesst sich beim Start ablesen. (Build Revision)



http://tinyurl.com/2woopl4

http://www.meatfactory.net/news/steam/updates/65-css-orange-box-update/

Fast zwei Jahren nach der Ankündigung und eigentlich ganz unverhofft kommt nun endlich das von vielen CS:S Spielern erwartete Update auf die OrangeBox Engine.

---

Zitat:Vielleicht ist 100MBit für max. 300 Slot's einfach zu wenig.

Ist es nicht. Ein typischer Gamehost wird unter 10Mb/s AVG bleiben mit Peaks um 50Mb/s oder mehr; allerdings sind diese auch von der Verfuegbarkeit eines Fastdownload-Servers sowie dem Spieltype abhaengig. (L4D und Community-Extensions wie Zombie-Master belegen extrem viel Bandbreite)

Ich habe mit meinen 52 Slot Tick 100 5.8 Megabyte pro Sekunde (in/out)verbraucht! Bei 300 Slot 100 Tick wären das ~24 Megabyte/sekunde! Eine 100Mbit wäre da schon ausgereizt! Dazu kommt noch der Fastdownload und zusätzlich wenn er zu Hetzner gehen würde wären die 100Mbit nur shared!

Zitat:dass sie meisten gleich Gameserver optimierte Kernel in die Images einbauen!

Was soll das jetzt helfen?

Davon jedoch abgesehen dass sich damit gut Kunden ueber den Tisch ziehen lassen (respektiv das Geld aus der Tasche) verbessert eine hohe FPS-Rate jedoch das Spielerlebnis um Genau den Faktor 0,0...

diese Diskussion wurde in anderen Foren beireits genug diskutiert! Mehr Server FPS = mehr Berechnung, somit genauere Ergebnisse! Fakt!
 
Last edited by a moderator:
@michael-08:
Ach wie suess. LMGTFY hatte ich ja schon fast vergessen. Danke uebirgens fuer die Erinnerung dass ich die 'Preview'-Funktion bei Tinyurl noch aktiv habe...

Das Wort "Update" impliziert nicht Neuheit sondern eine Auffrischung, ein Auf-den-Tagesstand-bringen. Demnach ist es weiterhin die "alte" (und gleichzeitig "neue") bekannte SourceEngine...

Ich habe mit meinen 52 Slot Tick 100 5.8 Megabyte pro Sekunde (in/out)verbraucht! Bei 300 Slot 100 Tick wären das ~24 Megabyte/sekunde
Laut deiner Berechnung vom "14.06.2010 17:09" belegt jeder Spieler 25 kB/s.
Laut dieser Berechnung belegen sie 111 kB/s. Was denn nun ;)

Die benoetigte Bandbreite variiert je nach Anzahl der uebermittelten Deltas (Interaktionen mit der Spielwelt). Je mehr Spieler in einer World sind, desto mehr Interaktionen mit der Spielwelt und zwischen den Spielern gibt es, desto groesser die Deltas zwischen den vorherigen Frames der Clients und dem neuen des Servers. Mit 32 stillen Spielern ist die Bandbreite viel niedriger als mit 6 Berserkern, somit kann man die Bandbreite nicht pauschal vorhersagen. Kleine Randnotiz: die "Lags" am Rundenbeginn resultieren aus dem Fakt dass der Delta groesser ist als die Paketgroesse und somit in mehreren Paketen uebermittelt werden muss - die Zeit bis der Client ein neues Paket hat erhoeht sich und somit auch exponentiell die Gefahr dass seine eigenen Vorhersagen falsch sind und revidiert werden muessen - es "laggt".

Dazu kommt noch der Fastdownload
Einen Webserver - und zumals einen solchen wie die Standartkonfiguration des Apaches in den gaengigen Distributionen - sollte man nicht auf einen Gameserver packen. Der Grund ist dass Webserver unter Belastung die CPU erst bei Aufforderung durch den Kernel wieder freigeben und somit wertvolle zusammenhaengende Zyklen belegen was den Jitter der nanosleep()-Funktion des Gameservers herumspringen laesst.

Mehr Server FPS = mehr Berechnung, somit genauere Ergebnisse! Fakt!
Du kennst sicherlich den Winston Churchill zugeschriebenen Ausdruck "Traue keiner Statistik, die du nicht selbst gefälscht hast".
Du solltest mit geeigneter Hardware und ausreichend Zeit zum gleichen Resultat kommen wie ich vor knapp einem Jahr nachdem ich ueber eine Woche lang damit herum experimentierte.
Als kleinen Anfangs"beweis" soll folgender Versuch gelten: bau eine Preload-Klasse die usleep() durch einen eigenen direkten Aufruf der nanosleep()-Funktion ersetzen geht (bitte den Faktor 10^3 zwischen Mikro- und Nanosekunden nicht vergessen). Dann misst du simpel die Zeit zwischen 2 Aufrufen der usleep()-Funktion und schreibst dies in eine Shared-Memory. In der Annahme dass der Server konstant 1000FPS faehrt und auf Tick100 konfiguriert ist wirst du eine frappierende Erkenntnis sehen: (je Sekunde)
- 900 Frames haben (fast) ohne Verzoegerung direkt usleep() wieder aufgerufen
- 100 Frames haben eine geringe Zeit benoetigt.

Die 100 Frames sind die Tick-Frames in welchen die Welt neu berechnet wird und Deltas zu den vorherigen produziert werden.
Die anderen 900 Frames sind socket-call's wo der Gameserver seine Listener abprueft ob ein Client ein Paket geschickt hat (neue Client-Daten) und ob er den Clients (je nach konfigurierter cl_updaterate und rate) neue Pakete schicken darf. Hoehere FPS bedeutet dass der Gameserver die Pakete genauer ausliefert aber der Inhalt ist immer gleich alt.
CPU-Probleme kriegt ein Gameserver sobald die Berechnung eines World-Updates laenger dauert als die Zeit zwischen 2 Tick's; die Ticks verschieben sich und Updates kommen seltener. Laut fragaholics (ungeprueft) betraegt der Unterschied zwischen 100 und 500 FPS 5ms schnellere RTT, zwischen 500 und 1000 nur noch 1ms. (Exponentielle Kurve!) Die RTT-Variationen im Providernetz sind also ausschlaggebender als der Gameserver. CQFD
(Nicht applizierbar auf -pingboost3 der GoldSRC-Engine)

@IP-Projects:
Spaetestens wenn der Server mal voll waere wuerde er es nicht lange bleiben ;) Aber bei Gameserver kann man die Mischkalkulation (zumindest als Clan) gut hinnehmen - ein Root auf welchem alle Slots ausgereizt waren hatte ich bis jetzt noch nicht zu sehen bekommen ;)
 
Last edited by a moderator:
Das Wort "Update" impliziert nicht Neuheit sondern eine Auffrischung, ein Auf-den-Tagesstand-bringen. Demnach ist es weiterhin die "alte" (und gleichzeitig "neue") bekannte SourceEngine...

CS:S wird upgedated! Es wird bald auf einer neuen Engine laufen. FAKT und OMG

Die Server werden Multicore supported sein u.v.m.

Standartkonfiguration

Falsch: Standart
Richtig: Standard

Laut deiner Berechnung vom "14.06.2010 17:09" belegt jeder Spieler 25 kB/s.

mindestens bei 100Tick CS:S Server! Die 52 belegten Slot verbrauchten aber tatsächlich 5.8 Megabyte/Sekunde Traffic
 
Last edited by a moderator:
Ist schon so! Hatte auch CS:S Beta Server online

http://forums.steampowered.com/forums/forumdisplay.php?f=888


The Orange Box engine branch was released in 2007 with the Orange Box (Ep2, Portal, TF2). It is currently being maintained side-by-side with the Left 4 Dead branch; the two branches share technology, but it is unclear if they will ever be merged or if one will come to be favoured.

The OB builds on the original HL2 branch, requiring its content installed to work.

Quelle
http://developer.valvesoftware.com/wiki/Orange_Box#Features
 
Last edited by a moderator:
It is currently being maintained side-by-side with the Left 4 Dead branch
Zumals von 'Branches' geredet wird (verschiedene auf der gleichen Code-Basis basierende eigene Entwicklungszweige in einem Versionierungs-Tool) sollte ja schon belegen dass die Engine nicht "neu" ist sondern up-to-date (kurz: updated) wird. Eine neue Engine waere es nach wie vor wenn der GoldSRC-Unterbau (basiert auf der Q3-Engine) von Counter-Strike 1.6 durch die Source-Engine ersetzt werden wuerde.
Das ist ein kleiner aber feiner Unterschied, da Addons -bis auf einige Inkompatibilitaeten durch Veraenderung und Hinzufuegen neuer API-Schnittstellen sowie das Wegfallen der alten 'Deprecated'-Funktionen weitenerhin kompatibel bleiben. Bei einem Engine-Wechsel waere es nicht der Fall.

Falsch: Standart
Richtig: Standard
Da du so vehement deinen Standpunkt vertreten hast; waeren auch Kommentare zum Inhalt statt zur Rechtschreibung moeglich? Danke!

mindestens bei 100Tick CS:S Server!
Du hast weder beschrieben auf wieviele Spieler noch auf welche Map-Deltas sich das bezieht, Milchmaedchen-Rechnungen a la "X Mhz CPU, Y MB RAM, Z Mb/s Bandbreite" sind zum Falschsein verdammt. Logarithmische Kurven kann man nicht durch eine gradlinige Funktion ersetzen.
 
Ist schon so! Hatte auch CS:S Beta Server online

Und wo genau ist nun der Link auf eine NEUE CS:S-Engine? Ich sehe da nur was von Updates, nichts aber von neuen Engines.

Wo steht eigentlich, dass die CS:S-Engine Multicore-Support bekommt?

Ich kenne das jetzt nur von der Client-Variante - und bei dieser ist wohl seit 2007 was angekündigt, aber bis jetzt nichts ordentliches rausgekommen.
 
Die Engine heisst sowohl auf Client- als auch auf Serverseite "Source".
Somit laesst sich vermuten dass der Multicore-Support (beschrieben als "Multicore-Rendering") fuer die Clients endlich released wird; auf Serverseite spricht man zwar auch von Framerendering aber das wuerde -um die Verbraucher nicht zu verwirren- eher mit "serverside multicore support" beschrieben werden.
 
auf Serverseite spricht man zwar auch von Framerendering aber das wuerde -um die Verbraucher nicht zu verwirren- eher mit "serverside multicore support" beschrieben werden

stimmt, hatte grad nochmal in #hlserveradmins nachgefragt um mich zu vergewissern! Sie meinten es wäre nur client side! Also kein Multicore support serverside -.-
 
Was willst du serverside auch gross auf Multicore auslegen?
Die Interaktionen aller Spieler sind direkt aufeinander basierend somit muessten staendig Weltteile zwischen den Threads ausgetauscht werden; ein -zumindest fuer ein paar Millisekunden- getrenntes Rendering mehrerer Threads sollte schwer zu realisieren sein und der Datenaustausch zwischen Core's ist teuer...
 
mir geht es um das update ansich!

Das derzeit eine Beta des neuen CS:S draussen ist und dieses bald released wird!

Fast zwei Jahren nach der Ankündigung und eigentlich ganz unverhofft kommt nun endlich das von vielen CS:S Spielern erwartete Update auf die OrangeBox Engine.

Im grunde wurde CS:S von grund auf neu "aufgesetzt"
 
CSS wurde nur an die Engine angepasst die Up-to-date ist und sonst nichts. Die Engine kann das schon länger und ist auch auf diesem Stand, siehe Developerwiki. Nur CS:S musste daran angepasst werden. Und nicht CS:S wurde neu gemacht ... Hört sich aber Marketingtechnisch natürlich viel besser an ;)
 
Trotzdem existieren diese beiden Engines parallel! Theoretisch könnten die CS:S auf dem jetzigen Stand belassen!

Demnach wurde CS:S an die neue Engine angepasst und läuft somit bald auf der die in der Orangebox benutzt wird
 
Lass es doch einfach mit der Diskussion bleiben ... es gibt keine NEUE Engine - das ist nur eine Weiterentwicklung der alten Engine. Die Source-Engine ist es seit jeher!

Und jetzt ist doch mal gut mit faseln ... :rolleyes:
 
Theoretisch könnten die CS:S auf dem jetzigen Stand belassen!
Natuerlich. Aber bedenk dass Valve aktuell mehrere Engine-Zweige (orangebox, l4d, css, interne Entwicklungen) fuer jeweils 3 Plattformen umsetzen muss. Der Verwaltungs- und Entwicklungsaufwand wurde ihnen, so meine Theorie, einfach zu gross und ein Zweig wurde fallen gelassen; CSS wurde auf eine andere, moeglichst kompatible Branch aktualisiert: die Orangebox

Nach aussen verkauft man das, man ist ja schliesslich nicht dumm, als grosses Geschenk an die Community.

Ich geb es aber auf den Unterschied zwischen update und upgrade zu erklaeren. Irgendwie reizt es mich aber schon beim naechsten 'git merge devel' dem Kunden ein volles Upgrade statt einem Bugfix-Update in Rechnung zu stellen :)
 
Lass es doch einfach mit der Diskussion bleiben ... es gibt keine NEUE Engine

CS:S wird auf eine aktualisierte Engine geported! Da brauch ich nicht diskutieren! Die Grafik verändert sich und es werden neue features dabei sein ob das nun ein update oder upgrade auf die aktualisierte Engine ist, ist egal, da es fakt bleibt

so meine Theorie

nein, hauptsächlich wegen der Compatibilität zu MacOS wurde CS:S auf die OB geported!
 
Last edited by a moderator:
CS:S wird auf eine aktualisierte Engine geported!
Siehe: http://en.wikipedia.org/wiki/Porting

Wenigstens stimmst du aber mittlerweile, wenn auch scheinbar unwissentlich, zu dass es eine aktualisierte (=updated) Version und keine neue ist.

hauptsächlich wegen der Compatibilität zu MacOS wurde CS:S auf die OB geported!

Siehe: (sagt das nicht das Gleiche aus?)
Aber bedenk dass Valve aktuell mehrere Engine-Zweige [...] fuer jeweils 3 Plattformen umsetzen muss. Der [...] Entwicklungsaufwand wurde ihnen, so meine Theorie, einfach zu gross

So und jetzt lass ich den Thread in Frieden sterben. RIP!
 
Der Verwaltungs- und Entwicklungsaufwand wurde ihnen, so meine Theorie, einfach zu gross und ein Zweig wurde fallen gelassen; CSS wurde auf eine andere, moeglichst kompatible Branch aktualisiert

So und jetzt lass ich den Thread in Frieden sterben. RIP!

weisste d4f du bist halt cool!

Das was du sagst ist falsch! Die Engine von 2007 auf der CS:S gerade läuft ist nicht MacOS kompatible! Deswegen wird die auf die OB geported, wegen der kompatibilität zu MacOS und nicht weil Der Verwaltungs- und Entwicklungsaufwand zu groß wurde!

Ausserdem wollt ich dem Threadsteller nur sagen, dass CS:S bald auf einer neuen Engine läuft (in diesem Falle auf der up2date Sourceengine von 2009 (OB))!

Die ganze Diskussion über die richtige definition ist hier offtopic und offtopic gehört hier nicht rein

So und jetzt bin ich d4f cool RIP
 
Last edited by a moderator:
*seufz* einer muss noch, einer muss noch drauf *sing*.

Die Engine von 2007 auf der CS:S gerade läuft ist nicht MacOS kompatible!
Das war die Orangebox-Engine auch nicht bevor sie auf die Plattform portiert wurde; oder zumindest der Clientteil (auch wenn sie bereits OpenGL statt DirectX benutzen konnte und somit einen grossen Teil des Programmieraufwandes bereits getan war).
Durch die Crossplattform-Basis des Serverteils wurde wahrscheinlich dessen Portierung sehr vereinfacht.
Eine Engine die zu jeder Plattform kompatibel waere noch bevor sie auf eine solche portiert wird waere bestimmt eine Weltneuheit =)

Somit sind wir wieder zurueck zur Frage ob es Valve nicht zu aufwaendig wurde...

Ausserdem wollt ich dem Threadsteller nur sagen, dass CS:S bald auf einer neuen Engine läuft
Andere Engine, andere Belastung. DIe Serverbelastung der Beta ist jedoch nach meinen bisherigen Tests (welche ermangels vieler Spieler stark reduziert laufen mussten) relativ vergleichbar mit der aktuellen Version und auch ansonsten konnte ich bei der IO- (Disk & Network) und Systembelastung keine grossen Unterschiede im Pattern erkennen.ûþþ þ'þ
 
Back
Top