09.12.2012, 19:16 | #1 (permalink) |
Headless Client
Hallo,
einige haben es bestimmt mitbekommen: https://dev-heaven.net/issues/62500 Leider scheinen nur IT Fachleute zu verstehen was das ist oder wozu es dient. Der Bug der hier behoben wurde, soll wohl einen Server mit hohen Spielerzahlen wesentlich besser laufen lassen. (weniger Lags) Jedoch ist mir nicht klar ob dies jetzt automatisch mit der Nutzung des aktuellsten Betapatches in Kraft tritt oder ob es da noch weiterer Einstellungen bedarf. Immerhin ist ein neuer Parameter für die server.cfg hinzu gekommen. Code:
localClient[]={127.0.0.1}; - Was ist ein Headless Client und wofür genau ist das gut? - Ist ein Headless Client ein lokaler Client? - Wie wende ich die Neuerung an - Betapatch benutzen und fertig? - Was hat es mit dem neuen Paramter für die server.cfg auf sich? Ich hoffe es gibt ein paar Leute die Licht in's dunkel bringen können und den Headless Client bzw. das was BIS da gemacht hat mal den nicht IT'lern näher bringen können. Grüße
__________________
Niemand hat die Absicht eine Tüte zu bauen! ___<<<A3 Wounding System>>>___ |
|
09.12.2012, 19:24 | #2 (permalink) |
Registriert seit: 13.04.2003
Ort: Monerica
Alter: 42
Beiträge: 32.979
|
Hätt ich bloss mal besser zugehört als es desletzt im TS Thema war... weiss nichtmal mehr wer dazu referiert hatte.
Unterm Strich was ich behalten hab: ----------------------------------- -wirkt sich nur dann positiv aus, wenn clients ingame nicht stets in unmittelbarer Nähe zueinander verbringen. -hilft mir nicht soviel. -ist toll für DayZ. edit: http://forums.unitedoperations.net/i...adless-client/ ^^ Was shacktac dazu sagt. Sehe zwar keinen Unterschied zu einer normalen "100 KIs versohlen Spielern in Stadt den Arsch" Situation, aber irgendwofür muss es ja gut sein |
09.12.2012, 19:52 | #3 (permalink) |
Registriert seit: 16.07.2010
Beiträge: 305
|
Das Thema wurde bereits von mir und Xeno in diesen Thread genauer erläutert. Im Grunde ist es nur ein abgespeckter Client in Form einer separaten Instanz, die entweder auf dem Server oder irgendwo anders laufen muss(deswegen muss man die IP angeben). Jedoch entfällt die Geschwindigkeitsbegrenzung von 100MB/s, wenn dieser Client auf dem selben Server läuft (diese Geschwindigkeitsoptimierung kam durch den Beta-Patch). Mit diesen abgespeckten Client versucht BI nun die schlechte CPU-Thread-Auslastung des Servers, durch die bereits optimierte des Clients zu kompensieren. Nochmal im Klartext: (Server nutzt 1,5 Kerne) + (Client nutzt ~4Kerne) = ~5,5Kerne = Viel mehr Performance. Zusätzlich kommt noch hinzu, dass jede Mission für die separate KI Berechnung angepasst werden muss. (Wie genau wissen wohl nur die von ShacTac).
Man könnte es auch so vergleichen: Anstatt eine QuadCore CPU zu entwickeln, fordern sie nun, dass man ein SingleCore und ein DualCore zusammen benutzen soll. Die Alternative wäre nur ein SigleCore. Geändert von Rockhount (09.12.2012 um 20:00 Uhr). |
09.12.2012, 22:07 | #4 (permalink) |
Registriert seit: 03.01.2008
Alter: 84
Beiträge: 6.552
|
Hab doch in dem dev-heaven Thread schon vor Zeiten eine Test Version von Domina dran gehangen die beides unterstützt. Wenn ein HC da ist wird die sonst serverseitige KI auf dem HC gespawned und dort verwaltet/berechnet, wenn kein HC da ist auf dem Server so wie gewohnt. Momentan ist das Ganze allerdings nicht wirklich zu gebrauchen. Der einzige Vorteil ist, das der Server mehr Luft hat bei vielen Spielern weil er sich eben nicht auch noch um die KI kümmern muss. Es ist schon einiges an Fummelei notwendig um zu erkennen welcher Client der HC ist und dann auch dafür zu sorgen das der die KI auch handled (spawned, Wegpunkte, etc, etc). Mal davon abgesehen das der HC wie jeder andere Client auch gekickt und gebannt werden kann (nicht witzig auf einem public Server). Auch belegt er einen normalen Spieler Slot und es wird ingame ein normales Spieler Entity erzeugt, wie halt bei jedem anderen Client auch. Fällt der HC während der Mission aus (Crash, Kick, Bann, etc), landet die KI wieder auf dem Server hat dann aber z.B. keine Wegpunkte mehr. Das hat übrigens nichts mit dayz zu tun. Das benutzt eine ganz andere Herangehensweise: dort werden die Zombie Agenten auf einem Spieler Rechner gespawned wenn der in die Nähe von Gebäuden kommt, nicht auf dem Server. Ein HC der auf der gleichen Hardware wie der Server läuft und dort auf einem ArmA Server connected (geht automatisch) hat lediglich uneingeschränkte Bandbreite wenn der entsprechende localClient Eintrag in der server.cfg ist und handled dann die KI über das Netzwerk wie ein Server und nicht wie ein normaler Client (also z.B. Updates unabhängig von der Kamera Position). Mehr KI bedeutet das übrigens nicht. Dafür müsste an der Engine was ganz anderes geändert werden. Xeno Geändert von Xeno (09.12.2012 um 22:11 Uhr). |
10.12.2012, 08:47 | #5 (permalink) |
His Awesomeness!
Registriert seit: 25.07.2006
Ort: Regnum Borussiae
Beiträge: 9.282
|
Wenn die Server eh nur wenig auf Mehrkern setzen, hätte man dann nicht mal primär an einem Multi-Core-Konzept feilen sollen, bevor man pervertierte Ansätze eines verteilten Systems baut? Das riecht mir schon wieder etwas nach "am Core-Problem vorbei". Klar ist von ShackTac, aber ich frage mich weshalb da nicht bei BIS gleich mal jemand von der Netzwerkfraktion aufspringt...
|
10.12.2012, 10:43 | #6 (permalink) |
Hallo,
danke euch allen für die Infos und Links - das hilft mir alles wirklich weiter. Ich werde die Tage jetzt mal versuchen so einen HC auf meinen Server zu schubsen. Grüße
__________________
Niemand hat die Absicht eine Tüte zu bauen! ___<<<A3 Wounding System>>>___ |
|
10.12.2012, 11:03 | #7 (permalink) |
Registriert seit: 03.01.2008
Alter: 84
Beiträge: 6.552
|
Da gibt es nicht viel zu schubsen. Einfach die eine Zeile in die server.cfg und die normale Client Exe (arma2oa.exe) mit den Parametern für einen HC auf dem Server starten.
Benötigt natürlich im Gegensatz zur normalen Server Applikation einen Key, sprich Du musst ein gekauftes OA auf dem Server installiert haben. Ohne umgebaute Missionen bringt das aber rein gar nichts. Xeno |
10.12.2012, 12:10 | #8 (permalink) |
Na ein Beispiel hast du ja bereits in deiner Domi bereitgestellt. Da hab ich zwar noch nicht reingeschaut aber ich denke schon zu verstehen was du da gemacht hast wenn ich es sehe.
__________________
Niemand hat die Absicht eine Tüte zu bauen! ___<<<A3 Wounding System>>>___ |
|
10.12.2012, 13:09 | #9 (permalink) |
Registriert seit: 03.01.2008
Alter: 84
Beiträge: 6.552
|
Musst dafür Sorge tragen das sowohl arma2oaserver als auch der HC mit der letzten verfügbaren Beta laufen. Und wenn ich mich recht erinnere habe ich zumindest in diese schnell zusammengeschusterte Domina Version auch eine Abfrage nach einer Versionsnummer von einer Beta rein gemacht.
Also Spieler die connecten brauchen auch die Beta. Xeno |
10.12.2012, 13:35 | #10 (permalink) |
Registriert seit: 16.11.2006
Ort: Paris-Rom-Erkner
Alter: 53
Beiträge: 6.205
|
Also: Um eventuell den Sever performanter zu bekommen muss ich: - Lizenzen kaufen - mission entsprechend umbauen - mission muss wissen welche slots/ids auf dem HC liegen (sollen) Und dazu wird die ganze Kommunikation zwischen server<->client(s) auch noch durch den kompletten Stack geprügelt obwohl auf der selben maschine . BIS SW Frickler lieben Bauschaum/Silikon/Draht/Bindfaden. Ich sehe es nicht kommen dass HC irgendwie ernsthaft und im größerem Maßstab genutzt wird weil es sich nicht anhört als ob es stabil sein wird und einfach zu warten.
__________________
|
10.12.2012, 13:59 | #11 (permalink) |
Registriert seit: 16.07.2010
Beiträge: 305
|
Es liegt meiner Meinung nach einfach an die viel zu komplexe Implementierung/Bereitstellung. BI sollte lieber eine interne Weiterleitung der createVehicle,createUnit,... Befehle, die an den Server gerichtet sind, automatisch an den HC schicken, der ebenfalls automatisch mit gestartet werden sollte. Die Weiterleitung der Befehle sollte aber für das Scripten unsichtbar bleiben. Außerdem sollte eine Ausnahmeregel implementiert werden, damit man den HC nicht kicken/bannen kann. Somit würde man die Leistung auf einfacher Weise automatisch verdreifachen.
Geändert von Rockhount (10.12.2012 um 14:08 Uhr). |
10.12.2012, 14:07 | #12 (permalink) |
Ja stimmt schon - das ist mal wieder echt am eigentlichen Problem dran vorbei gebastelt.
Aber genutzt werden wird es schon. Im großen Maßstab natürlich nicht - warum auch? Denn wieviele Server haben mal wirklich mehr als 50 Spieler auf dem Server. Das ist nur für Serveradmins interessant die eben auch mal 100 Spieler auf ihrem Server unter bringen wollen. (dazu zähle ich mich) Es kann dir also eigentlich am A.... vorbei gehen I&C wie gut das implementiert ist. Freu dich lieber wenn du als User auf einem gut funktionierenden Server deine virtuelle Munition verschießt statt dich immer und über alles zu echauffieren. Grüße
__________________
Niemand hat die Absicht eine Tüte zu bauen! ___<<<A3 Wounding System>>>___ |
|
10.12.2012, 14:26 | #13 (permalink) |
Registriert seit: 16.11.2006
Ort: Paris-Rom-Erkner
Alter: 53
Beiträge: 6.205
|
Henne-Ei!
Warum sind selten mehr als 40 Spieler / server? Weil es nicht funzt!!! Wenn es praktisch gehen würde dass 100 humans + 1000+ AI an einem server laufen - dann hätten wir endlich diese epischen Schlachten von denen BIS faselt.
__________________
|
10.12.2012, 15:05 | #14 (permalink) |
Registriert seit: 14.10.2010
Ort: NRW
Alter: 30
Beiträge: 347
|
Ich muss zugeben ich habe so gut wie gar keine Ahnung von dem Netzwerk/MP Kram.
Ich hätte aber mal ´ne Frage dazu, wie viel mehr Aufwand ist es denn das eigentliche Problem zu lösen im gegensatz zu dem HC? Ich denke nicht das die jetzt den HC leise in irgendwelche Beta patches packen und davon ausgehen das der MP jetzt "fertig" ist.^^ offtopic.: Gibt es die Patches eigentlich noch regelmäßig? Ich habe da schon länger nicht mehr nachgeguckt. |
10.12.2012, 15:12 | #15 (permalink) |
Registriert seit: 16.07.2010
Beiträge: 305
|
Das kann man so nicht beantworten, da wir den Sourcecode des Servers nicht haben. Wenn man nun aber die Summe aller Arbeitsstunden zusammen rechnet, die die Community Admins auf sich nehmen müssen, damit sie den HC implementieren können, dann könnte man sagen, dass die MultiThread Optimierung an der Engine wesentlich weniger Aufwand kosten würde. Das liegt aber daran, dass BI extrem faul ist, wenn es um die Optimierung der Engine geht. Die würden lieber 1000 Umwege basteln, anstatt an der Engine eine Codezeile zu ändern. Geändert von Rockhount (10.12.2012 um 15:15 Uhr). |
10.12.2012, 15:16 | #16 (permalink) |
Registriert seit: 03.01.2008
Alter: 84
Beiträge: 6.552
|
Dann musst Du PlanetSide 2 spielen, da gehen 1800 Spieler auf einem Server (eventuell auch schon mehr, ist allerdings reines PvP) Xeno |
10.12.2012, 15:45 | #17 (permalink) |
Registriert seit: 16.07.2010
Beiträge: 305
|
Ich wage mal zu behaupten, dass wenn der ArmA Server auf die zukünftige CPU Skalierung(16Kerne+) optimiert werden würde und wenn man ein Server mit 16Kerne mit jeweils ~3GHz und 1Gbit hätte, dass man dann vielleicht sogar in ArmA über 800 Spieler zusammen kriegen könnte (ohne die Optimierung des NetCodes und ohne CustomFiles).
Geändert von Rockhount (10.12.2012 um 15:52 Uhr). |
10.12.2012, 17:51 | #20 (permalink) |
Registriert seit: 24.02.2008
Beiträge: 2.397
|
nicht mehr lange C&C lässt grüssen..........die C&C Frauen gequatsche ist ja schon drinne aber nur wenn die nichts machen....sobald da die hälfte schiesst bricht alles ein wie sonst auch.
__________________
masturbation simulator Arma 3 Dev" so far we haven't deemed it an issues significant enough for hotfixing and also there haven't been many requests for it." so Arbeitet man |
Stichworte |
headless client, kopfloser kunde, zauberei |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Multiplayer nicht gängig? | Hunne | Multiplayer | 6 | 04.01.2012 15:13 |
Merkwürdiges Dedi Serverproblem - trotz intensiver Suche nichts gefunden... | Qu!nt | Multiplayer | 5 | 11.10.2011 16:15 |
"Battleye client not responsing" | Pow3rlocke | Technische Fragen & Probleme | 2 | 21.12.2010 15:41 |
Script nur auf dem Server bzw. Client ausführen ! | N939 | Editing & Scripting | 30 | 26.08.2010 12:40 |
Erstelle Client... | schindlaman | Multiplayer | 9 | 27.05.2010 20:28 |