32 Bungee Configuration
Aurora Lahtela edited this page 2024-12-07 10:32:32 +02:00

Plan Header

Network Configuration

This page is about the Bungee/Velocity config.yml file and the various settings it provides.
For Bukkit or Sponge see Bukkit Configuration

Page version: 5.6 build 2883

Configuring with environment variables

You can configure Plan using environment variables. This can be useful for those running servers in docker environments.

Examples:

  • Plugin.ServerName -> PLAN_PLUGIN_SERVERNAME
  • Database.MySQL.Password -> PLAN_DATABASE_MYSQL_PASSWORD
  • ServerInfoFile.yml is also supported, eg. PLAN_SERVER_ID, PLAN_SERVER_UUID to have specific servers keep their identity if your server destroys all files on shutdown.
  • With string lists variable needs to be format "- One\n- Two" where \n is newline

Settings

Server

Setting Default Description
IP 0.0.0.0 Since Bungee does not provide a get IP method, IP of the server running Bungee has to be manually set. Set this to an address or IP that connects to the Bungee server machine.
Name Plan Uniquely identifies a proxy server if you have multiple. If it is default then Proxy <id> is shown on website instead.
Network.Name 'Plan' This name is displayed on the Network page.

Server Configuration on BungeeCord

Changing settings of other Plan servers in your network is possible.
Configs of each server can be found in /plugins/Plan/serverConfiguration.
After changes to the file on either end the other server will update their file based on Time.Periodic_tasks.Check_DB_for_server_config_files_every setting.

To apply changes in any config the server needs to reload Plan

Settings by Section

Plugin.Logging
Setting Default Description
Locale default 2 letter Locale code, see Localization
Create_new_locale_file_on_next_enable false Writes a new locale.txt file to the plugin folder on enable.
Log_untranslated_locale_keys false Logs keys that have default value in the currently in-use locale to console. This is to help translators update files.
Dev false Enables development error logging as well as other debug messages
Delete_logs_after_days 7 Number of days after which log files are removed
Plugin (Other)
Setting Default Description
Update_notifications.Check_for_updates true Enables Plan update check
Update_notifications.Notify_about_DEV_releases false Should update notifications include DEV releases
Database
Setting Default Description
MySQL.Host localhost
MySQL.Port 3306
MySQL.User root User for editing the database
MySQL.Password minecraft Password of MySQL.User
MySQL.Database Plan Name of the Database to use
MySQL.Launch_options ?rewriteBatchedStatements=true&useSSL=false Launch options to use
MySQL.Max_Lifetime 25 MINUTES How long HikariCP will keep connection in the pool. Reduce this if you are getting connection timeout errors.
Webserver
Setting Default Description
Port 8804 Port of the Webserver
Alternative_IP.Enabled false Should an alternate address be used for the WebServer links
Alternative_IP.Address your.domain.here:%port% Address to use as link in inspect and analyze commands if setting above is enabled. %port% will be replaced with the Port automatically. If you have port-forwarded an alternate address to the webserver port, %port% is not required.
Internal_IP 0.0.0.0 Internal InetAddress to start the WebServer on. 0.0.0.0 manages the Internal IP automatically. No need to change unless running in Docker.
Public_html_directory "public_html" Html Customization feature that allows hosting any files on the Plan webserver.
Cache.Reduced_refresh_barrier 15 SECONDS Prevents constant json updates with this threshold
Cache.Invalidate_query_results_on_disk_after 7 DAYS How long to store query page results so that they can be shared
Cache.Invalidate_disk_cache_after 2 DAYS How long to store json for the panel data, note that old panel data is deleted when new one is cached.
Cache.Invalidate_memory_cache_after 5 MINUTES How long to store json for the panel data in memory, same as above applies.
Security.SSL_certificate View the tutorial on setting up a SSL Certificate
Security.Disable_authentication false Disables login if HTTPS is enabled.
Security.Disable_registration false Disables user registration page if HTTPS is enabled.
Security.Access_log.Print_to_console false Print any incoming request to the console log.
Security.Access_log.Remove_logs_after_days 30 How long access log is kept in the Plan database.
Security.CORS.Allow_origin '"*"' Allows other sites to fetch JSON from Plan webserver.
Security.Use_X-Forwarded-For_Header false Allows you to use whitelist with reverse-proxy
Security.Cookies_expire_after 2 HOURS Determine time after login-cookies expire
Security.IP_whitelist.Enabled false Enables or disables the IP whitelist for the webserver
Security.IP_whitelist.Whitelist locahost List of IP addresses to allow accessing the webserver. Supports wildcards, cidr and dynamic dns (see comment above the setting)
Disable_Webserver false Disables the WebServer. This is for External WebServer Use
External_Webserver_address https://www.example.address Address to give to users when Plan WebServer is disabled.
Data_gathering
Setting Default Description
Geolocations true Enable Geolocation gathering
Accept_GeoLite2_EULA false Allow downloading GeoLite2 Database (Better for geolocation)
Geolocation_Download_URL "https://geodb.playeranalytics.net/GeoLite2-Country.mmdb" Maxmind Geolite2-Country database download location.
Ping true Enable ping gathering
Disk_space true Enable free disk space gathering
Commands.Log_unknown false Log commands that are not registered, e.g. /bremobmreb (Currenly not in use)
Commands.Log_aliases_as_main_command true Combines command aliases to the main command, e.g. /i to /give (Currenly not in use)
Join_addresses.Enabled true Enable/Disable join address gathering
Join_addresses.Preserve_case false Case sensitive join address storage
Join_addresses.Preserve_invalid false Keep non IP address or DNS domain join addresses
Join_addresses.Filter_out_from_data - play.example.com Hide specific addresses from data (e.g. if cloudflare hidden IP is gathered)
Time.Delays
  • Unit supports values MILLISECONDS, SECONDS, MINUTES, HOURS, DAYS
