Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

[Development] MUnique OpenMU C# open source server project - MIT License

Joined
Aug 29, 2011
Messages
512
Reaction score
33
As I hit a point where I would need a lot of special logic for some skills, I’m currently working on a plugin system to make extensions easier to add. I think this opens up a lot of new possibilities, also for custom plugins. I’ll move some of the “default” game logic into plugins, too. This way they could be configured to be deactivated if required. For example, if someone is not happy how experience is calculated/distributed one could deactivate the default plugin and write its own to replace it.
In other use cases, someone may deactivate features to dumb a server down to a lower season.
I think it would take too much time to describe all my ideas and other people tend to come up with even with more ideas xD

However, you can read more about it here:



At mods: Please don’t merge my post again, thank you.

with this plugin system would it be possible to add mechanics from a higher season, allowing you to migrate from season 6 to season 8 or 9? I think it would be interesting if that was possible.
 
Joined
Aug 6, 2005
Messages
552
Reaction score
298
Yes, that’s one my goals. However, if such mechanics needs to keep some state for each player it might get tricky. If this state needs to be saved on the database, it even gets even harder. The easiest thing would be to extend the data model to support such features, and just not use them in lower seasons.
As you can see, I still have to think some things through ;)
 
Joined
Aug 6, 2005
Messages
552
Reaction score
298
With this information I can only guess which problem you have.

You click on a server and get disconnected? If yes, then the solution is most probably to add the right -resolveIp parameter:
 
Newbie Spellweaver
Joined
Dec 26, 2013
Messages
44
Reaction score
12
This is a truly impressive project. Best of luck to everyone developing it.
I have a mind to dig into this code and see if I can contribute to your efforts.

@nevS, maybe I missed it, but I didn't find much information on how to get a client to connect to the server and I understand why you would avoid supporting that. On the other hand, I have noticed a few other projects aiming to recreate the game client from scratch. Are you or have you considered working with any of those projects so that there can be an open source, completely original client that can be officially supported by OpenMU?
 
Joined
Aug 6, 2005
Messages
552
Reaction score
298
Thanks bog7
About getting started: I posted a release thread on this forum with a suitable client. The project contains a simple launcher which starts the main.exe with any IP/Port you like. Then there’s a QuickStart guide about how to start the server. If you know what you’re doing, I’m sure someone will be able to do it. People are also free to post/contribute more user-friendly tutorials or send a pull request for a better guide.
About client clones: Until now, I only got questions if they could use my server - of course they can, it’s MIT licensed. However, I didn’t see any serious open source approach yet, which is not a surprise. It’s a whole lot of work to create a very complex game from scratch. I‘d be very happy to see one, and support it if I can, of course. I myself will not start an approach since my time is limited ;)
 
Newbie Spellweaver
Joined
Sep 28, 2010
Messages
26
Reaction score
5
Are there any servers running MUUnique?
My best wishes for your project to be successful. It was always a pity, that there exist great open source emulators in WoW which is younger, but none in MU.
 
Newbie Spellweaver
Joined
Oct 31, 2015
Messages
10
Reaction score
4
Anyone who can create a webpage to create accounts and check basic things like, ranking and few more things? Something like basic php pages
 
Initiate Mage
Joined
Mar 30, 2023
Messages
1
Reaction score
0
Hi, im planing to open MU PC server like clasic MU im zero experience to this project but for the love of the game i want to give a try and make a good server with a good and frieldny developer to working with ^^
 
Junior Spellweaver
Joined
May 18, 2005
Messages
109
Reaction score
50
As I hit a point where I would need a lot of special logic for some skills, I’m currently working on a plugin system to make extensions easier to add. I think this opens up a lot of new possibilities, also for custom plugins. I’ll move some of the “default” game logic into plugins, too. This way they could be configured to be deactivated if required. For example, if someone is not happy how experience is calculated/distributed one could deactivate the default plugin and write its own to replace it.
In other use cases, someone may deactivate features to dumb a server down to a lower season.
I think it would take too much time to describe all my ideas and other people tend to come up with even with more ideas xD

However, you can read more about it here:



At mods: Please don’t merge my post again, thank you.
So kinda like the team made Factorio where even the base game is basically a scaffolding for mods and base vanilla game is just "a mod" and it easily expandable for other mods? That would actually be really awesome. But how will the game client react with that?
 
Joined
Aug 6, 2005
Messages
552
Reaction score
298
It's not that extreme in the game logic yet, as I didn't have the time to move a lof of the previously existing logic into plugins.

However, the communication with the client is also handled by plugins ("view plugins", "packet handler plugins" and "encryption plugins"). The plugin system automatically selects the right plugins for the communication based on the version of the client and the version attributes of the plugins. With this architecture it's already possible to support multiple game client versions, even at the same world but on different tcp ports.
 
Experienced Elementalist
Joined
Jun 13, 2014
Messages
272
Reaction score
21
from a perspective of someone who never worked with c# but only java do you think it is possible to work on c# code ? i would like to start implementing some new features
 
Joined
Aug 6, 2005
Messages
552
Reaction score
298
from a perspective of someone who never worked with c# but only java do you think it is possible to work on c# code ? i would like to start implementing some new features
sure, why not? Start with easy things like chat commands and you'll notice it's not that hard - at least for adding logic without any data persistence.

Adding New or Exclusive Character Class in Season 6 Source ?
What do you mean? If I add an exclusive character class? No, I won't.
But if someone wants, it pretty easy, since the game logic doesn't hardcode any character classes - it's all in the configuration data.
 
Newbie Spellweaver
Joined
Feb 1, 2015
Messages
12
Reaction score
9
Nevs, I like watch and learn your source codes, but im not yet familiar with non-web programming, cant find where is attack speed usage.
Can you please give me a link where it is in github? If you can, tell me please about attack speed. How its calculated in terms of how much attacks per second player can do?
I going to adapt it somehow for web text-game for attack with cooldown in seconds.
 
Last edited:
Newbie Spellweaver
Joined
Oct 31, 2015
Messages
10
Reaction score
4
Would be nice if someone with enough knowledge could make this compatible with 97D version’s
 
Joined
Aug 6, 2005
Messages
552
Reaction score
298
Can you please give me a link where it is in github? If you can, tell me please about attack speed. How its calculated in terms of how much attacks per second player can do?
The delay for a specific attack speed is implemented on the client side. It's at ZzzCharacter.cpp (method SetAttackSpeed) of the client source. If you look at that, it's skill dependent and also if the character is on a mount, etc.
 
Back
Top