aatxe / OpenMaple

A fast MapleStory emulator aiming to bring openness back to the private server community.

Home Page:http://aaronweiss74.github.io/OpenMaple/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

OpenMaple

OpenMaple is a fast MapleStory emulator aiming to bring openness back to a community near wrecked by solely proprietary innovations. We're not going to do it with overbearing licenses like previous emulators. We're building a new emulator from scratch leveraging modern technologies to bring MapleStory emulation into the modern age. We're employing modern design decisions to increase maintainability, scalability, and customizability. Best of all, we're letting OpenMaple go free in every sense of the word. It's free from cost, free from restriction, and free from worry. OpenMaple just is.

The Technologies

OpenMaple, like many existing MapleStory emulators, is in Java, but now all of the code is being written using idioms introduced with Java 7 and will be updated where appropriate to utilize newer features as they arise. OpenMaple is built using Apache's Maven build system. It's fast, sleek, easy to use, and it handles all our dependencies elegantly. As for those dependencies, we're using Netty and Hibernate to ensure that the emulator is fast, efficient, and load-bearing. Additionally, we use Google's Guava library to provide a set of common libraries to use throughout the emulator where needed. To manage and access game data, this emulator uses the NX Format through pkgnx to provide a simple and fast data solution. We want our emulator to be able to get the most that it can out of the hardware, and we're sure that users want that too. We also use SLF4J to support our logging to provide a flexible, easy-to-use logging system. OpenMaple aims to give choice back to the end-user.

The Design

Unlike existing emulators, OpenMaple follows modern design idioms that have been tried and tested in production Java software. The entire system is based around an event model using Guava's EventBus and custom packet serializers and deserializers. This makes it easier for the emulator to be ported to different versions of MapleStory with minimal effort while maintaining the same basic framework. We use Hibernate with plain-old Java objects to make working with a database simpler and more flexible. Currently, OpenMaple is being built for the official v.40 beta version. Once that's more feature complete, we'll move on to emulating newer versions.

Contributing

If you're as excited about this as we are, we totally understand that you want to get involved and we want you to get involved. Make sure to read up on the guidelines for contributing online or in CONTRIBUTING.md. You'll need to follow the instructions therein to get your code upstream. Once you're ready to go, just fork and start hacking away. If you need help on figuring out what needs to be done or even how to do it, you'll be able to find aaronweiss74 and Fraysa on #vana on the FyreChat IRC Network. We appreciate your support and look forward to your contributions!

About

A fast MapleStory emulator aiming to bring openness back to the private server community.

http://aaronweiss74.github.io/OpenMaple/

License:The Unlicense


Languages

Language:Java 100.0%