mirror of
https://github.com/plan-player-analytics/Plan.git
synced 2024-12-22 00:57:55 +01:00
Page:
Bungee Configuration
Pages
4.0.0 Set Up after 3.6.4
APIv4
APIv5 DataExtension API
APIv5 DataExtension API by Example
APIv5 PageExtension API
APIv5 Query API
APIv5
Architectural Decision Records
Bukkit Configuration
Bukkit Set Up
Bungee Configuration
Bungee Set Up
Commands & Permissions
Contribution Guidelines
DataExtension API Getting started
DataExtension API Builders
Database Schema
Database management
External WebServer Use
External Webserver use: Reverse proxy
Get Started
Home
How to configure X
How to update supported fabric version for curseforge release pipeline
How to update the plugin
Html Customization migration guide to React
Html Customization
Localization
Migration guide from Version 4.x.x to Version 5.0
Migration guide from Version 5.5 to 5.6
Migration guide to Version 5.1 build 768
PlaceholderAPI
Possible GDPR Privacy Policy section
Preparation for update with database schema changes
Project Architecture
Project Setup
Query API Getting started
SSL Certificate (HTTPS) Set Up
Supported Plugins
Themes
Web permissions
32
Bungee Configuration
Aurora Lahtela edited this page 2024-12-07 10:32:32 +02:00
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 valuesMILLISECONDS
,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 valuesMILLISECONDS
,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 valuesMILLISECONDS
,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
- See External WebServer Use for more information
Plugins
- If you have third party plugins installed, their analysis settings will be displayed here.
- Related to PageExtension Resource API that allows users to edit web files added to Plan by 3rd party plugins.
Documentation
Tutorials
Configuration
- Game server Set-up
- Network Set-up
- Game server Configuration
- Network Configuration
- Login / HTTPS Set-Up
- Commands & Permissions
- Database management
- PlaceholderAPI