# Special Aircraft Service

## IL-2 Great Battles (aka "Battle of Stalingrad") => IL-2 Great Battles Downloads => Topic started by: SAS~Storebror on September 06, 2018, 09:32:16 AM

Title: FUMS - F*ck Up My System - A Process Management Tool [Version 1.3 updated 2018-09-14]
Post by: SAS~Storebror on September 06, 2018, 09:32:16 AM
Dear all,

Let us introduce a tiny little tool called

"FUMS" - "F*ck Up My System" - A Process Management Tool.
(https://www.sas1946.rocks/flickr/storebror/1856/43813045124_0ea2f99b24_c.jpg) (https://www.sas1946.rocks/flickr/storebror/1856/43813045124_bc4f221e64_o.jpg)

This tool will help you running BoS (and other apps if you like) smoother and stick to the official dev team recommendations (e.g. run your PC in "High Performance" mode) without leaving your system in an undersired state if you happen to do other things than playing IL-2 (which, much to our surprise, sometimes is reported to happen).

Using FUMS you can automatically adjust the following things:
• Change Priority of Processes as soon as they appear
• Change the Processor Affinity of Processes (the CPU Cores they are running on) as soon as they appear
• Automatically adjust your PC's Power Plan when a given Process Starts or Exits

FUMS consists of 3 files: The Executable (FUMS.exe), a pdb file for debugging, and the settings file (FUMS.ini).
FUMS needs admin privileges and it needs .Net Framework 3.5 or later to be installed on your PC (you likely have that already).
That's not because we're nasty at you, it's just because otherwise you won't have access to the settings FUMS is meant to adjust.

Installation:
Extract the 3 files to a folder of your choice, open FUMS.ini in a Text Editor and adjust settings to your needs, save FUMS.ini, run FUMS.exe.

FUMS runs in "Tray Icon" mode per default.
When you double-click on FUMS' Tray Icon (lower right tray area, click the up-arrow if the icon is blanked out), FUMS' window opens up.
In order to terminate FUMS, right-click on it's icon and choose "Exit".

The FUMS configuration is not really self-explaining, but the ini file contains sufficient information.
Don't mess around with things you don't understand. FUMS is called FUMS for a reason.

Sample conf.ini that runs IL-2 Battle of Stalingrad with dev-recommended settings, including lowest priority for Steam (if your game is Steam based - if not, doesn't matter) and "High Performance" Power Plan Setting:
Code: [Select]
; FUMS - Fuck Up My System; A Process Management Tool; All settings in this file will apply instantly when the file is being saved,; there's no need to restart FUMS to apply changes.; The [Common] Section contains application specific settings which are not; related to any process; UpdateInterval sets the interval (in Milliseconds) for scanning the List of active; Processes for matches with the list below[Common]UpdateInterval=100; The [Priority] Section holds the desired priorities for certain processes.; Each setting consists of; <process name>=<priority level>; Where <process name> is the name of the process as listed in the Windows Task Manager's; "Details" tab, and <priority level> is one of the following:; -2 = Idle; -1 = Below Normal;  0 = Normal;  1 = Above Normal;  2 = High;  3 = Critical ("Real Time")[Priority]IL-2.exe=1SteamService.exe=-2steamwebhelper.exe=-2Steam.exe=-2; The [Affinity] Section holds the desired processor affinities for certain processes.; Each setting consists of; <process name>=<affinity mask>; Where <process name> is the name of the process as listed in the Windows Task Manager's; "Details" tab, and <affinity mask> is a binary mask reflecting the cores the process; should run on. If you are not familiar with affinity masks, we recommend to use; the "ProcessAffinityMask" tool to calculate the matching mask:; https://www.sas1946.com/main/index.php/topic,32520.0.html;; An Affinity Mask of "255" for instance means "first 8 cores", because; 255 = 0xFF = 0b11111111; Which either means 8 physical cores or 4 physical cores plus 4 hyperthreading cores.;; An Affinity Mask of "-1" means "use all cores", which is the windows default behaviour.[Affinity]IL-2.exe=-1; The [PowerPlan] Section holds the desired processor affinities for certain processes.; Each setting consists of; <process name>=<power plan>; Where <process name> is the name of the process as listed in the Windows Task Manager's; "Details" tab, and <power plan> is one of the following:; 0 = Power Saver; 1 = Balanced; 2 = High Performance; If the last process of this list exits, the Power Plan will be reset to the default; value it has been on before the first process of this list started.[PowerPlan]IL-2.exe=2
]cheers[
Mike
Title: Re: FUMS - F*ck Up My System - A Process Management Tool [Version 1.0.0.1 BETA updated 2018-09-06]
Post by: SAS~Storebror on September 06, 2018, 09:51:38 AM
Oh by the way... FUMS sources are available on our Superschool Subversion Repository ;)
It's written in C# using Visual Studio 2017 if you are keen to know... Express Edition should do (don't ask me, but theoretically it should).

]cheers[
Mike
Title: Re: FUMS - F*ck Up My System - A Process Management Tool [Version 1.1.0.1 BETA updated 2018-09-07]
Post by: SAS~Storebror on September 07, 2018, 06:11:13 AM
FUMS 1.1 has been uploaded and is available in first post.

Changes:
• Added Option to Autostart FUMS when Windows Starts
(Tick Checkbox at the bottom of FUMS window to activate Autostart)
• Fixed an issue where Process Name Dictionaries were case sensitive, resulting in Exceptions thrown when case mismatch between configuration settings and existing process happened.
• Performance Enhancements and Simplifications in Process Matching Rules
• Fixed an issue where configuration file changes would trigger the file to be reparsed twice

]cheers[
Mike
Title: Re: FUMS - F*ck Up My System - A Process Management Tool [Version 1.1.0.1 BETA updated 2018-09-07]
Post by: hello on September 07, 2018, 10:35:42 AM
Title: Re: FUMS - F*ck Up My System - A Process Management Tool [Version 1.1.0.1 BETA updated 2018-09-07]
Post by: SAS~Storebror on September 07, 2018, 10:53:17 AM
Lol, no idea how that happened, but now the link is there.

]cheers[
Mike
Title: Re: FUMS - F*ck Up My System - A Process Management Tool [Version 1.1.0.1 BETA updated 2018-09-07]
Post by: gerula on September 08, 2018, 04:07:41 PM
Awesome work Mike!!!! It does help a lot. My game loads up twice as fast as before, and runs without any problems, on line, off line.
You rock.
Title: Re: FUMS - F*ck Up My System - A Process Management Tool [Version 1.1.0.1 BETA updated 2018-09-07]
Post by: hello on September 10, 2018, 01:23:33 AM
Thanks very much, giving it a go now
Title: Re: FUMS - F*ck Up My System - A Process Management Tool [Version 1.2 updated 2018-09-14]
Post by: SAS~Storebror on September 14, 2018, 02:02:12 AM
Update in first post: FUMS 1.2 has been released.
We're not BETA testing anymore, this version is stable.

Changes:
* Autostart function has been adjusted, Scheduled Task starts with 30 seconds delay now to give the Taskbar/Tray a chance to come up before FUMS start.
* Tooltip Text for Tray Icon has been adjusted.

Please note that due to limitations in XP's Task Scheduler, you need to have Windows Vista or later (7, 8, 10) to use FUMS.

]cheers[
Mike
Title: Re: FUMS - F*ck Up My System - A Process Management Tool
Post by: Flying H on September 14, 2018, 04:55:00 AM
I have a major problem with this!
Code: [Select]
System.NullReferenceException: Objektreferensen har inte angetts till en instans av ett objekt.   vid FUMS.FUMS.CheckProcesses() i U:\sources\VS2k17\C#\FUMS\FUMS\FUMS.cs:rad 310   vid System.Windows.Forms.Timer.OnTick(EventArgs e)   vid System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m)   vid System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)I get the options to ignore or proceed, clicking proceed repeats the exeption over and over.
Any clue on what to do?
Specs: W10 updated all the way, i5-2500K, 16G mem, GTX 960, (what more do you need to know?)
Title: Re: FUMS - F*ck Up My System - A Process Management Tool [Version 1.3 updated 2018-09-14]
Post by: SAS~Storebror on September 14, 2018, 05:41:02 AM
Thanks for the feedback.
Looks like you have a custom powerplan active or you have enabled the (hidden) ultimate powerplan.
And it turns out that FUMS didn't take that into account yet, so please find an updated version 1.3 in the first post now that should solve this issue.

]cheers[
Mike
Title: Re: FUMS - F*ck Up My System - A Process Management Tool
Post by: Flying H on September 14, 2018, 11:33:51 AM
THX a million! That solved my hickups!
Title: Re: FUMS - F*ck Up My System - A Process Management Tool [Version 1.3 updated 2018-09-14]
Post by: UberDemon on September 14, 2018, 10:52:07 PM
So would you say your program goes up to...  eleven?
Title: Re: FUMS - F*ck Up My System - A Process Management Tool
Post by: SAS~Storebror on September 14, 2018, 11:53:33 PM
THX a million! That solved my hickups!
Thanks for the feedback :)

