diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6f66c74 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.zip \ No newline at end of file diff --git a/README.md b/README.md index d423668..1046d18 100644 --- a/README.md +++ b/README.md @@ -3,11 +3,13 @@ A repository of notes ready to import into [dungeon-revealer](https://github.com/dungeon-revealer/dungeon-revealer/). The main purpose of this repository is to host system reference documents of role playing games. - +- [Dungeon Revealer](notes/Dungeon%20Revealer/wiki) + - [Wiki][dungeon-revealer-wiki] - [Dungeons and Dragons](notes/Dungeons%20and%20Dragons) - [5e SRD][dnd-5e-srd] + ## Contributing Pull requests are welcome! We will only accept content released under permissive licenses such as OGL, CC, etc. @@ -31,7 +33,7 @@ Pull requests are welcome! We will only accept content released under permissive - [Dungeons and Dragons](notes/Dungeons%20and%20Dragons) - [5e SRD][dnd-5e-srd] -[dnd-5e-srd]: https://github.com/dungeon-revealer/game-system-notes/releases/download/v0.1.0/dnd-5e-srd.zip +[dnd-5e-srd]: https://github.com/dungeon-revealer/game-system-notes/releases/download/v0.2.0/dnd-5e-srd.zip ``` 5. Submit a pull request. @@ -42,4 +44,5 @@ Pull requests are welcome! We will only accept content released under permissive - [ ] Automatically generate the link tree in the README. - [ ] Add more [SRDs](https://www.dicegeeks.com/rpg-srds/). -[dnd-5e-srd]: https://github.com/dungeon-revealer/game-system-notes/releases/download/v0.1.0/dnd-5e-srd.zip +[dnd-5e-srd]: https://github.com/dungeon-revealer/game-system-notes/releases/download/v0.2.0/dnd-5e-srd.zip +[dungeon-revealer-wiki]: https://github.com/dungeon-revealer/game-system-notes/releases/download/v0.2.0/dungeon-revealer-wiki.zip \ No newline at end of file diff --git a/documents.yml b/documents.yml index 8e813d6..5c8babe 100644 --- a/documents.yml +++ b/documents.yml @@ -10,3 +10,8 @@ notes: name: 5e SRD path: notes/Dungeons and Dragons/5e-SRD zip: dnd-5e-srd.zip + dungeon-revealer: + wiki: + name: Dungeon Revealer Wiki + path: notes/Dungeon Revealer/wiki + zip: dungeon-revealer-wiki.zip diff --git a/notes/Dungeon Revealer/wiki/Community-Showcase.md b/notes/Dungeon Revealer/wiki/Community-Showcase.md new file mode 100644 index 0000000..b494fa8 --- /dev/null +++ b/notes/Dungeon Revealer/wiki/Community-Showcase.md @@ -0,0 +1,29 @@ +--- +id: dr-wiki-community-showcase +title: Dungeon Revealer Community Showcase +is_entry_point: false +--- + +Here is a showcase of the interesting ways members of our community are using dungeon-revealer. If you want us to feature your project using dungeon-revealer, please contact us! + +## Tabletop TV +[hinjodragonfly](https://github.com/hinjodragonfly) has created a case for a television that sits on the tabletop. There is a [Raspberry Pi](https://www.raspberrypi.org/) in the case running dungeon-revealer and presenting the player view on the screen. The DM page is accessed with a tablet. + + + + + + + + + +## Tabletop Simulator Mod +[azzco](https://github.com/azzco) has made a [Tabletop Simulator mod](https://steamcommunity.com/sharedfiles/filedetails/?id=2164161399) that projects the player view onto the table background. Players can also view the map through the in-game tablets. + + + + + + +## Bikers Dice and Bars Podcast +The [Bikers Dice and Bars podcast](https://breakfastpuppies.com/podcasts/bikersdicebars) by [nonplayer](https://github.com/nonplayer) released an [episode about virtual tabletops](https://breakfastpuppies.com/podcast-feeds/bdab-bonus-virtual-tabletops-w-alex-hakobian/). They compare various VTTs and feature dungeon-revealer in their "offline VTT" section. diff --git a/notes/Dungeon Revealer/wiki/Contributing.md b/notes/Dungeon Revealer/wiki/Contributing.md new file mode 100644 index 0000000..8b59a4f --- /dev/null +++ b/notes/Dungeon Revealer/wiki/Contributing.md @@ -0,0 +1,14 @@ +--- +id: dr-wiki-contributing +title: Dungeon Revealer Contributing +is_entry_point: false +--- + +The files for the wiki are kept in the [wiki](https://github.com/dungeon-revealer/dungeon-revealer/tree/master/wiki) folder of the [dungeon-revealer repository](https://github.com/dungeon-revealer/dungeon-revealer/). +To edit the wiki, you can [fork the repository](https://github.com/dungeon-revealer/dungeon-revealer/fork), make changes, and then open a pull request. +It's the same process as if you were making changes to the code. + + +You can also do all of this on the github website itself. +Simply navigate to the [wiki](https://github.com/dungeon-revealer/dungeon-revealer/tree/master/wiki) folder, open the file you wish to edit, and click on the edit button. +Github will take care of the fork and pull request processes for you. diff --git a/notes/Dungeon Revealer/wiki/Dice-Macros.md b/notes/Dungeon Revealer/wiki/Dice-Macros.md new file mode 100644 index 0000000..b62f27b --- /dev/null +++ b/notes/Dungeon Revealer/wiki/Dice-Macros.md @@ -0,0 +1,133 @@ +--- +id: dr-wiki-dice-macros +title: Dungeon Revealer Dice Macros +is_entry_point: false +--- + +## Chat Message Macros + +### Simple Macro + +```hbs + + Attack with Axe + +``` + +You can embed dice rolls by using a dice notation formula surrounded by square brackets. Besides using them in macros, you can also simply type dice rolls into the chat. + +Examples of dice rolls: + +- `[1d20]` +- `[3d6]` +- `[(1d4 + 1) * 3 ]` +- `[1d9000]` + +When toggeling from the editor mode back into the rendered note mode the above macro will be rendered as a clickable button with the text `Attack with Axe`. +Click that button for sending the contents of the `message` attribute (`Attack with Axe [1d20] makes [2d6] Damage`) to the chat! + +### Template Macro + +For more complex templates it is encouraged to use a template. Templates can be declared once per note and re-used with different variables: + +```hbs + + + + Attack with Handaxe + + + + Attack with Dagger + +``` + +A template can be declared by using the `Template` tag. Make sure to set a unique `id` attribute that can later be used for referencing the template. + +Inside the template you can use the following html tags: + +- div (Allowed attributes: `style`) +- span (Allowed attributes: `style`) + +As well as the following custom components for structuring content: + +- Box (Box with grey border and rounded corners) +- BoxRow (Horizontal row) +- BoxColumn (horizontal row column) + +Variables can bes set by using the variable name surrounded by curly brackets `{{myVariable}}`. + +The template can be used by setting the `templateId` attribute to the Template `id`. In addition variable values can be passed by setting them as attributes on the `ChatMacro` and prefixing them with `var-`. + +E.g. the attribute for substituting the `myVariable` variable is `var-myVariable="My Custom Value"`. + +This allows easily defining triggers for multiple skill checks or weapon attacks. + +```hbs + + + + Schwimmen Probe + +``` \ No newline at end of file diff --git a/notes/Dungeon Revealer/wiki/Getting-Started.md b/notes/Dungeon Revealer/wiki/Getting-Started.md new file mode 100644 index 0000000..f284501 --- /dev/null +++ b/notes/Dungeon Revealer/wiki/Getting-Started.md @@ -0,0 +1,40 @@ +--- +id: dr-wiki-getting-started +title: Dungeon Revealer Getting Started +is_entry_point: false +--- + +The app is separated into two sections. One for the dungeon master and one for the players. + +## Dungeon Master + +To use dungeon-revealer, the game master and the players must be on the same local network (usually a wifi network). The game master will start the server (see [Installation](dr-wiki-install)), navigate to the server's URL (`your-ip:3000/dm`) in a web browser, and then enter a password if it is set. At this point, they will be prompted to upload an image file of the map to share with the other players. The other players will navigate to the server (`your-ip:3000`) using their own browsers (laptop, tablet, or phone) and will remain at the home page. The connection information is displayed in command prompt for convenience. + +To clear areas of the map, click and draw on the map. You can switch the brush mode by clicking the "Reveal" or "Shroud" button. Alternatively, you can select an area to clear or shroud by clicking the "Select Area" button. Whenever the game master clears some of the fog of war from the map and it is ready to share with the players, they will click "Send" and the revealed areas of the map will appear in the players' browsers. What appears as a shadow to the DM will appear as pure blackness to players, thus only revealing the cleared sections of the map to them. The "Mark" button will display a circle for a period of time to indicate a point of interest. + +To switch to a different map, click "Map Library", and then select one of the maps you have already uploaded and click "Load". The "LIVE" indicator in the lower right indicates if the map currently on the dungeon master page is being presented on the player page. The "Stop Sharing" button will blank the player page in preparation for a new map to be loaded. + +You can add a [token](dr-wiki-tokens) with the "Token" tool. Click anywhere on the map to place it. The token can be changed by opening the context menu trough right-clicking on a single token. You can alter its label, color and size. + +### Shortcuts + +| Key | Functionality | +| -------------- | --------------------------------------------------------------------------------------------- | +| `1` | select move tool. | +| `2` | select area tool. | +| `3` | select brush tool. | +| `4` | select mark tool. | +| `5` | select token tool. | +| `Shift` | toggle between hide/reveal. | +| `CMD/Ctrl + S` | push map to players. | +| Hold `Alt` | use move tool while `Alt` key is pressed and return to previous mode after `Alt` is released. | + +## Players + +Navigate to the server using a web browser and wait at the home page. (The connection information is displayed in command prompt for convenience.) When the dungeon master is ready, they will push a map to your webpage. You will see either a black screen or a partially covered image. You can zoom in/out and pan the map. On a long click you will place a "point of interest" on the map that will show as a red circle. + +### Hide Chat & Note UI + +Append "?map_only" to the URL in order to hide chat & note UI. E.g. `http://localhost:3000/?map_only`. This could be useful in a setup where all players are around a table with a single monitor, for example. + +This can also be used with the password parameter: `http://localhost:3000/?map_only&password=foobar123`. diff --git a/notes/Dungeon Revealer/wiki/Grid.md b/notes/Dungeon Revealer/wiki/Grid.md new file mode 100644 index 0000000..3da7563 --- /dev/null +++ b/notes/Dungeon Revealer/wiki/Grid.md @@ -0,0 +1,31 @@ +--- +id: dr-wiki-grid +title: Dungeon Revealer Grid +is_entry_point: false +--- + +A grid helps to align tokens added to the map and can be used to easily reveal portions of the map. Any token with size `1x` added to a map with a grid will default to the grid size. + +## Creating the grid + +Click on the `Add Grid` button at the bottom to open the grid configuration menu. + +Confirm adding a grid and adjust the grid size to match one square of your map. You can increase or decrease the grid size using the Column Width and Column Height boxes. Use the X-and-Y coordinates boxes to align the grid with your map, or press ALT and drag the grid on the map using your mouse. + +![Grid_Configure](https://user-images.githubusercontent.com/1528440/106448052-8718af00-6482-11eb-94ef-473d8fc144b5.png) + +## Grid Settings + +To edit an existing grid, click on `Grid Settings` at the bottom of the main page to adjust the visual style of the grid. + +![Grid_Settings](https://user-images.githubusercontent.com/1528440/106448511-2b025a80-6483-11eb-8339-1bc5e9252990.png) + +You can adjust the visibility of the grid for both you and the players. The `rgba`box can be used adjust the color and transparency of the grid. + +The grid can be modified by clicking `Edit Grid`. This will return to the `Grid Configurator`. + +## Grid Reveal + +You can use the `Area` tool on the left toolbar to reveal or shroud blocks. Click the `Area` tool and set `Snap to grid` to `On`. Using the tool you can reveal or shroud a box in the created grid by selecting an area inside the box with it. + +![Grid_Reveal](https://user-images.githubusercontent.com/1528440/106448066-8b44cc80-6482-11eb-90de-5bfc5895a068.png) diff --git a/notes/Dungeon Revealer/wiki/Home.md b/notes/Dungeon Revealer/wiki/Home.md new file mode 100644 index 0000000..506ac7f --- /dev/null +++ b/notes/Dungeon Revealer/wiki/Home.md @@ -0,0 +1,17 @@ +--- +id: dr-wiki-home +title: Dungeon Revealer Home +is_entry_point: false +--- + +dungeon-revealer is a web app for tabletop gaming to allow the game master to reveal areas of the game map to players. Join the [discord server](https://discord.gg/dS5khqk). + +## What the DM Sees + +![alt text](https://user-images.githubusercontent.com/14338007/83942937-68312280-a7f8-11ea-9a63-8307f1c12d50.png) + +You can protect the DM area by setting a password. + +## What the players see + +![alt text](https://user-images.githubusercontent.com/14338007/83942940-6e270380-a7f8-11ea-9eb5-ec440ea57c83.png) \ No newline at end of file diff --git a/notes/Dungeon Revealer/wiki/Hosting.md b/notes/Dungeon Revealer/wiki/Hosting.md new file mode 100644 index 0000000..0d13b9c --- /dev/null +++ b/notes/Dungeon Revealer/wiki/Hosting.md @@ -0,0 +1,24 @@ +--- +id: dr-wiki-hosting +title: Dungeon Revealer Hosting +is_entry_point: false +--- + +Under construction! + +## Self-Hosting + +### Local Network + +Local network connection is currently the default assumption of these docs. + +### Remote Access + +In order to allow players and even other DMs to remotely access to your installation, you need to enable additional outside services. The easiest two approaches to this are either using a Virtual Private Network (VPN), or a combination of Dynamic DNS (DDNS) and local port forwarding: + +* **VPN:** Many modern routers feature built-in VPN configuration. See your router's docs for more details. +* **DDNS:** A number of [free and paid online DDNS services](https://www.google.com/search?q=dynamic+dns&oq=dynamic+dns) exist that can forward a custom hostname to your home internet network. Using port forwarding (see your router's docs) it's easy to then forward a remote port to the host port of your Dungeon Revealer installation. + +### Hosting on a Server + +- [Install Dungeon Revealer on a Digital Ocean Droplet](https://www.ehrenpforte.com/technical-2/943/) diff --git a/notes/Dungeon Revealer/wiki/Install.md b/notes/Dungeon Revealer/wiki/Install.md new file mode 100644 index 0000000..50981eb --- /dev/null +++ b/notes/Dungeon Revealer/wiki/Install.md @@ -0,0 +1,77 @@ +--- +id: dr-wiki-install +title: Dungeon Revealer Install +is_entry_point: false +--- + +The easiest way to use dungeon-revealer is to download the app from the [releases](https://github.com/dungeon-revealer/dungeon-revealer/releases) page here on github. There is also a [docker image](https://hub.docker.com/r/dungeonrevealer/dungeon-revealer) that is kept up to date with the releases in this repository. + +Running from the command prompt will present connection information and some debugging. +Optionally, you may set a password for the dungeon master and/or players by setting the environmental variables `DM_PASSWORD` and `PC_PASSWORD` when starting the app. e.g. for linux `PC_PASSWORD='password1' DM_PASSWORD='password2' ./dungeon-revealer-linux` +Leaving a variable undefined will disable authentication and allow public access for that section of the map. + + +### Windows + +Double click the app. A command prompt will open with useful information. +Then go to `localhost:3000` in your browser and point your players to `:3000`. +This information is also present in the command prompt window. + +### OSX + +Open the zip file and extract the files to your preferred location. + +Double click the app. A terminal will open with useful information. +Then go to `localhost:3000` in your browser and point your players to `:3000`. +This information is also present in the terminal window. + + +### Linux + +Open the zip file and extract the files to your preferred location. + +Then you can run the app directly in the terminal. + +```bash +./dungeon-revealer-linux +``` + +Then go to `localhost:3000` in your browser and point your players to `:3000`. +This information is also present in the terminal window. + +There is also a community maintained [AUR package](https://aur.archlinux.org/packages/dungeon-revealer-bin/). + + +### Docker + +We provide docker images for x64 and arm architectures. +An up to date version of docker is required to make sure the correct image architecture is pulled for your host machine. +To create an instance, run the following: + +```bash +docker pull dungeonrevealer/dungeon-revealer:latest +docker run -e DM_PASSWORD= -e PC_PASSWORD= -p :3000 -v :/usr/src/app/data -d dungeonrevealer/dungeon-revealer:latest +``` + +- Replace `` with your chosen passwords. +- Replace `` with your preferred port. +- `` is the directory on the host filesystem in which you want to store the maps and settings. `` **must be an absolute path.** One way to achieve this in linux is to navigate to the directory you want in the terminal and then use `$PWD/data` as ``. + +In your browser, go to `:/dm`. If your players are on the local network, have them go to `:`. + +Below is an example docker-compose.yml file. + +```YAML +version: '3' +services: + dungeon-revealer: + image: dungeonrevealer/dungeon-revealer:latest + container_name: dungeon-revealer + environment: + - DM_PASSWORD= + - PC_PASSWORD= + volumes: + - :/usr/src/app/data + ports: + - :3000 +``` diff --git a/notes/Dungeon Revealer/wiki/Notes.md b/notes/Dungeon Revealer/wiki/Notes.md new file mode 100644 index 0000000..2a45608 --- /dev/null +++ b/notes/Dungeon Revealer/wiki/Notes.md @@ -0,0 +1,51 @@ +--- +id: dr-wiki-notes +title: Dungeon Revealer Notes +is_entry_point: false +--- + +Notes are documents that the user can put in dungeon-revealer. Click the `Notes` button at the bottom to view the notes library. You can view existing notes or create new ones from the library. + +## Creating Notes + +Click the `Create New Note` button in the notes library to make a new note. + +![note-library](https://user-images.githubusercontent.com/9096667/87478741-e51d9c00-c5ef-11ea-867f-348e195b71d6.png) + + Notes are written in the popular [markdown syntax](https://guides.github.com/features/mastering-markdown/). There are buttons that input the syntax for common tasks: **bold**, *italics*, lists, images, and links. You can also set the permissions of the note to admin, which is only visible to the DM, or public, which is visible to everyone. + +Notes can be used in many ways. You can save creature/player stats, room descriptions, or even system rules so you can quickly reference them. + +## Searching Notes +On the main page, click on the search icon in the top right corner. A search box will pop up and you can search for any term. Players can also search through any notes with public permissions. + +![search](https://user-images.githubusercontent.com/9096667/87480101-4181bb00-c5f2-11ea-95f1-34a13e3c75f2.png) + +Click on a note from the list to open a box with the full note. There are buttons at the top that let you quickly edit, change permissions, or share the note. Sharing the note sends the note to the chat. + +![note](https://user-images.githubusercontent.com/9096667/87480109-434b7e80-c5f2-11ea-9d78-0e51fadf2196.png) + +## Importing Notes + +As the admin it is possible to import markdown files into dungeon-revealer. +You can either drag & drop a `.zip` archive containing markdown files or a single markdown file into the dungeon-master section for starting an import. + +The files must follow this format convention: + +```md +--- +id: unique-id +title: The title of the note +is_entry_point: true +--- + +This is the text of the note. It can contain any type of markdown. Such as **bold text** or [links](http://google.de). +``` + +The markdown files **MUST** start with a header constrained by `---`. +Each line represents a value: + +- **`id`**. A global unique id for all notes. When importing a lot files it is recommended to prefix them with something like `collection-1-` to avoid clashes with other notes. +- **`title`**. The title of the note. +- **`is_entry_point`**. Either `true` or `false` depending on whether the note should pop-up in the notes library as an entry point or not. + diff --git a/notes/Dungeon Revealer/wiki/TOC.md b/notes/Dungeon Revealer/wiki/TOC.md new file mode 100644 index 0000000..109f722 --- /dev/null +++ b/notes/Dungeon Revealer/wiki/TOC.md @@ -0,0 +1,19 @@ +--- +id: dr-wiki-toc +title: Dungeon Revealer Wiki +is_entry_point: true +--- + +## [Home](dr-wiki-home) +## Using the app +### [Getting Started](dr-wiki-getting-started) +### [Tokens](dr-wiki-tokens) +### [Grid](dr-wiki-grid) +### [Notes](dr-wiki-notes) +### [Dice Macros](dr-wiki-dice-macros) +## Setting up +### [Install](dr-wiki-install) +### [Hosting](dr-wiki-hosting) +## Other +### [Community Showcase](dr-wiki-community-showcase) +### [Contributing](dr-wiki-contributing) diff --git a/notes/Dungeon Revealer/wiki/Tokens.md b/notes/Dungeon Revealer/wiki/Tokens.md new file mode 100644 index 0000000..3985efd --- /dev/null +++ b/notes/Dungeon Revealer/wiki/Tokens.md @@ -0,0 +1,31 @@ +--- +id: dr-wiki-tokens +title: Dungeon Revealer Tokens +is_entry_point: false +--- + +### About +Tokens are shapes that can be added to the map representing things such as creatures, players, items, area effects, notes or anything else you can think of. +### Usage +To add a token, click on the token tool on the left control panel and then click anywhere on the map to place the token. The token size will default to the grid size if it is present.
To customize a token, right click on a token to reveal the token menu. From the token menu you can name the token, change its size and color, hide/show the token to players, and link a note. + +### Description of Features on the Token Menu +` Label ` this is the token identifier. It can be set to any value either a string or a number with the default value being 1.
+ +` Size ` controls how big or small the token should be.
+ +` color ` allows you to select the color of your token.
+ +` visible to players ` hides/show the token to players.
+ +` moveable by players ` allows the players to move the token from one location to another.
+ +` lock ` locks a token in place making it immovable. **Locking a token makes it impossible for both the Dungeon master and the players to move or delete the token.** + +` delete ` removes a token from the map. + + +![token_menu](https://user-images.githubusercontent.com/43377714/94870263-6b0aef80-0447-11eb-8fb1-07bf663eb7a0.PNG) + + +Linking a note to a token can be useful for the DM. You can use it for creature/player stats, item descriptions, room notes, or anything else you can think of. Click the `Link` button to link a note to the token. You can choose an existing note or create a new one. See the [Notes](dr-wiki-notes) page for more details.