I spent some time debugging and setting up Battlefield 1942 for gameplay in two formats - a virtual machine that could be distributed and run on any modern computer, and natively on modern incarnations of Windows such as version 10. The files and links below focus on the latter, a virtual machine is still in the works.
Install Battlefield as you normally would have in 2004. Don't try running it though when it's done. There are a few things you need to do to get it running on Windows 7/8/10. Mount the .iso files linked above to install with your keys.
Run the patch to get the latest official patched version of the game with the latest bug fixes that EA officially published. The Punkbuster service in BF1942 will run into errors when the server is no longer accessible which is the case now so the punkbuster executable sets up the service on your local machine which alleviates the need to connect to a central service. Configuration of your game server is up to you and your preferences regarding punkbuster but this allows you to play online
EA took over GameSpy as it grew as a game giant and this was a sad day when it decided to shut down those services. The patched files replace master.gamespy.com with master.bf1942.sk, a server that operates the same software (as of 2017), as well as makes little things a little easier like a widescreen fix, no-cd patch, and other neat fixes.
If you set up battlefield on Windows XP or 2000, you shouldn't need to go in and make some of the more technical changes since these services aren't available yet. Install and patch with the Team SiMPLE patch and you should be good to go. The punkbuster service may work, I've had success and a lot of issues, seemed like the luck of the draw in most cases.
Windows 7/8/10 - You need to go into the install directory and set both Blackscreen.exe and BF1942.exe to run as Administrator and with compatibility for Windows XP Service Pack 3. You can do this by right-clicking on the files, click on properties and make the changes in the compatibility tab. Apple and click OK to save your changes.
You might also need to set up directplay which is a legacy Windows feature in Windows 10. You can do that in Programs and Features, see a video here
Those steps followed by a restart before initially opening BF1942 for the first time got me up and running without issue.
Battlefield was made incredible by mods in my opinion. I've collected the three we played with the most, DC .7, DC Final, and pirates. They are included in the link above. There are a number of others still online, hosted here
. We may mirror some of them to make sure they don't become lost to the internet at some point!
This is a collection of tools that come in handy getting Battlefield running as well as some of the servers and remote managers if you want to run your own server. This is not an exhaustive list of tools but it has what we've needed in the past.