So would you say your program goes up to...  eleven?
The question "what's next after windows 10" is like "is there light behind the event horizon of a black hole?" 8)

]cheers[
Mike
Title: Re: FUMS - F*ck Up My System - A Process Management Tool [Version 1.3 updated 2018-09-14]
Post by: UberDemon on September 15, 2018, 11:19:06 PM
None more black.
Title: Re: FUMS - F*ck Up My System - A Process Management Tool [Version 1.3 updated 2018-09-14]
Post by: Dutch_P47M on September 24, 2018, 10:45:40 AM
Hi SasStorebror, I did tested this software and it appears it only adjust a few processes automatic as can be read in the .ini file. What I do like is the low PC recourses it uses, it is only very limited in selecting other processes. It is not only steam that should be in idle.  ;)

You did talk about open source at the BoS forum, any link for the source code?
Title: Re: FUMS - F*ck Up My System - A Process Management Tool [Version 1.3 updated 2018-09-14]
Post by: SAS~Storebror on September 25, 2018, 05:19:57 AM
Yep, we have an SVN repository on Assembla for coding Teamwork, details can be found in our Superschool section.
FUMS has been there from day one.
The current version is up on gitlab as well, but I didn't get my head wrapped around their CI yet:
https://gitlab.com/sas.storebror/fums

]cheers[
Mike
Title: Re: FUMS - F*ck Up My System - A Process Management Tool [Version 1.3 updated 2018-09-14]
Post by: steven197106 on October 24, 2018, 02:01:17 AM
will this help my game if I have, i7-5820K 4.0 GHz 16gb ram RTX 2080.
Title: Re: FUMS - F*ck Up My System - A Process Management Tool [Version 1.3 updated 2018-09-14]
Post by: SAS~Storebror on October 24, 2018, 02:29:27 AM
If you have microstutters or something of that kind, then it might be worth a try.
You won't gain more FPS or such, that's not what this tool is aiming at.

]cheers[
Mike
Title: Re: FUMS - F*ck Up My System - A Process Management Tool [Version 1.3 updated 2018-09-14]
Post by: Rwatson on October 24, 2018, 08:35:07 AM
Does this work with Win 7 ?  Thanks
Title: Re: FUMS - F*ck Up My System - A Process Management Tool [Version 1.3 updated 2018-09-14]
Post by: SAS~Storebror on October 24, 2018, 08:37:49 AM
Try it. I don't have any Windows 7 PC at hands anymore.
If there's an issue, just let me know and I will look into it.

]cheers[
Mike
Title: Re: FUMS - F*ck Up My System - A Process Management Tool [Version 1.3 updated 2018-09-14]
Post by: Rwatson on October 24, 2018, 10:08:47 AM
Thanks Mike I will give is a go in a bit
Title: Re: FUMS - F*ck Up My System - A Process Management Tool [Version 1.3 updated 2018-09-14]
Post by: lords20 on November 12, 2018, 07:06:52 PM
Yeah it really did live up to it's name!! :{
Title: Re: FUMS - F*ck Up My System - A Process Management Tool [Version 1.3 updated 2018-09-14]
Post by: SAS~Storebror on November 12, 2018, 10:16:15 PM
Probably bad Karma, resulting from complaining without being able to say what's the issue.
Wait... aren't you the one who wasn't even able to download a set of files (4.12.2 Mega Patch)?
And then decided to blame it all on us?
Are you still unable to click on a link and successfully download a file? Or did you just "forget" to say that you've found out how that works in the meantime, after all your cocky complaints about it?

Are you sure you're genuine?
I'm not.

]cheers[
Mike
Title: Re: FUMS - F*ck Up My System - A Process Management Tool [Version 1.3 updated 2018-09-14]
Post by: sniperton on November 09, 2019, 05:03:16 PM
Hi Mike, this is a "what if" question or a shy feature request, whichever applies. I could fuck up my system myself separately, but that would be another app to run, so I ask if it would be possible and desirable to implement these functions into FUMS.

We all have to start some TIR software and JoystickGremlin or the like (or TS) before we launch the game.

Only a few clicks, but still they could be spared via FUMS. FUMS could check for some associated processes and start them in the case they are not running yet.

One more possible enhancement relates to the cfg file. Some settings are not accessible from the game menu, and some are reset automatically whenever you modify settings and restart the game. Grass can't be set to zero, gamma can't be set below 0.8, and bloom can't be switched off when HDR is on, just to name a few. Some people make the cfg file read-only just to prevent the game from overriding their preferred values.

FUMS could look for those settings on game-start and could reset them according to the user's preferences.

Thanks for considering ]wave[
Title: Re: FUMS - F*ck Up My System - A Process Management Tool [Version 1.3 updated 2018-09-14]
Post by: SAS~Storebror on November 09, 2019, 11:41:33 PM
I'm afraid there's a timing issue.
At the time FUMS detects a running game, TIR link attempts may already have taken place.
In the same way, BoS will already have parsed the cfg file.

]cheers[
Mike
Title: Re: FUMS - F*ck Up My System - A Process Management Tool [Version 1.3 updated 2018-09-14]
Post by: sniperton on November 10, 2019, 04:54:52 AM
Okay, I see. The real problem is the cfg file IMO, as the rest (TIR, etc) can be started even when the game is already loading/running (at least in my experience). A possible workaround could be if the cfg file were reset to custom values when the game process quits. Just musing. Anyway, thank you for giving it a thought.
]cheers[
Title: Re: FUMS - F*ck Up My System - A Process Management Tool [Version 1.3 updated 2018-09-14]
Post by: joker68 on January 22, 2020, 06:53:08 AM
Hi SAS~Storebror,

First things first: Big thank you for this little app. I've found the idea very useful.
I have one question though: I'm using balanced power plan as default, and chose to change it to Hiperf while playing Il-2.
Looking at the log, it seems that everything is working fine, except that, after quitting the game, there are two changes in sequence on my Power Plan:
1st - it is reset back to Balanced (which is expected).
2nd - then, after a few seconds, the "default" power plan is reset to Hiperf.

There are no other monitored processes (i.e., games) running, and it is valid to note that the log entry points to "Default powerplan" (instead of simply "Powerplan", like it does when changing for start/end of a game).

I let the FUMS log window opened on my second monitor and the last lines of FUMS log were as follows, after just starting and quitting IL-2:
...
Priority for Steam set to idle
Priority for SteamService set to idle
Priority for steamwebhelper set to idle
Priority for steamwebhelper set to idle
Priority for steamwebhelper set to idle
Priority for steamwebhelper set to idle
Priority for Steam set to idle
Priority for Il-2 set to AboveNormal
Powerplan set to High Performance
Priority for steamwebhelper set to Idle
Powerplan reset to Balanced
Default Powerplan changed to High performance  <-- this !

My config is below. Is something wrong with it? I've changed the check interval to 1 second.

[Common]
UpdateInterval=1000

[Priority]
arma3_x64.exe=1
bf4.exe=1
Il-2.exe=1
Launcher64.exe=1
acs.exe=1
amtrucks.exe=1
eurotrucks2.exe=1
AC2-Win64-Shipping.exe=1
AMS.exe=1
BeamNG.drive.x64.exe=1
DCS.exe=1
drt.exe=1
DOOMx64.exe=1
DOOMx64vk=1
HLL.exe=1
Insurgency.exe=1
MirrorsEdgeCatalyst.exe=1
pCARS2AVX.exe=1
pCARS2.exe=1
PostScriptum.exe=1
pubglite.exe=1
rFactor2.exe=1
ROF.exe=1
sh5.exe=1
SteamService.exe=-2
steamwebhelper.exe=-2
Steam.exe=-2

[Affinity]
arma3_x64.exe=-1
bf4.exe=-1
Il-2.exe=-1
Launcher64.exe=-1
acs.exe=-1
amtrucks.exe=-1
eurotrucks2.exe=-1
AC2-Win64-Shipping.exe=-1
AMS.exe=-1
BeamNG.drive.x64.exe=-1
DCS.exe=-1
drt.exe=-1
DOOMx64.exe=-1
DOOMx64vk=-1
HLL.exe=-1
Insurgency.exe=-1
MirrorsEdgeCatalyst.exe=-1
pCARS2AVX.exe=-1
pCARS2.exe=-1
PostScriptum.exe=-1
pubglite.exe=-1
rFactor2.exe=-1
ROF.exe=-1
sh5.exe=-1

[PowerPlan]
arma3_x64.exe=2
bf4.exe=2
Il-2.exe=2
Launcher64.exe=2
acs.exe=2
amtrucks.exe=2
eurotrucks2.exe=2
AC2-Win64-Shipping.exe=2
AMS.exe=2
BeamNG.drive.x64.exe=2
DCS.exe=2
drt.exe=2
DOOMx64.exe=2
DOOMx64vk=2
HLL.exe=2
Insurgency.exe=2
MirrorsEdgeCatalyst.exe=2
pCARS2AVX.exe=2
pCARS2.exe=2
PostScriptum.exe=2
pubglite.exe=2
rFactor2.exe=2
ROF.exe=2
sh5.exe=2

Title: Re: FUMS - F*ck Up My System - A Process Management Tool [Version 1.3 updated 2018-09-14]
Post by: SAS~Storebror on January 22, 2020, 08:34:44 AM
The line "Default Powerplan changed to High performance" denotes that some other application (not FUMS!) changed the powerplan to High performance while FUMS is running.
In return, FUMS assumes that this setting should become the new default and that's what it tells in the log.
At this time FUMS doesn't change anything on the powerplans at all, it just notices that someone else changed it.
I'd recommend to check which other application was messing with your powerplan(s) there. It wasn't FUMS, that much is for sure.

]cheers[
Mike
Title: Re: FUMS - F*ck Up My System - A Process Management Tool [Version 1.3 updated 2018-09-14]
Post by: joker68 on January 22, 2020, 11:45:50 AM
Thanks for clarifying things up.
Well, now I'm even more curious. Will investigate and post back if I found what's going on.
Cheers!