Survey Plus ⭐ | Get useful feedback from players! icon

Survey Plus ⭐ | Get useful feedback from players! -----

Get feedback using in game surveys! In game editor and result viewer!



[​IMG]

Do you no longer want to redirect people to the internet to answer your surveys? Do you want to get players' feedback in-game?
Survey plus is the in-game Minecraft survey solution!

Improve your server today by collecting useful feedback from your players!

[​IMG]
  • 3 Different survey types (Inventory GUI, Chat Survey and Book survey)
  • Easy in-game editor. Configure everything using the in-game GUI menu for maximum convenience.
  • View survey results in-game.
  • Custom rewards for players that finish a survey. (Custom for every survey!)
  • SQLite storage for single servers.
  • MySql storage for networks
  • Configure the surveys to make them unique for your server.
  • Target specific servers or server groups in your network.
  • Only target a certain group of players using permissions.
  • Cooldown on featured survey display (across servers)
  • Fast & without any lag. Programmed for minimal server impact.
  • Export survey results to JSON.
  • Custom model data support.
  • Publish results to Discord using a webhook.
  • NEW Publish results to the web interface.

Question types supported:
  • Open questions
  • Closed questions (yes / no)
  • Select question (select one of the options)
  • Multiple questions (select 0 or more options)


[​IMG]
Demo version of 1.0.0 - Features are preserved in 2.0.0


Example of a BOOK survey
[​IMG]
(Layout and colors can be changed!)

Example of a GUI survey
[​IMG]
(Layout and colors can be changed!)

Example CHAT survey
[​IMG]

(Layout and colors can be changed!)

A passive way to serve surveys to players:
[​IMG]
(Layout and colors can be changed!)

Or have them pop-up when someone joins the server:
[​IMG]

View survey results in-game, in Discord or on the web view.
[​IMG]
View the DEMO here.
[​IMG]
[​IMG]
[​IMG]
  1. Download the surveyplus.jar
  2. Drop the jar in your plugin folder and start the server.
  3. Stop the server and configure the config.yml (MySql, SQLite)
  4. Start your server again.
  5. Use /sp menu to open the survey editor.
  6. Create your first survey.
  7. Activate the survey and collect feedback!
  8. Enjoy :D
[​IMG]

There is only 1 config that contains all the data. An example config can look like this: (this is the default config)

Code (YAML):

#   ___                                     _  _              ___     _
#  / __|   _  _      _ _   __ __    ___    | || |            | _ \   | |    _  _     ___
#  \__ \  | +| |    | '_|  \ V /   / -_)    \_, |            |  _/   | |   | +| |   (_-<
#  |___/   \_,_|   _|_|_   _\_/_   \___|   _|__/            _|_|_   _|_|_   \_,_|   /__/_
#_|"""""|_|"""""|_|"""""|_|"""""|_|"""""|_| """"| {======|_| """ |_|"""""|_|"""""|_|"""""|
#"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'./o--000'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'
#
#       A survey solution for networks and single servers by MartenM
#
#"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'./o--000'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'
#

# The server name specified here in the config is used to target the featured survey option.
# Server names don't have to be unique. This means that all servers in 1 group can carry the same name.
server_name
: GLOBAL

# Database settings
# Specify the used database here.
# Possible options: "SQLite, mysql"
database_option
: "SQLite"
mysql
:
  user
: root
  password
: ''
  port
: 3306
  host
: localhost
  database
: mc
SQLite
:
  file_name
: surveyData

# Used to define the default language file for easy use.
# Default is English.
language
: "English"

# Featured settings
featured
:
  # Timeout between the event and the presentation of the featured survey.
  # (in minecraft ticks: 20 ticks = 1 second)
  timeout
: 20
  # Show a featured survey on server join.
  on_join
: true

# Interfaces for different survey types.
interface
:

  # Universal sound settings
  sounds
:
    # Configure sound settings, values like "none" "" will be ignored.
    feature_popup
: "ENTITY_CAT_AMBIENT 1 1.5"
    next_question
: "BLOCK_NOTE_BLOCK_XYLOPHONE 0.8 1"
    toggle_answer
: "BLOCK_STONE_BUTTON_CLICK_ON 0.7 3"
    click
: "BLOCK_STONE_BUTTON_CLICK_ON 1 3"
    finish_survey
: "ENTITY_PLAYER_LEVELUP 0.3 0.5"
    error
