-
-
Notifications
You must be signed in to change notification settings - Fork 170
Bukkit Configuration
Aurora Lahtela edited this page Dec 7, 2024
·
35 revisions
This page is about the Bukkit/Sponge/Nukkit/Fabric config.yml file and the various settings it provides.
For Bungee see Bungee Configuration
Page version: 5.6 build 2883
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
Server
Setting | Default | Description |
---|---|---|
ServerName | Plan |
Name of the server, displayed on the page and used to access the page of the server on networks. |
Plugin.Logging
Setting | Default | Description |
---|---|---|
Locale | default |
2 letter Locale code, see Localization. default for English. write-all to write all locales' files |
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, such as request matching |
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 |
Configuration.Allow_proxy_to_manage_settings | true |
Should server config file on Bungee/Velocity apply changes to this server's config. |
Database
Setting | Default | Description |
---|---|---|
Type | H2 |
'MySQL' , 'H2' or 'SQLite'
|
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 |
3650 (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.
Customized_files
- Related to PageExtension Resource API that allows users to edit web files added to Plan by 3rd party plugins.