Skip to content

squaremap is a minimalistic and lightweight world map viewer for Minecraft servers, using the vanilla map rendering style

License

Notifications You must be signed in to change notification settings

jpenilla/squaremap

Repository files navigation

squaremap

License GitHub Workflow Status Discord

What is squaremap

squaremap is a minimalistic and lightweight live world map viewer for Minecraft servers.

squaremap hooks into your Minecraft server as a plugin or mod on a supported platform, then generates and manages a live map of your server, viewable in any web browser.

Features

  • Ultra fast render times. Get your map rendered today, not next week.
  • Simple vanilla-like top down 2D view, designed for navigation.
  • Player markers showing yaw rotation, health, and armor.
  • Easy to setup and configure.
  • Up to date Leaflet front-end.
  • Addons and integrations for many popular plugins.

Supported platforms

Downloads

Downloads can be obtained from the releases section.

Development builds

Development builds are available at https://jenkins.jpenilla.xyz/job/squaremap/

Demo

Official squaremap demo: https://squaremap-demo.jpenilla.xyz/

License

This project is licensed under the MIT license

Leaflet (the web ui frontend) is licensed under 2-clause BSD License

API

squaremap provides simple APIs to draw markers, shapes, icons, and etc. on rendered maps. Javadocs are hosted on the maven repository alongside the binaries, and should be automatically downloaded by your IDE.

Dependency Information

Releases are published to Maven Central

Using snapshot builds

Snapshot builds are available on the Sonatype snapshots maven repository: https://s01.oss.sonatype.org/content/repositories/snapshots/

Consult your build tool's documentation for details on adding maven repositories to your project.

Maven

<dependency>
    <groupId>xyz.jpenilla</groupId>
    <artifactId>squaremap-api</artifactId>
    <version>1.3.4</version>
    <scope>provided</scope>
</dependency>

Gradle

repositories {
    mavenCentral()
}

dependencies {
    compileOnly("xyz.jpenilla", "squaremap-api", "1.3.4")
}

Develop

Prerequisites and setup

  • An up-to date JDK (i.e. Java 21 or later)
  • Bun installed for building the web UI
  • Run bun install in the web directory to install the web UI dependencies

Plugin

Build squaremap by invoking the build task with Gradle.

./gradlew build

Web UI

The web UI will be automatically built and included in the plugin jar by Gradle when building the plugin.

When using the various run tasks (i.e. :squaremap-paper:runServer), Gradle will pass the squaremap.devFrontend=true and squaremap.frontendPath=<absolute path to ./web> system properties to the server. When these properties are present, the plugin will attempt to run the Vite dev server and proxy requests to it. This allows hot module reloading to work when developing the web UI.

bStats

Usage stats for the Paper platform

bStats Graph Data