diff --git a/Gemfile b/Gemfile index 42491f1..23a6e5e 100644 --- a/Gemfile +++ b/Gemfile @@ -5,3 +5,5 @@ gem "jekyll", "~> 4.3" # installed by `gem jekyll` gem "just-the-docs", "0.10.1" # pinned to the current release # gem "just-the-docs" # always download the latest release + +gem 'jekyll-relative-links' diff --git a/Gemfile.lock b/Gemfile.lock index b884402..6effd2f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -4,7 +4,7 @@ GEM addressable (2.8.7) public_suffix (>= 2.0.2, < 7.0) base64 (0.3.0) - bigdecimal (3.2.2) + bigdecimal (3.3.1) colorator (1.1.0) concurrent-ruby (1.3.5) csv (3.3.5) @@ -17,16 +17,16 @@ GEM ffi (1.17.2-x86_64-darwin) ffi (1.17.2-x86_64-linux-gnu) forwardable-extended (2.6.0) - google-protobuf (4.31.1-arm64-darwin) + google-protobuf (4.33.1-arm64-darwin) bigdecimal rake (>= 13) - google-protobuf (4.31.1-x64-mingw-ucrt) + google-protobuf (4.33.1-x64-mingw-ucrt) bigdecimal rake (>= 13) - google-protobuf (4.31.1-x86_64-darwin) + google-protobuf (4.33.1-x86_64-darwin) bigdecimal rake (>= 13) - google-protobuf (4.31.1-x86_64-linux-gnu) + google-protobuf (4.33.1-x86_64-linux-gnu) bigdecimal rake (>= 13) http_parser.rb (0.8.0) @@ -53,13 +53,15 @@ GEM webrick (~> 1.7) jekyll-include-cache (0.2.1) jekyll (>= 3.7, < 5.0) + jekyll-relative-links (0.7.0) + jekyll (>= 3.3, < 5.0) jekyll-sass-converter (3.1.0) sass-embedded (~> 1.75) jekyll-seo-tag (2.8.0) jekyll (>= 3.8, < 5.0) jekyll-watch (2.2.1) listen (~> 3.0) - json (2.13.2) + json (2.16.0) just-the-docs (0.10.1) jekyll (>= 3.8.5) jekyll-include-cache @@ -77,21 +79,16 @@ GEM pathutil (0.16.2) forwardable-extended (~> 2.6) public_suffix (6.0.2) - rake (13.3.0) + rake (13.3.1) rb-fsevent (0.11.2) rb-inotify (0.11.1) ffi (~> 1.0) - rexml (3.4.2) - rouge (4.6.0) + rexml (3.4.4) + rouge (4.6.1) safe_yaml (1.0.5) - sass-embedded (1.89.2-arm64-darwin) - google-protobuf (~> 4.31) - sass-embedded (1.89.2-x64-mingw-ucrt) - google-protobuf (~> 4.31) - sass-embedded (1.89.2-x86_64-darwin) - google-protobuf (~> 4.31) - sass-embedded (1.89.2-x86_64-linux-gnu) + sass-embedded (1.94.2) google-protobuf (~> 4.31) + rake (>= 13) terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) unicode-display_width (2.6.0) @@ -105,7 +102,8 @@ PLATFORMS DEPENDENCIES jekyll (~> 4.3) + jekyll-relative-links just-the-docs (= 0.10.1) BUNDLED WITH - 2.3.9 + 2.3.27 diff --git a/_config.yml b/_config.yml index 3ec0d53..97755b5 100644 --- a/_config.yml +++ b/_config.yml @@ -22,4 +22,7 @@ exclude: sass: quiet_deps: true # https://github.com/just-the-docs/just-the-docs/issues/1541 - silence_deprecations: ['import'] # https://github.com/just-the-docs/just-the-docs/issues/1607 \ No newline at end of file + silence_deprecations: ['import'] # https://github.com/just-the-docs/just-the-docs/issues/1607 + +plugins: + - jekyll-relative-links diff --git a/_sass/custom/custom.scss b/_sass/custom/custom.scss index 2d1e41a..6299216 100644 --- a/_sass/custom/custom.scss +++ b/_sass/custom/custom.scss @@ -119,3 +119,68 @@ th { margin-left: calc( (100% - #{$page-width}) / 2 + #{$sidebar-width} ); } } + +h2, h3 { + scroll-margin-top: 1em; +} + +// Highlight linked headings --> +h2:not(:has(> code)):target, +h3:not(:has(> code)):target { + animation: highlightTexts 3s ease-out; +} + +@keyframes highlightTexts { + from { + text-shadow: + 0 0 2em rgba(170, 170, 255, 1.0), + 0 0 1em rgba(170, 170, 255, 1.0), + 0 0 0.1em rgba(170, 170, 255, 1.0); + } + to { + box-shadow: 0 0 0em rgba(255, 255, 170, 0.0); + } +} + +h2:target > code, +h3:target > code { + animation: highlightConfigs 3s ease-out; +} + +@keyframes highlightConfigs { + from { + box-shadow: 0 0 1em 0 rgba(170, 170, 255, 1.0); + } + to { + box-shadow: 0 0 0em 0 rgba(255, 255, 170, 0.0); + } +} +// <-- Highlight linked headings + +section.config-indent { + --indent-size: 2em; + + &::before, &::after { + position: relative; + font-family: monospace; + left: calc(-1 * var(--indent-size) - 0.5ch); //-0.5ch to center the line neatly between the {}'s + } + + &::before { content: "{"; } + &::after { content: "}"; } + + & :first-child { margin-top: 0; } + & :last-child { margin-bottom: 0; } + + padding-left: var(--indent-size); + + --bracket-height: 2em; + border-left: 1px solid transparent; + border-image: linear-gradient(to bottom, + transparent var(--bracket-height), + grey var(--bracket-height), + grey calc(100% - var(--bracket-height)), + transparent calc(100% - var(--bracket-height)) + ); + border-image-slice: 1; +} diff --git a/wiki/configs/Core.md b/wiki/configs/Core.md new file mode 100644 index 0000000..0fcedfe --- /dev/null +++ b/wiki/configs/Core.md @@ -0,0 +1,73 @@ +--- +layout: page +title: Core +parent: Configs +grand_parent: Wiki +nav_order: 1 +--- + +# Core-Config + +> **Info:** +> When a "default" is mentioned for any option, it is meant that if the option is commented out, that is what BlueMap will use. +> This may not be the same as the option that is pre-filled-in. +{: .info } + +## `accept-download` +By changing this setting to `true` you are indicating that you have accepted [Mojang's EULA](https://account.mojang.com/documents/minecraft_eula), +you confirm that you own a license to Minecraft (Java Edition) +and you agree that BlueMap will download and use a minecraft-client file (depending on the minecraft-version) +from [Mojang's servers](https://piston-meta.mojang.com/mc/game/version_manifest.json) for you. +This file contains resources that belong to Mojang and you must not redistribute it or do anything else that is not compliant with mojang's EULA. + +BlueMap uses resources in this file to generate the 3D-models used for the map and texture them. (BlueMap will not work without those resources.) + +## `data` +The folder where BlueMap saves data-files it needs during runtime, or to save e.g. the render-progress to resume it later. + +_Default is_ `"bluemap"` + +## `render-thread-count` +This changes the amount of threads that BlueMap will use to render the maps. +A higher value can improve render-speed, but could impact performance on the host machine. +This should be always below or equal to the number of available processor-cores. + +Zero or a negative value means the amount of available processor-cores subtracted by the value. +(So a value of -2 with 6 cores results in 4 render-processes) + +_Default varies per machine_ + +## `scan-for-mod-resources` +Controls whether BlueMap should try to find and load mod-resources and datapacks from the server/world-directories. + +_Default is_ `true` + +## `metrics` +If this is `true`, BlueMap might send really basic metrics reports containing only the implementation-type and the version that is being used to [metrics.bluecolored.de/bluemap](https://metrics.bluecolored.de/) + +This allows me to track the basic usage of BlueMap and helps me stay motivated to further develop this tool! +Please leave it on :) + +An example report looks like this: `{"implementation":"bukkit","version":"5.13","mcVersion":"?"}` + +_Default is_ `true` + +## `log` +Config-section for debug-logging + +
+ +### `file` +The file where the debug-log will be written to. +Comment out to disable debug-logging completely. + +[Java String formatting syntax](https://docs.oracle.com/javase/8/docs/api/java/util/Formatter.html) can be used to add time. + +_Default is no logging_ + +### `append` +Whether the logger should append to an existing file, or overwrite it + +_Default is_ `false` + +
diff --git a/wiki/configs/Maps.md b/wiki/configs/Maps.md new file mode 100644 index 0000000..eb8a290 --- /dev/null +++ b/wiki/configs/Maps.md @@ -0,0 +1,218 @@ +--- +layout: page +title: Maps +parent: Configs +grand_parent: Wiki +nav_order: 5 +--- + +# Map-Config + +In your `maps` directory, there is one `.conf` file per map. +Usually, that will be three: `world.conf`, `world_nether.conf`, and `world_the_end.conf`, +but may be more or less depending on the amount of loaded worlds when BlueMap was first installed. + +You can copy another map config to create a new map. +You will probably want to change at least the [`world`](#world) and [`name`](#name) options, +but you don't actually have to! By keeping them the same, you can have multiple maps of the same world. + +> **Info:** +> When a "default" is mentioned for any option, it is meant that if the option is commented out, that is what BlueMap will use. +> This may not be the same as the option that is pre-filled-in. +{: .info } + +## `world` +The path to the save-folder of the world to render. + +(If this is not defined (commented out or removed), the map will be only registered to the web-server and the web-app, but not rendered or loaded by BlueMap. This can be used to display a map that has been rendered somewhere else.) + +## `dimension` +The dimension of the world. Can be `"minecraft:overworld"`, `"minecraft:the_nether"`, `"minecraft:the_end"` or any dimension-key introduced by a mod or datapack. + +## `name` +The display-name of this map -> how this map will be named on the webapp. + +You can change this at any time. + +_Default is the id of this map_ + +## `sorting` +A lower value makes the map sorted first (in lists and menus), a higher value makes it sorted later. +The value needs to be an integer, but it can be negative. + +You can change this at any time. + +_Default is_ `0` + +## `start-pos` +The position on the world where the map will be centered if you open it. + +You can change this at any time. + +_This defaults to the world-spawn if you don't set it._ + +## `sky-color` +The color of the sky as a hex-color + +You can change this at any time. + +_Default is_ `"#7dabff"` + +## `void-color` +The color of the void as a hex-color + +You can change this at any time. + +_Default is_ `"#000000"` + +## `sky-light` +Defines the initial sky-light-strength the map will be set to when it is opened. + +`0` is no sky-light, `1` is fully lighted. + +You can change this at any time. + +_Default is_ `1` + +## `ambient-light` +Defines the ambient light-strength that every block is receiving, regardless of the sunlight/blocklight. + +`0` is no ambient light, `1` is fully lighted. + +You can change this at any time. + +_Default is_ `0` + +## `remove-caves-below-y` +BlueMap tries to omit all blocks that are below this Y-level and are not visible from above-ground. +More specifically: Block-Faces that have a sunlight/skylight value of 0 are removed. + +This improves the performance of the map on slower devices by a lot, but might cause some blocks to disappear that should normally be visible. + +**Changing this value requires a re-render of the map.** + +Set to a very high value to remove caves everywhere (e.g. `10000`) +Set to a very low value to remove nothing and render all caves (e.g. `-10000`) + +_Default is_ `55` _(slightly below water-level)_ + +## `cave-detection-ocean-floor` +This is the amount of blocks relative to the "ocean-floor" heightmap that the cave-detection will start at. +Everything above that (heightmap-relative) y-level will not be removed. + +Comment or set to a very high value to disable using the ocean-floor heightmap for cave-detection. + +**Changing this value requires a re-render of the map.** + +_Defaults to_ `10000` _(disabled)_ + +## `cave-detection-uses-block-light` +With this value set to `true`, BlueMap also uses the block-light value (additionally to the sky-light) to "detect caves". +(See: [`remove-caves-below-y`](#remove-caves-below-y)) + +**Changing this value requires a re-render of the map.** + +_Default is_ `false` + +## `min-inhabited-time` +The minimum "inhabitedTime" value that a chunk must have to be rendered. +The "inhabitedTime" value of a chunk refers to the cumulative number of ticks players have been near this chunk. + +If you set this to a value greater than `0`, BlueMap will only render chunks that players have visited already. + +_Default is_ `0` + +## `render-mask` +With the render-mask you can limit the map-render. + +This can be used to render only a certain part of a world, or ignore the Nether's ceiling. + +If you change the render-mask, BlueMap automatically tries to update the map, +including deleting map-tiles which are outside the new limits. + +You can use `/bluemap fix-edges ` to fix any remaining issues. + +Please check out [this wiki page](/wiki/customization/Masks.md) for more detailed information on how to configure this. + +_Default is no mask; BlueMap will render everything that exists._ + +## `render-edges` +Using this, BlueMap pretends that every Block outside of the defined render-mask is AIR, +this means you can see the blocks where the world is cut (instead of having a see-through/xray view). +This has only an effect if you set some [`render-mask`](#render-mask) above. + +**Changing this value requires a re-render of the map.** + +_Default is_ `true` + +## `edge-light-strength` +The sun-light strength that blocks at map-edges will recieve if render-edges is enabled. + +Should be a value between `0` and `15` + +_Default is_ `15` + +## `enable-perspective-view` +Whether the perspective view will be enabled for this map. + +**Changing this to `true` requires a re-render of the map, only if the hires-layer is enabled and free-flight view is disabled.** + +_Default is_ `true` + +## `enable-flat-view` +Whether the flat (isometric, top-down) view will be enabled for this map. + +Having only flat-view enabled while disabling free-flight and perspective will speed up the render and reduce the maps storage-size. + +_Default is_ `true` + +## `enable-free-flight-view` +Whether the free-flight view will be enabled for this map. + +**Changing this to `true` requires a re-render of the map, only if the hires-layer is enabled and perspective view is disabled.** + +_Default is_ `true` + +## `enable-hires` +Whether the hires-layer will be enabled. + +Disabling this will speed up rendering and reduce the size of the map-files a lot. +But you will not be able to see the full 3d-models if you zoom in on the map. + +Changing this to `false` will not remove any existing tiles; existing tiles just won't get updated anymore. + +**Changing this to `true` will require a re-render of the map.** + +_Default is_ `true` + +## `storage` +This defines the [storage-config](storages/) that will be used to save this map. + +You can find your storage configs next to this config file in the 'storages'-folder. + +**Changing this value requires a re-render of the map. The map in the old storage will not be deleted.** + +_Default is_ `"file"` + +## `ignore-missing-light-data` +Normally BlueMap detects if a chunk has not yet generated it's light-data and omits rendering those chunks. + +If this is set to `true`, BlueMap will render Chunks even if there is no light-data! + +This can be useful for example if some mod prevents light-data from being saved correctly. +However, this also has a few drawbacks: +- Cave rendering will always be enabled (BlueMap is using the sky-light data to detect "caves") +- Everything will be rendered fully lit (sky-light value of 15, looks similar to having night vision) +- Night-mode might not work correctly + +_Default is_ `false` + +## `marker-sets` +Here you can define any static marker-sets with markers that should be displayed on the map. + +You can change this at any time. + +If you need dynamic markers, you can use any plugin or mod that integrates with BlueMap's API. +[Here is a list.](/community/3rdPartySupport.md) + +Please check out [this wiki page](/wiki/customization/Markers.md) for information on how to configure this. diff --git a/wiki/configs/Plugin.md b/wiki/configs/Plugin.md new file mode 100644 index 0000000..b2d54e3 --- /dev/null +++ b/wiki/configs/Plugin.md @@ -0,0 +1,82 @@ +--- +layout: page +title: Plugin +parent: Configs +grand_parent: Wiki +nav_order: 2 +--- + +# Plugin-Config + +> **Info:** +> When a "default" is mentioned for any option, it is meant that if the option is commented out, that is what BlueMap will use. +> This may not be the same as the option that is pre-filled-in. +{: .info } + +## `live-player-markers` +If the server should send player-positions to the webapp. +This only works if the integrated webserver is enabled. + +_Default is_ `true` + +## `hidden-game-modes` +A **list** of gamemodes that will prevent a player from appearing on the map. + +Possible values are: `survival`, `creative`, `spectator`, `adventure` + +## `hide-vanished` +If this is `true`, players that have an invisibility (potion-)effect will be hidden on the map. + +_Default is_ `true` + +## `hide-sneaking` +If this is `true`, players that are sneaking will be hidden on the map. + +_Default is_ `false` + +## `hide-below-sky-light` and `hide-below-block-light` +Hides the player if they are in a sky or block-light level below the given number. + +BOTH values have to be below the threshold for the player to be hidden! +E.g. if you set both to 1, then the player will be hidden on the map if they are in absolute darkness. +Or, if you want players only be visible on the surface you set the `sky-threshold` to +something between 1 and 15 and the `block-threshold` to 16. + +_Default is_ `0` _(don't hide the player)_ + +## `hide-different-world` +If this is `true`, players that are on a different world than the viewed map will not appear on the player-list. + +_Default is_ `false` + +## `write-markers-interval` and `write-players-interval` +The interval in seconds that the (player) markers will be written to the map-storage. +This is useful if you can't create a live-connection between the server and the webapp +and the (player) markers can only be updated via the map-storage. + +`0` or lower means that the (player) markers will never be written to the map-storage. + +_Default is_ `0` + +## `skin-download` +Download the skin from Mojang's servers when a player joins your server, so it can be used for the player-markers. + +_Default is_ `true` + +## `player-render-limit` +The amount of players that is needed to pause BlueMap's render-threads. + +If this amount of players or more is online, BlueMap will stop rendering map-updates until enough players have logged off again. + +Setting this to `0` or `-1` will disable this feature -> BlueMap will not pause rendering + +_Default is_ `-1` + +## `full-update-interval` +The interval in minutes in which a full map-update will be triggered. + +This is ADDITIONALLY to the normal map-update process (in case that fails to detect any file-changes). + +**This DOESN'T re-render the entire map each time**, it _only checks_ if there are some changes that have not been rendered yet! + +_Default is_ `1440` _(24 hours)_ diff --git a/wiki/configs/Webapp.md b/wiki/configs/Webapp.md new file mode 100644 index 0000000..468b963 --- /dev/null +++ b/wiki/configs/Webapp.md @@ -0,0 +1,96 @@ +--- +layout: page +title: Webapp +parent: Configs +grand_parent: Wiki +nav_order: 3 +--- + +# Webapp-Config + +> **Info:** +> When a "default" is mentioned for any option, it is meant that if the option is commented out, that is what BlueMap will use. +> This may not be the same as the option that is pre-filled-in. +{: .info } + +## `enabled` +With this setting you can disable the creation and updating of all web-app related files + +_Default is_ `true` + +## `webroot` +The webroot where the web-application files will be created. +Usually this should be set to the same directory like in the [`webserver.conf`](Webserver.md#webroot)! + +_Default is_ `"bluemap/web"` + +## `update-settings-file` +Whether the `settings.json` of the webapp should be updated/synchronized with the current BlueMap settings. + +If this is set to `false`, BlueMap will only add maps to the `settings.json`, but never remove unknown ones or update other settings. + +Disabling this is for example useful if you are running multiple BlueMap instances on the same webroot and don't want them to overwrite each others' maps. + +_Default is_ `true` + +## `use-cookies` +If the web-application should use cookies to save the configurations of a user. + +_Default is_ `true` + +## `default-to-flat-view` +If the webapp will default to flat-view instead of perspective-view. + +_Default is_ `false` + +## `start-location` +The default map and camera-location where a user will start after opening the webapp. + +This is in form of the "url-anchor": Open your map in a browser and look at the url; +everything after the `#` is the value for this setting. + +_Default is "no anchor" → The camera will start with the topmost map and at that map's starting point._ + +## `min-zoom-distance` and `max-zoom-distance` +The minimum (closest) and maximum (furthest) distance (in blocks) that the camera can be from the ground + +## `resolution-default` +The default value of the resolution (settings-menu) + +Possible values are: `0.5`, `1`, `2` + +_Default is_ `1` + +## `hires-slider-max`, `hires-slider-default`, and `hires-slider-min` +The min, max and default values of the **hires** render-distance slider (settings-menu) + +The values are in blocks. + +_Default is_ max:`500`_,_ default:`100`_, and_ min:`0` + +## `lowres-slider-max`, `lowres-slider-default`, and `lowres-slider-min` +The min, max and default values of the **lowres** render-distance slider (settings-menu) + +The values are in blocks. + +_Default is_ max:`7000`_,_ default:`2000`_, and_ min:`500` + +## `map-data-root` +Here you can specify an alternative base url from where all **map data** is loaded. + +_Default is_ `"maps"` + +## `live-data-root` +Here you can specify an alternative base url from where all **live data** is loaded. + +_Default is_ `"maps"` + +## `scripts` +Here you can add URLs to custom **scripts** (**js**) so they will be loaded by the webapp + +You can place them somewhere in BlueMap's webroot and add the (relative) link here + +## `styles` +Here you can add URLs to custom **styles** (**css**) so they will be loaded by the webapp + +You can place them somewhere in BlueMap's webroot and add the (relative) link here diff --git a/wiki/configs/Webserver.md b/wiki/configs/Webserver.md new file mode 100644 index 0000000..3de870d --- /dev/null +++ b/wiki/configs/Webserver.md @@ -0,0 +1,69 @@ +--- +layout: page +title: Webserver +parent: Configs +grand_parent: Wiki +nav_order: 4 +--- + +# Webserver-Config + +> **Info:** +> When a "default" is mentioned for any option, it is meant that if the option is commented out, that is what BlueMap will use. +> This may not be the same as the option that is pre-filled-in. +{: .info } + +## `enabled` +With this setting you can disable the integrated web-server. + +This is useful if you want to only render the map-data for later use, or if you have set up your own webserver. + +_Default is_ `true` + +## `webroot` +The webroot that the server will host to the web. + +Usually this should be set to the same directory like in the [`webapp.conf`](Webapp.md#webroot)! + +_Default is_ `"bluemap/web"` + +## `port` +The port that the webserver listens on. + +_Default is_ `8100` + +## `log` +Config-section for webserver-activity logging + +
+ +### `file` +The file where the webserver-activity will be written to. +Comment out to disable the logging completely. + +[Java String formatting syntax](https://docs.oracle.com/javase/8/docs/api/java/util/Formatter.html) can be used to add time. + +_Default is no logging_ + +### `append` +Whether the logger should append to an existing file, or overwrite it + +_Default is_ `false` + +### `format` +The format of the webserver-acivity logs. + +The syntax is the [Java String formatting](https://docs.oracle.com/javase/8/docs/api/java/util/Formatter.html). + +Possible Arguments: +`1` - the source address (ignoring any xff headers) +`2` - the source address (using the (leftmost) xff header if provided) +`3` - the http-method of the request +`4` - the full request-address +`5` - the protocol version of the request +`6` - the status-code of the response +`7` - the status-message of the response + +_Default is_ `"%1$s \"%3$s %4$s %5$s\" %6$s %7$s"` + +
diff --git a/wiki/configs/index.md b/wiki/configs/index.md new file mode 100644 index 0000000..263694d --- /dev/null +++ b/wiki/configs/index.md @@ -0,0 +1,21 @@ +--- +layout: page +title: Configs +parent: Wiki +has_children: true +nav_order: 5 +has_toc: false +--- + +# Configs + +BlueMap has a few configuration files: + +- [`core.conf`](Core.md) +- [`plugin.conf`](Plugin.md) +- [`webapp.conf`](Webapp.md) +- [`webserver.conf`](Webserver.md) +- [`maps/`](Maps.md) +- [`storages/`](storages/) + - [`file.conf`](storages/File.md) + - [`sql.conf`](storages/SQL.md) diff --git a/wiki/configs/storages/File.md b/wiki/configs/storages/File.md new file mode 100644 index 0000000..6e6cb27 --- /dev/null +++ b/wiki/configs/storages/File.md @@ -0,0 +1,37 @@ +--- +layout: page +title: File +parent: Storage Configs +grand_parent: Configs +nav_order: 1 +--- + +# File-Config + +> **Info:** +> When a "default" is mentioned for any option, it is meant that if the option is commented out, that is what BlueMap will use. +> This may not be the same as the option that is pre-filled-in. +{: .info } + +## `storage-type` +The storage-type of this storage. + +Depending on this setting, different config-entries are allowed/expected in this config file. + +**Don't change this value! (If you want a different storage-type, check out [the other example-configs](.))** + +## `root` +The path to the folder on your file-system where bluemap will save the rendered map + +_Default is_ `"bluemap/web/maps"` + +## `compression` +The compression-type that bluemap will use to compress generated map-data. + +Available compression-types are: +- `gzip` +- `zstd` +- `deflate` +- `none` + +_Default is_ `gzip` diff --git a/wiki/configs/storages/SQL.md b/wiki/configs/storages/SQL.md new file mode 100644 index 0000000..19e216c --- /dev/null +++ b/wiki/configs/storages/SQL.md @@ -0,0 +1,63 @@ +--- +layout: page +title: SQL +parent: Storage Configs +grand_parent: Configs +nav_order: 1 +--- + +# SQL-Config + +> **Info:** +> When a "default" is mentioned for any option, it is meant that if the option is commented out, that is what BlueMap will use. +> This may not be the same as the option that is pre-filled-in. +{: .info } + +## `storage-type` +The storage-type of this storage. + +Depending on this setting, different config-entries are allowed/expected in this config file. + +**Don't change this value! (If you want a different storage-type, check out [the other example-configs](.))** + +## `connection-url` +The JDBC-Connection URL that is used to connect to the database. + +The _exact_ format of the url is determined by the JDBC-Driver you are using. +But the format for this url is _usually_ something like: `jdbc:[driver]://[host]:[port]/[database]` + +## `connection-properties` +You can set any additional (JDBC-Driver-specific) properties here +Usually that's your db-user and password + +## `max-connections` +The maximum number of connections to the database that are allowed to be open at the same time. +A negative number means unlimited. + +_Default is_ `-1` + +## `driver-jar` +This can be used to load a custom jdbc-driver from a .jar file. + +E.g. if your runtime-environment is not already providing the sql-driver you need, you could +[download the MariaDB JDBC-Connector](https://mariadb.com/downloads/connectors/connectors-data-access/java8-connector/). +And place it in the `./bluemap` folder and use it like this: +```hocon +driver-jar: "bluemap/mariadb-java-client-3.0.7.jar" +``` + +## `driver-class` +This is the driver-class that BlueMap will try to load and use. +Check the documentation of the driver you are using if you don't know this. + +Leaving this commented means that BlueMap automatically tries to find a suitable driver in your classpath. +(If you added a custom [`driver-jar`](#driver-jar) above, you HAVE TO set the correct class name here) + +## `compression` +The compression-type that bluemap will use to compress generated map-data. +Available compression-types are: +- `gzip` +- `zstd` +- `deflate` +- `none` +_Default is_ `gzip` diff --git a/wiki/configs/storages/index.md b/wiki/configs/storages/index.md new file mode 100644 index 0000000..7e0cb29 --- /dev/null +++ b/wiki/configs/storages/index.md @@ -0,0 +1,16 @@ +--- +layout: page +title: Storage Configs +parent: Configs +has_children: true +nav_order: 6 +--- + +# Storage Configs + +Each file in this directory represents one configured storage backend. + +There are two presets included out of the box, but you can create more, if you like. +This is useful if you want to store your maps in different places. + +You can control which storage each map is stored on, with the map's [`storage` option](../Maps.md#storage). diff --git a/wiki/getting-started/Configuration.md b/wiki/getting-started/Configuration.md index 189a02a..10357b2 100644 --- a/wiki/getting-started/Configuration.md +++ b/wiki/getting-started/Configuration.md @@ -56,7 +56,7 @@ there is a certain number of players online: The `player-render-limit` setting i ## Hosting static maps If you have an old map of a world that doesn't exist anymore or a map that was rendered on a different server, you can still display it on the web-app. All BlueMap needs is to know the identifier -(see [Configuring the map-storages](#configuring-the-map-storages-store-maps-in-a-database-or-a-different-directory)) +(see [Configuring the map-storages](../customization/Storages.md)) of the map and the storage that it is stored in. So we can just add a new map-config named like the identifier of the map with the only setting being the `storage`-setting.