: "BLOCK_NOTE_BASS 1 0.5"

  ######################################################################
  #                                                                    #
  #                      Chat interface settings                       #
  #                                                                    #
  ######################################################################
  chat
:
    # General settings for this survey interface
    settings
:
      chat_clear_rows
: 20
      spacing
: "          "

    # General UI settings
    general
:
      hover_answer
: "&eClick to answer&e: %option%"
      header
:
       - "       &e&l%question%"
        - " "
      footer
:
       - " "

    #
    #  Start of per question specifications
    #
    open
:
      hint_message
: "&e   Please type your answer in the chat!"
    closed
:
      yes_option
: "&7> &a&lYES"
      no_option
: "&7> &c&lNO"
    select
:
      format
: "&7> &0 %option%"
      # Footers can be overridden for each question type!
      # The same holds for headers.
      footer
:
       - "&7 Click an answer to proceed"
    multiple
:
      format_selected
: "&a&l✓&r &e %option%"
      format_unselected
: "&7● &e %option%"
      # Footers can be overridden for each question type!
      # The same holds for headers.
      hover_selected
: "&eClick to &cdeselect&e: %option%"
      hover_unselected
: "&eClick to &aselect&e: %option%"
      hover_next
: "&eClick to move to the next question"
      next_question
:
       - " "
        - "        > &a&lNext question&r <"
    finish_screen
:
      text
:
       - "&aThanks for filling in this survey"
        - "&aUsing your feedback we will make sure to improve our server in the future"
        - " "
        - "&7You have been given some rewards for finishing the survey"
    featured_screen
:
      text
:
       - "      &6&lWe are hosting a survey!"
        - " "
        - "      &l%name%"
        - "      &7%description%"
        - " "
        - "<START>"
        - " "
      start_text
: "     &a&lStart survey"
      start_hover
: "&7Click to &astart &7the survey"

  ######################################################################
  #                                                                    #
  #                      Book interface settings                       #
  #                                                                    #
  ######################################################################
  book
:
    general
:
      # Adds a little space before answer entry.
      answer_spacing
: " "
      hover_answer
: "&eClick to answer&e: %option%"
      header
:
       - "&lQuestion:"
        - "%question%"
        - " "
        - " "
    open
:
      hover_text
: "&aClose the book"
      content
:
       - "&lClose the book and type your answer in chat."
      chat_content
:
       - " "
        - "&7&e Type your answer in chat!"
        - " "
    closed
:
      yes_option
: "&7> &2&lYES"
      no_option
: "&7> &4&lNO"
    select
:
      format
: "&7>&0 %option%"
    multiple
:
      format_selected
: "&2&l✓&r&0 %option%"
      format_unselected
: "&7● &0%option%"
      hover_selected
: "&7Click to &cdeselect&7: %option%"
      hover_unselected
: "&7Click to &aselect&7: %option%"
      hover_next
: "&7Click to move to the next question"
      next_question
:
       - " "
        - "  > &1&lNext question&r <"
    finish_screen
:
      text
:
       - "&2&lThanks for filling in this survey"
        - " "
        - "&0Using your feedback we will make sure to improve our server in the future"
        - " "
        - "&0You have been given some rewards for finishing the survey."
    featured_screen
:
      text
:
       - "&1&lWe are hosting a survey!"
        - " "
        - " &l%name%"
        - " %description%"
        - " "
        - "    <START>"
        - " "
      start_text
: "&2&lStart survey"
      start_hover
: "&7Click to &astart &7the survey"
      # Use <CLOSE> to create a close button.
      close_text
: "&c&lClose"
      close_hover
: "&7Click to close this pop-up"

  ######################################################################
  #                                                                    #
  #                      Inventory interface settings                  #
  #                                                                    #
  ######################################################################
  inventory
:
    general
:
      size
: 45
      # Header items that display the question
      # Placeholders: %username% %question%
      extra_items
:
        q1
:
          material
: ITEM_FRAME
          slot
: 12
          name
: "&7Question:"
          lore
:
           - "%question%"
        q2
:
          material
: ITEM_FRAME
          slot
: 13
          name
: "&7Question:"
          lore
:
           - "%question%"
        q3
:
          material
: ITEM_FRAME
          slot
: 14
          name
: "&7Question:"
          lore
:
           - "%question%"
      # Distribution of answer items
      distribution
