overviewer / Minecraft-Overviewer

Render high-resolution maps of a Minecraft world with a Leaflet powered interface
https://overviewer.org/
GNU General Public License v3.0
3.35k stars 482 forks source link

web server #1971

Open Timemada opened 3 years ago

Timemada commented 3 years ago

how do I make the overviewer map that I rendered to a website so everyone can see it an example a website that the developers made themselves no clear instructions for someone to do themselves.

joe-mojo commented 3 years ago

I don't think it is up to Minecraft-Overviewer to explain such a thing. TL:DR: a web server and how to run it is totally another topic.

The goal of Minecraft-Overviewer is to produce the needed web resources to have the map. The doc role is to explain how to use it and get fancy customized maps. Mcoverviewer is not a fully packaged commercial product, just a map generator, a simple "minecraft world to html" function. Exposing a web server is not its role. Moreover, you will find a lots of resource on the Internet to teach you how to run (and secure) a simple web server.

If I was a maintainer, I would close this as "not my job" 😇 😉😉

TedHartDavis commented 3 years ago

I would strongly agree with @joe-mojo -- configuring lighttpd, Apache, nginx or something else to serve its output is pretty much irrelevant to the tool itself. That said, perhaps an nginx config example (at least) would be friendly to add somewhere.

eminence commented 3 years ago

If anyone wants to create a wiki page on the Minecraft-Overviewer wiki with some instructions, that would be awesome.

TedHartDavis commented 3 years ago

If anyone wants to create a wiki page on the Minecraft-Overviewer wiki with some instructions, that would be awesome.

how do I assign myself?

CounterPillow commented 3 years ago

Well, I don't know if any wiki page is gonna be of better quality than any actual web server documentation and unix administration course.

eminence commented 3 years ago

Perhaps, but maybe it could cover some basics and include links to other good resources.

joe-mojo commented 3 years ago

Why not a list of pointer to simple configurations using alternatives ? Nginx, Apache2, CloudFront+S3, etc. This list still apply even if you add some details for one of the solutions.

Le ven. 13 août 2021 à 16:02, Andrew Chin @.***> a écrit :

Perhaps, but maybe it could cover some basics and include links to other good resources.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/overviewer/Minecraft-Overviewer/issues/1971#issuecomment-898479194, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA25GQBMCPUUHTX5UVVIEXDT4UQXVANCNFSM5CDKKD3Q . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email .

cnkeats commented 3 years ago

I would strongly agree with @joe-mojo -- configuring lighttpd, Apache, nginx or something else to serve its output is pretty much irrelevant to the tool itself. That said, perhaps an nginx config example (at least) would be friendly to add somewhere.

I agree that this is not a Minecraft-Overviewer issue. However, if someone does create an example config for nginx, please feel free to ping me. I am getting some artifacts with mine so I am clearly doing something incorrectly and would love an example to go off of.

EpicnessTwo commented 3 years ago

@cnkeats This is our config in which we don't get any issues with.

server {
        listen 80;
        listen [::]:80;
        server_name map.example.com;

        return 301 https://$host$request_uri;
}

server {
        listen 443 ssl http2;
        listen [::]:443 ssl http2;
        root /var/www/map.example.com/htdocs/;
        ssl_certificate /etc/letsencrypt/live/map.example.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/map.example.com/privkey.pem;
        ssl_trusted_certificate /etc/letsencrypt/live/map.example.com/chain.pem;
        index index.html index.htm;
        server_name map.example.com;

        gzip on;
        gzip_comp_level 5;
        gzip_min_length 256;
        gzip_proxied any;
        gzip_vary on;
        gzip_types
                application/atom+xml
                application/geo+json
                application/javascript
                application/x-javascript
                application/json
                application/ld+json
                application/manifest+json
                application/rdf+xml
                application/rss+xml
                application/vnd.ms-fontobject
                application/wasm
                application/x-web-app-manifest+json
                application/xhtml+xml
                application/xml
                font/eot
                font/otf
                font/ttf
                image/bmp
                image/svg+xml
                text/cache-manifest
                text/calendar
                text/css
                text/javascript
                text/markdown
                text/plain
                text/xml
                text/vcard
                text/vnd.rim.location.xloc
                text/vtt
                text/x-component
                text/x-cross-domain-policy;

        access_log  /var/log/nginx/map.example.com_access.log;
        error_log   /var/log/nginx/map.example.com_error.log info;

        location / {
                try_files $uri $uri/;
        }

        location ~* \.(png|jpg|jpeg|gif|ico|webp)$ {
            expires 30m;
            add_header Cache-Control "public, no-transform";
        }

        location ~* \.(js|css)$ {
            expires 30d;
            add_header Cache-Control "public, no-transform";
        }
}

We also add the flag to generate our maps in webp so that the files are smaller and therefor put even less strain on the server.

nnleaf commented 3 years ago

I use NGINX as the web server, I also have a ReverseProxy that does the HTTPS stuff. I just copied the config from a simple html page.

Server holding Minecraft Overview config :

server {
  listen 80;
  listen [::]:80;
  root /DIR/TO/WORLD;
  index index.html index.nginx-debian.html;
  server_name IPADDRESS_IF_LOCAL_OR_DOMAINNAME;

  location / {
    try_files $uri $uri/ =404;
  }

  location /images/ {
  }
}

Reverse Proxy (Run Certbot on this config)

server {
  server_name DOMAINNAME;

  location / {
    proxy_pass_header Authorization;
    proxy_set_header Host $host;
    proxy_pass http://SERVER_IP;
    proxy_buffering off;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_read_timeout 36000s;
    proxy_redirect off;
  }