diff --git a/.github/faq-updater/index.js b/.github/faq-updater/index.js
index 0925078..62fc50b 100644
--- a/.github/faq-updater/index.js
+++ b/.github/faq-updater/index.js
@@ -1,5 +1,6 @@
import { Client } from "discord.js";
import { readFile } from "node:fs/promises";
+import path from "node:path";
const client = new Client({
intents: [],
@@ -107,10 +108,14 @@ function splitMessage(message) {
}
async function getNewMessages() {
- const rawContent = await readFile("../../wiki/FAQ.md", "utf8");
- const [_frontmatter, rawQuestions] = rawContent.split("# FAQ", 2).map((section) => section.trim());
+ const faqPath = "../../wiki/FAQ.md";
+ const rawContent = await readFile(faqPath, "utf8");
+ const [_frontmatter, rawQuestions] = rawContent
+ .split("# FAQ", 2)
+ .map((section) => section.trim());
+ const baseUrl = "https://bluemap.bluecolored.de";
return rawQuestions
- .replace(/{{site.baseurl}}/g, "https://bluemap.bluecolored.de")
+ .replace(/{{site.baseurl}}/g, baseUrl)
.split(/^###? /m)
.slice(1)
.flatMap((question) => {
@@ -118,14 +123,18 @@ async function getNewMessages() {
const content = lines
.join("\n")
.trimEnd()
- .replace(/\n{2,}/g, s => "
".repeat(s.length))
- .replace(/\s{2,}\n|\s*\\\n|\s*\n(?=\s*-)/g,"
")
- .replace(/\n\s*/g," ")
+ .replace(/\n{2,}/g, (s) => "
".repeat(s.length))
+ .replace(/\s{2,}\n|\s*\\\n|\s*\n(?=\s*-)/g, "
")
+ .replace(/\n\s*/g, " ")
.replace(/
/g, "\n")
.replace(/\[([^\]]+)]\(([^)]+)\)/g, (_match, name, link) => {
if (name === link) return `<${link}>`;
if (link.startsWith("https://discord.com/channels/")) return link;
- if (link.startsWith("#")) return name;
+ if (link.startsWith("#")) return `[${name}](<${baseUrl}/wiki/FAQ.html${link}>)`;
+ if (link.startsWith("."))
+ return `[${name}](<${baseUrl}/${path
+ .relative("../../", path.join(path.dirname(faqPath), link))
+ .replace(/\.md/, ".html")}>)`;
return `[${name}](<${link}>)`;
});
const message = `## ${title}\n${content}`;
diff --git a/3rdPartySupport.md b/3rdPartySupport.md
index 6c627b5..b226522 100644
--- a/3rdPartySupport.md
+++ b/3rdPartySupport.md
@@ -46,4 +46,4 @@ Reasons for a removal of an addon include:
- Malware, Spyware and other intentionally harmful software
If you feel like an addon on this list should be removed, please report it
-on [Github](https://github.com/BlueMap-Minecraft/BlueMapWiki/issues/new) or [Discord](https://discord.gg/zmkyJa3)!
\ No newline at end of file
+on [GitHub](https://github.com/BlueMap-Minecraft/BlueMapWiki/issues/new) or [Discord](https://discord.gg/zmkyJa3)!
diff --git a/community/BluemapLazyServer.md b/community/BluemapLazyServer.md
index a61fc4a..cc17d1c 100644
--- a/community/BluemapLazyServer.md
+++ b/community/BluemapLazyServer.md
@@ -41,7 +41,7 @@ this work for `SQL`-type storage and uncompressed map data as well, but it will
extra work not covered by this guide.
Since we're going to be using an external webserver there's no need to expose the BlueMap integrated
-webserver to the world. To make the server local-only, in `webserver.conf`, add `ip: "127.0.0.1"`
+webserver to the world. To make the server local-only, in [`webserver.conf`](../wiki/configs/Webserver.md), add `ip: "127.0.0.1"`
just above the existing `port: ` setting. Make a note of what `` is in your
config since you'll need it later.
diff --git a/community/CaveRendering.md b/community/CaveRendering.md
index 46839dc..d8a4278 100644
--- a/community/CaveRendering.md
+++ b/community/CaveRendering.md
@@ -13,10 +13,10 @@ nav_order: 3
## By default
-By default BlueMap defines a cave as a place where the sun light is zero.
+By default, BlueMap defines a cave as a place where the sunlight is zero.
To avoid removing important places which are just... dark,
BlueMap also relies on the height information of blocks.
-By default in an overworld, BlueMap will only consider such blocks as "cave"
+By default, in an overworld, BlueMap will only consider such blocks as "cave"
if they are below the y-level of 55 AND 5 blocks below the ocean-floor heightmap
(highest block which blocks motion).
diff --git a/community/Chat.md b/community/Chat.md
index bd956ed..a1972d4 100644
--- a/community/Chat.md
+++ b/community/Chat.md
@@ -16,10 +16,10 @@ nav_order: 14
In the world of BlueMap where we have to support all these platforms and server configurations it is impossible to
write guides and addons that cover everyone's needs. That's why this guide will just go through an example case of
turning a regular old boring BlueMap installation on a Paper server running on a Debian VPS to a fancy one with
-a web chat. You will most likely need to adapt this guide to your specific situation or find a more tech savvy friend
+a web chat. You will most likely need to adapt this guide to your specific situation or find a more tech-savvy friend
to help you. You can also hire the writer of this guide ([Antti.Codes](https://antti.codes/)) for consultation for 90€/h.
-Though as he is way too kind hearted he will help as much as possible on the `#3rd-party-support` channel in the official
-BlueMap Discord for free.
+Though as he is way too kind-hearted he will help as much as possible on the [`#3rd-party-support`](https://discord.com/channels/665868367416131594/863844716047106068) channel
+in [the official BlueMap Discord](https://bluecolo.red/map-discord) for free.
## Requirements
@@ -30,7 +30,7 @@ Requirement keywords as per [RFC 2119](https://datatracker.ietf.org/doc/html/rfc
- You **MUST NOT** run a server network with Bungeecord, Velocity or similar. The addon only supports one global chat.
- You **SHOULD** have a public IP address. If you don't you will need to figure out exposing ports to the internet yourself.
- You **SHOULD** know the basics of navigating around the command line, otherwise this will be painful.
-- You **SHOULD** have a domain. Have fun figuring out self signed certificates without a domain.
+- You **SHOULD** have a domain. Have fun figuring out self-signed certificates without a domain.
- You **SHOULD NOT** run any chat plugins. The addon does not support them and the behaviour is undefined.
- You **MAY** grab a sysadmin friend to help you.
@@ -39,11 +39,11 @@ The guide assumes all the recommendations are followed.
## The starting situation
We've got a VPS running Debian. The VPS has a public IP. There is a Paper Minecraft server running on port `25565` and
-BlueMap installed as a plugin running on port `8100`. The BlueMap is accesible at `http://12.34.56.789:8100/`.
+BlueMap installed as a plugin running on port `8100`. The BlueMap is accessible at `http://12.34.56.789:8100/`.
In my case the Minecraft server is run with a Docker container as seen below.
-
-
+
+
## Proxying with nginx
@@ -52,7 +52,7 @@ This is needed as we want HTTPS, NGINX auth request module and combine many serv
Install NGINX using `sudo apt install -y nginx`.
You should now be able to observe NGINX working at `http://12.34.56.789/`
-
+
Next we should navigate to `/etc/nginx` to start configuring our fresh installation
We shall start by removing the default configuration files with `sudo rm -rf ./sites-available/default ./sites-enabled/default /var/www/html`
@@ -69,24 +69,25 @@ server {
}
```
-Next we have to enable the create configuration file with `sudo ln -s ../sites-available/bluemap.conf ./sites-enabled/bluemap.conf`.
+Next we have to enable the created configuration file with `sudo ln -s ../sites-available/bluemap.conf ./sites-enabled/bluemap.conf`.
Then after reloading NGINX with `sudo nginx -s reload` we should see our BlueMap at the location which had NGINX welcome page earlier.
-
+
As we no longer use BlueMap's own port for accessing it. We should prevent it from being exposed.
In our `compose.yml` file we can do `"127.0.0.1:8100:8100/tcp"` instead of `"8100:8100/tcp"`.
-If you don't use Docker, instead of changing Docker's port bindings, change the IP address BlueMap uses by editing `plugins/BlueMap/webserver.conf` and adding `ip: "127.0.0.1"`.
+If you don't use Docker, instead of changing Docker's port bindings,
+change the IP address BlueMap uses by editing [`webserver.conf`](../wiki/configs/Webserver.md) and adding `ip: "127.0.0.1"`.
## Domain and HTTPS
Proxying is cool and all but it's pretty much a no-op right now.
So open up your DNS management interface, in my case Cloudflare, and add an A record for the IP address of the server.
-
+
Change the server name in NGINX `sites-available/bluemap.conf` file to match your chosen domain like this `server_name your.domain;`
-The BlueMap should be accesible at the domain, just without HTTPS still.
+The BlueMap should be accessible at the domain, just without HTTPS still.
To get the most out of our domain we want to use free SSL certificates to secure the connection. And to do that we need
a tool to acquire certificates, like `acme.sh`, which is really cool. To install `acme.sh` we want to change to root user
@@ -97,7 +98,7 @@ Run `acme.sh --issue --nginx -d your.domain` to acquire the certificates for you
Though these certificates are not ready for use yet.
First we want to prepare a couple of files and permissions so everything goes smoothly with NGINX.
-Run the following commmands:
+Run the following commands:
```sh
addgroup certs
@@ -111,7 +112,7 @@ chmod 770 /etc/nginx/certs
chmod 660 /etc/nginx/certs/*
```
-These will setup a `certs` groups and a `certs` folder which only the users in the group (root and NGINX) are allowed to access.
+These will set up a `certs` groups and a `certs` folder which only the users in the group (root and NGINX) are allowed to access.
Now we can install the certificates we acquired earlier:
```sh
@@ -121,7 +122,7 @@ acme.sh --install-cert -d your.domain \
--reloadcmd "systemctl reload nginx"
```
-We can now logout of the root user and get back to our normal user (unless you just do everything on root anyway...).
+We can now log out of the root user and get back to our normal user (unless you just do everything on root anyway...).
Let's revise the NGINX `sites-available/bluemap.conf` to use them.
```nginx
@@ -148,7 +149,7 @@ server {
After reloading NGINX with `sudo nginx -s reload` we should have a working BlueMap website with HTTPS. Hurray!
-
+
## Authentication
@@ -158,7 +159,7 @@ Copy them to the server plugins folder. You can do this with scp for example
`scp ~/Downloads/{Authentication,BlueMap-Auth}*.jar 12.34.56.789:~/minecraft-server/data/plugins`.
Do notice the above links are for specific releases used at the time of writing (v0.4.0 and v0.2.1),
there may be newer versions available that you may want to use. If you do use newer releases,
-keep in mind that some steps might differ and you should refer to the official up-to-date documentation.
+keep in mind that some steps might differ, and you should refer to the official up-to-date documentation.
Now let's restart the server to generate configuration files.
Edit `plugins/Authentication/config.yml` to have `optional_authentication: true`.
@@ -257,13 +258,13 @@ server {
}
```
-Your BlueMap should now have a log in button in the menu.
+Your BlueMap should now have a login button in the menu.
-
+
-
+
-
+
## Chat
@@ -286,9 +287,9 @@ Next, in the NGINX config, add the following above the "Other addons go here" te
}
```
-
+
-
+
## 🎉 You have successfully installed a fantastic web chat for BlueMap!!!
{: .no_toc }
diff --git a/community/CloudflareR2.md b/community/CloudflareR2.md
index 7a50567..9d9f419 100644
--- a/community/CloudflareR2.md
+++ b/community/CloudflareR2.md
@@ -34,13 +34,13 @@ Cloudflare R2 is a service that allows you to host files on Cloudflare's network
Go to Websites, click on “Add a site” then write your domain name.
1. “Select your plan”
- - You can choose Free plan at the bottom.
+ - You can choose Free plan at the bottom.
2. “Review DNS records”
- - You can skip it because we don't need to set a DNS for this method.
+ - You can skip it because we don't need to set a DNS for this method.
3. “Change your nameservers”
- - Go to the site where you bought your domain and change nameservers to Cloudflare's nameservers.
+ - Go to the site where you bought your domain and change nameservers to Cloudflare's nameservers.
## Creating a bucket & uploading files with rclone
@@ -72,16 +72,16 @@ Go to Websites, click on “Add a site” then write your domain name.
2. Navigate in the terminal to the directory where your BlueMap *web* files are located. You should be in the directory that contains the file `index.html`.
3. Run the following command to upload the files to your R2 bucket:
- ```bash
- rclone sync . R2:bluemap/ --transfers=60 --checkers=120 -P
- ```
- - `rclone` — the program you are calling.
- - `sync` — the command to synchronize files — files which are not present in the destination will be copied there and files which are not present in the source will be deleted in the destination.
- - `.` — the current directory.
- - `R2:bluemap/` — the remote you configured in the rclone configuration plus the name of your bucket.
- - `--transfers=60` — the number of parallel transfers — BlueMap consists of numerous small files, so a high number of transfers is beneficial.
- - `--checkers=120` — the number of parallel checks — BlueMap consists of numerous small files, so a high number of checks is beneficial. Checkers compare your local files to those remote.
- - `-P` — shows you the progress.
+ ```bash
+ rclone sync . R2:bluemap/ --transfers=60 --checkers=120 -P
+ ```
+ - `rclone` — the program you are calling.
+ - `sync` — the command to synchronize files — files which are not present in the destination will be copied there and files which are not present in the source will be deleted in the destination.
+ - `.` — the current directory.
+ - `R2:bluemap/` — the remote you configured in the rclone configuration plus the name of your bucket.
+ - `--transfers=60` — the number of parallel transfers — BlueMap consists of numerous small files, so a high number of transfers is beneficial.
+ - `--checkers=120` — the number of parallel checks — BlueMap consists of numerous small files, so a high number of checks is beneficial. Checkers compare your local files to those remote.
+ - `-P` — shows you the progress.
4. While the files are uploading, you can continue with the next step.
@@ -96,7 +96,7 @@ Go to Websites, click on “Add a site” then write your domain name.
3. In the first field select `URI Path` and in the Operator field select `ends with`. In the value field, enter `/`.
2. Further down under Path, select `Rewrite to...`.
1. In the first field select `Dynamic` and in the second field enter `concat(http.request.uri.path, "index.html")`.
- 3. It should look similar to this: 
+ 3. It should look similar to this: 
4. Save the rule.
3. Create another Transform rule here and give it a name, e.g. `BlueMap: gzip`. This rule allows Cloudflare to serve the compressed files when the textures or the .prbm files are requested.
@@ -110,7 +110,7 @@ Go to Websites, click on “Add a site” then write your domain name.
7. In the first field select `URI Path` and in the Operator field select `ends with`. In the value field, enter `.prbm`.
2. Further down under Path, select `Rewrite to...`.
1. In the first field select `Dynamic` and in the second field enter `concat(http.request.uri.path, ".gz")`.
- 3. It should look similar to this: 
+ 3. It should look similar to this: 
4. Save the rule.
4. Now click on the `Modify Response Header` tab and create a new rule. This rule marks the compressed files as compressed, so your browser knows how to handle them when it requests them.
@@ -123,7 +123,7 @@ Go to Websites, click on “Add a site” then write your domain name.
5. In the first field, select `URI Path`. In the Operator field, select `ends with`. In the value field, enter `.prbm`.
3. Further down under `Modify response header`.
1. In the first field, select `Set static`. In the Header name field, enter `Content-Encoding`. In the Header value field, enter `gzip`.
- 4. It should look similar to this: 
+ 4. It should look similar to this: 
5. Save the rule.
## Making optional configurations
@@ -139,7 +139,7 @@ Every time a file is requested from your bucket, that counts as an operation. Ev
1. Now select `Ignore cache-control header and use this TTL` and set `Input time-to-live (TTL)` to a value you are comfortable with. I set it to 1 year, this will cache the files on Cloudflare's edge servers for up to 1 year.
5. Further down under `Browser TTL` click on `Add Setting`.
1. Now select `Override origin and use this TTL` and set `Input time-to-live (TTL)` to a value you are comfortable with. I set it to 1 year, this will cache the files in the browser for up to 1 year.
- 6. It should look similar to this: 
+ 6. It should look similar to this: 
7. Save the rule.
-2. If you have a paid plan, you can potentially use “Custom error responses” to change 404 errors to 204 errors as suggested by the [External Web server documentation]({{site.baseurl}}/wiki/webserver/ExternalWebserversFile). This is however, not necessary for BlueMap to work. Since this documentation is about Cloudflare R2 and the free domain plan, I will not go into detail about this.
+2. If you have a paid plan, you can potentially use “Custom error responses” to change 404 errors to 204 errors as suggested by the [External Web server documentation](../wiki/webserver/ExternalWebserversFile.md). This is however, not necessary for BlueMap to work. Since this documentation is about Cloudflare R2 and the free domain plan, I will not go into detail about this.
diff --git a/community/CoolifyAndTraefikProxy.md b/community/CoolifyAndTraefikProxy.md
index ffe3d4a..b87b569 100644
--- a/community/CoolifyAndTraefikProxy.md
+++ b/community/CoolifyAndTraefikProxy.md
@@ -20,7 +20,7 @@ This is useful if you want to integrate your map in your website and you're usin
> **Warning:**
> Telling the internal-webserver to connect to one specific address like e.g. `127.0.0.1`,
->
from `webserver.conf` by adding `ip: "127.0.0.1"` WILL GIVE A **BAD GATEWAY** ERROR.
+>
from [`webserver.conf`](../wiki/configs/Webserver.md) by adding `ip: "127.0.0.1"` WILL GIVE A **BAD GATEWAY** ERROR.
{: .info }
## BlueMap on a subdomain
diff --git a/community/Customisation.md b/community/Customisation.md
index 80ce259..390a3ca 100644
--- a/community/Customisation.md
+++ b/community/Customisation.md
@@ -31,7 +31,7 @@ Custom styles are not limited to any specific platform; they work on all platfor
To get started with BlueMap CSS, you should create a `.css` file in your webroot (usually `/bluemap/web/`).
Then you need to register that stylesheet with BlueMap, so it'll actually load it.
-You do this in `webapp.conf`, by putting the file name in the `styles: [ ]` list.
+You do this in [`webapp.conf`](../wiki/configs/Webapp.md), by putting the file name in the `styles: [ ]` list.
After adding it to the list, you'll want to reload BlueMap, so BlueMap applies the changes you've made to the configs.
You can do so with the `/bluemap reload light` command.
@@ -52,7 +52,7 @@ styles: [
This should make all BlueMap's buttons fully red.
From here on, you can customise any BlueMap class you want.
-You can also find some pre-made styles for BlueMap in the [3rd Party Addons section of this wiki]({{site.baseurl}}/3rdPartySupport.html?platform=script),
+You can also find some pre-made styles for BlueMap in the [3rd Party Addons section of this wiki](../3rdPartySupport.md?platform=script),
under the "style" platform filter. Feel free to take inspiration from these! Styling is tricky.
## Custom Scripts (Behaviour)
@@ -66,7 +66,7 @@ Custom scripts are not limited to any specific platform; they work on all platfo
To get started with BlueMap JavaScript, you should create a `.js` file in your webroot (usually `/bluemap/web/`).
Then you need to register that script with BlueMap, so it'll actually load it.
-You do this in `webapp.conf`, by putting the file name in the `scripts: [ ]` list.
+You do this in [`webapp.conf`](../wiki/configs/Webapp.md), by putting the file name in the `scripts: [ ]` list.
After adding it to the list, you'll want to reload BlueMap, so BlueMap applies the changes you've made to the configs.
You can do so with the `/bluemap reload light` command.
@@ -85,13 +85,13 @@ scripts: [
This should log a message to the browser console.
From here on, you can program any additional behaviour you want!
-You can find some pre-made scripts in the [3rd Party Addons section of this wiki]({{site.baseurl}}/3rdPartySupport.html?platform=script),
+You can find some pre-made scripts in the [3rd Party Addons section of this wiki](../3rdPartySupport.md?platform=script),
under the "script" platform filter. Feel free to take inspiration from these! Scripting is hard.
## Embed
-In some places, when you share a link to your map, it'll embed a bit of extra info. In Discord it looks like this:
+In some places, when you share a link to your map, it'll embed a bit of extra info. In Discord, it looks like this:
-
+
You can change how this looks by editing the `bluemap/web/index.html` file.
The options you can safely change are the `description`, `theme-color`, `og:site_name`, `og:title`, `og:description`, and `og:image`.
@@ -118,7 +118,7 @@ In `/bluemap/web/lang/settings.conf` is the setting `default`, which you can cha
## Info menu
BlueMap has an *Info* menu in the sidebar, which is also completely customisable.
-You can edit it in the each language file, which are at `/bluemap/web/lang/`.
+You can edit it in each language file, which are at `/bluemap/web/lang/`.
The option `info: { content:` is the one you need to edit for this.
It accepts any normal HTML.
@@ -143,7 +143,7 @@ Putting BlueMap onto a (sub)domain is best done in multiple steps:
3. If you have more control over your server (for example, if you host at home or rent a VPS), you can install an external webserver and make it run on your domain.
We generally recommend nginx. Here is a nice Getting Started guide for it: [nginx.org/en/docs/beginners_guide](https://nginx.org/en/docs/beginners_guide.html)
4. Once you have your external webserver set up, you need to reverse-proxy BlueMap with it.
- We have a some example setups for reverse proxies with a few external webservers here: [Reverse-Proxy]({{site.baseurl}}/wiki/webserver/ReverseProxy.html)
+ We have a some example setups for reverse proxies with a few external webservers here: [Reverse-Proxy](../wiki/webserver/ReverseProxy.md)
5. Once you have that, you can even set up SSL/TLS (HTTPS)
## Advanced Webapp Customisation
diff --git a/community/FixLighting.md b/community/FixLighting.md
index c1e34aa..6bc8e97 100644
--- a/community/FixLighting.md
+++ b/community/FixLighting.md
@@ -19,7 +19,7 @@ We recommend using Chunky since it is supported on most platforms that BlueMap r
## Chunky Instructions
First make sure you have Chunky installed. You can download it at [modrinth.com/plugin/chunky](https://modrinth.com/plugin/chunky)
-Now to fix lighting issues in the world, we will want to force re-loading of all of the chunks in the world. This can be done using the steps outlined below:
+Now to fix lighting issues in the world, we will want to force re-loading of all the chunks in the world. This can be done using the steps outlined below:
1. Open the config file for Chunky: `Chunky/config.yml`
2. Set the option `force-load-existing-chunks` to `true`, and save the file
3. Restart the server, or run `chunky reload` to reload the configuration file on the server
diff --git a/community/LogIn.md b/community/LogIn.md
index 479b506..09745de 100644
--- a/community/LogIn.md
+++ b/community/LogIn.md
@@ -32,7 +32,7 @@ Before you even begin, your map should already be running behind an external web
or a proxy for HTTP**S** so that credentials aren't sent plaintext over the internet.
You should also have basic understanding of hosting web applications (webservers, dns, ssl/tls).
-## Basic auth (easy, a bit inconvient and ugly)
+## Basic auth (easy, a bit inconvenient and ugly)
Basic auth is the most... basic... form of authentication.
It simply asks for a username and password which are configured in a file.
@@ -40,8 +40,8 @@ It is often handled by an external webserver such as Nginx or Apache.
You can create the config file with the `htpasswd` utility by Apache.
On Debian based distros it is in the `apache2-utils` package, or the `httpd-tools` package on RedHat based distros (RHEL/CentOS/Oracle Linux).
-To create a new file and the first user use `htpasswd -c /path/to/file/.htpasswd user`.
-To create a new user use use `htpasswd /path/to/file/.htpasswd another_user`.
+To create a new file and the first user, use `htpasswd -c /path/to/file/.htpasswd user`.
+To create a new user, use `htpasswd /path/to/file/.htpasswd another_user`.
### [Nginx](https://docs.nginx.com/nginx/admin-guide/security-controls/configuring-http-basic-authentication/)
diff --git a/community/OCIConfiguration.md b/community/OCIConfiguration.md
index 2fbd3c2..c2486e8 100644
--- a/community/OCIConfiguration.md
+++ b/community/OCIConfiguration.md
@@ -10,7 +10,7 @@ nav_order: 11
> **Info about this guide:**
> In this guide, I'll only cover the ports management, both on OCI console and on the server itself.
-> Focus will be held for BlueMap access, not your minecraft server or the way to setup it.
+> Focus will be held for BlueMap access, not your minecraft server or the way to set that up.
{: .info }
1. TOC
@@ -21,19 +21,19 @@ nav_order: 11
Go to your console ([Oracle Cloud Login page](https://cloud.oracle.com/)), next in the menu, go to "Networking" and then select "Virtual Cloud Networks"
-
+
On the new page, you should see your virtual network (in the form of "vcn-....", by default), select it.
After that, select your subnet and then, the "Default Security List" (only one of each).
You should get a page similar to this screenshot:
-
+
Select "Add Ingress Rules"
The first rule we add is for accessing BlueMap:
-
+
So, as the source, we set it to ANY, so: `0.0.0.0/0`
For the port, if you left the default one: `8100`
@@ -41,13 +41,13 @@ The protocol is TCP (standard for HTTP services)
Then, we also need to allow the access to our Minecraft server, if not done yet (depends on which version you installed and/or mods to allow either clients to connect to your Java server)
-
+
For all those settings, adapt the destination ports to your needs.
After that, you should have some rules like those ones:
-
+
Now, a quick explanations here on what we did above:
@@ -71,7 +71,7 @@ But, here is the summary on what you have to do for your Oracle Linux setup:
{: .info }
First, check that `firewall-cmd` command is available on your system.
-You can check it's presence with this command:
+You can check its presence with this command:
```
sudo firewall-cmd --version
```
@@ -158,7 +158,7 @@ COMMIT
> By not following this, the firewall could apply, by default, the "deny" rule (sometime this could work, but just not everytime).
{: .info .important }
-Now, save the file and after that, you can either chose to reboot the server or run the following command:
+Now, save the file and after that, you can either choose to reboot the server or run the following command:
**If you are NOT using the root privileges:**
```
@@ -174,4 +174,4 @@ iptables-restore < /etc/iptables/rules.v4
If you did arrive there, you should be able to access your web map with the address: `http://Your_Server_Public_IP:Your_BlueMap_Web_Port` (port, by default is `8100`).
-If you want to use a custom DNS and/or HTTPS, you can find some information in the Webserver Wiki ([Reverse proxy BlueMap with NGINX](https://bluemap.bluecolored.de/wiki/webserver/NginxProxy.html))
+If you want to use a custom DNS and/or HTTPS, you can find some information in the Webserver Wiki ([Reverse proxy BlueMap](../wiki/webserver/ReverseProxy.md))
diff --git a/community/PterodactylNginxProxy.md b/community/PterodactylNginxProxy.md
index 9d1501a..1b11472 100644
--- a/community/PterodactylNginxProxy.md
+++ b/community/PterodactylNginxProxy.md
@@ -20,7 +20,7 @@ Extended guide for setting up a reverse proxy for BlueMap with Pterodactyl and N
- BlueMaps integrated webserver is running on port `8100`. *(Again, just replace `8100` with the actual port below)*
> **Info:**
-> We advise you to read the [Reverse Proxy BlueMap with NGINX](https://bluemap.bluecolored.de/wiki/webserver/NginxProxy.html) guide first.
+> We advise you to read the [Reverse Proxy BlueMap with NGINX](../wiki/webserver/NginxProxy.md) guide first.
> And also the [Pterodactyl Minecraft community guide](https://pterodactyl.io/community/games/minecraft.html) it contains useful info about the allocations.
{: .info }
@@ -32,14 +32,14 @@ This is done by creating a new allocation in the Pterodactyl panel.
2. Create a new allocation on the desired node for the server you want to create the proxy for.
> Set the `IP Address` to `172.18.0.1` along with your desired port
3. Add the newly created allocation to the server you want to create the proxy for.
-> If you changed the port make sure to edit it in the `webserver.conf` file as well.
+> If you changed the port make sure to edit it in the [`webserver.conf`](../wiki/configs/Webserver.md) file as well.
## Usage in NGINX config blocks
You need to use the Pterodactyl pass-through IP (`172.18.0.1`) in the config blocks for the reverse proxy to work.
You can usually locate the config file to be edited in `/etc/nginx/sites-available/`.
### BlueMap on a subdirectory of your website
-Same as in [Reverse Proxy BlueMap with NGINX](https://bluemap.bluecolored.de/wiki/webserver/NginxProxy.html) except you need to use the Pterodactyl pass-through IP (`172.18.0.1`).
+Same as in [Reverse Proxy BlueMap with NGINX](../wiki/webserver/NginxProxy.md) except you need to use the Pterodactyl pass-through IP (`172.18.0.1`).
If you have a normal website hosted with NGINX and want your map on `/map` (e.g `https://mydomain.com/map`) then
you can just add this to your NGINX configuration:
```nginx
@@ -54,7 +54,7 @@ server {
```
### BlueMap on a subdomain of your website
-Same as in [Reverse Proxy BlueMap with NGINX](https://bluemap.bluecolored.de/wiki/webserver/NginxProxy.html) except you need to use the Pterodactyl pass-through IP (`172.18.0.1`).
+Same as in [Reverse Proxy BlueMap](../wiki/webserver/ReverseProxy.md) except you need to use the Pterodactyl pass-through IP (`172.18.0.1`).
If you want BlueMap on a subdomain e.g. `https://map.mydomain.com/` then you'd add something like this to
your NGINX config:
```nginx
diff --git a/community/TraefikProxy.md b/community/TraefikProxy.md
index 802b49a..2fcb2fa 100644
--- a/community/TraefikProxy.md
+++ b/community/TraefikProxy.md
@@ -22,7 +22,7 @@ This is useful if you want to integrate your map in your website, or want to add
> **Info:**
> If you want, you can tell the internal-webserver to only connect to one specific address like e.g. `127.0.0.1`,
> so it is no longer accessible from the outside (by default it just connects to all available interfaces):
-> To do this, just open the `webserver.conf` and add the `ip: "127.0.0.1"` setting somewhere.
+> To do this, just open the [`webserver.conf`](../wiki/configs/Webserver.md) and add the `ip: "127.0.0.1"` setting somewhere.
{: .info }
## BlueMap on a subdomain
@@ -45,7 +45,7 @@ http:
```
## BlueMap on a subdirectory of your website
-If you want BlueMap on a subdirectory e.g `https://www.example.com/bluemap` then like this:
+If you want BlueMap on a subdirectory e.g. `https://www.example.com/bluemap` then like this:
```yaml
http:
routers:
diff --git a/community/Translating.md b/community/Translating.md
index 1fe31ea..7e6a5e7 100644
--- a/community/Translating.md
+++ b/community/Translating.md
@@ -9,12 +9,12 @@ nav_order: 15
*Everyone can help to translate BlueMap to their language.*
-This guide is for doing everything from the GitHub web interface but you can do them locally via git if you know how to.
+This guide is for doing everything from the GitHub web interface, but you can do them locally via git if you know how to.
-Here are the steps to do so:
+Here are the steps:
1. You need to create a GitHub account at
-2. Then go to and press the fork button on the top right corner
+2. Then go to and press the fork button in the top-right corner
3. After it has finished forking go inside the folder `BlueMapCommon/webapp/public/lang` and create a new file from the top right of the file selector, name this file with code of your language (`fi.conf`, `ru.conf`, etc) and copy the contents of the `en.conf` to it.
4. Translate the english strings inside `""`'s to your language
5. Scroll down and press "commit changes"
diff --git a/community/WorldBorder.md b/community/WorldBorder.md
index 8b72073..ee00daa 100644
--- a/community/WorldBorder.md
+++ b/community/WorldBorder.md
@@ -46,7 +46,7 @@ marker-sets: {
}
}
```
-For more information on how to create markers, please refer to the [official Markers Guide]({{site.baseurl}}/wiki/customization/Markers.html).
+For more information on how to create markers, please refer to the [official Markers Guide](../wiki/customization/Markers.md).
## Manual with commands
You can manually also create markers with the popular 3rd-party addon, [BlueMap Marker Manager](https://modrinth.com/plugin/bmarker). (Available as a Paper plugin and as a Fabric mod.)
@@ -104,5 +104,5 @@ or like this:
For more information on how to use Chunky and ChunkyBorder, please visit their respective wiki's: [Chunky Wiki](https://github.com/pop4959/Chunky/wiki) and [ChunkyBorder Wiki](https://github.com/pop4959/ChunkyBorder/wiki)
You can choose the colour for your border in the config file.
-If this is an Earth map that you got from from [earth.motfe.net](https://earth.motfe.net/), then you can find the exact commands and coordinates to add your border on this website: [docs.apocmc.us/minecraft-earth-map/map-borders](https://docs.apocmc.us/minecraft-earth-map/map-borders#id-1-500-scale-map)
+If this is an Earth map that you got from [earth.motfe.net](https://earth.motfe.net/), then you can find the exact commands and coordinates to add your border on this website: [docs.apocmc.us/minecraft-earth-map/map-borders](https://docs.apocmc.us/minecraft-earth-map/map-borders#id-1-500-scale-map)
Please note that you do _not_ have to run `/chunky start`, though, like this website suggests!
diff --git a/community/python-screenshots.md b/community/python-screenshots.md
index 8cc4cbc..0326155 100644
--- a/community/python-screenshots.md
+++ b/community/python-screenshots.md
@@ -9,14 +9,14 @@ nav_order: 12
## What and why ?
I needed to export images of worlds from python, for a big project. First I tried to make my own renderer, and when you don't have any experience with OpenGL, or any other such frameworks, it is nearly impossible. So I looked at other projects that already renders `nbt` files or maps, such as [deepslate](https://github.com/misode/deepslate) or [prismarine-viewer](https://github.com/PrismarineJS/prismarine-viewer), but, unfortunately, I'm a python guy, so I'm lazy and want easy stuff.
-Then I remembered that when I had a server on [minestrator](https://minestrator.com), I had the LiveMap option activated, and that it was awesome. So I looked at the program used for this, and I found BlueMap. But now, how would I automate screenshoting a world ?
+Then I remembered that when I had a server on [minestrator](https://minestrator.com), I had the LiveMap option activated, and that it was awesome. So I looked at the program used for this, and I found BlueMap. But now, how would I automate screenshotting a world ?
## Tutorial
### Setup
-- Follow the [installation instructions for **BlueMap-CLI**](https://bluemap.bluecolored.de/wiki/getting-started/Installation.html#using-bluemap-on-the-cli--standalone). It even worked on my Mac, how amazing is that.
+- Follow the [installation instructions for **BlueMap-CLI**](../wiki/getting-started/Installation.md#using-bluemap-on-the-cli--standalone). It even worked on my Mac, how amazing is that.
- Install Python. For this example, I am using **Python 3.11**, but it should work on other versions as long as the dependencies are supported.
- `aiofiles`, used to **write and read files asynchronously**.
Install it with: `pip install aiofiles`.
- - `playwright`, used to **open headless browsers that executes JS**, and interract with them.
+ - `playwright`, used to **open headless browsers that executes JS**, and interact with them.
Install it with: `pip install playwright`.
Then execute: `playwright install chromium`.
@@ -85,7 +85,7 @@ Now, back inside the `main` function, I will set the callback. *I am using lambd
```py
page.on('download', lambda download: on_download(output_path, download))
```
-And now, I have to interract with the page to **click on the "Take screenshot" button** in the menu.
+And now, I have to interact with the page to **click on the "Take screenshot" button** in the menu.
For this, I am using the following lines, that opens the menu, and then takes the screenshot using the button.
```py
await page.get_by_title('Menu').click()
@@ -102,7 +102,7 @@ Then I am waiting `.5` seconds to make sure the downloading is done. It takes ap
await asyncio.sleep(.5)
await page.close()
```
-*If you want to export many images, you probably don't want to close the page and open the `playwright` object after each screenshots, so I suggest you to make a loop before the page is created, and to close all after you are done with all the screenshots.*
+*If you want to export many images, you probably don't want to close the page and open the `playwright` object after each screenshot, so I suggest you to make a loop before the page is created, and to close all after you are done with all the screenshots.*
And here is my screenshot, **generated all automatically**:

diff --git a/index.md b/index.md
index dd82a4b..ff63cb3 100644
--- a/index.md
+++ b/index.md
@@ -4,7 +4,7 @@ title: Home
nav_order: 0
---
-[](https://bluemap.bluecolored.de/)
+[](https://bluemap.bluecolored.de/)
create **3D**-maps of your Minecraft worlds and display them in your browser
**>> [DEMO MAP](https://bluecolored.de/bluemap) <<**
@@ -33,8 +33,8 @@ So as long as your CPU is not fully utilized, your server should not be slowed d
## Using BlueMap
You can download BlueMap from [here](https://github.com/BlueMap-Minecraft/BlueMap/releases).
-Read the [installation instructions](https://bluemap.bluecolored.de/wiki/getting-started/Installation.html) to get started!
-And [here](https://bluemap.bluecolored.de/3rdPartySupport.html) is a list of addons and tools that work with bluemap.
+Read the [installation instructions](./wiki/getting-started/Installation.md) to get started!
+And [here](./3rdPartySupport.md) is a list of addons and tools that work with bluemap.
Here you can see how many servers are using BlueMap:
@@ -46,6 +46,6 @@ If you have questions or need help, you can always join the [Discord-Server for
---
-[](https://www.jetbrains.com/?from=BlueMap)
+[](https://www.jetbrains.com/?from=BlueMap)
Special thanks to [JetBrains](https://www.jetbrains.com/?from=BlueMap) for giving out an OpenSource-Licence for BlueMap development!
diff --git a/wiki/FAQ.md b/wiki/FAQ.md
index f914cce..8b03ecc 100644
--- a/wiki/FAQ.md
+++ b/wiki/FAQ.md
@@ -25,8 +25,9 @@ Here is a checklist:
on the port? If you don't know this **ask your server-host how you can open a second port for BlueMap!**.
### Q: I am getting `404 - Not Found` when I open the map
-Check your `core.conf` configuration file, did you set `accept-download` to `true`?
-If yes, check if your `webroot` settings in `webapp.conf` and `webserver.conf` are set to the correct (same) folder.
+Check your [`core.conf`](./configs/Core.md) configuration file, did you set [`accept-download`](./configs/Core.md#accept-download) to `true`?
+If yes, check if your [`webroot`](./configs/Webapp.md#webroot) settings in [`webapp.conf`](./configs/Webapp.md#webroot)
+and [`webserver.conf`](./configs/Webserver.md#webroot) are set to the correct (same) folder.
### Q: My map isn't updating!
BlueMap needs to wait until the server saves the world data to disk, so it may take some time for changes to appear
@@ -41,8 +42,8 @@ Those steps will be clearly listed on the update page.
browser has not cached anything weird.
- Use `/bluemap` to check if BlueMap is rendering something! It might be busy rendering a different map first.
- Use `/bluemap unfreeze