- Joined
- Nov 4, 2010
- Messages
- 182
- Reaction score
- 99
Hi, ragezoners 
Today I decided to play a bit with MuOnline sources and I've saw that there aren't many solutions for running a MuServer on Linux/Mac OS. Everything is coupled with Windows, which is not great, because of the prices for hosting a Windows server. Not to mention the speed, reliability, security, etc.
Well, I decided to start this initiative with a purely educational purpose. I am far from thinking that I will bring it to production ready. I'm not even sure if I won't give up after a while. I'm working on this one only when I have free time and when I want to
So far what have I done:
We've got a Node.js ConnectServer who starts 1xTCP & 1xUDP servers. The TCP server listens on port 44405 and it's purpose is to communicate with the Client. The part with the Client communication is 100% done. The UDP server is for communicating with GS & JS. The progress there is on 50% - the part with GS is done, JS is still in progress (need to check what's the purpose of the data comming from JS and if I can use it. Otherwise, I can ignore it. Will see)
Since it is javascript, I thought it would be better if instead of ServerList.dat we have ServerList.json, respectively in a valid JSON format.
I've implemented an option to reload the settings in ServerList.json via the terminal - you don't need to restart the server for the changes to take effect. I also implemented something that ordinary ConnectServers don't have - on reload, to send a packet to all connected clients to update their information as well - for example, if I add a new server in ServerList.json, I can type "reload" and see my changes directly in the client (without having to restart ConnectServer or Client).
After some time I will probably release a Github repo and make it open-source. I will most likely restructure this post as well so that it is more organized and not so much focused on ConnectServer, but rather on the whole picture.
Right now I have the following list in my head of things to put on Node.js: ConnectServer, JoinServer, DataServer, GameServer.
Demo video of ConnectServer.js:
Please share an opinion what you think about this project, would you take part in open-source and what do you think in general xD
Today I decided to play a bit with MuOnline sources and I've saw that there aren't many solutions for running a MuServer on Linux/Mac OS. Everything is coupled with Windows, which is not great, because of the prices for hosting a Windows server. Not to mention the speed, reliability, security, etc.
Well, I decided to start this initiative with a purely educational purpose. I am far from thinking that I will bring it to production ready. I'm not even sure if I won't give up after a while. I'm working on this one only when I have free time and when I want to
So far what have I done:
We've got a Node.js ConnectServer who starts 1xTCP & 1xUDP servers. The TCP server listens on port 44405 and it's purpose is to communicate with the Client. The part with the Client communication is 100% done. The UDP server is for communicating with GS & JS. The progress there is on 50% - the part with GS is done, JS is still in progress (need to check what's the purpose of the data comming from JS and if I can use it. Otherwise, I can ignore it. Will see)
Since it is javascript, I thought it would be better if instead of ServerList.dat we have ServerList.json, respectively in a valid JSON format.
I've implemented an option to reload the settings in ServerList.json via the terminal - you don't need to restart the server for the changes to take effect. I also implemented something that ordinary ConnectServers don't have - on reload, to send a packet to all connected clients to update their information as well - for example, if I add a new server in ServerList.json, I can type "reload" and see my changes directly in the client (without having to restart ConnectServer or Client).
After some time I will probably release a Github repo and make it open-source. I will most likely restructure this post as well so that it is more organized and not so much focused on ConnectServer, but rather on the whole picture.
Right now I have the following list in my head of things to put on Node.js: ConnectServer, JoinServer, DataServer, GameServer.
Demo video of ConnectServer.js:
Please share an opinion what you think about this project, would you take part in open-source and what do you think in general xD
Github repo:
You must be registered to see links
- Updated root README.md
- Created a Discord server for the project -
- The libs "mu-packet-manager" and "mu-db" are now publicly available in npmjs.com
- JoinServer TCP handlers are moved into separate files
- Added handler for login packets & returning response to GS
- Created GitHub project to tackle all future development & contributions:
- Registered domains "
Upcoming plans:
- Complete user login logic in JoinServer, so it's using the DB to verify the credentials & returns the proper response
- Refactor the ConnectServer TCP & UDP servers - move all handlers into separate files
- Created a Discord server for the project -
You must be registered to see links
- The libs "mu-packet-manager" and "mu-db" are now publicly available in npmjs.com
- JoinServer TCP handlers are moved into separate files
- Added handler for login packets & returning response to GS
- Created GitHub project to tackle all future development & contributions:
You must be registered to see links
- Registered domains "
You must be registered to see links
" and "
You must be registered to see links
"Upcoming plans:
- Complete user login logic in JoinServer, so it's using the DB to verify the credentials & returns the proper response
- Refactor the ConnectServer TCP & UDP servers - move all handlers into separate files
Last edited: