MUnique / OpenMU

This project aims to create an easy to use, extendable and customizable server for a MMORPG called "MU Online".
https://munique.net
MIT License
728 stars 312 forks source link

Connect Server Protocol for earlier versions #115

Closed sven-n closed 5 years ago

sven-n commented 5 years ago

The connect server in this project is currently only built to support one protocol of newer game clients. There are probably two earlier protocol versions (even 0.97d and 0.75 are different). I didn’t find out the differences in the protocols yet.

The connect server has to be changed so it supports multiple versions. It might be tricky since caching is applied.

sven-n commented 5 years ago

Got it working for 0.75... will be checked in when I have enough time to clean some code up ;)

fenos commented 5 years ago

Hi Sven! Absolutely an amazing project! I just discovered it and went through the source code and it’s lovely well done!

I’m a fan of earlier versions 0.97d and season 1.

I’d love to contribute to the project for supporting the 0.97d protocol.

Could you pointing me to where I can find the specification for the protocol

Thanks!

sven-n commented 5 years ago

Hey, Thanks, I’m glad you like it :)

Unfortunately, there are no clear specifications, just some poorly documented source codes at the ragezone forums. Most network protocol structures of the game server can be found in the protocol.h file. I’ll try to find a source for reference. For the connect server it’s even more difficult to find a source specifically for 0.97d - I’ll need to try it with my changes for 0.75. It may work already, because the differences are actually very small ;)

sven-n commented 5 years ago

I found this thread on ragezone: http://forum.ragezone.com/f508/decompile-various-gameservers-978407/ I think 99.60 includes the correct packet structures for a 0.97d game server.

fenos commented 5 years ago

Hi Sven!

Thanks for that! I had a look at the decompiled protocol version and I feel kinda lost, I miss quite a bit of context I suppose. 🤕

I’m still working on the dockerizing issue I’ve opened a while ago, but I’d love to see OpenMu supporting the 97d protocol.

do you think is something that you’d be willing to add in near future?

sven-n commented 5 years ago

Hi, I can understand that you feel a bit lost. I’d be lost as well without experience with „original“ server files and my way of doing things in C# ;-)

I‘ll add support for 0.97d as soon as 0.75 is basically working. That should not take too long as I made good progress recently :)

sven-n commented 5 years ago

After merge of #114, it works now for 0.75 and should also work for 0.97d (untested!); Will open a new issue, if there are any problems with 0.97d.