CanvasMC is a high-performance fork of the Folia Minecraft server software. It addresses gameplay inconsistencies and bugs, while introducing performance optimizations and enhancements to the dedicated server.
- Canvas is primarily based on a rewritten scheduler for Folia, which makes Canvas extremely fast in comparison to other forks.
- With fixed linear scaling through a complete rewrite of the chunk system executor, Canvas achieves unparalleled chunk performance compared to other forks.
- Fine-tune aspects of your server with fully documented configuration options and performance settings.
- Canvas introduces a genuine Spark profiler that is fully compatible with region threading, replacing the limited Folia profiling engine.
- By fixing numerous Folia bugs and crashes, Canvas delivers a high-performance, stable, and reliable experience.
- Download the latest server JAR from the Downloads page on canvasmc.io.
- Launch using Java (Java 21+ required) with your preferred arguments and configuration.
Requirements:
- Java 21
- Git (configured with name/email)
Common build commands:
./gradlew applyAllPatches
./gradlew createMojmapPublisherJar
./gradlew runDevServerThere is also a helper script:
./rebuildPatcheswhich regenerates patches for modified directories.
You can use Canvas’s API in your own Minecraft plugins. Here’s an example of how to include it in your build.gradle.kts:
repositories {
maven {
name = "Canvas"
url = uri("https://maven.canvasmc.io/snapshots")
}
mavenCentral()
maven("https://repo.papermc.io/repository/maven-public/")
}
dependencies {
implementation("io.canvasmc.canvas:canvas-api:1.21.8-R0.1-SNAPSHOT")
}Replace the version number with the appropriate version you want to target.
Canvas provides a REST interface to fetch build and version metadata. Documentation is available via The docs page
- Official Documentation: https://docs.canvasmc.io
- Community & Support: Join the Canvas Discord
- Issue Tracker / Contributing: Use this GitHub repo for reporting bugs, proposing features, and submitting pull requests
- Donations / Sponsorship: Support development on Ko-fi
We welcome many forms of contributions:
- Code (bug fixes, features)
- Documentation improvements
- Testing & bug reporting
- Community help & support
- Donations to help support the developers
See the Contributing Guide for more detail.
- Canvas is a fork of Folia and is not a drop-in replacement for Purpur, Paper, or other non-Folia forks. It is intended primarily for environments already using Folia or Folia-based forks.
- The project adheres strictly to Folia’s threading and safety rules and does not permit bypassing them.
This project is licensed under the GNU General Public License v3.0 (GPL-3.0).
Canvas incorporates patches inspired by or derived from other high-performance projects (e.g. Lithium), along with its own custom optimizations.