Setting Default (Unit) Description
Ping_server_enable_delay 300 (SECONDS) Delay from server start before Ping is started to be gathered.
Ping_player_join_delay 30 (SECONDS) Delay from player login before Ping is started to be gathered.
Wait_for_DB_Transactions_on_disable 20 (SECONDS) Maximum time to wait until unfinished transactions are executed when database closes.
Time.Thresholds
  • Unit supports values MILLISECONDS, SECONDS, MINUTES, HOURS, DAYS
Setting Default (Unit) Description
AFK_threshold 3 (MINUTES) Idle time before Plan considers a player afk
Activity_index.Playtime_threshold 30 (MINUTES) Playtime/Week to be considered Active by Activity Index
Remove_inactive_player_data_after 180 (DAYS) How many days player has to not log in to be removed from the database
Remove_time_series_data_after 90 (DAYS) How many days Players online & Performance data is stored
Remove_ping_data_after 14 (DAYS) How many days Ping data is stored
Remove_disabled_extension_data_after 2 (DAYS) How many days data of disabled Extensions in stored
Time.Periodic_tasks
  • Unit supports values MILLISECONDS, SECONDS, MINUTES, HOURS, DAYS
Setting Default (Unit) Description
Check_DB_for_server_config_files_every 1 (MINUTES) How often database is checked for updated config file
Extension_data_refresh_every 1 (HOURS) How often server data for DataExtensions is updated
Clean_Database_every 1 (HOURS) How often database is cleaned of old data
Display_options
Setting Default Description
Theme default See Themes for more details about this setting
Player_head_image_url "https://crafatar.com/avatars/${playerUUID}?size=120&default=MHF_Steve&overlay" Change service for player head images
Sessions.Show_on_page 50 How many sessions are visible on a page
Sessions.Order_world_pies_by_percentage false By Default WorldPie is ordered alphabetically, colors are still determined alphabetically.
Players_table.Show_on_server_page 2500 How many players are visible on /server page Players tab
Players_table.Show_on_players_page 25000 How many players are visible on /players page
Open_player_links_in_new_tab false Feature switch for old behavior of player links
Graphs.Show_gaps_in_data false Displays data gaps in line graphs (Might increase page load time)
Graphs.TPS 18 & 10 Thresholds for TPS graph colors
Graphs.Disk_space 500 & 100 Thresholds for Disk graph colors
Command_colors &2, &7, &f Color codes to use for command messages
Formatting
Setting Default Description
Decimal_points '#.##' How many decimal points should be displayed
Time_amount Time amounts are formatted by replacing the placeholders of these settings. More below.
Dates Dates are formatted with SimpleDateFormat patterns
Dates.TimeZone server Change time zone used for the web pages, accepts format 'GMT+2' or 'GMT-04:30', 'server' or 'UTC'
Dates.Show_recent_day_names true The day in dates is replaced by 'Today', 'Yesterday', 'Friday' for the few most recent days.
Formatting.Time_amount Examples

Default:

Time Formatted
400 days, 12 hours, 30 minutes and 20 seconds 1 year, 1 month, 5d 12h 30m 20s
400 days 1 year, 1 month, 5d
12 hours 20 sec. 12h 20s
0 sec. 0s

Extra Zeros

Time_amount:
      Year: '1 year, '
      Years: '%years% years, '
      Month: '1 month, '
      Months: '%months% months, '
      Day: '1d '
      Days: '%days%d '
      Hours: '%zero%%hours%:'
      Minutes: '%hours%%zero%%minutes%:'
      Seconds: '%minutes%%zero%%seconds%'
      Zero: '00:00:00'
Time Formatted
400 days, 12 hours, 30 minutes and 20 seconds 1 year, 1 month, 5d 12:30:20
400 days 1 year, 1 month, 5d
12 hours 20 sec. 12:00:20
30 minutes 00:30:00
20 sec. 00:00:20
0 sec. 00:00:00
World_aliases
  • World_aliases.List List of Worlds and the aliases used in graph generation. You can lump worlds together by setting their alias as the same value.
  • World_aliases.Regex List of regexes "Alias for world:^abc$" that replace any matching world names with the alias on the left side of : You can use https://regex101.com/ for testing regexes. Any matching worlds will not be added to .List again after they're removed.
Export
Plugins
  • If you have third party plugins installed, their analysis settings will be displayed here.
Customized_files