Creating your own WLM 2009 server the easy way


#1

EDIT: Creating a WLM 2009 server seems to have been broken by a recent commit to the WLM 2009 branch. If you still have an old copy of the branch, keep it. It just seems that this thread was made at the wrong time.

I initially said I wanted to do this in the form of a YouTube video but since my PC died I can’t do that, so this will be a thread instead.

This tutorial is using the Windows Command Prompt. Running it on MSYS2 or an actual distribution of Linux is beyond what I can do

You will need:

  • Python 3.6 or higher
  • Visual Studio 2015 or higher

First you download the latest version of Python 3 and install it, and make sure that “Add Python to PATH” is enabled. Python is located at http://www.python.org/. If you do not have Visual Studio, you will also need to install it as some modules will fail to install without it.

Now you download the source. The source is located at https://gitlab.com/valtron/msn-server/tree/feature/wlm2009.

image

Extract the zip somewhere, preferrably the Documents folder. Then you’ll need to add a system variable named PYTHONPATH set to the folder the source code is located. For example:

image

Now we do some Python stuff. Open a Command Prompt window and CD it to the source folder, then run python -m pip install -r requirements.txt which will install the modules the server depends on. Then install pycryptodome by running python -m pip install pycryptodome.

EDIT: If you are getting errors compiling HLL, you will need the Visual C++ Build Tools.
https://www.microsoft.com/en-us/download/details.aspx?id=48159

You need a settings_local.py file with the following contents:

DEBUG = True
DEBUG_MSNP = True
DEBUG_HTTP_REQUEST = True

Now run 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).

Then you run python script/user.py {email} {password} to create users. You can create more users if you intend on chatting over LAN/with yourself (if you have MSN Polygamy).

You should be done with the Python stuff, and now you can install WLM 2009. Download the Windows Live Messenger 14 (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, then close WLM temporarily.

Then go into the HOSTS file (located in C:\Windows\System32\drivers\etc) and edit it to include these lines:

127.0.0.1 m1.escargot.log1p.xyz
127.0.0.1 messenger.hotmail.com
127.0.0.1 login.live.com
127.0.0.1 gateway.messenger.hotmail.com
127.0.0.1 byrdr.omega.contacts.msn.com
127.0.0.1 config.messenger.msn.com
127.0.0.1 tkrdr.storage.msn.com
127.0.0.1 ows.messenger.msn.com
127.0.0.1 rsi.hotmail.co

Keep in mind that you will want to remove 127.0.0.1 login.live.com from the HOSTS file after testing if you want to use any official Microsoft services.

Save your changes and close it.

You can now run python dev through the command line to run the server. It will generate a certificate and you will have to install it to the Trusted Root Certificate Authority. Then run the command again and the server should be running.

Open WLM 2009 and attempt logging in to (one of) the test account(s) you created. If you logged 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 issues, let me know.

Enjoy!


After a year of being puzzled, we've finally got the WLM 2009 problem solved!
#2

Just because I’ve got no use for my old PC, I might host a WLM 2009 server on it. :stuck_out_tongue:


#3

Gives me an error when running python -m pip install -r requirements.txt
edit: fixed


#4

first of all thanks for the article .can i ask something.is there a way after we setup the server to login with real microsoft credentials?


#5

no, the microsoft servers are closed, so you can’t use the original WLM accounts anymore


#6

you dont understand what i mean.


#7

so, what you mean?


#8

listen the login process still works
i have php msn-server which contains the login commands.and i still can only login with real microsoft credentials.but only that part.


#9

And if I download and create a Hamachi server, can my friends join?


#10

yes. you’ll also need to give your friends the certificate the server generates and have them install it.


#11

Oh ok thank you for the answer I will make a server for my friends and me then :smile:


#12

Hi it’s been two hours that I try I can not do someone could help me with an explanatory video?


#13

Could you tell me the commands to run in the Command Prompt/Python?


#14

@alzcore397’s talking about the Live login server (https://login.live.com/RST.srf), which is still alive and kicking and even used in Microsoft’s current services (e.g., for Windows 10’s telemetry service). I said in one of my very early threads that Escargot could proxy this service so that MSN clients can authenticate while using Microsoft’s authentication tokens for use in other Microsoft services, like e-mail and address book synchronization. The only problem with this at the moment is actually patching the system file needed for this authentication process, which lies outside of MSN and in the Windows system itself (ppcrlconfig.dll), since it validates its own signature before allowing a process to load the library, and neither me nor anyone else on the development team has the skill or interest in patching this self-validation routine (personally I’d love to patch the bugger, but I can’t say for the others). There’s also the issue of handling deleted accounts from Microsoft’s end. How would we be able to effectively track the status of each Microsoft account without unintentionally locking them out due to too many login attempts? How would it affect users that have those accounts as contacts?

Those are really the two main problems in interlinking Escargot with Microsoft’s login system, one that could be easily fixable with the right help, and the other that still needs some thought.


#15

didn’t know that


#16

@Alessio_Di_Paolo: refer to @OhHelloThereImTheGuy

@Marioatecookies: they’re listed in the tutorial


#17

interesting, thanks


#18

how can i create settings_local.py? and it tells me i need microsoft visual c++ 14.0 even though i have 2015 installed like you listed above :frowning:


#19

Hold up, is that real WLM 2012?


#20

yeap.