hieve

Headless Clients

11 posts in this topic

hey leute,

 

ich wollte mal fragen ob jemand von euch einen Headless Client zum laufen bekommen hab?

meine aktuellen Versuche(auch ohne exile) verliefen alle dermassen schlecht...

 

Ständiges problem: 

der 1. Headless Client connected nicht, 2. und 3. tut es? - problem tauchte bisher immer auf, auch nach neu installation etc.

Schwache Perfomance:

Der Headless Client selbst zieht sehr viel Ressourcen, der Mehrgewinn ist kaum gegeben (ich würde fast behaupten garnicht)

 

Wie ist euer vorgehen? das BI forum ist zugespammt ohne ende und man findet sich kaum zurecht, leider sind auch die meisten der dokumente zu den headless clients veraltet und die example mission funktionieren meist garnicht.

 

Gibt es jemanden der sich hierbei gut auskennt und einen simplen Weg kennt ALLE AI einheiten dem Headless Client zu übergeben oder geschieht dies automatisch?

 

Ich hatte außerdem probleme mit Zombies & Demons und Headless Clients, für jeden Headless Client wurde der Spawner nochmals generiert , somit wurde die Anzahl der Zombies für jeden headless client erneut gespawnt.

Share this post


Link to post
Share on other sites
Advertisement
5 hours ago, [SKS]Goliath said:

wir haben pro server 3 hc clients 

da ist der link https://community.bistudio.com/wiki/Arma_3_Headless_Client

aber funktionieren diese sinvoll? laufen diese auf den selben server? was sind die startparameter? wie habt ihr diese zugewiesen/wie kriegn diese einheiten zugewiesen?

der link ist mir wohl bekannt.. aber wie bereits benannt ist dort nicht sehr viel erklärt.

 

zum testen hab ich mal vanilla hergenommen, headless clients rein gemacht (hc1/hc2) , leider selbe fehler -> 1. headless connected einfach nciht, die console geht auf aber bleibt einfach leer, der 2. schaffts dann und wird auch auf den hc platz zugewiesen.

500 ai reingekloppt -> diese über setgroupowner übergeben , perfomancegewinn = 1% wenn überhaupt?

Share this post


Link to post
Share on other sites

Posted (edited)

Der Vorteil vom Headless Client ist das man die zusätzlichen Ressourcen die benötigt werden aus dem Server-Prozess raus bekommt. Ein Server Dienst sollte immer nur eins tun: Das, wofür er gebaut worden ist.

Du kannst es mit einem Postverteiler in einer Firma vergleichen: Wenn er das tut woür er eingestellt wurde sind alle zufrieden weil die Post pünktlich bei den Abteilungen ankommt. Kommt aber irgendwer auf die Idee der Postverteiler könnte ja noch - weil er ja günstig ist - noch nebenbei Kaffee kochen, den Müll raus bringen und das Auto vom Chef waschen so müssen alle auf ihre Post warten.

Stellst Du aber einen zweiten ein, der den Kaffee kocht, den Müll raus bringt und das Auto vom Chef wäscht kommt auch die Post pünktlich.... Auch wenn mal mehr Post ankommt.

Analogie in der Geschichte:

Serverhardware: Firmengebäude
arma3server (client) = Kaffeekocher, Müll rausbringer und Autowäscher
arma3server (server) = Postverteiler

Armaserver (client & server) teilen sich zwar die gleiche Hardware, blockieren sich aber nicht messbar... Ordentliche Hardware vorausgesetzt. Es geht also primär darum den Server Prozess der mit an Sicherheit grenzender Wahrscheinlichkeit Single-Threaded ist zu entlasten damit er sich aufs wesentliche konzentrieren kann.

Es kommt ganz und gar auf das Setup an: Laufen Deine HC's auf dem gleichen Server (empfohlen) oder hast Du sie auf andere Rechner ausgelagert? Im letzteren Fall sollte dann die andere Hardware im gleichen lokalen Netz stehen, ansonsten hast Du vermutlich zu hohe Zeiten in der Kommunikation HC <-> Server was den Server bremst.

Und über wie viele User und gleichzeitige Missionen reden wir das Du 3 HC's laufen hast? Hast Du in den Standard-Configs die AI's / Missionen hochgedreht?  Ich habe gerade mal zwei laufen (FuMS & A3XAI). FuMS hat übrigens eine Option wo man einstellen kann auf welchem HC das ganze laufen soll (erste der connectiert, alle oder server sind glaub ich die Optionen).

Meine Messungen ergaben das die Serverlast bei A3XAI im HC um ca. 10-15% zurück geht. FuMS kann man nicht messen da er nur im HC läuft.

Edit:

Ich bin übrigens am anfang darüber gefallen das ich in der server config die optionen für headlessclient & localclient nicht gesetzt hatte.
Wenn Du noch hilfe brauchst können wer gerne mal ne TS session machen.

 

