https://github.com/lord-server/panorama
Interactive isometric maps for Minetest
https://github.com/lord-server/panorama
go isometric map minetest
Last synced: about 1 year ago
JSON representation
Interactive isometric maps for Minetest
- Host: GitHub
- URL: https://github.com/lord-server/panorama
- Owner: lord-server
- License: mit
- Created: 2021-11-16T23:16:53.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-12-23T00:10:57.000Z (over 1 year ago)
- Last Synced: 2025-04-18T07:51:56.289Z (about 1 year ago)
- Topics: go, isometric, map, minetest
- Language: Go
- Homepage:
- Size: 750 KB
- Stars: 7
- Watchers: 1
- Forks: 3
- Open Issues: 27
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Panorama
Interactive isometric maps for Minetest
Click here to see a live instance
## Installation
*Note: Panorama started as our in-house mapper, and installation is
non-trivial as a result. If you're not comfortable with complicated
setups, check out [mapserver] instead!*
### Prerequisites
- PostgreSQL backend for your world
- Several gigabytes of disk space for tiles
- A decent CPU and about a gigabyte of RAM, depending on workload
- [`nodes_dump`][nodes_dump] mod installed
### Using Docker (recommended)
This is an easier option, especially if you already use a Docker-based setup for
your server. There are pre-built [Docker images][docker-image] that you can use,
or you can build it yourself using provided Dockerfile.
Here's an example `docker-compose.yml` to get you started:
```yml
version: "3"
services:
panorama:
image: ghcr.io/lord-server/panorama:latest
ports:
- "33333:33333"
volumes:
- "/path/to/minetest/worlds/my-world:/var/lib/panorama/world"
- "/path/to/minetest/games/minetest_game:/var/lib/panorama/game"
- "/path/to/panorama/config.toml:/etc/panorama/config.toml"
- "/path/to/tiles:/var/lib/panorama/tiles"
command: ["run"]
```
### Building manually
Building panorama manually requires go 1.21 or newer, due to its use
of `log/slog`. Afterwards, build the module with the following
commands:
```
go mod download && go mod verify
go build
```
This builds the panorama binary in `./panorama`.
### Configuration
An example config is provided in `config.example.toml`. To work
correctly, panorama needs to know how to connect to the server and how
to render the world. To connect, you need to specify the postgres
connection using the `world_dsn` variable, panorama is not yet capable
of doing this automatically. If you leave `world_dsn` empty, you might
only receive empty tiles! The node descriptions are obtained from the
world directory using the output from the `nodes_dump` mod.
The textures and meshes (only .obj currently supported) are fetched
from the game and mod directories. These are specified using the
`game_path` and `mod_path`directories.
## License
MIT
[instance]: http://map.lord-server.ru/
[mapserver]: https://github.com/minetest-mapserver/mapserver
[docker-image]: https://github.com/lord-server/panorama/pkgs/container/panorama
[nodes_dump]: https://github.com/lord-server/nodes_dump