About This File
You will need your own copy of NOLF 2, VMware (free) and optionally a Windows license.
How to run NOLF 2 ON APPLE SILICON
Guide ver. 1.0
This tutorial will teach you how to run No One Lives Forever 2 on Macs with Apple Silicon. There is a strong chance it will stop working at a certain point as VMware and Windows 11 are constantly being developed and worked on. This particular solution is tested and proven to work on Macbook Pro M3 Pro running Sonoma 14.4.1 (23E224) and VMware Player VMware Fusion 13.5.0 with ZeroTier 1.12.2 and VisualCppRedist AIO 0.81.0.
--- Set up VM ---
Download the latest version of VMware Fusion for MacOS from https://www.vmware.com
Install VMware Fusion for MacOS and Windows 11 inside a default prefix virtual machine using wizzard
(A free account and free license are needed)
Install VMware tools drivers from the top menu in a virtual machine
Uncheck "Use full resolution for Retina displays" in VMware - Settings -> Display
This will set DPI to scaled in VMware settings so you can use resolutions suitable for old games scaled properly on a Mac display
Right click on desktop -> Display Settings and change resolution to a common one. 1440x900 seems to work pretty well and renders a big enough window to play on 16 inch Macbook
Use smaller ones for 14 and 13 inch laptops
Install VisualCppRedist AIO - Clean VCRedist - Use the installer provided with this txt *FILE1 or get the latest at developer's website *SRC1
This is needed for Modernizer to run.
--- Install game ---
Install game using original Disc 1 and 2 into a DIFFERENT folder than Program Files like "C:\Games\Nolf2\"
This will prevent Windows from restricting the program's access rights
Apply Patch 1.3 from files provided with this txt *FILE2
Install Modified Modernizer provided with this txt *FILE3 to be able to play Story mode COOP over LAN or INTERNET
First, copy the contents of the archive into the game folder and overwrite everything
(Modernizer modification done by me using advanced hacking skills known as merging folders of *SRC2 and *SRC3)
(Optionally you can get an unmodified Modernizer from the author's website without COOP mod support)
Then run the game launcher -> Custom and here select "Modernizer"
Do not launch the game yet
--- Set emulation to most strict ---
Open your game folder and locate files "nolf2.exe" and "lithtech.exe"
Right click on "nolf2.exe" -> Properties -> Compatibility and select "Run this program as administrator"
Right click on "lithtech.exe" -> Properties -> Compatibility and select "Run this program as administrator"
Then click on "Change emulation settings" and select "Hide x64 emulation..." and "Use advanced..."
Select "Force single-core..." and the first five settings right under it
Now launch the game
Do not forget to have selected "Modernizer" in nolf2.exe -> Custom before clicking on "Play"
Go to Options -> Experimental Settings and select "No" for "Unlock Framerate"
On modern hardware game commonly runs over 60 fps and it breaks some animations rendering few missions unfinishable
--- How to play COOP with friends over INTERNET ---
Install the latest ZeroTier from https://www.zerotier.com
Create a virtual network or join one
(A free account is needed to create a network)
In ZeroTier UI enable all four options for your chosen network
When UI says connected and status: OK, perform the first of two important steps
(If problems with connecting, try to make the network public)
Step one:
You have to set the ZeroTier connection to be a Private network if it isn't.
Launch PowerShell as admin and use these commands: *SRC4
Get-NetConnectionProfile | Where-Object "InterfaceAlias" -like "Zero*"
##To check public/private setting
Get-NetConnectionProfile | Where-Object "InterfaceAlias" -like "Zero*" | Set-NetConnectionProfile -NetworkCategory Private
##To set all ZeroTier networks to Private
Step two:
Go to control panel -> Network and Internet -> Network and Sharing Centrum -> Change Adapter Settings
"You'll find an interface that has a name similar to this ZeroTier One [XXXXXXXXXXX]. Right click it, and choose Properties which will open up the settings for this network adapter. You'll want to select Internet Protocol Version 4 (TCP/IPv4) and press the Properties button, then press the Advanced button. There will be a check box with Automatic metric uncheck it and set the Interface metric to 1." *SRC5
This will force your old games like NOLF2 to use ZeroTier as a network adapter
--- Files provided ---
*FILE1 - VisualCppRedist_AIO_x86_x64.exe
*FILE2 - si_nolf2_update_en_10-12_13.exe
*FILE3 - Modernizer.zip
--- Troubleshooting ---
If game starts with white screen press CTRL + SHIFT + ESC and click on game window again.
If game used to run on your VM but doesn't after some settings changes check option "Restore Defaults" in Launcher -> Options
If the error "Missing DLL "cshell.dll" is encountered, install VCredist for ARM from the Microsoft website as well.
If the "cshell.dll" error persists, you can run the game without modernizer with patch 1.3 and without coop, widescreen, and some bug fixes. A complete reinstall is needed.
--- Sources ---
*SRC1 - VisualCppRedist AIO - https://github.com/abbodi1406/vcredist
*SRC2 - Modernizer by HeyThereCoffeee - https://haekb.itch.io/nolf2-modernizer
*SRC3 - JerkMod by Jerkakame - https://www.moddb.com/games/no-one-lives-forever-2-a-spy-in-harm/downloads/coop-mod
*SRC4 - glimbergs's GitHub article - https://github.com/zerotier/ZeroTierOne/issues/1671
*SRC5 - TEKLucifer's post on Reddit - https://www.reddit.com/r/zerotier/comments/hwpw9q/guide_playing_lan_games_anywhere_globally/
--- Thanks ---
Special thanks to VisualCppRedist team, HeyThereCoffee, Jerkakame, glimberg, TEKLucifer, Eliteone-Saryasino and other great people behind Nolfgirl.net and everybody else who also hosts NOLF binaries, mods, tools and resources and still got their servers up.
This is version 1.0 of NOLF2 on Apple Silicon guide. It has been written by Jiri Psenicka - psenicka@whepro.com - www.whepro.com
If you appreciate my work and would like to support me, don't buy me a coffee. Donate to your local animal shelter instead.