:
       - 31
        - 30 32
        - 30 31 32
        - 29 30 32 33
        - 29 30 31 32 33
        - 28 29 30 32 33 34

    # Settings per question type
    open
:
      material
: WRITTEN_BOOK
      name
: "Open the chat and type your answer"
      lore
:
       - " "
        - "&7There is also an message in chat to help you answer :)"
    closed
:
      yes_option
:
        material
: LIME_CONCRETE
        name
: "&a&lYes"
        lore
:
         - " "
          - "&7Click to answer &ayes"
      no_option
:
        material
: RED_CONCRETE
        name
: "&c&lNo"
        lore
:
         - " "
          - "&7Click to answer &cno"
    multiple
:
      selected
:
        material
: YELLOW_CONCRETE
        name
: "&e%option%"
        lore
:
         - " "
          - "&7Click to &ede-select&7 %option%"
      un_selected
:
        material
: LIGHT_GRAY_CONCRETE
        name
: "&f%option%"
        lore
:
         - " "
          - "&7Click to &aselect&7 %option%"
      next_question
:
        slot
: 44
        material
: ARROW
        name
: "&aNext question"
        lore
:
         - " "
          - "&7Click to move to the next question"
    select
:
      material
: ORANGE_CONCRETE
      name
: "&f%option%"
      lore
:
       - " "
        - "&7Click to answer"
    finished_screen
:
      general
:
        size
: 36
        name
: "&lThanks for participating"
      items
:
        thanks1
:
          slot
: 21
          material
: "GOLD_INGOT"
          name
: "&6&lThanks for your help!"
          lore
:
           - " "
            - "&7With your feedback we can improve the server!"
            - "&7You have been &6rewarded&7 for your participation."
        thanks2
:
          slot
: 22
          material
: "GOLD_BLOCK"
          name
: "&6&lThanks for your help!"
          lore
:
           - " "
            - "&7With your feedback we can improve the server!"
            - "&7You have been &6rewarded&7 for your participation."
        thanks3
:
          slot
: 23
          material
: "GOLD_INGOT"
          name
: "&6&lThanks for your help!"
          lore
:
           - " "
            - "&7With your feedback we can improve the server!"
            - "&7You have been &6rewarded&7 for your participation."
    featured_screen
:
      general
:
        size
: 36
        name
: "&lPlayer feedback: %survey_name%"
      start_items
:
        start1
:
          slot
: 30
          material
: "LIME_CONCRETE"
          name
: "&a&lStart survey"
          lore
:
           - " "
            - "&7Click here to start the survey"
        start2
:
          slot
: 31
          material
: "LIME_CONCRETE"
          name
: "&a&lStart survey"
          lore
:
           - " "
            - "&7Click here to start the survey"
        start3
:
          slot
: 32
          material
: "LIME_CONCRETE"
          name
: "&a&lStart survey"
          lore
:
           - " "
            - "&7Click here to start the survey"

      extra_items
:
        extra1
:
          slot
: 13
          material
: "DIAMOND"
          name
: "&l&bGive feedback & get epic rewards"
          lore
:
           - " "
            - "%survey_description%"
            - " "
            - "&7Answer the questions in the survey"
            - "&7and receive &bepic &6rewards&7."


######################################################################
#                                                                    #
#               Available survey interface settings                  #
#                                                                    #
######################################################################
available_surveys
:
  # General settings like size and inventory name
  general
:
    inventory_name
: "&lAvailable surveys"
    inventory_size
: 45

  # Settings about the items used to display available surveys.
  survey_item
:
    material
: "WRITABLE_BOOK"
    name
: "&6&l%survey_name%&r"
    lore
:
     - " "
      - "%survey_description%"
      - " "
      - "&7Click to start the survey"

  # If no surveys are available this item will be shown instead.
  none_available
:
    slot
: 31
    material
: "BARRIER"
    name
: "&cNo survey available"
    lore
:
     - " "
      - "&7No new surveys are available!"
      - "&7Please check back later."

  # Distribution of surveys across the inventory.
  distribution
:
   - 31
    - 30 32
    - 29 31 33
    - 29 30 32 33
    - 29 30 31 32 33

  # Add any extra items here. These will be overwritten by the survey
  # items if they are in the same slot.
  extra_items
:
    hint_item
:
      slot
: 13
      material
: "GOLDEN_APPLE"
      name
: "&a&lHelp us improve the server"
      lore
