eldios / dungeonclub

A cool little website for playing Dungeons & Dragons together.

Home Page:https://dungeonclub.net

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Dungeon Club - Virtual Tabletop Icon

An online platform to gather and play Dungeons & Dragons, Call of Cthulu, Pathfinder and more.

Dungeon Club strives to be the most user-friendly virtual tabletop of all, providing tons of features and a comfortable design. Visit the homepage for a demonstration of features or try the demo right now!

Development

There are three essential parts to debugging and running this VTT locally, all of which require an installation of Dart. If you're on Windows and don't want the trouble of installing Chocolatey, I recommend following this guide instead.

After downloading the SDK and making sure it's part of your PATH, run the following lines as a one-time setup:

# Clone repository and navigate into the directory
git clone https://github.com/doodlezucc/dungeonclub.git
cd dungeonclub

dart pub get                     # Download all required packages
dart pub global activate sass    # Download SCSS->CSS transpiler
dart pub global activate webdev  # Download Dart->JavaScript transpiler

More info on sass and webdev.

You're now ready to start a debuggable local Dungeon Club server!

Launching via VS Code

If you're a using the IDE Visual Studio Code, you can make use of repository-included launch configurations available for both server and web.

  • Server/Backend - Run Debug: Start Debugging (or press F5).
  • Web/Frontend - Run Tasks: Run Build Task (or press Control+Shift+B).

Launching via Shell

Alternatively, you can open three separate terminals and enter the following one-liners.

# Launch the backend server
dart bin/server.dart
# Convert from Dart to browser-readable JavaScript (file watching)
webdev serve
# Convert from SCSS to CSS (-w enables file watching) 
sass web/sass/style.scss web/style/style.css -s compressed -w

If webdev and sass commands aren't available on your PATH, you can use dart pub global run [command from above].

After initializing backend and web serving, you can go to localhost:8080 and view your freshly delivered, live-compiled version of Dungeon Club.

Changes to the source code are reflected at different times depending on what part you're working on. Changes can be seen...

  • Server Code - after restarting the server.
  • Website Code - after refreshing the website (at http://localhost:8080).
  • Website Stylesheet - after refreshing the website or by pressing Shift+R (not available on Firefox).

Self-Hosting

You can find the official public version of Dungeon Club at https://dungeonclub.net. In case you want to host a local server on your machine, there are two ways to achieve this.

Pre-Compiled Releases

Whenever an update rolls out to the public website, a new release is added to the repository Releases tab. Releases consist of a short changelog followed by a list of pre-compiled builds for multiple platforms and architectures.

After downloading and unzipping your selected build, you will find two relevant files inside:

  • server.exe - The executable server. (Depending on your platform, the file extension may differ.)
  • login.yaml - A file which may define custom account logins.

When executing server.exe, a terminal opens up, informing you that Dungeon Club is now serving at http://localhost:7070. You can navigate to this address and see your very own copy of the VTT loaded and ready to use.

Try logging into the pre-registered mock account by filling in email "admin", password "admin" on the homepage. There's no difference in using a mock account vs. a regular email-verified account, aside from the way it's created. Upon a successful login, you're presented with the ability to create and manage your own campaigns.

If you open the server port (7070 by default) in your network, outside players should be able to interact with your locally hosted website by accessing your IP address.

Custom Build

Apart from the official list of executable releases, you can also build Dungeon Club yourself. Follow the one-time setup described in Development to install required tools. Then, execute the repository-included dedicated build script by running the following command:

dart bin/build.dart [options]

For a list of possible arguments, run dart bin/build.dart --help or refer to the next section.

Command Line Arguments

The following options may be entered as arguments to the server and/or builder.

Option Definition Default (serve) Default (build)
-h, --help Prints a list of available flags and options.
--[no-]mock-account Whether to accept contents of "login.yaml" as a list of registered accounts. false true
--[no-]music Whether to enable the integrated music player. Server hosts may need to install yt-dlp and ffmpeg to download 500 MB of background music. true false
Server Only
-p, --port Specifies the server port. 7070
--bootstrap
  • all - Enable log files and graceful exits
  • logging - Enable log files
  • none - Bypass bootstrapper
all
Build Only
--[no-]copy-music Whether to include locally downloaded music (ambience/tracks/*.mp3) in the build. false
--[no-]download-icons Whether to download and include the latest release of Font Awesome (icons used on the website) true
--part Which parts to compile and include in the build. Can be server or all. all

About

A cool little website for playing Dungeons & Dragons together.

https://dungeonclub.net

License:MIT License


Languages

Language:Dart 73.4%Language:SCSS 15.5%Language:HTML 11.1%