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 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 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.
- NodeJS
>= 19
- npm
$ 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
$ npm start
# Start with packet logging
$ DEBUG="minecraft-protocol*" npm start
# Start with debug server
$ DEBUG_SERVER="true" npm start
Aresrpg is using redis with the rejson module to persist player's state
$ docker-compose up
$ USE_PERSISTENT_STORAGE="true" npm start
npm test
The reporter doesn't support errors yet so to have a detailed version of you stacktrace just run
node --test
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
- Read CONTRIBUTING.md
- We use the Prismarine protocol library
- Find packets informations on prismarine.js.org
- A more verbose description of the packets can be found on wiki.vg
- Burger datas
- More global informations (NBT, etc) can be found on Minecraft fandom
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.