Playing Tabletop RPG in the beautiful small town of Rhenen
This section describes a solution to organize Community Play in Roll20. Community Play initiatives can be played in Roll20 as-is, but a few conventions and helper scripts make it a lot faster and easier.
This solution is intended for Community Plays with one roll20 campaign acting as Character Hub. When the initative and the amount of character grows, there can be a Character Hub for each Tier of Play. The compendiums in the Character Hub are curated to only have content available that is agreed by the gamemasters. All players create and store their character in the Character Hub. The Gamemasters use the GM Notes to note when characters have participated in a session and how many XP/loot was gained. A group of Gamemasters with good knowledge of the gamesystem can be tasked with validating characters, to make it easier for new gamemasters to start playing.
Each GM uses it’s own Play campaign(s) during sessios. Some GMs prefer a single play campaign, other GMs like to make a seperate play campaign for each different adventure; both are fine. Before a session the GM copies the participating characters to their play campaign using the character vault. After a session the GM register the fact that the characters played in the gmnotes of the original characters in the characterhub. The copy of the character in the play campaign is not used anymore and can be removed from the GM game.
Characters are moved between games using the character vault:

This is how games from a Community Play can look like in Roll20:

Characters are created and maintained in the characterhub. The Character Hub is created by someone with a Roll20 Pro subscription for three reasons:
The compendiums in the Character Hub are curated to only have content available that is agreed by the gamemasters. This means that the creator needs to explicitly share all compendiums that AND explicity block all other compendiums. All players create and store their character in the Character Hub. Note that the owner of the Characterhub needs to turn on Compendium Sharing when creating the game and then never turn it off again.
The Roll20 Community Play Support mod provides the following functionalities:
(If the setting playerCharacterLimit is larger than 0) Every time a player launches the characterhub campaign, a button is shown in the chat. This button will either be a new character button or a open character button.
The Open Character button is shown when a player has reached the maximum number of allowed characters or when there is already a character with the ‘new’ name. The Open Character button opens the characer with the ‘new’ name or a random other character.
The New Character button is shown when a player still is allowed to create characters and when there is no character with the ‘new’ name. When the player presses the new character button:
If the setting playerCharacterLimit is set to 0, the mod never shows buttons.
Note: Roll20 recently introduce a +Character button that can be used by all players. This button is turned off and should not be used. The reason is twofold: firstly there is no limit to the number of characters a player can create and secondly the +Character Button only assigns characters to players, not to Gamemasters. This means that the mod cannot assign the roll20 accountid of gamemasters to characters.

GMs see all characters in the hub and there can be many, hence a naming convention of charactername (player displayname) is enforced. Enforcement takes place whenever a charactername changes, a player display name changes and when a player (re)launches the campaign.
Until recently roll20 did not allow players to change the tokens of their character, but players were and still are allowed to set the avatar of their characters. If the setting avatarIsDefaultToken is on, the defaulttoken of character is automatically set when the avatar changes and/or when the charactername changes. The script creates a defaulttoken based on the avatar. The name displayed below the token is without (player displayname) and bar1 and bar2 are filled/linked to HP and AC of the linked character. Settings for dynamic lighting left empty, when the script was developed dynamic lighting was in flux and it was decided to use manual fog only.
Because of note 1) there is are two command that check and if needed update all characters in the characterhub. All reporting is send to the API log.
API Scripts have the tendency to stop working for no reason. A manual restart is required. When a player does not see the button, it is clear that a restart is needed. However. when an event-trigger is not handled, this can be unnoticed (change gmnotes, change name, change avatar)
Each GM uses their own play campaigns. A play campaign has to be created by a someone with a roll20 account and a Pro Subscription to enable importing. The same script as in the Characterhub can be used here, but a GM can also choose to assign characters manually to players.
Every time a character is added or a player comes online, the script checks whether there are characters with an attribute ffwplayerid that are not assigned to the player with the registered roll20 account id. If so, the character is assigned to that player.
It is perfectly doable to transport characters from the hub to a play game manually, but thanks to the right setup i normally perform this at the start of the session. With all players in a discord video channel watching life.
To transport characters from the hub to a play game three Google Chrome bookmarklets have been created. These bookmarklets ONLY work in Google Chrome. Before the workflow and each bookmarklet is described, please watch this small video.
In the characterhub the GM drops the tokens of the characters that will join the session on a private page.
Execute the bookmarklet CharVault Import All Characters from this page and all characters on the page are imported to the Character Vault.
Open or Refresh the roll20 Character Vault page. In the dropdown box of the first character, select the play campaign. Execute the bookmarklet CharVault Export All and all characters in the Character Vault are exported to the play game. *Recently the Character Vault Page has been paginated. So there is now a limit to the number of characters in a party. *
And play!