Gruß

Blacksheep

 

Edited by Blacksheep

Share this post


Link to post
Share on other sites

hey blacksheep, danke für die ausführliche Info, wofür der headless ist und was er tut ist mir schon bewusst, es hapert nur leider an der konfiguration / installation.

und ja A3XAI und andere vorgefertigte Systeme bieten Möglichkeiten diesen zu aktivieren, aber ich konnte wie gesagt aktuell keine allzu große Veränderung sehen, ich vermute hierbei einfach das ich ein detail vergessen habe..

 

ich würde auch gerne mal das ganze testen, hab aber wie gesagt bis auf die möglichkeit den gruppenowner = headlessclient zu setzen noch keine pauschale Möglichkeit gefunden jegliche AI des servers zu transferieren.

die sachen in der server.cfg sind drin.

ablauf bei mir:

hc1 connected nicht

hc2 connected fehlerfrei, wird hc1 platz zugeordnet

hc3 tut das selbe wie hc2 nur auf platz von hc2 dann natürlich.

 

trotz einer neu installation hab ich diesen fehler immer wieder, hab ich hier etwas falsch verstanden? ich nutze wirklich 100% die info aus der BI Wiki , mehrfach neu aufgesetzt, immer selbes problem, feedback tracker reingeschriebn, nur der ist jetzt ja leider down...

 

ich hoffe ja das hier jemand sich mit dem ganzen ein wenig besser auskennt und vll eine Möglichkeit kennt :

- jegliche AI auf den HC zu transferieren

- ein anderes kommando wie man Objecte auf den HC transferiert

 

 

Share this post


Link to post
Share on other sites

Posted (edited)

@hieve:

Wir sollten das wirklich mal am WE im TS besprechen, hört sich interessant an ;)

Meinem Verständnis nach muss man für jedes HC-fähige Mission System (A3XAI, FuMS, etc...) einen eigenen HC konfigurieren, wobei jedes Mission System mehrere HCs haben kann. Also kann man z.B. 3 HC's für A3XAI und 2 für FuMS laufen lassen, aber nicht 5 bei denen A3XAI _UND_ FuMS läuft. Mischen geht nach meinem Verständnis nicht, käme auf einen Test an.

Start-Script und Logs wären interessant (pastebin).

Ich mache gerade tests auf einer i7 Core mit 4 GHz. Ich habe einen Docker Container (bootet saufix und man kann in Sekunden Backups fahren) in denen Exile mit A3XAI (serverseitig, noch kein HC) und FuMS im HC läuft. Aktuell ist der Server Idle, d.h. keine User.

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                                                                                  
27447 exile     20   0 1863844 1.499g  44828 R  82.7  9.7   9:14.72 arma3server                                                                                                                                                              
27444 exile     20   0 1712164 1.499g  29844 S  41.5  9.7   5:03.35 arma3server 

Prozes 27447 ist der client, 27444 der Server. Der nächste Schritt wäre jetzt A3XAI in einen HC auszulagern. Dann wäre messbar ob es den Serverprozess entlastet.

@=TBM= BangL

Schau Dir mal Deine Server-Config an und setz verifySignatures auf 0.

 

Gruß

Blacksheep

Edited by Blacksheep
1 person likes this

Share this post


Link to post
Share on other sites

ja würde mich mal interessieren, ich nutze hier allerdings windows(mit mods und case sensetivity war mir das unter linux etwas zu heftig alle scripts zu debuggen)

verifySignatures = 0  bedeutet hierbei das du nicht auf modsignaturen prüfst und sollte nicht gesetzt werden, ich hab es hier sogar auf 2 gesetzt(1 ist laut arma entwicklern nicht mehr empfohlen, exile hat standardmäßig aber 1)

soweit ich weiß kann mit 0 jeder joinen, egal ob er die richtigen mods hat oder nicht

1 person likes this

Share this post


Link to post
Share on other sites
2 hours ago, hieve said:

ja würde mich mal interessieren, ich nutze hier allerdings windows(mit mods und case sensetivity war mir das unter linux etwas zu heftig alle scripts zu debuggen)

verifySignatures = 0  bedeutet hierbei das du nicht auf modsignaturen prüfst und sollte nicht gesetzt werden, ich hab es hier sogar auf 2 gesetzt(1 ist laut arma entwicklern nicht mehr empfohlen, exile hat standardmäßig aber 1)

soweit ich weiß kann mit 0 jeder joinen, egal ob er die richtigen mods hat oder nicht

genau so siehts aus, also das ist nun wirklich keine option.

als nächstes dann auchnoch battleye und infistar aus oder was?

ne, also ehrlich.. danke für den versuch, aber von symptom-bekämpfung halte ich nichts. Ursachen-bekämpfung ist das Ziel.

Share this post


Link to post
Share on other sites
Advertisement

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.