GithubHelp home page GithubHelp logo

litivps / openmu Goto Github PK

View Code? Open in Web Editor NEW

This project forked from munique/openmu

0.0 2.0 0.0 2.85 MB

This project aims to create an easy to use, extendable and customizable server for a MMORPG called "MU Online" in the version of Season 6 Episode 3 using the ENG (english) protocol.

Home Page: https://munique.net

License: MIT License

C# 93.65% JavaScript 6.32% CSS 0.03%

openmu's Introduction

OpenMU Project

License Build Status

Welcome to the OpenMU project.

This project aims to create an easy to use, extendable and customizable server for a MMORPG called "MU Online" in the 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 the well-known decompiled server source of "Deathway" or one of its 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.

Licensing

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

Used technologies

The project is mainly written in C# with the help of Visual Studio 2017 and targets .NET 4.6.1. In the long term the goal is to be able to run it on .NET Core.

The servers admin panel is an embedded webserver, which is using the React framework on top of the Nancy framework.

At the moment the persistence layer uses the Entity Framework Core and PostgreSQL as database.

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.

Apart of that, contribtions 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 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

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 complete different architecture. With some points we make our live 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.

Money drops

The original server drops money (zen) on the ground when a player kills a monster. The serialization of it is a bit strange, because it's sent as 'item drop' and misuses item fields to represent the money value. We make our live here easier, because we don't drop money. Instead, we directly add it to the inventory of the player(s). Benefits:

  • More performance, as we don't create a ton of new "Item" objects which are actually no items. Money drops really often on the original server.
  • Cleaner code as we don't misuse "Item" objects and don't need to invent something like a "MoneyItem".
  • This also slightly improves gameplay - picking up all the money on the ground is a bit annoying.

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.

openmu's People

Contributors

sven-n avatar tocher avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.