Heelercrap: How not to make a MSN server

What is Heelercrap?

Heelercrap, named after the Australian cattle dog (because of Bluey, the Wubbzy shenanigans have been repeating all over again since late-2021) is an attempt at making a MSNP server. It is currently written in C# (originally PHP and then Node later on but they were both crap) and is pretty incomplete.

I started this project for fun because I wanted to do a chat server for a while. There will not be any public instance (for now?) since it will probably end up being used by immature most-likely-underaged children that were banned from using the Escargot services.

Will there be support for WLM '09/'11/'12? No.



no shit sherlock – escargot has existed since like 2017, ofc their code improved by time, etc, it’s not about being better off with Escargot lol, having another msn server even if its shit and not secure at all is fun ngl

1 Like

hosting this would be pain as it would require people to edit their hosts file, and I’m not going to talk about the hosting stuff.

1 Like

installed windows 10, thought i had a ltsc 2021 installer already in the USB but turns out it’s the installer for the standard version of windows 10 so due to my motherboard having a windows 8.1 home key embedded in, it installed windows 10 home.

the code is absolute ass and i don’t think javascript is the proper thing for a MSNP server. and MSN 5 is oddly laggier on windows 10 compared to windows 7 so i might have to make a windows xp vm just to make this stuff bearable to test.

edit: it appears the lagginess had to do with the tweener shit since it appears that opening the login prompt in MSN 5 attempts to send a request to the nexus servers for whatever request

there is a sort of work around
in the ini files of messenger it self
for example server = (THE SERVER PUBLIC IP/DOMAIN)

same goes in the settings_local.py

I currently am not using the Escargot Switcher for now.

I’m not trying to rehost the python-based Escargot server? This is custom code, primitive one. Still no database shit, backend doesn’t exist, etc.

Hey, don’t worry, I know what you want to do with this project. You just wanna mess around and test stuff and test your knowledge.
Ironically enough, I think a better challenge would be making a client, trust me, it’s way more challenging and fun. I’ve done some crazy things with a client, and you can even make your own bots (yeah, that’s fun!)


That is true.

Also I spent like 5 hours trying to get the code to do “if password isn’t valid then fail auth else continue” but it kept trying to close the connection before it could finish the verification bullshit. amazing node moment.

I will admit that Node might not have been the best thing for something like this. If I can’t really do more shit with the shitstorm that’s Node then I might rewrite this in C# or C++ or something like that.

Yup, I’m rewriting it in C#, with the help of NetCoreServer. Once the code is able to barely finish the authentication process in at least MSNP8, I’ll publish the C# code on GitHub.

Also it doesn’t redefine the variables and shit when a new socket connects which is pretty nice.


Apparently if the “USR OK” command after the authentication stuff isn’t exactly right (example: forgetting to encode usernames) then it outright believes that your account is either unverified on MSNP7 or straight up banned on MSNP8.

Authentication currently does not do any actual authentication due to the early nature of this code. This will require the usage of a database (eg: myqsl) and Tweener stuff will also have to be dependent on a HTTP server (eg: apache).

More of it in action… and yes, they’re both “logged” in the same account.

Got into a roadblock with trying to get the client’s GUID via its email so I will be publishing the source code onto GitHub later.

Edit: while it might seem like it’s already on GH, that’s the old Node code that I dropped because of authentication being a pain in the ass.

Alright, published the code.

nice! i hope this little project can turn into an actual thing even if it’s for fun and/or not an alternative to OMSGR/Escargot

1 Like

Switchboard is borked for some reason and I’m more focused on working on squareBracket.