All Projects → MUnique → Openmu

MUnique / Openmu

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

Projects that are alternatives of or similar to Openmu

Crystalshire
Legacy VB6 open-source ORPG
Stars: ✭ 24 (-90.12%)
Mutual labels:  games, mmorpg
Hercules
Hercules is a collaborative software development project revolving around the creation of a robust massively multiplayer online role playing game (MMORPG) server package. Written in C, the program is very versatile and provides NPCs, warps and modifications. The project is jointly managed by a group of volunteers located around the world as well as a tremendous community providing QA and support. Hercules is a continuation of the original Athena project.
Stars: ✭ 669 (+175.31%)
Mutual labels:  hacktoberfest, mmorpg
rsc-client
🎮 runescape classic web client
Stars: ✭ 45 (-81.48%)
Mutual labels:  games, mmorpg
Dome
A lightweight game development environment where games can be written in Wren
Stars: ✭ 251 (+3.29%)
Mutual labels:  hacktoberfest, games
Rathena
rAthena is an open-source cross-platform MMORPG server.
Stars: ✭ 1,793 (+637.86%)
Mutual labels:  hacktoberfest, mmorpg
Sfml
Simple and Fast Multimedia Library
Stars: ✭ 7,316 (+2910.7%)
Mutual labels:  hacktoberfest, games
Gameproject3
游戏服务器框架,网络层分别用SocketAPI、Boost Asio、Libuv三种方式实现, 框架内使用共享内存,无锁队列,对象池,内存池来提高服务器性能。还包含一个不断完善的Unity 3D客户端,客户端含大量完整资源,坐骑,宠物,伙伴,装备, 这些均己实现上阵和穿戴, 并可进入副本战斗,多人玩法也己实现, 持续开发中。
Stars: ✭ 655 (+169.55%)
Mutual labels:  games, mmorpg
Mirror
#1 Open Source Unity Networking Library
Stars: ✭ 2,905 (+1095.47%)
Mutual labels:  games, mmorpg
Azerothcore Wotlk
Complete Open Source and Modular solution for MMO
Stars: ✭ 1,330 (+447.33%)
Mutual labels:  hacktoberfest, mmorpg
Excalibur
🎮 An easy to use 2D HTML5 game engine written in TypeScript
Stars: ✭ 892 (+267.08%)
Mutual labels:  hacktoberfest, games
Core Framework
This repository holds the Open RuneScape Classic game framework
Stars: ✭ 143 (-41.15%)
Mutual labels:  hacktoberfest, mmorpg
Pixieditor
PixiEditor is a lightweight pixel art editor made with .NET 5
Stars: ✭ 210 (-13.58%)
Mutual labels:  hacktoberfest, games
Dotfiles
😈 Vim, git, zsh, tmux, and other goodies.
Stars: ✭ 240 (-1.23%)
Mutual labels:  hacktoberfest
Reconnoiter
Large-scale Monitoring and Trend Analysis System
Stars: ✭ 245 (+0.82%)
Mutual labels:  hacktoberfest
Sponge
The SpongeAPI implementation targeting vanilla Minecraft and 3rd party platforms.
Stars: ✭ 241 (-0.82%)
Mutual labels:  hacktoberfest
Switcher
Gnome Shell extension to switch windows quickly by typing
Stars: ✭ 239 (-1.65%)
Mutual labels:  hacktoberfest
Open spiel
OpenSpiel is a collection of environments and algorithms for research in general reinforcement learning and search/planning in games.
Stars: ✭ 2,991 (+1130.86%)
Mutual labels:  games
Spandex
A platform agnostic tracing library
Stars: ✭ 244 (+0.41%)
Mutual labels:  hacktoberfest
Sysadmin Reading List
A reading/viewing list for larval stage sysadmins and SREs
Stars: ✭ 240 (-1.23%)
Mutual labels:  hacktoberfest
Eir
Erlang ecosystem common IR
Stars: ✭ 242 (-0.41%)
Mutual labels:  hacktoberfest

OpenMU Project

License Codacy Badge Gitter chat Discord chat

Platform Build Status
Windows Windows Build Status
Linux (Docker) Docker Build Status
NuGet Packages
MUnique.OpenMU.Network NuGet Badge
MUnique.OpenMU.Network.Packets NuGet Badge

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

The code is a complete rewrite from scratch - it's not based on any pre-existing projects, and it's also explicitly not based on decompiled server sources or their countless derivates.

There also exists a blog which may contain some valuable information 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, also mentioned in the quick 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 5.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 the Entity Framework Core and PostgreSQL as database. Additionally, it's also possible to start it in a non-persistent in-memory mode.

Contributions

Contributions are welcome if they meet the following criteria:

  • Language is english.
  • Code should be StyleCop compliant - this project uses the StyleCop.Analyzers for VS2017 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 the original server.

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

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

If you have questions about that, don't hesitate to ask in our discord channel or 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 the quick start guide.

Gameplay differences to the original server

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

Calculations

The calculations of attribute values (like character damage decrement etc.) is done with 32 bit float numbers and without rounding off, like the original server does at some places.

Countdown when changing character or sub-server

The original server uses a five second countdown when a player wants to change his character or the sub-server. Maybe this was done for some performance reasons, 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 use a countdown.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].