The currently running PTR realm and final Nostalrius TBC realm will be based on an open source emulator, publicly available here:
https://github.com/NostalriusTBC
Open source contributors and official team members
We are actively looking for open source contributors, and official team members.
In order to be part of the official team, you will have to have already contributed to our repositories, as an open source contributor. The role of the official team is to handle code submissions (mainly through Pull Requests), to give main development axis, and to decide high level implementation choices. They are required to be available a minimum number of hours per week, as our developers for the vanilla team.
Open source contributors do not have any requirement regarding their availability, and are not expected to provide support for their accepted fixes. They are encouraged to follow bug priorities, but can also contribute to fix any bug they want to.
As open source contributor, you will have to work on our code base, following scripting good-practice, and improve your code according to peer reviews.
We see it as a unique opportunity:
- To gain valuable coding experience on a large project,
- To improve the quality, efficiency and robustness of your code,
- To get a first experience of open source coding,
- To work on a product which will be used by thousands of players in the future
How to join the open source contributors? How do I get started?
The first step to get started would be to join our Discord server to be able to discuss with other team members / open source contributors.
Once you have read this post entirely, send me a PM stating that you want to get access to the Discord. You do not need to send a complete application, a short presentation will be fine. However, you need to have at least one message on the forums in order to be able to PM me (feel free to answer this topic).
The second step will be to setup your own copy of the emulator on your computer to effectively make changes. Do not worry, it is not that hard, and we will be there on the Discord to help you!
There are 2 ways you can setup a server:
- *Easy way*
- Read this readme (https://github.com/NostalriusTBC/Vagran ... /README.md)
- Install the following programms: git, Vagrant, virtualbox, (World of Warcraft 2.4.3)
- With git, clone this repository - https://github.com/NostalriusTBC/Vagrant
- Open a command prompt inside this repository and type "vagrant up"
- Congratulations, you how have a virtual environment with a working emulator and database!
- *Experts only - not compatible Windows yet* (recommended for advanced C++ developers)
- Clone the following git repositories
- https://github.com/NostalriusTBC/Vagrant - Contains the script to autosetup the database
- https://github.com/NostalriusTBC/Core - the C++ code for the emulator itself
- https://github.com/NostalriusTBC/Database - the database files
- Build the emulator (this can help you: https://github.com/cmangos/issues/wiki/ ... structions)
- Setup the database:
- Use this script: https://github.com/NostalriusTBC/Vagran ... orld_db.sh
- ... after setting up the core and database repositories paths here: https://github.com/NostalriusTBC/Vagran ... default.sh
- Extract DBCs, map files (mandatory). Generate vmaps (collision) and mmaps (pathfinding) - optional.
- Clone the following git repositories
At this point, you should be able to login on your own server, and modify it as you want.
How do I submit my modifications?
I won't go into details here, but here are the main steps:
- Register a Github account, if you don't have already one
- Fork the repository you would like to contribute to (Core for example)
- clone this repository on your own computer
- Create a new branch, work, and commit your fix on this branch
- Push this branch to your repository
- Go to github, to your branch, and you will be able to submit a pull request
- Wait for your pull request to be accepted. Automated tests will also be run to make sure your change does not break any functionality. People may answer you with comments about your code, and discuss implementations
Thank you in advance for your contribution, and we hope that you will enjoy working on this huge project that is Nostalrius TBC!
Daemon - Nostalrius dev team leader.