Dark and Darker private server implementation written in Python.
- Login
- Registration
- Character creation
- Character deletion
- Loading into lobby
- High-roller leaderboard
- Perk and skill selection
- Inventory and stash
- Gathering hall
- Basic party support
- Basic merchant support
- Persistent characters and items
- ... and many more features in development!
$ git clone git@github.com:Snaacky/dndserver.git
$ cd dndserver
$ poetry install
$ poetry shell
$ pre-commit install
$ alembic upgrade head
$ python -m dndserver.server
For live reloading during development launch using
python -m jurigged -v .\dndserver\server.py
$ wget https://raw.githubusercontent.com/Snaacky/dndserver/master/docker-compose.yml
$ mkdir config && cd config
$ wget https://raw.githubusercontent.com/Snaacky/dndserver/master/config.example.yml -O config.yml
$ touch dndserver.db
$ cd ..
$ docker-compose up -d
$ docker exec -it dndserver alembic upgrade head
$ docker restart dndserver
Before the game client connects to the TCP lobby server, it first connects to an HTTP discovery server specified in the game's launch options using the -server=address:port
schema to get the lobby server address to connect to. We are hosting an HTTP discovery server at dcweb.pages.dev:80
to redirect your client traffic to 127.0.0.1
without having to host your own web server.
A demo instance is being hosted at -server=dndserver.lol:80
. The demo instance will automatically pull new commits from the master branch so you can check out the latest developments without having to setup your own instance.