This repository contains coordinator for WLHD ecosystem. This server is responsible for managing games, players, and game sessions.
Built using ExpressJS and MongoDB.
This is a passion project, created to provide a platform for playing Walenholde Combat System.
WLHD is a tabletop RPG system, created by me, that is still in active development. For more detailed information, check Learn More.
Before you begin, ensure you have met the following requirements:
- You have installed Node.js and npm (built using NodeJS v21.6.1).
- You have installed MongoDB.
- You have a
<Windows/Linux/Mac>
machine.
- Clone this repository:
git clone https://github.com/CatOfJupit3r/wlc-coordinator-server.git
- Install dependencies:
npm install
- Create a
.env
file in the root directory of the project and populate it with the variables from.env.example
.
- PORT — Port on which the server will run (default: 5000)
- HOST — Host on which the server will run (default: localhost)
- GAME_SERVER_URL — FULL URL to the GAME server
(not this repository) - GAME_SECRET_TOKEN — Secret token to access the GAME server. DO NOT SHARE THIS!
- JWT_SECRET — Secret token for JWT. DO NOT SHARE THIS!
- JWT_REFRESH — Secret token for JWT refresh. DO NOT SHARE THIS TOO!
- GITHUB_TOKEN — GitHub token for cloning and pulling DLCs. Use this if you want automatic installation of DLCs.
Open a terminal inside the project directory run according to your package manager:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
This repository supports Docker. To build the image, run:
docker build -t wlhd-game-coordinator .
Then, to run the container:
docker run -p 4000:4000 -d wlhd-game-coordinator
To learn more about Walenholde Combat System... Well, you can't, as it's still a WIP. But in future you will be able to find more information about it on GitHub Wiki page, including:
- Creating your own lobbies, characters and hosting them.
- Mechanics of the game, including combat, spells, and other features.
- React Frontend — Frontend for the game coordinator, built using React, Redux and GraphQL. (You are here!)
- Game Coordinator — Backend for the game coordinator, built using ExpressJS and MongoDB.
- Game Engine — Core game engine, built using Python, Python and Python. (also, FastAPI).
- Building your own WLHD Package — Guide on how to build your own WLHD package, including all the necessary information.
- Discord Bot Interface — Frontend for the game coordinator, built using Discord API. (Deprecated)
- [Game Guide] — Contains all the necessary information about the game and its various mechanics in a traditional TTRPG format. (WIP)
- [Game Wiki] — Contains all the necessary information about the game and its various mechanics in easily navigable way. (WIP)