This is the long awaited update to reesehan_schavinchi1’s local server creation guide.
While it’ll be mostly similar, broken/old steps were fixed/updated to work normally with the master branch.
As stated in the original post, this tutorial is for Windows ONLY. Running it on Linux/MSYS2 is not possible at the time of posting.
What you’ll need:
- Python 3.6 (3.8 and above does not work)
- Visual C++ Build Tools (visualcppbuildtools_full.exe (3.1 MB) )
- Git for Windows (https://gitforwindows.org/, use if you get stuck at requirement installation)
Download and install Python ( http://www.python.org/) If you’re using 3.7, you’ll need to replace funcli.py to prevent the GenericMeta error(funcli.py.rar (2.1 KB) , located at C:\Users\username\AppData\Local\Programs\Python\Python37-32\Lib\site-packages).
After installing it, install Visual C++ Build Tools to fix the HLL error and install all modules properly. Also install Git for Windows if you get stuck at requirement installation, as stated above.
Then download the local server’s master branch, located at https://gitlab.com/valtron/msn-server/tree/master. Download it as a zip and extract its contents to somewhere, preferrably Documents.
Now you’ll need to add a system variable. Navigate to Control Panel/System and Security/System/Advanced system options and add a system variable named PYTHONPATH. Set its value to the local server folder’s current path.
And it’s Python time. Navigate to the local server folder and select “Git bash here” from the right click menu if you’re using Git, otherwise CD to the folder using the command prompt. Run
python -m pip install -r requirements.txt to install all server dependencies. Then run
python -m pip install pycryptodome to install pycryptodome.
You’ll also need to add a settings_local.py with the following contents:
DEBUG = True
DEBUG_MSNP = True
DEBUG_HTTP_REQUEST = True
python script/dbcreate.py to create user databases. If you get an error for the db module missing, install it. Next run
python script/dummydata.py . If the script hangs for more than 10 seconds, send interrupt (Ctrl+C).
python script/user.py firstname.lastname@example.org to create a user. After you run the command, insert the password needed for the user. You can repeat this command to add as many users if you want to run multiple WLM processes and talk to yourself (You’ll need MSN Polygamy).
Now you’re done with the Python stuff. Install the WLM 2009 (http://messenger.jonathankay.com/redir/w3rc/wlm.asp ) and Windows Live Communications Platform (http://messenger.jonathankay.com/redir/w3rc/contacts.asp ) packages and install them. Quit WLM for now.
Then go into the HOSTS file (located in C:\Windows\System32\drivers\etc) and add these lines:
Remember that if you want to use any official Microsoft service after testing the server you’ll want to add a hastag to the beginning of
127.0.0.1 login.live.com to disable it.
Save your changes to HOSTS and close it.
You can now run
python dev through command line to run the server. Once you run it the first time it will generate a certificate. Install it to the Trusted Root Certificate Authority as shown here:
After you install it, run the command again and the server should start running.
If it gives errors out instead, make sure to check for any running VMWare/Virtualbox networking processes and terminate them. Then it will run.
Start WLM '09 and attempt to log in using any of the accounts you created. If you managed to log in with no issues, your server works!
Also to clarify that port forwarding your server IIRC doesn’t work and only runs on LAN. You can only use another computer, use MSN Polygamy to use multiple WLM windows, or use a tunneling software like Hamachi.
If you have any issues, let me know and make sure the check out the original thread as there’s many useful info there.
Enjoy your long awaited update!
EDIT: Python 3.8 seems to have deprecated funcli.py altogether, thus rendering it incompatible with the local server, and the replacement funcli.py does not work.
If you have anything higher that 3.6, you’ll need to uninstall that and install 3.6 instead to make the local server function.