:
       - " "
        - "By answering surveys you"
        - "give us useful feedback."
        - " "
        - "With that feedback we can"
        - "make improvements to the server!"
        - " "
        - "&7Finishing a survey will give you rewards"
    fancy_1
:
      slot
: 12
      material
: "GOLD_NUGGET"
      name
: "&a&l>"
    fancy_2
:
      slot
: 14
      material
: "GOLD_NUGGET"
      name
: "&a&l<"

######################################################################
#                                                                    #
#                         Survey reminders                           #
#                                                                    #
######################################################################
survey_reminders
:
  # If this setting is set to false no reminders will be send
  # even if in the database this setting is set to true.
  enabled
: true
  # Rest of the settings for reminders is in the database.
  messages
:
   - " "
    - "    &6&lYou have an ongoing survey left open!"
    - "    &eClick here to continue."
    - " "
  hover_text
: "&7Click to &acontinue &7with the survey."
 

[​IMG]

  • /survey /surveys - Opens the available survey menu
  • /answer - Give an answer to the currently asked question. (Mostly used to give support for the book and chat surveys. You will NOT be typing this command manually.)
  • /sp - Shows the survey plus help
  • /sp menu - Opens the survey list menu for editing.
  • /sp start <id> (playername) - Start the survey. The optional parameter is the target player's name.
There are very few commands to this plugin. The reason for that is that it features a whole in-game editor using inventories instead of a command-based system.


[​IMG]
Code (Text):

// Root
surveyplus.open.menu - Open the editor
surveyplus.open.available - Open the survey start screen

// Editor
surveyplus.edit.survey.create
surveyplus.edit.survey.name
surveyplus.edit.survey.description
surveyplus.edit.survey.rewards
surveyplus.edit.survey.type
surveyplus.edit.survey.questions
surveyplus.edit.survey.featured
surveyplus.edit.survey.available
surveyplus.edit.survey.servertarget
surveyplus.edit.survey.start
surveyplus.edit.survey.permission

// danger zone
surveyplus.edit.survey.reset
surveyplus.edit.survey.delete

// Commands
surveyplus.cmd.settings
surveyplus.cmd.survey.start.other

surveyplus.cmd.survey.webhook.list
surveyplus.cmd.survey.webhook.add
surveyplus.cmd.survey.webhook.remove
surveyplus.cmd.survey.webhook.publish

// base node for starting a survey with permission enabled.
surveyplus.survey.start.<ID>

// Access to certain views
view.survey.advanced
view.survey.results;
 
Survey-specific permissions may be a feature addition if people are needing this.

[​IMG]

In order to use the API you first need to install the surveyplus-api.jar into your local maven repository.

After that, you can use the SurveyPlusAPI class.
You can get an instance of this class using the services manager in Bukkit.
Code (Java):
public class DependentPlugin extends JavaPlugin {

    @Override
    public void onEnable ( ) {
        SurveyPlusAPI myAPI = Bukkit. getServicesManager ( ). load (SurveyPlusAPI. class ) ;
    }

}
SurveyPlusAPI JavaDoc: https://martenm.nl/jdoc/surveyplus/nl/martenm/surveyplus/api/SurveyPlusAPI.html
Full JavaDoc: https://martenm.nl/jdoc/surveyplus/

[​IMG]
Not convinced yet? Test the plugin yourself!
Just send me a PM and I will set it up on a server for you to try.

[​IMG]

These are items I have planned for future updates:
  • Allow people to answer a survey multiple times.
  • Schedule surveys
  • More options for when a user should be able to answer a survey.
  • Export survey results to a flatfile.Done!
  • Reminder when someone leaves his survey. Done!
  • Add a stable developer API. Done!
  • Add survey settings table for global changes. Done!
  • More features.

[​IMG]
By buying and downloading you agree to the following:
  • No refunds! All purchases are final. If you find any bugs, be sure to contact me.
  • The price of the plugin can change at any time.
  • You do NOT redistribute this plugin.
  • Use it only for YOUR server/network.
[​IMG]
[​IMG]
[​IMG]

Special thanks to UpperLevel for this amazing BookApi which helped me to create the book survey option.

If you enjoy the plugin: Please leave a review. It really helps my motivation :D
[/spoiler]
Resource Information
Author:
----------
Total Downloads: 210
First Release: Nov 16, 2017
Last Update: Dec 7, 2024
Category: ---------------
All-Time Rating:
15 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings