Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

This project aims to create an easy to use, extendable and customizable server for a MMORPG called "MU Online".

License

NotificationsYou must be signed in to change notification settings

bernatvadell/OpenMU

 
 

Repository files navigation

LicenseCodacy BadgeGitter chatDiscord chat

PlatformBuild Status
WindowsWindows Build Status
Linux (Docker)Docker Build Status
NuGet Packages
MUnique.OpenMU.NetworkNuGet Badge
MUnique.OpenMU.Network.PacketsNuGet Badge

This project aims to create an easy to use, extendable and customizable serverfor a MMORPG called "MU Online".The server supports multiple versions of the game, but the main focus isversion of Season 6 Episode 3 using the ENG (english) protocol.However, parts of the software can also be suitable for the development ofother games, even for other kind of games.

The code is a complete rewrite from scratch - it's not based on pre-existingprojects, and it's also explicitly not based on decompiled server sources ortheir countless derivates.

There also exists ablog which may contain some valuableinformation about this development.

Current project state

This project is currently under development without any release.You can try the current state by using the available docker image, alsomentioned in thequick start guide.

Licensing

This project is released under the MIT license (see LICENSE file).

Used technologies

The project is mainly written in C# and targets .NET 8.0.

The servers admin panel is hosted on an embedded ASP.NET Core webserver (Kestrel)and implemented as Blazor Server App.

At the moment the persistence layer uses theEntity Framework CoreandPostgreSQL as database. Additionally, it'salso possible to start it in a non-persistent in-memory mode.

The project supports distributed hosting based on Dapr. Alternatively, it can behosted in one process as well.

Deployment

We provide Docker images and docker-compose files for easy deployment.Please take a look at the deploy-folder of this project.

Contributions

Contributions are welcome if they meet the following criteria:

  • Language is english.

  • Code should be StyleCop compliant - this project uses theStyleCop.Analyzersfor VS2022 so you should see issues directly as warnings.

  • Coding style (naming, etc.) and quality should fit to the current state.

  • No code copied/converted from the well-known decompiled source of theoriginal server.

If you want to contribute, please create a new issue for the feature or bug (ifthe issue doesn't exist yet) so we can see who is working on something and candiscuss possible solutions. If it's a small thing, you can also just send apull request without adding an issue.

Apart of that, contributions from non-developers are welcome as well. You cantest the server, submit issues or suggestions, packet descriptions ordocumentations about the concepts and mechanics of the game itself. Please usemarkdown files/syntax for this purpose.

If you have questions about that, don't hesitate to ask in ourdiscord channelor by submitting an issue.

How to contribute code

If you want to contribute code, please do the following steps:

  1. fork this project from the original MUnique OpenMU Project.
  2. create a feature branch from the master branch
  3. commit your changes to your feature branch
  4. submit a pull request to the original master branch
  5. lean back, wait for the code review and merge :)

How to use

Please have a look at thequick start guide.

Gameplay differences to the original server

This project doesn't have the goal to copy the original MU Online serverbehavior to 100 %. This is not entirely possible, because the original serveris written in another programming language and has a completely differentarchitecture.With some points we make our life easier in this project, with other points wetry to improve the gameplay.

Calculations

The calculations of attribute values (like character damage decrement etc.) aredone with 32 bit float numbers and without rounding off, like the originalserver does at some places.E.g. distributed stat points always have effect, while in the original servereffects might get rounded down. For example, when 4 points of strength gives 1base damage, the original server doesn't calculate a fraction of 1 damage for3 points, while OpenMU calculates 0.75 damage. This damagehas then an effect in further calculations.

Countdown when changing character or sub-server

The original server uses a five second countdown when a player wants to changehis character or the sub-server. Maybe this was done for some performancereasons, as the original server would then save the character/account data.We think that's really annoying and see no real value in that, so we don't usea countdown.

About

This project aims to create an easy to use, extendable and customizable server for a MMORPG called "MU Online".

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C#94.5%
  • CSS3.6%
  • HTML1.0%
  • XSLT0.6%
  • TypeScript0.2%
  • SCSS0.1%

[8]ページ先頭

©2009-2025 Movatter.jp