Jump to content

fred41

Member
  • Content Count

    536
  • Joined

  • Last visited

  • Medals

Everything posted by fred41

  1. .. when i buyed arma 3 alpha, i assumed a complete new script processing engine is waiting for me to be investigated (including java) ... Let's say, i was a bit "suprised", to discover the same single threaded (scheduled, non scheduled) environment again ... :(
  2. ... then you need an separate worker thread (see my post above), so that you can return immediate ... In your example you return PAST the Sleep (5000) : void __stdcall RVExtension(char *output, int outputSize, const char *function) { //immediate return strncpy_s(output, outputSize, "ok", _TRUNCATE); //sleep for 5 sec Sleep (5000); } <- here the function returns and the script engine can proceed ....
  3. ... yes, it is because script processing is still single threaded at all (called or spawned) ... Spawned script code is processed delayed, with lower priority and statement throughput (scheduled, or multiplexed with other spawned scripts), but it is using the SAME CPU THREAD (same core). So it is always important to return as soon as possible to give the engine the control of the thread back. If your .dll function really need more time, you could generate an separate worker thread inside your .dll, so that the time and power consuming processing is separated from script processing main thread. (If you need the result from your function processing immediately, then you are in trouble and all you can do is optimizing and optimizing and ....)
  4. ... yes, this should be the reason ... Can't really recommend to run a DS as a service (alpha, security), but i will upload a custom build of ASM for testing to github for you (link will follow). you only have to replace the two binarys: https://github.com/fred41/ASM/tree/master/binary_service ((run ArmaServerMonitor as Administrator) OR (run at least one DS instance BEFORE ArmaServerMonitor)) AND (a swapfile on your server is required) Terox, do you really have TWO "ASM.fsm started" entrys in your servers .RPT log? There should be only one. Did you start fn_ASM.fsm from init.sqf additional?
  5. ... really nice work, thanks for sharing :rolleyes:
  6. ... and a bit more user friendly now ... 1. history graphs for values FPS, CPS, Players, AIs (200 samples) 2. visibility of graphs individual switchable 3. update interval of history selectable (1,5,10 or 30sec) 4. transparancy switchable (default transparency off, black background) 5. colors changed for more intuitive watching (hint: use the right mouse button to open one of two little popup menus)
  7. @killzone_kid, thanks for adding comments to the config.cpp code, its easier to use for everybody now ... (One point seems to need clarification: the forced start of the defined function seems to be exactly at mission start, at least me .rpt log files suggest it?) To your first question: this project is basically designed to monitor states (polling from MMF). To monitor events, i would prefer "named pipes" (just reading from FIFO). (If you need help for interfacing with callextension in your own projects, feel free to PM me your questions). BTW: There are already some nice, ready solutions to monitor and filter changes in .rpt files: https://sites.google.com/site/macsarmatools/rptmon May be this offers a better solution for you?
  8. ... hours later ... ...found a nice way to start ASM.fsm without editing the mission file(s) and without the need of CBA extended eventhandlers ... I just defined a new class in cfgFunctions (see config.cpp in ASM.pbo). class cfgFunctions { class A3 { class ArmaServerMonitor { file = "ASM"; class ASM { ext = ".fsm"; forced = 1; }; }; }; }; forced = 1; is the key here, it forces one initial call to the defined function at mission start This works great on Arma 3 for me, maybe it helps someone of you too.
  9. @Terox, i think i will use your methode in mini-addon to offer an option for users already using CBA. That will save the packing in each mission file, without to introduce additional dependency in this case. @JW Custom, where should one put the initServer.sqf file? (I didnt found any documentation about that auto start methode)
  10. ... Terox, two good ideas ... Do you know, what exactly is nessessary to load this one ASM.fsm in a serverside addon? Edit: ... aah, found a small example addon, i'd like to see if its within my abilities ...
  11. ... just make your own config file with a template from here: http://community.bistudio.com/wiki/server.cfg put it in a directory of your choice and append something like this: -config=your_dir\your_file_name.cfg to your startup link ...
  12. ... it is of course very mission dependent and depends of the number of players. Scheduled code execution, like spawned script code, code executed by execVM, condition evaluation in (AI) FSMs has nearly no impact to the server FPS, while non scheduled code execution like eventhandler processing, actions in AI FSM e.t.c. has high server FPS impact. A high number of players will normally cause frequently triggered eventhandlers, AI actions e.t.c., so it impacts server FPS a lot. That AI is walking through walls, indicates that the scheduler is heavy (over)loaded, which causes the delayed condition evaluatiions in AI FSMs, even if you see high server FPS values. See here for details about scheduled/non scheduled code execution: http://community.bistudio.com/wiki/Code_Optimisation I think, it is time for an extended version of the #monitor/diag_fps() command, to allow server admins and developers to monitor the current scheduler load too!!! But to the thread topic question: Client FPS schould normally be independent from server FPS (except lags caused by synchronisation delays, still a problem in the current state of the game)
  13. Dwarden, George_, thanks for your answer and enlightenment. So if i understand it correctly: To have a fully working (workaround free) MP developer environment available in the future, all we need is a DS, able to run in exclusive LAN mode (arma3server.exe -devlan, e.g.). If so (WIP), this are really good news, i cant wait and thanks again :)
  14. ... I did all of my attempts via LAN servers ... (PLAY -> MULTIPLAYER -> ADDRESS (click to upper right corner ADDRESS:LAN) -> (selecting my server, the only one listed) -> JOIN) result still: "invalid steam ticked recieved"
  15. Dwarden, thanks for your answer. I tried your advice again with kickduplicate = 0 AND commented out // reportingIP (was already set to "127.0.0.1"). ... and i still get : "invalid steam ticket recieved" In server.rpt i found entrys like this: Server error: Player without identity fred (id 1001823041) ... Server error: Player without identity fred (id 1324983235) ... The "id" is changing for each new attempt and seems to be randomly. I tried the dedicated server (arma3server.exe) and (arma3.exe -server). I tried this local and from remote LAN client. Here is my server.cfg just for verifying: ... nothing special. So i have really no idea what additional "trick" i have to use to make this workaround working. Thanks for your help. BTW: Wouldnt it be a better solution to generally allow connections from local client (same machine) to server, whitout the need of steam? Couldnt this make the live of MP mission developers much easier (no STEAM process kill nessecary)?
  16. ... yes, it seems you are right here, my translation was wrong and i completly misunderstood this for weeks, thanks for enlightenment :) BTW: your SQUINT looks very interesting (will investigate it more in the next days). Do you plan to maintain it for arma 3 too?
  17. ... back to thread topic ... I think it is very important for mod/mission developers to understand the script processing engine mechanisms. There is a helpful wiki about optimizing script code here: http://community.bistudio.com/wiki/Code_Optimisation This doesnt answer the initial questions, but could help a bit to clear the fog. The fact that compiled code is running up to 20 times faster then uncompiled, is a hint that the compiled code is something like metacode? Maybe one of the BI-developers here, could help us a bit to understand the script processing a bit better? Thanks in advance :)
  18. fred41

    Low CPU utilization & Low FPS

    ... better late then never and thanks for pay attention ... :)
  19. ... i tested your advice again (with additional kickduplicate = 0) and got still the same result: "invalid steam ticked received" while this message occcurs i see in server console the following: 8:09:05 Player fred connected (id=0). 8:09:05 Player fred disconnected. Dwarden, could be there something special in your setup you forgot to mention?
  20. Dwarden, i tested your advice and it does not work ... ... i got "invalid steam ticked received" if i terminate (kill) steam by taskmanager. (Terminating STEAM regular is not possible without terminating Arma 3 alpha client before) Could you please test it by your own? Fred41
  21. ... yes, the AI and the underlayed old script processing design (not changed much since arma 2). The main problem seems that script execution in the non scheduled environment (calls from eventhandlers) is still mixed with the script execution in the scheduled environment (spawn, execVM, FSM condition evaluation) in ONE SINGLE THREAD, what means all script processing can never use more then one core. A very important point is that the execution time of scheduled scripts currently depends from the number of scripts concurrently running (AI-FSM conditions, etc), that makes AI so slow responding if you have more of them. see here for script processing details: http://community.bistudio.com/wiki/Code_Optimisation (look in threads). I really wish that BIS will make here the next step. Of course it will not be easy, but it is time to do it ...
  22. ... for all fans of Domination 2, xeno has just now updated Domination to 2.99e for the DEV build of Arma 3 ... * Changed: Send players with a non valid UID back to the lobby * Changed: All clientside functions are now compiled with compileFinal, means they can't be changed during mission runtime anymore. ... http://hx3.de/usermade-missions-189/domination-fuer-a3-unmoralisches-angebot-22421/9/#post448936
  23. Ok, thanks. Will try this. ... hmm, checked it, seems not really a solution for save the contents of memory, but more to show how the memory is used in quantities ... ?
  24. ... i am still interested on a hint: how to extract this from memory? What tools are needed for capturing?
  25. Migebuff, could you give me a hint, where to find this info about "extracting script code from memory" (cant find it), please?
×