Campaign Survey is a script that tries to give the user a bird-eye view of their campaign, reporting on how much space is taken up by which elements. Some elements have more of an impact on game performance than others, and in general, the script tries to show them in descending order of importance. Information on improving Roll20 performance can be found on Roll20 system Recommendations and Optimizing Roll20 Performance in the Help Center. The !survey command can be followed by " --" and one or more of the following keywords:
characters A list of all character sheets in a campaign in descending order of complexity. All entries are linked to the sheet so you can quickly open them and investigate. Each character is appended by the number of attributes it contains. This will vary depending on the sheet used, and complexity of the character. Look for exceptionally high outliers, typically spell caster with many spells.
attributes A list of all character attributes in a campaign. This is a very rough indicator of the size of the Firebase DB, when combined with the number of graphics placed on the VTT. A high number will likely affect loading time, and may contribute to lag. Character sheets, and the number of graphics and drawings on the VTT are the greatest contributors to game size.
abilities A list of all character sheets in a campaign in descending order of number of abilities (macros resident on character sheets). Abilities can be quite long, but they are still relatively low impact compared to attributes. All entries are linked to the sheet so you can quickly open them and investigate. Each character is appended by the number of abilities it contains. Look for exceptionally high outliers, typically Macro Character Sheets. In this case, a high number of macros is rarely an issue, since this practice serves to consolidate a lot of a games automation in one place. For more information see, Macro Character Sheet in the Roll20 Community Wiki.
pages A list of all pages in a campaign, along with the number of graphics on that page. Graphics are listed as total graphics/count of tokens. Look for exceptionally high count outliers. More graphics = more Firebase items to track. Number of graphics is more likely to be a lag concern on Dynamically Lit pages.
lighting A list of all dynamically lit pages in a campaign, along with the number of sighted tokens, light-emitting tokens, plus DL paths, and the total number of points in those paths. Simplify when possible. There is overlap in the report, if one token is emitting low and bright light, it is listed in both counts. See System Requirements & Best Practices in the Help Center for performance help, or Help Center's Dynamic Lighting headquarters. If Dynamic Lighting does not seem to be working, try going through the Dynamic Lighting Checklist.
graphics A list of all graphics in a campaign, followed by the number of times they are used. You may occasionally see a 1x and a say, 6x for the same graphic. This likely indicates that an item was dragged in from a marketplace source and used again from the art library. Using the alternate arguments of ugraphics or mgraphics will constrain the report to User Art Library or Marketplace items respectively. Marketplace items can be identified by a thin black border around the graphics frame. Clicking on a graphic lists all occurrences of the identified graphic in a campaign, broken out by page, with the source of the graphic clearly labeled. Information on best practices for creating and uploading graphics can be found in Best Practices for Files on Roll20 in the Help Center
handouts A list of all handouts in a campaign. All entries are linked to the handout so you can quickly open them and investigate. Handouts are very low impact items, and are unlikely to contribute to lag or increased loading time except in extreme numbers.
macros A list of all macros in a campaign. Each macro will play the macro when clicked. Macros are low impact items. tables A list of all tables in a campaign in alphabetical order. All entries are linked to a roll on that table. Clicking on the name will produce a gmroll, clicking on the number of entries will perform an inline roll. Tables are low impact items.
texts A list of all text obejcts in a campaign. Text objects are low impact items. There may be some entries for empty texts. This can happen when the user clicks with the text editing tool in error and then abandons the process to do something else. Empty texts are not a serious problem, but in order to clean things up and make it easier not select them by accident. There is a tool to remove all empty texts. Use with caution.
decks A list of all card decks in a campaign, along with a card count for each deck. Decks are a relatively low-impact item, unless there are an inordinate number of cards in play on the VTT.
tracks A list of all jukebox tracks in a campaign. Clicking on the track will play the track. Each track name has a button next to it that will stop playing that track. Jukebox tracks are streaming files and will not affect loading time. They are unlikely to contribute to lag, except in cases where there is already low bandwidth.
players A list of all players in a campaign, along with their player id, and avatar color. Clicking the player color box calls up a character list report formatted like the characters keyword in descending order of complexity, but is limited to characters for whom the player is listed as a controller. Clicking on the player name will take you to their public Roll20 profile page, in case you need to PM them or can't remember what they are called outside of the game.
makehandout Sends the report to a handout named "Campaign Survey Report". You can use this with any other keyword or as the sole keyword. Every category on the campaign overview display has a handout option. There is a button at the bottom of the display to directly open the handout. All reports sent to the handout will update in real time. If you want the name of the campaign to appear at the top of every report, put it in the gmnotes of the Campaign Survey Report handout.
overview (optional) gives a count of each of the categories. Each category is clickable to send that command to chat or to the report. typiing !survey --overview, is the same as typing !survey.
Help Displays this help information.