Two ArmA for MP testing on single computer.
All you need to do is start the game in windowed mode (put –window in the target line of your ArmA shortcut - this makes it easier to switch between instances of the game).
Then start a second instance of the game on your PC (ie Run the game again so you have 2 ArmA games running on your PC - you need a reasonable computer to do this).
Disconnect your computer from the internet (otherwise it won’t work as you a get duplicate CD key error).
Then in the first instance of ArmA you are running go to the MP screen and start a local server.
In the second instance of ArmA go to the MP screen switch to LAN games and your just created server should appear in your list and connect.
You now have two games of arma running the same mission on the same server on your computer and you can just ALT-TAB between the two instances. This is really great for testing MP missions because what happens on the second instance, the one which joined the server, is almost identical to what happens on a dedicated server so perfect for testing scripts, triggers etc.
The other great thing is once you’ve started the server on the first instance of ArmA you can reconnect to the net if you need to check the Wiki for script and code info. In a similar way you create a dedicated server on your PC and then connect to it.
For an network unplugged PC, in file C:\windows\system32\devices\etc\hosts, add these lines:
. armedass.master.gamespy.com . armedass.available.gamespy.com
If you put 127.0.0.1 instead of dots, you will be kicked off. Start the editor/server with
-window -nopause -host
and clients with
-window -nopause -connect=localhost
Clients will see the server in “Editing” mode. As you click “Preview”, clients will get into the lobby. You may get a error after downloading the mission file. This can maybe be solved using two different users or some env settings, will see.
The nice thing is the packing happens after the lobby page, so you can edit your scripts without cycling to the edit page.
I've made a ws2_32.dll replacement which returns WSAHOST_NOT_FOUND in gethostbyname() for armedass.master|available.gamespy.com if -nokey is given on the server (-host) command line. It works! No need to disconnect the Internet. Don't know if hits works on Vista.