Plan - FAQ

Feb 23, 2017
Plan - FAQ
  • This wiki article contains most of the most Frequently Asked Questions about the functionality & future of Plan.

    Table of contents

    • About bungeecord support?
    • When I go to my.server.ip:8804 I get a 403 Forbidden page
    • How are Age/Gender gathered?

    About Bungeecord support

    Short answer: Not fully supported

    Long answer:
    Bungeecord is built on a different API than Spigot, which means that it does not contain Bukkit's API. Plan uses Bukkit's Listeners, Tasks & Classes, which are not available in a Bungeecord server.
    If you're going to run Plan on all of the servers running Spigot/Bukkit in your Bungee network, you should use a MySQL to connect the data together.
    Following datapoints are not syncronized between multiple servers:

      • When the player Registered
      • Is the player banned
      • Is the player Opped
      • Is the player online
      • Any data in cache while a player is online on one server
    All configurations using bungee in any way are untested, and can cause data loss in situations where a player moves from one server to another while the database is saving the Player's data.
    The way Bungeecord handles IP's, means that Geolocation and IPs are unavailable to Plan running on a Spigot server connected to a Bungee server.

    In order to achieve bungee support, another version of the plugin would have to be written. Maintaining updates on two similar but same purpose plugins would be extremely tedious.
    I have zero bungeecord experience, so testing a bungee version is currently not possible.

    When I go to my.server.ip:8804 I get a 403 Forbidden page

    This is the way it works.
    The simple WebSocketServer that is running on the plugin will block access to all other addresses other than the ones given by plan commands.
    To display data, Plan creates the web pages on the fly when requested. This means that data needs to be cached for fast access. The commands cache the data, and give link to the webpage.
    So that no-one could attack the server using the plugin, all requests to other addresses are blocked, and data is not cached by the request when a request is made.

    How are Age & Gender gathered?

    Age & Gender are gathered from the chat.
    When a message contains a trigger word (config), Demographics Handler attempts to see if it contains numbers. Any numbers between 1 and 100 are accepted as the player's age.
    Then Demographics Handler checks if the message contains gender trigger and acts accordingly.
    Before any of this, the Handler checks if the message contains any of the ignore words, and ignores the message if it is the case.

    Original article:

    Hopefully that cleared some confusion you might have had. If you've got any more questions, feel free to ask in the Plugin's Discussion
    Some might have been answered in the other wiki articles, like API, Configuration, manage command usage & localization. (Wiki navigation on the right)
  • Loading...
  • Loading...