VictorFarbau 0 Posted June 12, 2007 Since my dedicated server was down today I had to try this (using 1.08): Started Arma.exe and ArmaServer.exe on the same machine. That worked well. Then I set the CPU affinity of arma.exe to CPU 0 and arma_server.exe to CPU 1. Started "Seize the base" and played a nice long coop mission. Both CPUs used 70-90% all the time, memory consumption in total was 1.3GB (got 2GB). A very nice way to use the potential of your dual core machine and circumvent the perfomance limitations of running a non-dedicated server. The odd thing was that I still had some lag and AI soldiers were partially jumping around. You would think this shouldn't occur with a ping <0ms (localhost). But it does. Cheers, Victor Share this post Link to post Share on other sites
Nutty_101 0 Posted June 13, 2007 The lag you are getting might be due to the game hitting the hard drive to load in objects or other data. If both the server and client hit at the same time then you will get lag. Share this post Link to post Share on other sites
max power 21 Posted June 13, 2007 This is a neat trick that I used to do in my il2 days. Having a dedicated server machine is still preferable, though. Share this post Link to post Share on other sites
sickboy 13 Posted June 13, 2007 Nothing New :P But you might resolve the jumping etc by toying with the bandwidth settings, afaik they are pretty narrowly setup per default. Share this post Link to post Share on other sites
VictorFarbau 0 Posted June 13, 2007 @Sickboy, waddya mean "nothing new"? I think I discovered a live-changing concept!!! Anyways, I was just surprised how well the CPU load balancing works with both server and client running. @Nutty, I am not convinced about the lag. It is the same lag that I have when I use my dedi server in my local LAN (100mbit) or even server on the Internet. There's always the same amount of lag. Maybe it really is due to less-than-optimal bandwidth settings on the server side. Victor Share this post Link to post Share on other sites
sickboy 13 Posted June 13, 2007 @Sickboy, waddya mean "nothing new"? I think I discovered a live-changing concept!!!Anyways, I was just surprised how well the CPU load balancing works with both server and client running. A life changing concept? Ok, well im happy that you perceive it this way mate, for me it's nothing more than logics ) I think ur method is preferred in any case when having a dualcore and wanting to run a server. I think the ingame server is more heavy as it's limited together with the game to 1 cpu But In general it might be wise to put the dedicated server on "Low" priority to certainly leave cpu %% available to background apps and other stuff Share this post Link to post Share on other sites
VictorFarbau 0 Posted June 13, 2007 Ah no worries about CPU priority, there's still plenty of latency time available for bg processes. In fact the only life-changing insight to me is that you can run both server and client in parallel on the same unit. Was that also possible in OFP? I don't recall; I just thought you can't do it. Now I know better. Victor Share this post Link to post Share on other sites
S.O.S 0 Posted June 13, 2007 In fact the only life-changing insight to me is that you can run both server and client in parallel on the same unit.Was that also possible in OFP? Thats possible with any software which consist of two seperated client and server processes. Share this post Link to post Share on other sites
Auss 208 Posted June 13, 2007 This method is common among mission makers to test their Missions on a dedicated server if they dont have a second PC at home, was also done in OFP. Share this post Link to post Share on other sites
Mehmehmeh 0 Posted June 14, 2007 Speaking of dual CPU and quad CPU... Is there a way of setting the CPU affinity automatically instead of going via task manager? What I am trying to say is, start server running on CPU0 and start the game running on CPU3 without the use of task manager or third party applications? I made a search on the net and various forums, but it seems it is not the case? Share this post Link to post Share on other sites
sickboy 13 Posted June 14, 2007 Speaking of dual CPU and quad CPU...Is there a way of setting the CPU affinity automatically instead of going via task manager? What I am trying to say is, start server running on CPU0 and start the game running on CPU3 without the use of task manager or third party applications? I made a search on the net and various forums, but it seems it is not the case? in a dos command prompt: start /? Quote[/b] ]Starts a separate window to run a specified program or command.START ["title"] [/D path] [/i] [/MIN] [/MAX] [/sEPARATE | /SHARED] [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL] [/AFFINITY <hex affinity>] [/WAIT] [/b] [command/program] [parameters] "title" Title to display in window title bar. path Starting directory B Start application without creating a new window. The application has ^C handling ignored. Unless the application enables ^C processing, ^Break is the only way to interrupt the application I The new environment will be the original environment passed to the cmd.exe and not the current environment. MIN Start window minimized MAX Start window maximized SEPARATE Start 16-bit Windows program in separate memory space SHARED Start 16-bit Windows program in shared memory space LOW Start application in the IDLE priority class NORMAL Start application in the NORMAL priority class HIGH Start application in the HIGH priority class REALTIME Start application in the REALTIME priority class If Command Extensions are enabled, external command invocation through the command line or the START command changes as follows: non-executable files may be invoked through their file association just by typing the name of the file as a command. (e.g. WORD.DOC would launch the application associated with the .DOC file extension). See the ASSOC and FTYPE commands for how to create these associations from within a command script. When executing an application that is a 32-bit GUI application, CMD.EXE does not wait for the application to terminate before returning to the command prompt. This new behavior does NOT occur if executing within a command script. When executing a command line whose first token is the string "CMD " without an extension or path qualifier, then "CMD" is replaced with the value of the COMSPEC variable. This prevents picking up CMD.EXE from the current directory. When executing a command line whose first token does NOT contain an extension, then CMD.EXE uses the value of the PATHEXT environment variable to determine which extensions to look for and in what order. The default value for the PATHEXT variable is: .COM;.EXE;.BAT;.CMD Notice the syntax is the same as the PATH variable, with semicolons separating the different elements. When searching for an executable, if there is no match on any extension, then looks to see if the name matches a directory name. If it does, the START command launches the Explorer on that path. If done from the command line, it is the equivalent to doing a CD /D to that path. Quote[/b] ]Ah no worries about CPU priority, there's still plenty of latency time available for bg processes.Sure mate, but that very much depends on what ur testing and playing, to make sure you don't lag ur system in any case, it IS supposedly a good idea to put at least one of the processes on a lower priority. Share this post Link to post Share on other sites
Mehmehmeh 0 Posted June 14, 2007 Great stuff Sickboy, many thanks Share this post Link to post Share on other sites
VictorFarbau 0 Posted June 14, 2007 I believe this switch has only been introduced in Windows Vista. There is no such switch in XP-SP2 available. There you indeed need to use 3rd party tools (couple of them available). Regards, Victor Share this post Link to post Share on other sites
1436 1 Posted June 14, 2007 It is actuly Bad to run a dedicated server on both cpu Set it just to use one. Share this post Link to post Share on other sites
Mister Frag 0 Posted June 15, 2007 Microsoft has a tool called IMAGECFG that will modify the executable file header to change the Processor Affinity Mask. http://www.robpol86.com/Pages/imagecfg.php Share this post Link to post Share on other sites
SWAT_BigBear 0 Posted June 15, 2007 I've tested the #cpu's/cores used on this 2 cpu 4 core system. The server is set to run on cpu#1-core2 which stays at 100% while playing on it. If I add cpu0 along w/cpu1..of 1 cpu (set affinity) while server is under load, all it does is switch the load to cpu0. Now the odd thing is..if I pick all 4 cores, the load spreads out to all of them...anywhere from 16%-56% each, but core #3 (cpu #2) seems to use the most. And I'm testing this while playing on the same box. Pic Share this post Link to post Share on other sites
S.O.S 0 Posted June 17, 2007 the server process will allway shave only thread and therefor it will allways only be on 1 cpu at a time. Share this post Link to post Share on other sites