batnav is a multiplayer Naval Battle simulator. Client-server are extremely needed in a multiplayer environment, so this solves the missing variable in the equation.
batnav-server is a modular server, that includes an express-coded Rest API, as well as a socket.io-based real-time connection handler. Everything JS, as the world originally intended.
- It handles database connections to fetch required data, but just the right amount. It includes a configurable-database manager that can be easily pointed to every modern MongoDB instance.
- It can handle sessions, so you don't have to worry about multiple people logging into the same user simultaneously.
- It handles everything required to create matches between players. In the future, the ability to create custom games may be added.
- Apart from the above, it can also set up a matchmaking environment, including rankings and queues.
- Finally, if it wasn't obvious yet, it's responsible for creating real-time connections, with an active packet exchange between clients.
The usual.
npm start
To update the repository's source code in your local environment, run the following command, inside the batnav-server
directory:
git pull
This is a personal project, so there's no need to commit into it. Nevertheless, if you want to help, make sure you have the following before beginning:
- NodeJS 14 or later.
- A compatible IDE. We recommend neovim, JetBrains WebStorm or Visual Studio Code.
To state changes in the codebase, you must follow certain steps:
- First, create your own fork , based on the current codebase.
- Then, open a pull request to notify us that your code is ready for review.
This way, you may be able to turn into an active contributor of the batnav-server
project.
GerardoWacker/batnav-server is protected by the GNU Public Licence 3.