Skip to content

aresrpg/aresrpg

Repository files navigation

AresRPG

fully in javascript powered by lsd Contributions welcome License Chat

AresRPG is a non-modded MMORPG Minecraft Server for minecraft 1.16

A bit of history

AresRPG first came up to the world in 2013 under the name EclozionMMORPG from the idea of @StoneBloodTV and @Sceat, later on the team splitted due to an internal lack of organization and AresRPG as you know it flew on its own.

Fully written in Java by @DarkPingoo and @Sceat, the project released a test version called the tutorial, quite successful and enjoyed by the community it kept going, the team grew bigger with @DeltaEvo, @unixfox and many more that you can still find in the community these days.

The v1

The gameplay was quite simple, find mobs and kill them, buy the stuff rince and repeat.

4 classes were available:

  • Barbarian
  • Archer
  • Vampire
  • Mage

There was duels, exchanges, spells, skill points, teleportation stone, boss fights team loot, etc..

The world was working though a floor system, when you complete a floor you go to the next one. This version made AresRPG quite famous

The v2

The V2 is (and will stay) an unreleased version of AresRPG, the goal of this version was to have a procedural open-world instead of a floor system and more classes than the v1, with an overall gameplay upgrade.

Requirements

  • NodeJS >= 19
  • npm

Install

$ git clone https://github.com/aresrpg/aresrpg
$ cd aresrpg
$ git submodule update --init
$ npm install

If you have access to AresRPG's proprietary data, you can run

git -C data remote add -f private git@github.com:aresrpg/data-closed.git
git -C data checkout private/master

For mac M1 users you may have problems while installing node-canvas

arch -arm64 brew install pkg-config cairo pango libpng jpeg giflib librsvg

Usage

$ npm start

# Start with packet logging
$ DEBUG="minecraft-protocol*" npm start

# Start with debug server
$ DEBUG_SERVER="true" npm start

Enable data persistence

Aresrpg is using redis with the rejson module to persist player's state

$ docker-compose up
$ USE_PERSISTENT_STORAGE="true" npm start

Test

npm test

The reporter doesn't support errors yet so to have a detailed version of you stacktrace just run node --test

Contributing

AresRPG is an open-source project, which means that anyone is welcome to participate in the design of the server and in particular its code.

AresRPG is written entirely in JavaScript, and you will need a significant level of experience to really help the server. Although we welcome all contributions, it is important to know that the senior developers of the project will invest time in reviewing your code, make sure to come up with clean, readable, and functional code before submitting a Pull Request.

The commit history should also be clean in an understandable way. Issues, code, documentations and any type of text should be written in English only

where to start

Start by forking the repo and run it locally, then try to modify or implement simple little things to learn about the state system and how to observe packets/actions.

Once you feel ready, go to the issues and open your first PR.

License

MIT