89 lines
3.5 KiB
Markdown
89 lines
3.5 KiB
Markdown

|
|
|
|
# Magicbane Open-Source MMO Project
|
|
### *The Community written Shadowbane emulator*
|
|
[Magicbane](http://www.magicbane.com)
|
|
</BR>
|
|
[Public Repository](http://repo.magicbane.com)
|
|
<BR>
|
|
<magicbot@magicbane.com>
|
|
|
|
> Magicbane is an emulator for the long dead but much beloved Ubisoft MMO, [Shadowbane](https://en.wikipedia.org/wiki/Shadowbane).
|
|
The project was founded in 2013 with the concept of free availability of gameplay; players unencumbered by any factor other than a desire to again play a game they once loved. A game where the developers do not play is guaranteed to be the fairest game.
|
|
|
|
The Magicbane Team has wanted to open source Shadowbane for half a decade. We are excited to now finally have the opportunity, along with some new technology, to truly democratize Shadowbane.
|
|
|
|
- Written in some 80k lines of Java 8 and bash.
|
|
- Project with real infrastructure; Production and development servers supporting multiple containerized apps.
|
|
- MagicBox container technology enables _instant deployment_ and trouble free development on modest hardware.
|
|
- MagicBox plugin capability allows for new and interesting player experiences.
|
|
|
|
## Contributing
|
|
|
|
- Inbound == Outbound.
|
|
- IntelliJ is the supported IDE.
|
|
- Write code today see it running on the Magicbane production server tomorrow.
|
|
|
|
## Project setup
|
|
|
|
**Prerequisites**:
|
|
|
|
- Git
|
|
- IntelliJ
|
|
- Java 8 JDK
|
|
- Account on the Magicbane [Public Repository](http://repo.magicbane.com)
|
|
|
|
|
|
Copy the HTTP link if you haven't yet installed a public key:
|
|
|
|

|
|
|
|
- Clone the Magicbane public repo to your local machine using the copied URL.
|
|
|
|

|
|
|
|
- Under Settings->VersionControl->Git make sure to turn off these two settings.
|
|
|
|

|
|
|
|
- Select the Project Structure settings within the IDE.
|
|
|
|

|
|
|
|
- Select Java 8 as the IDE target as shown.
|
|
|
|

|
|
|
|
- Delete and recreate content root pointing at the **Server** directory.
|
|
- Make sure the Language Level still reflects Java 8.
|
|
- The IDE should now autodetect the cloned source.
|
|
|
|

|
|
|
|
Magicbane currently has the following dependencies.
|
|
<br>
|
|
|
|
- [EnumBitSet](https://github.com/claudemartin/enum-bit-set)
|
|
- [HikariCP](https://github.com/brettwooldridge/HikariCP)
|
|
- [JDA](https://github.com/DV8FromTheWorld/JDA)
|
|
- [JodaTime](https://github.com/JodaOrg/joda-time)
|
|
- [TinyLog](https://github.com/tinylog-org/tinylog/tree/v1.3)
|
|
- [MySqlConnector](https://dev.mysql.com/downloads/connector/j/)
|
|
|
|
They are all directly obtainable from a running MagicBox instance.
|
|
|
|
``` docker cp magicbox:/usr/share/java/EnumBitSet.jar Dependencies/```
|
|
|
|
Add the jar files as project libraries as shown.
|
|
|
|

|
|
|
|
You should now be able to build the game!
|
|
|
|

|
|
|
|
### Next Steps
|
|
|
|
You can now move onto the [Development Workflow](http://repo.magicbane.com/MagicBane/Server/wiki/Development-workflow) or [MagicBox Setup](http://repo.magicbane.com/MagicBane/Server/wiki/MagicBox-:-Magicbane-in-a-Box) pages for further information.
|
|
|
|
Support is also available through the Magicbane [Discord server](www.magicbane.com). Feel free to stop in and pick Magicbot's brain! |