Arma 2: Operation Arrowhead

Arma 2: Operation Arrowhead

Ikke nok vurderinger
Setting Custom Launch Options for Steam and Non-Steam Applications
Af Wilbur og 1 partnere
The purpose of this tutorial, is to explain a clean approach to launching Steam games or external programs from Steam with a set affinity (specific selection of cpu cores) or other launch parameters that may be ignored by the Steam application interface. The reason Steam launch parameters may be ignored is that the Steam UI doesn't always see everything that it needs to interface with, in the windows API. The method I'm going to describe will treat your Steam games as non-Steam games but the overlay should continue to work as before, provided the game supports it. If your external application doesn't use Direct X, the overlay will probably not work, but you will still have a clean organized way of launching programs with the parameters you want. I also prefer doing it like this to avoid a massive mess of custom desktop shortcuts.
   
Pris
Føj til foretrukne
Gjort til foretrukken
Fjern som foretrukken
Method 1 - Adding a Steam game as a non-Steam game with set affinity and launch parameters
a) From the "Games" menu, Select "Add a Non-Steam Game to My Library..."

b) Browse for the game executable in the Steam applications directory,


ie. C:\Program Files (x86)\Steam\SteamApps\common\Arma 2 Operation Arrowhead\ArmA2OA.exe

c)The exe you added should be checked automatically on the list, so now click on
"ADD SELECTED PROGRAMS"


d) Find the program you added in the list and right click on properties to modify


Title: ArmA2 Operation Arrowhead (name it whatever you want but I suggest something slightly different than the same game that launches without modifications, so will know what you are opening). There is also an option here to change the program icon by browsing for any file with the icon you want to use.

Target: "C:\Windows\System32\cmd.exe" /C START /AFFINITY 3 "Arma2OA.exe" "E:\Program Files (x86)\Steam\Steamapps\COMMON\arma 2 operation arrowhead\ArmA2OA.exe" -Steam -nosplash -dxlevel 90

Yes....... INCLUDE the quotation marks as shown in these examples as they are a necessary part of the syntax. Here's a description of what the above is doing: The "C:\Windows\System32\cmd.exe", is initializing the windows DOS command program which is needed to set the affinity on the program before it launches. The command window will open briefly and then close on its own as the program launches.

/C START /AFFINITY 3 "Arma2OA.exe" is telling it exactly what executable to apply the affinity to, and with the #3, that specifies my processor cores 1 & 2 on a quad-core system. Now suppose you wanted to run the program on cores 3 & 4 instead? Simply replace the number 3 with the letter C. If you are running an 8 core or 6 core system or etc., you will need to conduct your own research to find what is correct for your situation.

Continuing......"E:\Program Files (x86)\Steam\Steamapps\COMMON\arma 2 operation arrowhead\ArmA2OA.exe" is telling it the exact path to find that EXE.

-Steam -nosplash -dxlevel 90 Are launch parameters. Maybe you can omit the '-Steam' parameter which tells Steam to use the overlay and it might still work, but I haven't tested without it.

Start in: "C:\Windows\System32\"

This allows steam to see and use the functions in the System32 directory. If you don't include this it may not work at all or you might see things like Direct X errors.

Method 2 - Adding any Non-Steam Application for the purpose of launching it from Steam.

In some cases this allows use of the overlay for communication when we are working on something else. It could also be used to launch a dedicated server on the cores that you won't be playing on. This will make sure you are minimizing affect to the performance of your dedicated server if it is hosted from the same machine. Method 1, can also be an option, but not always practical when we are trying to add multiple parameters to a file that is constantly getting edited for changes. For that scenario, I recommend creating a custom batch file >>> converting it to an EXE, and then adding that as a non-Steam game as shown in method 1.

a) Right click anywhere on the desktop (for example) and create a new text file >> then change the file extension to .bat instead of .txt.

Now open the file for editing using notepad and paste in your custom code like in this example:

CMD /C START /AFFINITY C arma2oaserver.exe -bepath E:\Program Files (x86)\Steam\SteamApps\common\Arma 2 Operation Arrowhead\defaultserver\BattlEye -ip=xxx.xxx.x.xxx -port=xxxx -name=defaultserver 4 -cfg=defaultserver\basic.cfg -config=defaultserver\server.cfg

Substitute the x's with your ip and port number and double-left-click to run the bat file to test that it works

b) Download a free program that converts bat files into exe files. I'm using Bat To Exe Converter and you can get it from cnet here: http://download.cnet.com/Bat-To-Exe-Converter/3000-2069_4-10555897.html

c) Convert the bat file to an executable and put that executable anywhere you want (that is if you have specified absolute paths like in the above example). *If you attempt to add a bat file to launch from Steam you will probably crash your Steam client, so you really can't skip this step.

d) Go to method 1, but you will not need to enter any parameters that are already contained in the bat file or what is now in the EXE that steam will be using to launch it.

Now this dedicated server is running on the cores, ip and port I have specified and my game is running on a different port and different cores to prevent any conflict. It is also using everything defined in my server configuration file. I hope you can find this information useful.

Thanks and credit to Tashkavarash who helped define this process. Brought to you by Bold 6/5/2014

Disclaimer: I am not responsible in full or in part for damages or expenses resulting from use of this instruction which is provided to be used at your own discretion and at your own risk.










7 kommentarer
endo 9. okt. 2020 kl. 22:14 
Method 1 won't work with games that requires the game to know that you are logged into Steam.
AbedsBrother 18. sep. 2016 kl. 16:23 
I used this to get Thief Gold working. Thanks for the guide!
DankMuffin 7. juni 2016 kl. 11:21 
now that overwatch is out i am looking for a way to set launch options to the game, much like settings the amount of cores/threads setting the process on high etc/ i play counterstrike around 35 fps with this 200 dollar laptop from walmart and i think with the correct options and tweeks i can make overwatch work
JORGE BEN JOR^_- 30. juni 2015 kl. 10:04 
ty
SHARKE BYTE 26. juni 2015 kl. 11:38 
Great guide!
Wilbur  [ophavsmand] 10. juni 2014 kl. 15:09 
Yes, I never understood why anyone with the resources to build a good gaming rig would rather be handcuffed by a console. Except for example, when there's a party in the living room and we're all playing football or mortal combat. So, I think they do have their place. Even so, I'm not happy with the way games have degenerated to be conformed to consoles and then ported to PC's. I'm happy about the steam machine because I would like to see consoles die a miserable death and I believe these steam machines offer all of the advantages and none of the drawbacks related to consoles.
Fraggenstein 7. juni 2014 kl. 7:11 
Interesting aspect to avert code conflicts and unwanted results from updates that have errors in them and cause more problems then they are assigned to fix. One great aspect of PC gaming as opposed to being stuck with console errors that are unrepairable.